:root{--bg: #0a0b14;--bg-raised: #0f1021;--bg-card: #13142a;--bg-modal: #181932;--bg-input: rgba(0,0,0,.3);--border: #262840;--border-hi: #383a5c;--accent: #818cf8;--accent-d: #6366f1;--accent-l: #a5b4fc;--glow: rgba(129,140,248,.18);--text: #dde1ef;--muted: #8892a8;--dim: #4e5268;--success: #34d399;--danger: #f87171;--warning: #fbbf24}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);background-image:radial-gradient(ellipse 70% 55% at 15% 5%,rgba(99,102,241,.09) 0%,transparent 55%),radial-gradient(ellipse 55% 45% at 85% 95%,rgba(167,139,250,.07) 0%,transparent 50%);color:var(--text);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-l);text-decoration:underline}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-raised)}::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dim)}.auth-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 48px #0000008c,0 0 0 1px #ffffff0a inset;padding:40px;width:100%;max-width:440px;background-image:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 50px)}.auth-card h1{font-size:1.75rem;font-weight:700;margin-bottom:8px;background:linear-gradient(130deg,var(--accent-l) 0%,var(--accent) 55%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-card .subtitle{color:var(--muted);margin-bottom:28px;font-size:.95rem}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:6px;color:var(--muted)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:.95rem;transition:border-color .15s,box-shadow .15s;outline:none;background:var(--bg-input);color:var(--text);font-family:inherit}.form-group select option{background:var(--bg-card);color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}.form-group textarea{resize:vertical;min-height:80px}.field-error{color:var(--danger);font-size:.8rem;margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:9px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .18s;width:100%}.btn-primary{background:linear-gradient(135deg,var(--accent-d) 0%,var(--accent) 100%);color:#fff;box-shadow:0 2px 14px #6366f159}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent) 0%,#a78bfa 100%);box-shadow:0 4px 24px #818cf880;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:#ffffff0f;color:var(--muted);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:#ffffff1a;color:var(--text);border-color:var(--border-hi)}.btn-danger{background:#ef44441f;color:var(--danger);border:1px solid rgba(239,68,68,.28)}.btn-danger:hover:not(:disabled){background:#ef444438;border-color:#ef44448c}.alert{padding:12px 16px;border-radius:9px;margin-bottom:18px;font-size:.9rem}.alert-error{background:#b91c1c24;color:#fca5a5;border:1px solid rgba(185,28,28,.32)}.alert-success{background:#16653424;color:#86efac;border:1px solid rgba(22,101,52,.32)}.alert-info{background:#1d4ed824;color:#93c5fd;border:1px solid rgba(29,78,216,.32)}.alert-warning{background:#b4530929;color:#fcd34d;border:1px solid rgba(180,83,9,.38)}.rest-days-chosen{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.rest-warning .day-picker{margin:8px 0}.btn-link{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit}.btn-link:hover{color:var(--accent-l)}.btn-link:disabled{opacity:.5;cursor:default}.rest-warning .btn-link{color:inherit;margin-top:4px;font-size:.85rem}.divider{text-align:center;color:var(--dim);margin:20px 0;font-size:.875rem}.navbar{background:#0a0b14c7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border);padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.navbar-brand{font-size:1.3rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(130deg,#c4b5fd 0%,var(--accent-l) 35%,var(--accent) 70%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none}.navbar-brand:hover{text-decoration:none}.navbar-actions{display:flex;gap:12px;align-items:center}.navbar-auth-link{font-size:.9rem;font-weight:600;color:var(--accent);padding:6px 14px;border-radius:8px;border:1.5px solid rgba(129,140,248,.35);transition:all .15s;white-space:nowrap}@media (max-width: 640px){.navbar{height:auto;min-height:56px;padding:8px 12px;flex-wrap:wrap;row-gap:6px}.navbar-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.navbar-auth-link{padding:5px 10px;font-size:.85rem}}.navbar-auth-link:hover{background:#818cf81a;color:var(--accent-l);text-decoration:none;border-color:var(--accent)}.navbar-icon-link{display:flex;align-items:center;color:var(--muted);transition:color .15s}.navbar-icon-link:hover{color:var(--accent-l)}.landing{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 60px);padding:48px 24px;position:relative;overflow:hidden}.landing:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 200deg at 50% 50%,transparent 0deg,rgba(99,102,241,.11) 60deg,transparent 130deg,rgba(167,139,250,.09) 210deg,transparent 280deg,rgba(99,102,241,.08) 340deg,transparent 360deg);animation:slow-rotate 35s linear infinite;pointer-events:none}@keyframes slow-rotate{to{transform:rotate(360deg)}}.landing-hero{text-align:center;max-width:620px;position:relative;z-index:1}.landing-title{font-size:clamp(3.2rem,10vw,5.8rem);font-weight:900;letter-spacing:-.04em;background:linear-gradient(145deg,#c4b5fd 0%,var(--accent-l) 30%,var(--accent) 62%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.03;margin-bottom:22px;filter:drop-shadow(0 0 50px rgba(129,140,248,.28))}.landing-tagline{font-size:1.2rem;color:var(--muted);margin-bottom:44px;line-height:1.65}.landing-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.landing-cta{width:auto;padding:13px 32px;font-size:1rem}.page-container{max-width:640px;margin:40px auto;padding:0 24px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 28px #00000059;padding:32px;background-image:linear-gradient(180deg,rgba(255,255,255,.035) 0%,transparent 48px)}.card h2{font-size:1.4rem;font-weight:700;margin-bottom:24px}.profile-field{display:flex;flex-direction:column;margin-bottom:20px}.profile-field .label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin-bottom:4px}.profile-field .value{font-size:1rem;color:var(--text)}.row{display:flex;gap:16px}.row .form-group{flex:1;min-width:0}.btn-sm{padding:7px 14px;font-size:.875rem;width:auto}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.otp-hint{font-size:.85rem;color:var(--muted);margin-top:8px}.cal-page{max-width:1400px;margin:32px auto;padding:0 24px 48px}.cal-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.cal-nav{display:flex;gap:6px}.cal-nav-btn{font-size:1.1rem;line-height:1}.cal-title{flex:1;font-size:1.25rem;font-weight:700;text-align:center;margin:0}.cal-view-toggle{display:flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--bg-raised)}.cal-view-btn{padding:7px 14px;font-size:.85rem;font-weight:600;background:transparent;color:var(--muted);border:none;border-right:1px solid var(--border);cursor:pointer;transition:all .12s}.cal-view-btn:last-child{border-right:none}.cal-view-btn.active{background:var(--accent-d);color:#fff}.cal-view-btn:hover:not(.active){background:#ffffff0f;color:var(--text)}.cal-event{background:var(--accent-d);color:#fff;border-radius:4px;padding:2px 6px;font-size:.73rem;margin-bottom:2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.cal-event:hover{filter:brightness(1.18)}:is(.cal-event,.activity-badge).act-rest-day{background:transparent;color:var(--dim);border:1px dashed var(--border);font-style:italic}:is(.cal-event,.activity-badge).act-rest-day:hover{filter:none;background:var(--surface-2, rgba(127,127,127,.08))}:is(.cal-event,.activity-badge).act-race-day{background:linear-gradient(90deg,var(--accent-d),var(--accent));color:#fff;font-weight:700;border:none}:is(.cal-event,.activity-badge).act-race-day:before{content:"🏁 "}.race-result-section{border:1px solid var(--border);border-radius:9px;padding:12px;margin-bottom:12px;background:#818cf80f}.race-result-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-l);margin-bottom:8px}.race-legs{display:flex;flex-wrap:wrap;gap:8px}.race-leg{display:flex;flex-direction:column;flex:1 1 90px}.race-leg--t{flex:0 1 64px}.race-leg label{font-size:.72rem;color:var(--muted);margin-bottom:2px}.race-total-hint{margin:8px 0 0;font-size:.85rem;color:var(--accent-l);font-weight:600}.race-result-value{color:var(--muted);font-size:.85rem}.race-prefill{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(129,140,248,.35);border-radius:9px;padding:10px 12px;margin-bottom:14px;background:#818cf814}.race-prefill-vals{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;font-size:.85rem;color:var(--accent-l)}.today-page{max-width:640px;margin:0 auto}.today-card{border:1px solid var(--border);border-radius:16px;padding:22px;margin:14px 0 18px;background:linear-gradient(160deg,rgba(129,140,248,.14),var(--bg-card));box-shadow:0 8px 30px #00000040}.today-headline{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:700;color:var(--text);line-height:1.2}.today-emoji{font-size:1.5rem}.today-reason{color:var(--muted);margin:10px 0 4px}.today-encouragement{color:var(--accent-l);font-size:.9rem;margin:0 0 16px}.today-actions{display:flex;flex-wrap:wrap;gap:10px}.today-card--rest,.today-card--done{background:linear-gradient(160deg,rgba(52,211,153,.1),var(--bg-card))}.today-consistency{display:flex;gap:12px}.today-consistency .stat-card{flex:1;text-align:center}.today-graduate{margin-top:18px}.welcome-card{max-width:560px}.welcome-choices{display:flex;flex-direction:column;gap:12px;margin-top:14px}.welcome-choice{text-align:left;cursor:pointer;position:relative;border:1px solid var(--border);border-radius:12px;padding:16px 18px;background:#0000002e;color:var(--text);transition:all .12s}.welcome-choice:hover:not(:disabled){border-color:var(--accent);background:#818cf81a}.welcome-choice:disabled{opacity:.6;cursor:default}.welcome-choice-emoji{font-size:1.6rem}.welcome-choice-title{font-weight:700;font-size:1.05rem;margin:4px 0}.welcome-choice-desc{color:var(--muted);font-size:.9rem}.welcome-choice .spinner{position:absolute;top:16px;right:16px}.cal-event-more{font-size:.73rem;color:var(--dim);padding:1px 4px}.cal-slot-hint{font-size:.78rem;color:var(--dim)}:is(.cal-event,.activity-badge).act-running{background:#ea580c}:is(.cal-event,.activity-badge).act-trail-running{background:#c2410c}:is(.cal-event,.activity-badge).act-track-running{background:#f97316}:is(.cal-event,.activity-badge).act-treadmill{background:#9a3412}:is(.cal-event,.activity-badge).act-ultra-run{background:#7c2d12}:is(.cal-event,.activity-badge).act-indoor-track{background:#b45309}:is(.cal-event,.activity-badge).act-virtual-run{background:#a16207}:is(.cal-event,.activity-badge).act-obstacle-run{background:#dc4400}:is(.cal-event,.activity-badge).act-cycling{background:#2563eb}:is(.cal-event,.activity-badge).act-indoor-cycling{background:#3b82f6}:is(.cal-event,.activity-badge).act-mountain-biking{background:#1d4ed8}:is(.cal-event,.activity-badge).act-gravel-cycling{background:#1e40af}:is(.cal-event,.activity-badge).act-e-bike-road{background:#4f46e5}:is(.cal-event,.activity-badge).act-e-bike-mountain{background:#3730a3}:is(.cal-event,.activity-badge).act-track-cycling{background:#6366f1}:is(.cal-event,.activity-badge).act-bmx{background:#312e81}:is(.cal-event,.activity-badge).act-virtual-ride{background:#4338ca}:is(.cal-event,.activity-badge).act-swimming{background:#0891b2}:is(.cal-event,.activity-badge).act-pool-swim{background:#0891b2}:is(.cal-event,.activity-badge).act-open-water-swim{background:#0e7490}:is(.cal-event,.activity-badge).act-walking{background:#0d9488}:is(.cal-event,.activity-badge).act-hiking{background:#047857}:is(.cal-event,.activity-badge).act-nordic-walking{background:#059669}:is(.cal-event,.activity-badge).act-indoor-walking{background:#0f766e}:is(.cal-event,.activity-badge).act-rock-climbing{background:#b45309}:is(.cal-event,.activity-badge).act-indoor-climbing{background:#92400e}:is(.cal-event,.activity-badge).act-bouldering{background:#c05621}:is(.cal-event,.activity-badge).act-mountaineering{background:#78350f}:is(.cal-event,.activity-badge).act-via-ferrata{background:#713f12}:is(.cal-event,.activity-badge).act-alpine-skiing{background:#0284c7}:is(.cal-event,.activity-badge).act-snowboarding{background:#4c1d95}:is(.cal-event,.activity-badge).act-xc-classic-skiing{background:#0ea5e9}:is(.cal-event,.activity-badge).act-xc-skate-skiing{background:#0369a1}:is(.cal-event,.activity-badge).act-backcountry-skiing{background:#075985}:is(.cal-event,.activity-badge).act-ski-touring{background:#0c6c9e}:is(.cal-event,.activity-badge).act-snowshoeing{background:#1e3a8a}:is(.cal-event,.activity-badge).act-ice-skating{background:#6b21a8}:is(.cal-event,.activity-badge).act-kayaking{background:#155e75}:is(.cal-event,.activity-badge).act-whitewater-kayaking{background:#0f4c5c}:is(.cal-event,.activity-badge).act-canoeing{background:#0a3d4f}:is(.cal-event,.activity-badge).act-rowing{background:#164e63}:is(.cal-event,.activity-badge).act-open-water-rowing{background:#0e2b38}:is(.cal-event,.activity-badge).act-paddleboarding{background:#0c4a6e}:is(.cal-event,.activity-badge).act-surfing{background:#083344}:is(.cal-event,.activity-badge).act-windsurfing{background:#134e4a}:is(.cal-event,.activity-badge).act-kitesurfing{background:#0f4c5c}:is(.cal-event,.activity-badge).act-strength-training{background:#dc2626}:is(.cal-event,.activity-badge).act-cardio{background:#e11d48}:is(.cal-event,.activity-badge).act-hiit{background:#9333ea}:is(.cal-event,.activity-badge).act-yoga{background:#16a34a}:is(.cal-event,.activity-badge).act-pilates{background:#15803d}:is(.cal-event,.activity-badge).act-elliptical{background:#7e22ce}:is(.cal-event,.activity-badge).act-stair-stepper{background:#6d28d9}:is(.cal-event,.activity-badge).act-breathwork{background:#86198f}:is(.cal-event,.activity-badge).act-stretching{background:#d97706}:is(.cal-event,.activity-badge).act-tennis{background:#4d7c0f}:is(.cal-event,.activity-badge).act-pickleball{background:#65a30d}:is(.cal-event,.activity-badge).act-squash{background:#3f6212}:is(.cal-event,.activity-badge).act-badminton{background:#5a8700}:is(.cal-event,.activity-badge).act-racquetball{background:#3d5e00}:is(.cal-event,.activity-badge).act-padel{background:#2a4900}:is(.cal-event,.activity-badge).act-golf{background:#166534}:is(.cal-event,.activity-badge).act-basketball{background:#d4500a}:is(.cal-event,.activity-badge).act-soccer{background:#1a7d43}:is(.cal-event,.activity-badge).act-volleyball{background:#ca6b00}:is(.cal-event,.activity-badge).act-ice-hockey{background:#1a6fa8}:is(.cal-event,.activity-badge).act-rugby{background:#7d3c1a}:is(.cal-event,.activity-badge).act-baseball{background:#6b4c2a}:is(.cal-event,.activity-badge).act-boxing{background:#7f1d1d}:is(.cal-event,.activity-badge).act-kickboxing{background:#991b1b}:is(.cal-event,.activity-badge).act-martial-arts{background:#b91c1c}:is(.cal-event,.activity-badge).act-triathlon{background:#be185d}:is(.cal-event,.activity-badge).act-duathlon{background:#9d174d}:is(.cal-event,.activity-badge).act-swim-run{background:#db2777}:is(.cal-event,.activity-badge).act-multisport{background:#f43f5e}:is(.cal-event,.activity-badge).act-sailing{background:#475569}:is(.cal-event,.activity-badge).act-horse-riding{background:#78716c}:is(.cal-event,.activity-badge).act-hunting{background:#52525b}:is(.cal-event,.activity-badge).act-fishing{background:#57534e}:is(.cal-event,.activity-badge).act-orienteering{background:#4b5563}:is(.cal-event,.activity-badge).act-jump-rope{background:#374151}:is(.cal-event,.activity-badge).act-dance{background:#c026d3}:is(.cal-event,.activity-badge).act-obstacle-course{background:#be123c}:is(.cal-event,.activity-badge).act-floor-climbing{background:#431407}:is(.cal-event,.activity-badge).act-other{background:#4b5563}.profile-page{max-width:760px;margin:40px auto;padding:0 24px 48px}.profile-page .card{padding:0;overflow:hidden}.profile-tabs{display:flex;border-bottom:1px solid var(--border)}.profile-tab{padding:14px 22px;font-size:.9rem;font-weight:600;color:var(--dim);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s}.profile-tab:hover:not(.active){color:var(--muted)}.profile-tab.active{color:var(--accent-l);border-bottom-color:var(--accent)}.profile-page .card>*:not(.profile-tabs){padding:28px 32px}.profile-page .card>.profile-tabs{padding:0}.activity-empty{text-align:center;padding:48px 0;color:var(--muted);line-height:1.8}.activity-group{margin-bottom:28px}.activity-group-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--dim);margin-bottom:10px}.activity-row{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--border)}.activity-row:last-child{border-bottom:none}.activity-row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:.72rem;font-weight:600;color:#fff;background:var(--accent-d);white-space:nowrap}.activity-title{font-weight:600;font-size:.95rem;color:var(--text)}.activity-meta{font-size:.82rem;color:var(--muted)}.activity-notes{font-size:.82rem;color:var(--dim);font-style:italic}.analysis-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.stat-card{background:#6366f117;border:1px solid rgba(99,102,241,.2);border-radius:14px;padding:20px 16px;text-align:center;background-image:linear-gradient(180deg,rgba(129,140,248,.05) 0%,transparent 60%)}.stat-value{font-size:1.8rem;font-weight:800;color:var(--accent-l);line-height:1;margin-bottom:6px}.stat-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}.analysis-chart-title{font-size:.95rem;font-weight:700;color:var(--muted);margin-bottom:12px}.analysis-chart-note{font-weight:400;color:var(--dim);font-size:.82rem}.struct-editor{margin-top:8px;display:flex;flex-direction:column;gap:6px}.struct-row{display:flex;align-items:center;gap:6px}.struct-label{flex:1 1 auto}.struct-min{width:56px}.struct-unit{font-size:.8rem;color:var(--dim)}.struct-type{flex:0 0 110px}.struct-del{color:var(--danger);padding:0 4px}.race-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.race-row input[type=date]{flex:0 0 auto}.race-row select{flex:0 0 130px}.race-row input[type=text]{flex:1 1 auto}.race-del{color:var(--danger);padding:0 4px;background:none;border:none;cursor:pointer}.field-help{font-size:.8rem;color:var(--dim);margin:2px 0 8px}.cal-year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 900px){.cal-year-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.cal-year-grid{grid-template-columns:repeat(2,1fr)}}.cal-mini-month{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);padding:12px}.cal-mini-header{font-size:.85rem;font-weight:700;text-align:center;margin-bottom:8px;cursor:pointer;color:var(--accent-l)}.cal-mini-header:hover{text-decoration:underline}.cal-mini-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.cal-mini-dow span{text-align:center;font-size:.62rem;color:var(--dim);font-weight:600}.cal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-mini-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.68rem;border-radius:50%;cursor:pointer;position:relative;color:var(--muted)}.cal-mini-day:hover:not(:empty){background:#818cf824;color:var(--text)}.cal-mini-day.is-today{background:var(--accent-d);color:#fff;font-weight:700}.cal-mini-day.has-workout:after{content:"";position:absolute;bottom:1px;width:4px;height:4px;background:var(--accent);border-radius:50%}.cal-mini-day.is-today.has-workout:after{background:#fffc}.cal-month{background:var(--bg-card);border-radius:14px;overflow:hidden;border:1px solid var(--border)}.cal-dow-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#00000038;border-bottom:1px solid var(--border)}.cal-dow{text-align:center;padding:8px 0;font-size:.78rem;font-weight:600;color:var(--dim)}.cal-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:96px;padding:6px;cursor:pointer;transition:background .1s}.cal-cell:hover{background:#818cf80d}.cal-cell:nth-child(7n){border-right:none}.cal-cell--empty{background:#0000001f;cursor:default}.cal-cell--other{background:#00000014}.cal-cell--other .cal-day-num{color:var(--dim)}.cal-cell--today{background:#6366f114}.cal-day-num{font-size:.82rem;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:4px;margin-bottom:4px}.cal-day-num>span{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;flex-shrink:0}.cal-day-num>span:hover{background:#818cf826;color:var(--text)}.cal-cell--today .cal-day-num>span{background:var(--accent-d);color:#fff}.cal-cell--today .cal-day-num>span:hover{background:var(--accent)}.cal-timeline{background:var(--bg-card);border-radius:14px;border:1px solid var(--border);overflow-x:auto}.cal-tl-header{display:grid;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-card);z-index:2}.cal-tl-gutter{border-right:1px solid var(--border)}.cal-tl-day-hdr{padding:10px 4px 8px;text-align:center;border-right:1px solid var(--border);cursor:pointer;transition:background .1s}.cal-tl-day-hdr:last-child{border-right:none}.cal-tl-day-hdr:hover{background:#818cf80f}.cal-tl-day-hdr.is-today{background:#6366f117}.cal-tl-dow{font-size:.72rem;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}.cal-tl-date{font-size:1.1rem;font-weight:700;color:var(--muted);width:34px;height:34px;margin:4px auto 0;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-tl-day-hdr.is-today .cal-tl-date{background:var(--accent-d);color:#fff}.cal-allday{display:grid;border-bottom:1px solid var(--border)}.cal-allday-label{font-size:.65rem;color:var(--dim);text-align:right;padding:6px 6px 0;border-right:1px solid var(--border)}.cal-allday-cell{padding:4px;border-right:1px solid var(--border);min-height:32px;cursor:pointer}.cal-allday-cell:last-child{border-right:none}.cal-allday-cell:hover{background:#818cf80d}.cal-tl-body{overflow-y:auto;max-height:calc(100vh - 240px);min-height:240px;position:relative}.cal-tl-gutter-body{border-right:1px solid var(--border);background:var(--bg-card);position:sticky;left:0;z-index:1}.cal-tl-gutter-body .cal-hour-label{border-right:none}.cal-tl-day-col{position:relative;border-right:1px solid var(--border);cursor:pointer}.cal-tl-day-col:last-child{border-right:none}.cal-tl-day-col:hover{background:#818cf804}.cal-hour-line{position:absolute;left:0;right:0;height:1px;background:#2628408c;pointer-events:none}.cal-event--timed{position:absolute;left:2px;right:2px;display:flex;flex-direction:column;overflow:hidden;border-radius:5px;padding:3px 6px;white-space:normal;cursor:pointer;z-index:1;transition:filter .1s}.cal-event--timed:hover{filter:brightness(1.18);z-index:2}.cal-event-title{font-size:.75rem;font-weight:600;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cal-event-meta{font-size:.65rem;opacity:.75;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-hour-row{display:grid;border-bottom:1px solid rgba(38,40,64,.6)}.cal-hour-row:last-child{border-bottom:none}.cal-hour-label{font-size:.68rem;color:var(--dim);text-align:right;padding-right:6px;border-right:1px solid var(--border);line-height:48px;height:48px;white-space:nowrap}.cal-hour-cell{height:48px;border-right:1px solid rgba(38,40,64,.45);padding:2px 4px;cursor:pointer;overflow:hidden}.cal-hour-cell:last-child{border-right:none}.cal-hour-cell:hover{background:#818cf80d}.cal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000009e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.cal-modal{background:var(--bg-modal);border:1px solid var(--border-hi);border-radius:18px;padding:32px;width:100%;max-width:460px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 28px 90px #000000bf,0 0 0 1px #ffffff0d inset;background-image:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 56px)}.cal-modal h2{font-size:1.25rem;font-weight:700;margin-bottom:4px}.cal-modal .subtitle{margin-bottom:20px;color:var(--muted)}.cal-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.duration-inputs{display:flex;align-items:center;gap:6px}.duration-inputs input{width:62px;min-width:0;flex:0 1 62px}.duration-inputs span{font-size:.875rem;color:var(--dim);white-space:nowrap}.cal-event--done{opacity:.78}.cal-event--partial{opacity:.78;background-image:linear-gradient(#ffffff1f,#ffffff1f)}.cal-event--skipped{opacity:.32;text-decoration:line-through}.wellness-bar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#34d39912;border-bottom:1px solid rgba(52,211,153,.14);font-size:.85rem;flex-wrap:wrap}.wellness-bar-label{font-weight:600;color:var(--success)}.wellness-bar-summary{color:#34d399bf}.wellness-bar-empty{color:var(--dim)}.connected-apps,.danger-zone{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.danger-zone h3{margin-bottom:12px;font-size:1rem}.danger-zone .connected-app-row+.connected-app-row{margin-top:10px}.danger-title{color:var(--danger)}.danger-confirm{margin-top:12px}.danger-confirm label{display:block;margin-bottom:6px;font-size:.875rem;color:var(--dim)}.danger-confirm-row{display:flex;gap:10px;flex-wrap:wrap}.danger-confirm-row input{flex:1 1 220px}.danger-confirm-row .btn{width:auto}.connected-apps h3{margin-bottom:12px;font-size:1rem}.connected-app-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 14px;background:#0000002e;border:1px solid var(--border);border-radius:10px}.connected-app-name{font-weight:600;color:#fc5200}.connected-app-name--neutral{color:var(--text)}.connected-app-detail{font-size:.85rem;color:var(--muted);margin-top:2px}.passkey-section{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.passkey-section h3{margin-bottom:8px;font-size:1rem}.passkey-section .section-hint{font-size:.85rem;color:var(--muted);margin-bottom:14px;max-width:46ch}.passkey-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:10px}.passkey-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 14px;background:#0000002e;border:1px solid var(--border);border-radius:10px}.passkey-name{font-weight:600;color:var(--text)}.passkey-detail{font-size:.85rem;color:var(--muted);margin-top:2px}.passkey-add-form{margin-top:6px}.passkey-add-form .btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.passkey-add-form .btn-row .btn{width:auto}.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.import-result{margin-top:12px;padding:10px 14px;background:#00000026;border:1px solid var(--border);border-radius:10px}.import-result-errors{margin:6px 0 0;padding-left:20px;font-size:.82rem;color:var(--danger, #ef4444);line-height:1.5}.readiness-banner{display:flex;align-items:baseline;gap:12px;padding:10px 16px;font-size:.85rem;flex-wrap:wrap}.readiness-banner--amber{background:#f59e0b1a;border-bottom:1px solid rgba(245,158,11,.28)}.readiness-banner--red{background:#ef44441a;border-bottom:1px solid rgba(239,68,68,.28)}.readiness-banner-headline{font-weight:600}.readiness-banner--amber .readiness-banner-headline{color:#fbbf24}.readiness-banner--red .readiness-banner-headline{color:#f87171}.readiness-banner--amber .readiness-banner-reasons{color:#fbbf24bf}.readiness-banner--red .readiness-banner-reasons{color:#f87171bf}.readiness-banner-rec{color:var(--muted)}.scale-picker{display:flex;gap:4px;flex-wrap:wrap}.scale-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:7px;background:#0003;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--muted);transition:all .1s}.scale-btn:hover{border-color:var(--accent);color:var(--accent-l)}.scale-btn.selected{background:var(--accent-d);border-color:var(--accent);color:#fff}.plan-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#818cf824;color:var(--accent-l);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid rgba(129,140,248,.24)}.plan-goal-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#6d28d91a;border:1px solid rgba(109,40,217,.22);border-radius:9px;margin-bottom:12px}.plan-goal-label{font-size:.75rem;font-weight:600;color:#a78bfa;text-transform:uppercase;letter-spacing:.05em}.plan-goal-value{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:#c4b5fd}.plan-goal-sep{color:#6d28d9}.recurring-section{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding:12px;background:#0003;border-radius:9px;border:1px solid var(--border)}.recurring-section .form-group{margin-bottom:0}.repeat-mode-btns,.repeat-days{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.repeat-limit-row{display:flex;align-items:center;gap:10px;margin-top:2px;flex-wrap:wrap}.repeat-limit-btns{display:flex;gap:4px;flex-shrink:0}.repeat-count-row{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}.repeat-count-row input{text-align:center}.series-scope-section{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;background:#6366f114;border-radius:9px;border:1px solid rgba(99,102,241,.25)}.series-scope-label{font-size:.85rem;font-weight:600;color:var(--accent-l);white-space:nowrap}.series-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:20px;font-size:.7rem;font-weight:600;background:#6366f12e;color:var(--accent-l);vertical-align:middle;letter-spacing:.04em;text-transform:uppercase}.completion-section{margin-top:20px;border-top:1px solid var(--border);padding-top:12px}.completion-toggle{background:none;border:none;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--accent);padding:4px 0}.completion-form{margin-top:12px}.completion-options{display:flex;gap:8px}.completion-new-hint{font-size:.8rem;color:var(--muted);margin:0 0 10px}.plan-page{max-width:760px;margin:32px auto;padding:0 16px}.plan-page h1{font-size:1.5rem;font-weight:700;margin-bottom:16px}.plan-add-btn{width:100%;margin-top:8px}.plan-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:20px;background-image:linear-gradient(180deg,rgba(255,255,255,.025) 0%,transparent 40px);transition:border-color .2s}.plan-card:hover{border-color:var(--border-hi)}.plan-card h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}.plan-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.plan-card-header h3{margin-bottom:0}.plan-generating{display:flex;align-items:center;gap:16px}.plan-meta{color:var(--muted);font-size:.875rem;margin-bottom:10px}.plan-goal{margin-bottom:10px}.plan-summary{color:var(--muted);margin-bottom:12px;white-space:pre-wrap}.plan-insights{margin:4px 0 14px;padding:14px 16px 12px;background:#0000002e;border:1px solid var(--border);border-radius:12px}.plan-countdown{color:var(--muted);font-size:.85rem;margin-bottom:12px}.plan-countdown-num{font-size:1.6rem;font-weight:600;color:var(--text);margin-right:4px}.plan-weeks{display:flex;align-items:flex-end;gap:2px;height:64px}.plan-week{flex:1;max-width:26px;height:100%;display:flex;flex-direction:column;gap:3px;border-radius:4px 4px 0 0}.plan-week--current{background:#ffffff0f}.plan-week-slot{position:relative;flex:1}.plan-week-track,.plan-week-fill{position:absolute;bottom:0;left:1px;right:1px;border-radius:4px 4px 0 0}.plan-week-track{background:#10b9812e}.plan-week-fill{background:#10b981}.plan-week-phase{height:5px;border-radius:2px;margin:0 1px}.plan-insights-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.75rem;color:var(--muted)}.plan-legend-item{display:inline-flex;align-items:center;gap:5px}.plan-legend-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.plan-legend-swatch--track{background:#10b9812e}.plan-legend-swatch--fill{background:#10b981}.plan-phase-note{margin-top:12px;padding:10px 12px;border-left:3px solid var(--border);border-radius:6px;background:#ffffff0a;font-size:.85rem;color:var(--muted);line-height:1.5}.plan-phase-note strong{color:var(--text)}.plan-feasibility{margin:14px 0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:.875rem;--feas-color: #10b981}.plan-insights .plan-feasibility{margin-bottom:0;background:#00000026}.feas--ok{--feas-color: #10b981}.feas--stretch{--feas-color: #d97706;border-color:#d9770673}.feas--risk{--feas-color: #ef4444;border-color:#ef444473}.plan-feasibility-headline{display:flex;align-items:center;gap:8px}.plan-feasibility-dot{width:10px;height:10px;border-radius:50%;background:var(--feas-color);flex-shrink:0}.plan-feasibility-findings{margin:8px 0 0;padding-left:26px;color:var(--muted);line-height:1.5}.plan-feasibility-findings li{margin-bottom:4px}.plan-feasibility-findings li:last-child{margin-bottom:0}.plan-feasibility-hint{margin:8px 0 0;padding-left:18px;font-size:.8rem;color:var(--muted)}.plan-card--sport{border-left:3px solid var(--sport-color, var(--border));padding-left:21px}.plan-sport-tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em;color:#fff;background:var(--sport-color, var(--accent-d));margin-bottom:6px}.plan-stat-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;align-items:center}.plan-stat{font-size:.78rem;padding:2px 9px;border-radius:999px;background:#ffffff0d;border:1px solid var(--border);color:var(--muted)}.plan-stat--event{background:#818cf81a;border-color:#818cf840;color:var(--accent-l)}.form-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--dim);margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.label-hint{color:var(--dim);font-weight:400}.label-required{color:var(--danger);font-weight:600;margin-left:2px}.cal-wellness-btn{background:none;border:none;font-size:10px;color:var(--dim);cursor:pointer;padding:1px 3px;opacity:0;transition:opacity .15s,color .15s;line-height:1;border-radius:3px}.cal-cell:hover .cal-wellness-btn,.cal-tl-day-hdr:hover .cal-wellness-btn{opacity:1}.cal-wellness-btn:hover{color:var(--accent-l);background:#818cf81f}.cal-wellness-btn:focus-visible{opacity:1}@media (hover: none){.cal-wellness-btn{opacity:.65}}@media (max-width: 640px){.cal-cell .cal-wellness-btn{display:none}}.sport-picker{max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:9px;padding:12px;background:#0000002e}.plan-sport-picker{display:flex;flex-wrap:wrap;gap:8px}.sport-group{margin-bottom:10px}.sport-group-name{font-size:.72rem;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.sport-options,.day-picker{display:flex;flex-wrap:wrap;gap:6px}.sport-chip{border:1px solid var(--border);background:#0000002e;border-radius:999px;padding:3px 12px;font-size:.8rem;cursor:pointer;transition:all .1s;color:var(--muted)}.sport-chip:hover{border-color:var(--accent);color:var(--accent-l)}.sport-chip.selected{background:var(--accent-d);border-color:var(--accent);color:#fff}.sport-chip:disabled{opacity:.5;cursor:default}.wizard-steps{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.wizard-step{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#0000002e;border-radius:999px;padding:4px 12px;font-size:.78rem;color:var(--dim);cursor:pointer;transition:all .1s}.wizard-step:disabled{cursor:default}.wizard-step.done{color:var(--muted);border-color:#818cf866}.wizard-step.active{background:var(--accent-d);border-color:var(--accent);color:#fff}.wizard-step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#ffffff1f;font-size:.7rem;font-weight:700}.wizard-step.active .wizard-step-num{background:#ffffff40}.wizard-bench-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.wizard-bench-label{flex:0 0 48px;font-size:.8rem;color:var(--muted);font-weight:600}.wizard-bench-row input{flex:1}.wizard-cross-days{display:flex;flex-direction:column;gap:6px}.wizard-cross-row{display:flex;align-items:center;gap:10px}.wizard-cross-day{flex:0 0 40px;font-size:.82rem;color:var(--muted);font-weight:600}.wizard-cross-row select{flex:1}.wizard-review-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.wizard-review-row:first-child{border-top:none}.wizard-review-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin-bottom:3px}.wizard-review-value{color:var(--muted);font-size:.9rem}.suggestion-card{border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:14px;background:#0000002e}.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.suggestion-status{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.04em}.suggestion-status.status-pending{background:#fbbf2424;color:#fcd34d;border:1px solid rgba(251,191,36,.28)}.suggestion-status.status-applied{background:#34d39924;color:#6ee7b7;border:1px solid rgba(52,211,153,.28)}.suggestion-status.status-dismissed{background:#ffffff0d;color:var(--dim);border:1px solid var(--border)}.suggestion-analysis{white-space:pre-wrap;color:var(--muted);font-size:.9rem;margin-bottom:12px}.suggestion-changes h4{font-size:.85rem;font-weight:700;margin-bottom:8px}.change-row{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--border);font-size:.85rem}.change-action{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:4px;height:fit-content;white-space:nowrap}.change-update .change-action{background:#3b82f629;color:#93c5fd;border:1px solid rgba(59,130,246,.28)}.change-add .change-action{background:#34d39924;color:#6ee7b7;border:1px solid rgba(52,211,153,.28)}.change-delete .change-action{background:#ef444424;color:#fca5a5;border:1px solid rgba(239,68,68,.28)}.change-notes{color:var(--muted);margin-top:2px}.change-reason{color:#fcd34d;font-style:italic;margin-top:2px}.subtitle{color:var(--muted);font-size:.95rem}.field-display{padding:4px 0;font-size:.95rem;color:var(--text);min-height:36px;display:flex;align-items:center}.field-display--pre{white-space:pre-wrap;align-items:flex-start;min-height:60px}.account-fields .form-group{margin-bottom:10px}.account-fields .form-group label{margin-bottom:2px}.radio-group{display:flex;gap:24px;padding:10px 0;min-height:42px;align-items:center}.radio-option{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:400;cursor:pointer;color:var(--text)}.radio-group--stacked{flex-direction:column;align-items:flex-start;gap:8px}.radio-group--stacked .radio-option{align-items:flex-start}.radio-group--stacked .radio-option input{margin-top:3px;flex-shrink:0}.mfa-qr{display:flex;justify-content:center;padding:12px 0}.mfa-qr svg{background:#fff;padding:8px;border-radius:8px}.mfa-secret{text-align:center;font-size:.85rem;color:var(--text-muted, #6b7280);margin-bottom:12px;overflow-wrap:anywhere}.mfa-secret code{font-size:.85rem;-webkit-user-select:all;user-select:all}.pref-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.pref-toggle input{position:absolute;opacity:0;width:0;height:0}.pref-toggle-track{position:relative;width:40px;height:22px;background:var(--border-hi);border-radius:999px;transition:background .2s;flex-shrink:0}.pref-toggle input:checked+.pref-toggle-track{background:var(--accent-d)}.pref-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 4px #0006}.pref-toggle input:checked~.pref-toggle-track .pref-toggle-thumb,.pref-toggle input:checked+.pref-toggle-track .pref-toggle-thumb{transform:translate(18px)}.pref-toggle-label{font-size:.9rem;color:var(--muted);min-width:24px}html.cal-mono :is(.cal-event,.activity-badge){background:#3f4252!important}.brand-n{-webkit-text-fill-color:initial;color:#6b7280;background:none}.admin-page{max-width:960px;margin:40px auto;padding:0 24px}.admin-page h1{margin-bottom:4px}.admin-settings-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);padding:16px 20px;margin:16px 0}.admin-settings-title{font-weight:600}.admin-settings-desc{color:var(--muted);font-size:.85rem;margin-top:2px;max-width:620px}.admin-settings-control{display:flex;align-items:center;gap:12px}.admin-table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto;background:var(--bg-card)}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:720px}.admin-table th{text-align:left;font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#ffffff05}.admin-row-self{background:#818cf80d}.admin-user-name{font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.admin-user-email{color:var(--muted);font-size:.82rem;margin-top:2px}.admin-you{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-l);border:1px solid var(--border-hi);border-radius:5px;padding:1px 5px;font-weight:700}.admin-2fa,.admin-joined,.admin-lastlogin{color:var(--muted);white-space:nowrap}.admin-lastlogin{color:var(--text)}.admin-lastlogin.admin-never{color:var(--muted);font-style:italic}.admin-passkey{font-size:.85rem}.admin-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px}.admin-pager-label{color:var(--muted);font-size:.85rem}.admin-actions-col{text-align:right}.admin-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.badge-ok{background:#34d39924;color:var(--success);border-color:#34d3994d}.badge-danger{background:#f8717124;color:var(--danger);border-color:#f871714d}.badge-admin{background:#818cf829;color:var(--accent-l);border-color:#818cf857}.badge-muted{background:#ffffff0d;color:var(--muted);border-color:var(--border)}
