@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{filter:drop-shadow(0 0 20px var(--accent-glow))}50%{filter:drop-shadow(0 0 40px var(--accent-glow))}}@keyframes messageAppear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translate(0,0) scale(1)}25%{transform:translate(20px,-30px) scale(1.05)}50%{transform:translate(-10px,20px) scale(.95)}75%{transform:translate(-30px,-10px) scale(1.02)}}@keyframes glitchText{0%,90%,to{opacity:1;transform:translate(0)}92%{opacity:.8;transform:translate(-2px,1px)}94%{opacity:.8;transform:translate(2px,-1px)}96%{opacity:.8;transform:translate(-1px,2px)}}@keyframes trailFloat{0%,to{transform:translate(0,0) rotate(0deg)}25%{transform:translate(20px,-30px) rotate(5deg)}50%{transform:translate(-10px,20px) rotate(-3deg)}75%{transform:translate(-30px,-10px) rotate(2deg)}}@keyframes progress-slide{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}@keyframes notificationPulse{0%,to{box-shadow:0 0 0 0 var(--error-pulse)}50%{box-shadow:0 0 0 6px transparent}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}:root{--blue-50:#eff6ff;--blue-900:#0a1628;--blue-800:#0f2444;--blue-700:#1a3a5c;--blue-600:#1e4d7b;--blue-500:#2563eb;--blue-400:#3b82f6;--blue-300:#60a5fa;--blue-200:#93c5fd;--blue-100:#dbeafe;--accent:#00d4ff;--accent-glow:rgba(0, 212, 255, 0.4);--error:#dc3545;--error-bg-subtle:rgba(255, 100, 100, 0.05);--error-bg:rgba(255, 100, 100, 0.1);--error-bg-hover:rgba(255, 100, 100, 0.15);--error-bg-active:rgba(255, 100, 100, 0.25);--error-border:rgba(255, 100, 100, 0.2);--error-border-strong:rgba(255, 100, 100, 0.3);--error-border-emphasis:rgba(255, 107, 107, 0.5);--error-bg-import:rgba(255, 107, 107, 0.05);--error-bg-import-hover:rgba(255, 107, 107, 0.1);--warning-orange-bg:rgba(255, 152, 0, 0.1);--warning-orange-border:rgba(255, 152, 0, 0.3);--warning-orange-text:#f59e0b;--warning-yellow-bg:rgba(255, 193, 7, 0.15);--warning-yellow-border:rgba(255, 193, 7, 0.3);--warning-yellow-text:rgba(255, 193, 7, 0.9);--success-bg:rgba(34, 197, 94, 0.2);--success-bg-hover:rgba(74, 222, 128, 0.25);--success-border:rgba(34, 197, 94, 0.4);--success-text:#4ade80;--info-bg:rgba(0, 180, 216, 0.2);--info-bg-hover:rgba(0, 180, 216, 0.3);--info-border:rgba(0, 180, 216, 0.4);--info-text:#22d3ee;--warning-bg:rgba(251, 191, 36, 0.2);--warning-bg-hover:rgba(251, 191, 36, 0.3);--warning-border:rgba(251, 191, 36, 0.4);--warning-text:#fbbf24;--error-text:#f87171;--purple-bg:rgba(139, 92, 246, 0.15);--purple-bg-hover:rgba(139, 92, 246, 0.25);--purple-border:rgba(139, 92, 246, 0.35);--purple-text:#a78bfa;--blue-bg:rgba(96, 165, 250, 0.15);--blue-border:rgba(96, 165, 250, 0.3);--blue-text:#60a5fa;--sleep-deep:#6366f1;--sleep-light:#a78bfa;--sleep-rem:#22d3ee;--sleep-awake:#f59e0b;--sleep-resp:#f472b6;--white:#ffffff;--text-muted:rgba(255, 255, 255, 0.6);--font-display:'Bebas Neue', sans-serif;--font-body:'Outfit', sans-serif;--bg:var(--on-primary);--bg-primary:var(--blue-900);--bg-secondary:var(--blue-800);--surface:rgba(255, 255, 255, 0.03);--surface-elevated:rgba(255, 255, 255, 0.05);--surface-hover:rgba(255, 255, 255, 0.08);--surface-popover:var(--blue-800);--border:rgba(255, 255, 255, 0.1);--border-subtle:rgba(255, 255, 255, 0.06);--border-strong:rgba(255, 255, 255, 0.15);--text:var(--white);--on-primary:var(--white);--input-bg:rgba(255, 255, 255, 0.05);--input-border:rgba(255, 255, 255, 0.1);--gradient-start:var(--blue-600);--gradient-mid:var(--blue-700);--gradient-end:var(--blue-900);--logo-gradient-start:var(--white);--nav-bg:rgba(10, 22, 40, 0.95);--nav-border:rgba(255, 255, 255, 0.06);--overlay-indicator:rgba(255, 255, 255, 0.4);--overlay-indicator-hover:rgba(255, 255, 255, 0.6);--highlight-on-color:rgba(255, 255, 255, 0.4);--overlay-dark:rgba(0, 0, 0, 0.2);--overlay-darker:rgba(0, 0, 0, 0.7);--map-overlay-bg:rgba(10, 22, 40, 0.88);--map-overlay-text:#ffffff;--map-overlay-text-muted:rgba(255, 255, 255, 0.75);--accent-shadow:rgba(0, 212, 255, 0.3);--accent-focus-ring:rgba(0, 212, 255, 0.1);--blue-shadow:rgba(37, 99, 235, 0.4);--purple-shadow:rgba(139, 92, 246, 0.4);--purple-ring:rgba(139, 92, 246, 0.3);--error-pulse:rgba(239, 68, 68, 0.4);--readiness-ready-gradient:linear-gradient(to top, rgba(74, 222, 128, 0.3), rgba(74, 222, 128, 0.6));--readiness-moderate-gradient:linear-gradient(to top, rgba(251, 191, 36, 0.3), rgba(251, 191, 36, 0.6));--readiness-light-gradient:linear-gradient(to top, rgba(251, 146, 60, 0.3), rgba(251, 146, 60, 0.6));--readiness-rest-gradient:linear-gradient(to top, rgba(248, 113, 113, 0.3), rgba(248, 113, 113, 0.6));--spectrum-red:#ef4444;--spectrum-orange:#f59e0b;--spectrum-yellow:#fbbf24;--spectrum-lime:#84cc16;--spectrum-green:#4ade80;--page-bg:radial-gradient(ellipse 80% 50% at 50% -20%, var(--gradient-start), transparent),
        radial-gradient(ellipse 60% 40% at 80% 100%, var(--gradient-mid), transparent),
        var(--bg-primary)}[data-theme=light]{--accent:#1e40af;--accent-glow:rgba(30, 64, 175, 0.25);--error-bg-subtle:rgba(220, 38, 38, 0.06);--error-bg:rgba(220, 38, 38, 0.1);--error-bg-hover:rgba(220, 38, 38, 0.14);--error-bg-active:rgba(220, 38, 38, 0.2);--error-border:rgba(220, 38, 38, 0.25);--error-border-strong:rgba(220, 38, 38, 0.35);--error-border-emphasis:rgba(220, 38, 38, 0.5);--error-bg-import:rgba(220, 38, 38, 0.06);--error-bg-import-hover:rgba(220, 38, 38, 0.1);--warning-orange-bg:rgba(217, 119, 6, 0.1);--warning-orange-border:rgba(217, 119, 6, 0.35);--warning-orange-text:#b45309;--warning-yellow-bg:rgba(180, 83, 9, 0.12);--warning-yellow-border:rgba(180, 83, 9, 0.35);--warning-yellow-text:#92400e;--success-bg:rgba(22, 163, 74, 0.14);--success-bg-hover:rgba(22, 163, 74, 0.22);--success-border:rgba(22, 163, 74, 0.4);--success-text:#16a34a;--info-bg:rgba(8, 145, 178, 0.14);--info-bg-hover:rgba(8, 145, 178, 0.22);--info-border:rgba(8, 145, 178, 0.4);--info-text:#0891b2;--warning-bg:rgba(202, 138, 4, 0.14);--warning-bg-hover:rgba(202, 138, 4, 0.22);--warning-border:rgba(202, 138, 4, 0.4);--warning-text:#ca8a04;--error-text:#dc2626;--purple-bg:rgba(124, 58, 237, 0.12);--purple-bg-hover:rgba(124, 58, 237, 0.2);--purple-border:rgba(124, 58, 237, 0.35);--purple-text:#7c3aed;--blue-bg:rgba(37, 99, 235, 0.12);--blue-border:rgba(37, 99, 235, 0.3);--blue-text:#2563eb;--sleep-deep:#4f46e5;--sleep-light:#7c3aed;--sleep-rem:#0891b2;--sleep-awake:#b45309;--sleep-resp:#db2777;--bg:var(--on-primary);--bg-primary:#fafbff;--bg-secondary:#f0f4f8;--surface:rgba(30, 58, 138, 0.04);--surface-elevated:rgba(30, 58, 138, 0.08);--surface-hover:rgba(30, 58, 138, 0.12);--surface-popover:#ffffff;--border:rgba(15, 23, 42, 0.1);--border-subtle:rgba(15, 23, 42, 0.06);--border-strong:rgba(15, 23, 42, 0.18);--text:#0f172a;--text-muted:#475569;--on-primary:var(--white);--input-bg:#ffffff;--input-border:#cbd5e1;--gradient-start:#e0f2fe;--gradient-mid:#f0f9ff;--gradient-end:#fafbff;--logo-gradient-start:#0c4a6e;--nav-bg:rgba(250, 251, 255, 0.92);--nav-border:rgba(15, 23, 42, 0.08);--overlay-indicator:rgba(15, 23, 42, 0.5);--overlay-indicator-hover:rgba(15, 23, 42, 0.65);--highlight-on-color:rgba(255, 255, 255, 0.9);--overlay-dark:rgba(0, 0, 0, 0.15);--overlay-darker:rgba(0, 0, 0, 0.5);--map-overlay-bg:rgba(15, 23, 42, 0.9);--map-overlay-text:#ffffff;--map-overlay-text-muted:rgba(255, 255, 255, 0.75);--accent-shadow:rgba(30, 64, 175, 0.25);--accent-focus-ring:rgba(30, 64, 175, 0.15);--blue-shadow:rgba(37, 99, 235, 0.35);--purple-shadow:rgba(124, 58, 237, 0.35);--purple-ring:rgba(124, 58, 237, 0.3);--error-pulse:rgba(220, 38, 38, 0.4);--readiness-ready-gradient:linear-gradient(to top, rgba(22, 163, 74, 0.35), rgba(22, 163, 74, 0.6));--readiness-moderate-gradient:linear-gradient(to top, rgba(202, 138, 4, 0.35), rgba(202, 138, 4, 0.6));--readiness-light-gradient:linear-gradient(to top, rgba(217, 119, 6, 0.35), rgba(217, 119, 6, 0.6));--readiness-rest-gradient:linear-gradient(to top, rgba(220, 38, 38, 0.35), rgba(220, 38, 38, 0.6));--spectrum-red:#dc2626;--spectrum-orange:#b45309;--spectrum-yellow:#ca8a04;--spectrum-lime:#65a30d;--spectrum-green:#16a34a;--page-bg:radial-gradient(ellipse 90% 60% at 50% -15%, var(--gradient-start), transparent 60%),
        radial-gradient(ellipse 70% 50% at 85% 110%, var(--gradient-mid), transparent 55%),
        var(--bg-primary)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%}.page-with-nav,body{background:var(--page-bg)}body{min-height:100%;font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-with-nav{min-height:100vh}.page-content{max-width:1400px;margin:0 auto;padding:2rem}@media (max-width:768px){.page-content{padding:1rem}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.public-profile-content.public-activity-wide{max-width:720px}.public-activity-subtitle{margin:.25rem 0 1rem;color:var(--text-muted);font-size:.95rem;text-align:center;letter-spacing:.01em}.public-activity-owner{display:inline-flex;align-items:center;gap:.6rem;padding:.3rem .9rem .3rem .3rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:999px;text-decoration:none;color:var(--text);transition:border-color .15s ease,background .15s ease}.public-activity-owner:focus-visible,.public-activity-owner:hover{border-color:var(--accent);background:var(--surface-elevated);text-decoration:none}.public-activity-owner-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block;flex-shrink:0}.public-activity-owner-initials{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--blue-400));color:var(--surface-elevated);font-weight:700;font-size:.85rem;letter-spacing:.02em}.public-activity-owner-name{font-size:.95rem;font-weight:600;color:var(--text)}.public-activity-description{margin:.75rem auto 0;max-width:560px;color:var(--text);font-size:.95rem;line-height:1.55;text-align:center;white-space:pre-wrap}.public-activity-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 .25rem;justify-content:center}.public-activity-stat{display:inline-flex;flex-direction:column;align-items:flex-start;padding:.5rem .85rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;min-width:88px}.public-activity-stat-label{font-size:.75rem;font-weight:500;color:var(--blue-300);text-transform:uppercase;letter-spacing:.06em}.public-activity-stat-value{font-size:1rem;font-weight:600;color:var(--text);margin-top:.15rem}.public-activity-section{background:var(--surface-elevated);border:1px solid var(--border);border-radius:16px;padding:1rem;margin-top:1rem;backdrop-filter:blur(20px)}.public-activity-section-title{font-size:.8rem;font-weight:600;color:var(--blue-200);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem;text-align:left}.public-activity-map{width:100%;background:var(--surface);border-radius:12px;display:block}.public-activity-map polyline{fill:none;stroke:var(--accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--accent-glow))}.public-activity-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.public-activity-photos img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid var(--border-subtle);display:block}@media (max-width:640px){.public-activity-photos{grid-template-columns:repeat(2,1fr)}.public-activity-stat{min-width:76px;padding:.4rem .7rem}.public-activity-stat-value{font-size:.95rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),radial-gradient(ellipse 40% 30%at 10% 80%,var(--blue-800),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.auth-content{text-align:center;z-index:10;max-width:480px;width:100%;animation:fadeInUp .8s ease-out}.auth-header,.legal-content section{margin-bottom:2.5rem}.brand-name{font-family:var(--font-display);font-size:clamp(4rem,16vw,8rem);font-weight:400;letter-spacing:.15em;line-height:.9;margin-bottom:.5rem;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 80px var(--accent-glow);animation:glowPulse 4s ease-in-out infinite}.brand-slogan{font-size:clamp(.9rem,2.5vw,1.25rem);font-weight:300;color:var(--blue-200);letter-spacing:.25em;text-transform:uppercase;opacity:.85}.auth-title{font-family:var(--font-display);font-size:clamp(3rem,12vw,5rem);font-weight:400;letter-spacing:.15em;line-height:.9;margin-bottom:.75rem;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{font-size:1rem;font-weight:400;color:var(--blue-200);letter-spacing:.03em;margin-bottom:1.5rem}.auth-info-note{font-size:.85rem;color:#34d399;line-height:1.5;max-width:440px;margin:0 auto;padding:.75rem 1rem;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);border-radius:8px;backdrop-filter:blur(10px)}.auth-card,.magic-link-form .input-group{background:var(--surface-elevated);border:1px solid var(--border)}.auth-card{border-radius:24px;padding:2.5rem;backdrop-filter:blur(20px)}.profile-card{max-width:500px;margin:0 auto}.magic-link-form .input-group{display:flex;gap:0;border-radius:60px;padding:6px;transition:all .3s ease;backdrop-filter:blur(10px)}.magic-link-form .input-group:focus-within{border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow);background:var(--surface-hover)}.email-form #email-input,.magic-link-form #email-input{flex:1;background:0 0;border:0;padding:1rem 1.5rem;font-size:1rem;font-family:var(--font-body);color:var(--text);outline:0;min-width:0}.email-form #email-input::placeholder,.magic-link-form #email-input::placeholder{color:var(--text-muted)}.auth-divider,.submit-btn{display:flex;align-items:center}.submit-btn{background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--text);border:0;padding:1rem 1.5rem;font-size:1.25rem;font-family:var(--font-body);font-weight:600;border-radius:60px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-width:56px;justify-content:center}.submit-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px rgba(37,99,235,.4)}.submit-btn:active{transform:scale(.98)}.submit-btn.loading .btn-text{opacity:0}.submit-btn.loading .btn-loader{opacity:1}.submit-btn .btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top-color:var(--text);border-radius:50%;opacity:0;transition:opacity .2s ease;animation:spin .8s linear infinite}.auth-divider{gap:1rem;margin:1rem 0}.auth-divider::after,.auth-divider::before{content:"";flex:1;height:1px;background:var(--surface-hover)}.auth-divider span{font-size:.85rem;color:var(--text-muted);text-transform:lowercase}.oauth-buttons{display:flex;gap:.75rem;width:100%}.google-signin-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;flex:1;padding:.875rem 1.5rem;background:var(--white);border:0;border-radius:60px;font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--blue-800);text-decoration:none;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.google-signin-btn:hover{background:var(--blue-50);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.2)}.google-signin-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.google-signin-btn:active{transform:translateY(0)}.google-signin-btn .google-icon{width:20px;height:20px;flex-shrink:0}.apple-signin-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;flex:1;padding:.875rem 1.5rem;background:#000;border:0;border-radius:60px;font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--text);text-decoration:none;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.2)}.apple-signin-btn:hover{background:#1a1a1a;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.3)}.apple-signin-btn:active{transform:translateY(0);background:#000}.apple-signin-btn .apple-icon{width:20px;height:20px;flex-shrink:0;filter:brightness(0) invert(1)}.auth-footer-note{margin-top:1.5rem;font-size:.8rem;color:var(--text-muted)}.auth-footer-note a,.garmin-instructions-list a{color:var(--accent);text-decoration:none}.auth-footer-note a:hover,.garmin-instructions-list a:hover,.public-profile-footer a:hover{text-decoration:underline}.form-message{margin-top:.5rem;padding:0 1rem;font-size:.9rem;min-height:1rem;transition:all .3s ease}.form-message.success{color:#34d399}.form-message.error{color:#f87171}.form-message.info{color:#3b82f6}.form-message.show{animation:messageAppear .4s ease}.decorative-elements{position:fixed;inset:0;pointer-events:none;overflow:hidden}.circle{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);animation:float 20s ease-in-out infinite}.circle-1{width:600px;height:600px;top:-200px;right:-200px;opacity:.3;animation-delay:0s}.circle-2{width:400px;height:400px;bottom:-100px;left:-100px;opacity:.2;animation-delay:-5s}.circle-3{width:300px;height:300px;top:50%;left:20%;opacity:.15;animation-delay:-10s}.email-form .input-group{display:flex;gap:0;background:var(--surface-elevated);border:1px solid var(--border);border-radius:60px;padding:6px;transition:all .3s ease;backdrop-filter:blur(10px)}.email-form .input-group:focus-within{border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow);background:var(--surface-hover)}.code-form{animation:fadeInUp .5s ease-out}.code-instruction{font-size:.95rem;color:var(--blue-200);margin-bottom:.5rem;text-align:center}.code-email-display{font-size:.95rem;color:var(--text);font-weight:500;text-align:center}.code-email-display,.code-input-group{margin-bottom:1.5rem}.code-input-group #code-input{width:100%;background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;padding:1rem;font-size:2rem;font-family:"Courier New",monospace;font-weight:600;color:var(--text);text-align:center;letter-spacing:.5em;outline:0;transition:all .3s ease}.code-input-group #code-input::placeholder{color:var(--text-muted);opacity:.5}.code-input-group #code-input:focus{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow);background:var(--surface-hover)}.code-actions,.verify-btn{display:flex;justify-content:center;align-items:center}.verify-btn{width:100%;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--text);border:0;padding:1rem;font-size:1rem;font-family:var(--font-body);font-weight:600;border-radius:60px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-height:56px}.verify-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px rgba(37,99,235,.4)}.verify-btn:active{transform:translateY(0)}.verify-btn.loading .btn-text{opacity:0}.verify-btn.loading .btn-loader{opacity:1}.verify-btn .btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top-color:var(--text);border-radius:50%;opacity:0;transition:opacity .2s ease;animation:spin .8s linear infinite}.code-actions{gap:1rem;margin-top:1rem}.link-btn{background:0 0;border:0;color:var(--blue-200);font-size:.9rem;cursor:pointer;padding:.5rem 1rem;transition:color .2s ease}.link-btn:hover{color:var(--accent);text-decoration:underline}.store-badges{margin-top:1.25rem}.store-badges-label{font-size:.8rem;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem}.store-badges-row{display:flex;justify-content:center;gap:.75rem}.store-badge{display:block;transition:transform .25s ease,filter .25s ease;border-radius:6px;overflow:hidden}.store-badge svg{height:40px;width:auto;display:block}.store-badge:hover{transform:translateY(-3px) scale(1.04);filter:drop-shadow(0 6px 20px var(--accent-glow))}.store-badge:active{transform:translateY(0) scale(.98)}@media (max-width:640px){.auth-container{padding:1.5rem}.auth-card{padding:1.75rem;border-radius:20px}.email-form .input-group{border-radius:20px;padding:6px}.email-form #email-input{padding:.875rem 1rem;font-size:.95rem}.submit-btn{padding:.875rem 1.25rem;min-width:56px;font-size:1.1rem}.oauth-buttons{flex-direction:column}.apple-signin-btn,.google-signin-btn{border-radius:14px;padding:.875rem 1.25rem}.brand-slogan{letter-spacing:.15em}.code-input-group #code-input{font-size:1.5rem;letter-spacing:.3em}.code-actions{flex-direction:column;gap:.5rem}.store-badge svg{height:36px}.store-badges{margin-top:1rem}}.form-group{margin-bottom:1.25rem;text-align:left;position:relative}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-label{display:block;font-size:.85rem;font-weight:500;color:var(--blue-200);margin-bottom:.5rem;letter-spacing:.02em}.form-input{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;padding:.875rem 1rem;font-size:1rem;font-family:var(--font-body);color:var(--text);outline:0;transition:all .2s ease}.form-input:focus{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow);background:var(--surface-hover)}.form-input::placeholder{color:var(--text-muted)}.form-input[type=date]{color-scheme:dark}[data-theme=light] .form-input[type=date]{color-scheme:light}.form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6;cursor:pointer}[data-theme=light] .form-input[type=date]::-webkit-calendar-picker-indicator{filter:none}.form-textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--blue-200);font-size:.9rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.gender-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.gender-option{position:relative;cursor:pointer}.gender-option input[type=radio]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.gender-label{display:block;background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;font-size:.9rem;color:var(--text-muted);text-align:center;transition:all .2s ease}.gender-option input[type=radio]:checked+.gender-label{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--text)}.gender-option:hover .gender-label{border-color:var(--border-strong);color:var(--text)}.btn{gap:.75rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-family:var(--font-body);font-weight:600;border-radius:12px;position:relative;overflow:hidden}.btn,.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:all .2s ease}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--on-primary);border:0;border-radius:10px;font-size:.95rem;font-weight:600}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(37,99,235,.4)}.btn-primary:active{transform:translateY(0)}.btn-primary.loading .btn-text{opacity:0}.btn-primary.loading .btn-loader{opacity:1}.btn-primary .btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top-color:var(--text);border-radius:50%;opacity:0;animation:spin .8s linear infinite}.btn-secondary{padding:.5rem 1rem;background:0 0;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-muted);font-size:.9rem;font-weight:500}.btn-secondary:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-sm{padding:.35rem .75rem;font-size:.8rem;border-radius:6px;min-width:unset}.form-actions-btn{min-width:120px}.form-actions-btn-primary,.form-actions-btn-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:all .2s ease}.form-actions-btn-primary{background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--on-primary);padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:10px;border:0}.form-actions-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(37,99,235,.4)}.form-actions-btn-primary:active{transform:translateY(0)}.form-actions-btn-secondary{padding:.5rem 1rem;background:0 0;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-muted);font-size:.9rem;font-weight:500}.form-actions-btn-secondary:hover{background:var(--surface);color:var(--text)}.btn-social{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text);font-weight:500}.btn-social:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-2px)}.btn-google{background:#fff;color:#1f1f1f;border-color:#dadce0}.btn-google:hover{background:#f8f9fa;border-color:#dadce0;box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn-apple{background:#000;color:#fff;border-color:#000}.btn-apple:hover{background:#1a1a1a;box-shadow:0 4px 12px rgba(0,0,0,.3)}.social-icon{width:20px;height:20px;flex-shrink:0}.social-buttons{display:flex;flex-direction:column;gap:.75rem}.btn-icon{width:36px;height:36px;display:flex!important;align-items:center;justify-content:center;background:var(--surface-elevated)!important;border:1px solid var(--border)!important;border-radius:8px;color:var(--text-muted)!important;cursor:pointer;transition:all .2s ease;padding:0!important;flex-shrink:0;box-sizing:border-box}.btn-icon:hover{background:var(--surface-hover);color:var(--text)}.btn-icon .garmin-icon-small,.btn-icon svg{width:16px;height:16px;flex-shrink:0}.btn-icon .garmin-icon-small{object-fit:contain}.btn-icon.btn-danger{background:rgba(239,68,68,.15)!important;border-color:rgba(239,68,68,.4)!important;color:#ef4444!important}.btn-icon.btn-danger:hover{background:rgba(239,68,68,.25)!important;border-color:#ef4444!important;color:#ef4444!important}.btn-icon.btn-danger svg{color:#ef4444!important;stroke:#ef4444!important}.btn-icon.btn-primary,.btn-icon.btn-primary:hover{background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--on-primary)}.btn-icon.btn-primary{border:0;padding:0}.btn-icon.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,212,255,.3)}.btn-icon.btn-secondary{background:var(--surface-elevated);border:1px solid var(--border-strong);color:var(--text);padding:0}.btn-icon.btn-secondary:hover{background:var(--surface-hover);color:var(--text)}.btn-icon.btn-small{width:28px;height:28px}.btn-icon.btn-small svg{width:14px;height:14px}.btn-outline.btn-sm{padding:.5rem;background:0 0;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.btn-outline.btn-sm:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.1)}.sport-badge{display:inline-block;padding:.35rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:20px;background:rgba(37,99,235,.2);color:var(--blue-300);border:1px solid rgba(37,99,235,.3)}.sport-badge.sport-run,.sport-badge.sport-trailrun,.sport-badge.sport-virtualrun{background:rgba(239,68,68,.15);color:#fca5a5;border-color:rgba(239,68,68,.3)}.sport-badge.sport-cycling,.sport-badge.sport-ebikeride,.sport-badge.sport-gravelride,.sport-badge.sport-mountainbikeride,.sport-badge.sport-ride,.sport-badge.sport-virtualride{background:rgba(34,197,94,.15);color:#86efac;border-color:rgba(34,197,94,.3)}.sport-badge.sport-swim{background:rgba(6,182,212,.15);color:#67e8f9;border-color:rgba(6,182,212,.3)}.sport-badge.sport-hike,.sport-badge.sport-walk{background:rgba(234,179,8,.15);color:#fde047;border-color:rgba(234,179,8,.3)}.sport-badge.sport-crossfit,.sport-badge.sport-highintensityintervaltraining,.sport-badge.sport-weighttraining,.sport-badge.sport-yoga{background:rgba(168,85,247,.15);color:#d8b4fe;border-color:rgba(168,85,247,.3)}.sport-badge.sport-alpineski,.sport-badge.sport-nordicski,.sport-badge.sport-skiing,.sport-badge.sport-snowboard{background:rgba(147,197,253,.15);color:#bfdbfe;border-color:rgba(147,197,253,.3)}#adopt-device-modal,#gear-modal,#injury-modal,.modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;width:90%;max-width:480px;animation:modalSlideIn .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;letter-spacing:.03em;color:var(--text)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:0;color:var(--text-muted);font-size:1.5rem;cursor:pointer;transition:color .2s ease}.legal-content li strong,.modal-close:hover{color:var(--text)}.modal-body{padding:1.5rem}#global-upload-modal .modal-content,.sudo-table-sticky tr:hover td.sticky-col{background:var(--bg-secondary)}.empty-state{background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px}.empty-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--text-muted)}.empty-icon svg{width:100%;height:100%}.empty-title{font-size:1.5rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.empty-text{color:var(--text-muted);font-size:1rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-subtle)}.page-info{color:var(--text-muted);font-size:.9rem}.toast-notification{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:all .3s ease;z-index:2000}.toast-notification.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.toast-notification svg{width:20px;height:20px;color:var(--accent);flex-shrink:0}.page-title,.toast-message{font-size:.9rem;color:var(--text)}.page-title{font-family:var(--font-display);font-size:2.5rem;font-weight:400;letter-spacing:.05em;margin-bottom:1rem}.page-title .count,.section-title{font-weight:400;color:var(--text-muted)}.section-title{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.03em;color:var(--text);margin-bottom:1rem}.page-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}@media (max-width:640px){.form-row,.gender-options{grid-template-columns:1fr}}.not-found-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%);overflow:hidden}.not-found-content{text-align:center;z-index:10;max-width:600px;width:100%;animation:fadeInUp .8s ease-out}.error-code,.error-title{font-family:var(--font-display);font-weight:400}.error-code,.error-code::after{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.error-code{font-size:clamp(8rem,25vw,14rem);letter-spacing:.05em;line-height:.85;margin-bottom:0;background:linear-gradient(180deg,var(--border-strong) 0%,var(--surface) 100%);position:relative}.error-code::after{content:"404";position:absolute;inset:0;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 50%,var(--accent) 100%);animation:glitchText 3s ease-in-out infinite}.error-title{font-size:clamp(1.5rem,5vw,2.5rem);letter-spacing:.1em;color:var(--text);margin-bottom:1rem;text-transform:uppercase}.error-message{font-size:1.1rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.6}.error-path{font-family:"JetBrains Mono","SF Mono",monospace;font-size:.85rem;color:var(--accent);background:var(--info-bg);padding:.5rem 1rem;border-radius:8px;display:inline-block;margin-bottom:2rem;word-break:break-all;max-width:100%}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-home{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--text);font-size:1rem;font-weight:600;text-decoration:none;border-radius:12px;transition:all .2s ease}.btn-home:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--blue-shadow)}.btn-back svg,.btn-home svg{width:20px;height:20px}.btn-back{font-weight:500;cursor:pointer}.btn-back:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text)}.trail-decoration{position:absolute;pointer-events:none;opacity:.1}.trail-1{top:20%;left:5%;width:200px;height:200px;animation:trailFloat 15s ease-in-out infinite}.trail-2{bottom:15%;right:8%;width:150px;height:150px;animation:trailFloat 12s ease-in-out infinite reverse}@media (max-width:640px){.not-found-container{padding:1.5rem}.error-actions{flex-direction:column}.btn-back,.btn-home{width:100%;justify-content:center}}.dashboard-main{min-height:calc(100vh - 60px);padding:2rem}.dashboard-container{max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.dashboard-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.dashboard-title{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:600;color:var(--text)}.garmin-logo{color:#00b4d8}.btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:all .2s ease}.dashboard-subtitle{color:var(--text-muted);margin-top:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card,.stat-icon{border-radius:12px;display:flex;align-items:center}.stat-card{background:var(--surface-elevated);border:1px solid var(--border);padding:1.25rem;gap:1rem}.stat-icon{width:48px;height:48px;justify-content:center}.stat-icon svg{width:24px;height:24px}.stat-total .stat-icon{background:rgba(0,180,216,.15);color:#00b4d8}.stat-today .stat-icon{background:rgba(139,92,246,.15);color:#8b5cf6}.stat-processed .stat-icon{background:rgba(34,197,94,.15);color:#22c55e}.stat-errors .stat-icon{background:rgba(239,68,68,.15);color:#ef4444}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:600;color:var(--text);line-height:1}.stat-label{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.dashboard-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.card-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:1.25rem}.card-title svg{color:var(--accent)}.type-list{display:flex;flex-direction:column;gap:.5rem}.type-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.type-row:last-child{border-bottom:none}.type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.type-badge.activity{background:rgba(0,180,216,.15);color:#00b4d8}.type-badge.health{background:rgba(34,197,94,.15);color:#22c55e}.type-badge.common{background:rgba(139,92,246,.15);color:#8b5cf6}.type-badge.womens-health{background:rgba(236,72,153,.15);color:#ec4899}.type-count{font-weight:600;color:var(--text)}.endpoint-group,.endpoints-list{display:flex;flex-direction:column;gap:1rem}.endpoint-group{gap:.25rem}.endpoint-group-title{font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.endpoint{display:block;font-size:.8rem;color:var(--text-muted);padding:.25rem 0}.recent-events{grid-column:1/-1}.events-table-wrapper{overflow-x:auto}.events-table{width:100%;border-collapse:collapse}.events-table td,.events-table th{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-subtle)}.events-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.events-table td{font-size:.9rem;color:var(--text)}.time-cell{white-space:nowrap;color:var(--text-muted)!important}.summary-cell,.user-cell{font-family:monospace;font-size:.8rem!important}.status-received{background:rgba(251,191,36,.15);color:#fbbf24}.status-processed{background:rgba(34,197,94,.15);color:#22c55e}.status-stored{background:rgba(0,180,216,.15);color:#00b4d8}.status-skipped{background:rgba(156,163,175,.15);color:#9ca3af}.empty-row,.empty-state{text-align:center;color:var(--text-muted);padding:2rem}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}.help-main{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.help-container{display:flex;flex-direction:column;gap:2rem}.help-title{font-size:1.75rem;font-weight:600;color:var(--text);margin:0}.help-subtitle{color:var(--text-muted);font-size:.95rem;margin:-1rem 0 0}.help-sections{display:flex;flex-direction:column;gap:2rem}.help-section-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.help-section-title svg{width:20px;height:20px;flex-shrink:0;color:var(--accent)}.help-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem}.help-link{display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-elevated);text-decoration:none;transition:border-color .15s,background .15s}.help-link:hover{border-color:var(--accent);background:var(--surface-hover)}.help-link-name{font-size:.9rem;font-weight:500;color:var(--text)}.help-link-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}@media (max-width:768px){.help-main{padding:1rem}.help-links{grid-template-columns:1fr}}.import-section{margin-bottom:2rem}.garmin-connect-section{margin-bottom:1.5rem}.garmin-connection{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.garmin-disconnected{text-align:center}.garmin-disconnected p{color:var(--text-muted);margin-bottom:1rem}.garmin-connected{display:flex;flex-direction:column;gap:1rem}.garmin-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.garmin-badge-connected{height:48px;width:auto;object-fit:contain}.garmin-connected-badge{display:inline-flex;align-items:center;padding:.5rem .75rem;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:20px;color:#22c55e;font-size:.85rem;font-weight:500}.garmin-last-sync{color:var(--text-muted);font-size:.9rem}.garmin-actions{display:flex;align-items:center;gap:.75rem}.btn-garmin{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#007cc3;color:var(--text);border:0;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.garmin-badge-icon{height:18px;width:auto;object-fit:contain}.btn-garmin:hover:not(:disabled){background:#006ba7;transform:translateY(-1px)}.btn-garmin:disabled{opacity:.7;cursor:not-allowed}.garmin-error,.garmin-note{padding:.75rem 1rem;border-radius:8px}.garmin-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.9rem}.garmin-note{margin-top:1rem;background:var(--surface);border:1px solid var(--border-subtle)}.garmin-note p{margin:0;color:var(--text-muted);font-size:.85rem}.import-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.import-section-desc{color:var(--text-muted);margin-bottom:1rem}.garmin-icon{color:#007cc3}.garmin-section-icon{width:24px;height:24px;object-fit:contain}.garmin-import-info{margin-bottom:1.5rem;color:var(--text-muted)}.garmin-import-info p{margin-bottom:.75rem}.garmin-instructions-list{margin:.75rem 0 .5rem 1.5rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.garmin-instructions-list li{color:var(--text-muted)}.import-warning{display:flex;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,rgba(251,191,36,.15),rgba(245,158,11,.1));border:2px solid rgba(251,191,36,.5);border-radius:10px;margin-bottom:1.5rem;box-shadow:0 0 20px rgba(251,191,36,.1)}.import-warning-icon{flex-shrink:0;color:#fbbf24;margin-top:.1rem}.import-warning-content{color:var(--text-muted);font-size:.9rem;line-height:1.5}.import-warning-content strong{color:#fbbf24}.import-warning-content ul{margin:.5rem 0 0 1.25rem;padding:0}.import-warning-content li{margin-bottom:.35rem}.import-warning-content li:last-child{margin-bottom:0}.garmin-dropzone{position:relative;border:2px dashed var(--border-strong);border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--surface)}.garmin-dropzone:hover{border-color:rgba(0,124,195,.5);background:rgba(0,124,195,.05)}.garmin-dropzone.drag-over{border-color:#007cc3;background:rgba(0,124,195,.1);transform:scale(1.01)}.garmin-dropzone.uploading{pointer-events:none}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.dropzone-icon{width:48px;height:48px;color:var(--text-muted);opacity:.6}.garmin-dropzone:hover .dropzone-icon{color:#007cc3;opacity:1}.dropzone-text,.legal-content h3{font-size:1.1rem;color:var(--text);font-weight:500}.dropzone-hint{font-size:.9rem;color:var(--text-muted)}.dropzone-progress{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.progress-bar{width:100%;max-width:300px}.progress-fill{background:linear-gradient(90deg,#007cc3,var(--accent));width:0%}.progress-fill.indeterminate{width:30%;animation:progress-slide 1.5s infinite ease-in-out}.progress-text{color:var(--text-muted);font-size:.9rem}.import-results{margin-top:1.5rem;padding:1rem 1.25rem;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:8px}.import-result-header{display:flex;align-items:center;gap:.75rem;color:#22c55e;font-weight:500;margin-bottom:.75rem}.import-result-stats{display:flex;flex-wrap:wrap;gap:1.5rem;color:var(--text-muted);font-size:.9rem}.import-result-stats .stat{display:flex;align-items:center;gap:.5rem}.import-result-stats .stat-value{font-weight:600;color:var(--text)}.import-result-stats .stat-wide{flex-basis:100%}.import-result-stats .stat-value-sm{font-size:.95rem}.import-errors{margin-top:1rem;padding:1rem 1.25rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px}.import-error-header{display:flex;align-items:center;gap:.75rem;color:#ef4444;font-weight:500;margin-bottom:.75rem}.import-error-list{margin:0;padding-left:1.5rem;color:var(--text-muted);font-size:.85rem;max-height:150px;overflow-y:auto}.import-error-list li{margin-bottom:.25rem}.progress-bar{height:8px;background:var(--surface-hover);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--blue-400));border-radius:4px;transition:width .3s ease}.garmin-export-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.import-file-queue{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.file-queue-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.9rem}.file-queue-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.file-queue-icon-pending{width:8px;height:8px;border-radius:50%;background:var(--text-muted);opacity:.4;margin:4px}.contact-info strong,.file-queue-icon-uploading{color:var(--accent)}.file-queue-icon-done{color:#22c55e}.file-queue-icon-error{color:#ef4444}.spinner-sm{width:16px;height:16px;animation:spin 1s linear infinite}.spinner-sm .path{stroke:currentColor;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}.file-queue-name{font-weight:500;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-queue-size{color:var(--text-muted);font-size:.85rem;flex-shrink:0}.file-queue-error-text,.file-queue-result{font-size:.85rem;margin-left:auto;flex-shrink:0}.file-queue-result{color:var(--text-muted)}.file-queue-error-text{color:#ef4444}.file-queue-done{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.05)}.file-queue-uploading{border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.05)}.file-queue-item.file-queue-error{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.05)}@media (max-width:600px){.garmin-dropzone{padding:2rem 1.5rem}.dropzone-icon{width:36px;height:36px}.import-result-stats{flex-direction:column;gap:.5rem}}.legal-container{min-height:100vh;padding:2rem;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.legal-content{max-width:800px;margin:0 auto;animation:fadeInUp .6s ease-out}.back-link{display:inline-block;color:var(--accent);text-decoration:none;font-size:.9rem;margin-bottom:2rem;transition:all .2s ease}.back-link:hover{color:var(--blue-200);transform:translateX(-4px)}.legal-content h1{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4rem);font-weight:400;letter-spacing:.05em;margin-bottom:.5rem;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.last-updated{color:var(--text-muted);font-size:.9rem;margin-bottom:3rem;padding-bottom:2rem}.legal-content h2,.legal-content p{color:var(--text);margin-bottom:1rem}.last-updated,.legal-content h2{border-bottom:1px solid var(--border)}.legal-content h2{font-family:var(--font-body);font-size:1.4rem;font-weight:600;padding-bottom:.5rem}.legal-content h3{font-family:var(--font-body);color:var(--blue-200);margin:1.5rem 0 .75rem}.legal-content p{font-size:1rem;line-height:1.8}.legal-content ul{margin:1rem 0 1.5rem 1.5rem;color:var(--text)}.legal-content li{margin-bottom:.6rem;line-height:1.7}.legal-content .info-page-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.legal-content .info-page-table td,.legal-content .info-page-table th{padding:.5rem .75rem;text-align:left;border:1px solid var(--border)}.legal-content .info-page-table th{background:var(--surface-elevated);font-weight:600;color:var(--text)}.legal-content .info-page-table td:first-child,.legal-content .info-page-table th:first-child{padding-left:1rem}.legal-content .info-page-table td:last-child,.legal-content .info-page-table th:last-child{padding-right:1rem}.contact-info{background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-top:1rem}@media (max-width:640px){.legal-container{padding:1.5rem}.legal-content h2{font-size:1.2rem}.legal-content li,.legal-content p{font-size:.95rem}}.top-nav{position:sticky;top:0;z-index:1000;background:var(--nav-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--nav-border);padding:0;height:60px}.nav-container,.nav-left{display:flex;align-items:center}.nav-container{justify-content:space-between;max-width:1600px;margin:0 auto;padding:0 1.5rem;height:60px}.nav-left{gap:2rem}.nav-logo{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.1em;color:var(--text);text-decoration:none;background:linear-gradient(135deg,var(--logo-gradient-start) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity .2s ease}.nav-logo:hover{opacity:.85}.nav-main{display:flex;align-items:center;gap:.25rem}.nav-link{padding:.5rem .875rem;font-size:.9rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:6px;transition:all .2s ease}.nav-link:hover{background:var(--surface-elevated)}.nav-link.active,.nav-link:hover{color:var(--text)}.nav-dropdown{position:relative}.nav-dropdown-trigger{display:flex;align-items:center;gap:.35rem;padding:.5rem .875rem;font-size:.9rem;font-weight:500;color:var(--text-muted);background:0 0;border:0;border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.nav-trigger-icon{display:none;width:20px;height:20px}.nav-dropdown-trigger:hover{color:var(--text);background:var(--surface-elevated)}#injury-modal .modal-close:hover,.nav-dropdown-trigger.active{color:var(--text)}.nav-trigger-coach{color:var(--warning-orange-text)}.nav-trigger-coach:hover{color:var(--warning-text);background:var(--warning-orange-bg)}.dropdown-arrow{width:14px;height:14px;transition:transform .2s ease}.nav-dropdown.active .dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:.5rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;box-shadow:0 10px 40px var(--overlay-darker);z-index:1100}.nav-dropdown.active .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-menu-right{left:auto;right:0}.nav-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;font-size:.9rem;color:var(--text-muted);text-decoration:none;border-radius:8px;transition:all .15s ease;border:0;background:0 0;width:100%;text-align:left;cursor:pointer;font-family:var(--font-body)}.nav-dropdown-item svg{width:18px;height:18px;flex-shrink:0}.nav-dropdown-item:hover{color:var(--text);background:var(--surface-hover)}.nav-dropdown-item.active{color:var(--accent);background:var(--info-bg)}.nav-dropdown-item.not-implemented{opacity:.6}.nav-dropdown-divider{height:1px;background:var(--surface-elevated);margin:.5rem 0}.nav-add-btn,.nav-right{display:flex;align-items:center}.nav-right{gap:.5rem}.nav-add-btn{width:36px;height:36px;padding:0;justify-content:center;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);border:0;border-radius:8px;color:var(--on-primary);cursor:pointer;transition:all .2s ease}.nav-add-btn svg,.nav-calendar-btn svg{width:20px;height:20px}.nav-add-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px var(--blue-shadow)}.nav-calendar-btn,.nav-notifications{position:relative;width:40px;height:40px;border:0;cursor:pointer;transition:all .2s ease}.nav-calendar-btn{padding:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sleep-deep) 0%,var(--sleep-light) 100%);border-radius:10px;color:var(--on-primary);text-decoration:none}.nav-calendar-btn.active,.nav-calendar-btn:hover{background:linear-gradient(135deg,var(--sleep-light) 0%,var(--sleep-deep) 100%)}.nav-calendar-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px var(--purple-shadow)}.nav-calendar-btn.active{box-shadow:0 0 0 2px var(--purple-ring),0 4px 16px var(--purple-shadow)}.nav-calendar-btn.active:hover{background:linear-gradient(135deg,var(--purple-text) 0%,var(--sleep-light) 100%)}.nav-notifications{background:0 0;border-radius:8px;color:var(--text-muted)}.nav-notifications svg{width:22px;height:22px}.nav-notifications:hover{color:var(--text);background:var(--surface-elevated)}.nav-notifications,.nav-user-trigger,.notification-badge{display:flex;align-items:center;justify-content:center}.notification-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;color:var(--text);background:var(--error-text);border-radius:9px;animation:notificationPulse 2s ease-in-out infinite}.nav-user-trigger{padding:0;background:0 0;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s ease}.nav-user-trigger:hover{border-color:var(--accent)}.nav-user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.nav-user-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--text)}.nav-user-menu{min-width:220px}.nav-user-info{padding:.75rem .875rem;display:flex;flex-direction:column;gap:.125rem}.nav-user-name{font-size:.95rem;font-weight:600;color:var(--text)}.nav-user-username{font-size:.8rem}.nav-logout-btn,.nav-user-username{color:var(--text-muted)}.nav-logout-btn:hover{background:var(--error-bg)}.nav-dropdown-item-sudo,.nav-logout-btn:hover{color:var(--error-text)}.nav-dropdown-item-sudo:hover{background:var(--error-bg-hover);color:var(--error-text)}.nav-mobile-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:.5rem;background:0 0;border:0;cursor:pointer;position:absolute;top:50%;right:.5rem;transform:translateY(-50%);z-index:1001;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.nav-mobile-toggle span{display:block;width:24px;height:2px;background:var(--text);border-radius:1px;transition:all .3s ease;transform-origin:center}.nav-mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-mobile-toggle.active span:nth-child(2){opacity:0}.nav-mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width:1024px){.top-nav{position:fixed;top:0;left:0;right:0;width:100%;height:60px}.nav-container{padding:0 1rem;height:60px}.nav-main{display:flex;gap:.25rem}.nav-mobile-toggle{display:none}.nav-main .nav-dropdown-trigger{padding:.5rem;width:40px;height:40px;justify-content:center;border-radius:8px}.nav-trigger-icon{display:block}.nav-main .dropdown-arrow,.nav-trigger-text{display:none}.nav-dropdown-menu{min-width:180px}.nav-link{padding:.5rem}.nav-left{gap:.5rem;flex:1;min-width:0}.nav-right{gap:.25rem;flex-shrink:0}.page-with-nav{padding-top:60px}}@media (max-width:480px){.nav-logo{font-size:1.25rem}.nav-main .nav-dropdown-trigger{width:36px;height:36px;padding:.4rem}.nav-add-btn svg,.nav-calendar-btn svg,.nav-trigger-icon{width:18px;height:18px}.nav-add-btn{width:32px;height:32px}.nav-calendar-btn,.nav-notifications{width:36px;height:36px}.nav-user-avatar,.nav-user-avatar-placeholder{width:32px;height:32px}}.header-nav{display:flex;gap:1.5rem}@media (max-width:768px){.header-nav{gap:1rem}.nav-link{font-size:.8rem}}.nav-notifications-dropdown .nav-dropdown-menu{width:380px;max-width:calc(100vw - 2rem);padding:0;overflow:hidden}.nav-notifications-dropdown.open .nav-notifications{color:var(--text);background:var(--surface-hover)}.nav-notifications-dropdown .nav-dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border-subtle)}.notifications-title{font-size:.95rem;font-weight:600;color:var(--text)}.notifications-mark-all{font-size:.75rem;color:var(--accent);background:0 0;border:0;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s ease}.notifications-mark-all:hover{background:var(--info-bg)}.notifications-list{max-height:400px;overflow-y:auto}.notifications-list::-webkit-scrollbar{width:6px}.notifications-list::-webkit-scrollbar-track{background:0 0}.notifications-list::-webkit-scrollbar-thumb{background:var(--surface-hover);border-radius:3px}.notifications-list::-webkit-scrollbar-thumb:hover{background:var(--surface-hover)}.notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);transition:background .2s ease;position:relative}.notification-item:not(.read){background:var(--surface)}.notification-item:hover{background:var(--surface-elevated)}.notification-item.read{opacity:.65}.notification-item.read:hover{opacity:.85}.notification-avatar-wrap{flex-shrink:0}.notification-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.notification-avatar-icon,.notification-avatar-placeholder{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-avatar-placeholder{background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:.75rem;font-weight:600;color:var(--text)}.notification-avatar-icon{background:var(--surface-hover);color:var(--accent)}.notification-avatar-icon svg{width:20px;height:20px}.notification-content{flex:1;min-width:0}.notification-message{font-size:.85rem;color:var(--text-secondary);margin:0 0 .25rem;line-height:1.4}.notification-message strong{color:var(--text);font-weight:600}.notification-message em{color:var(--text-muted);font-style:normal}.notification-time{font-size:.7rem;color:var(--text-muted)}.notification-dot{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--accent);border-radius:50%}.notifications-error,.notifications-loading{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.notifications-empty{padding:2.5rem 1rem;text-align:center;color:var(--text-muted)}.notifications-empty svg{width:40px;height:40px;margin-bottom:.75rem;opacity:.4}.notifications-empty p{margin:0;font-size:.9rem}@media (max-width:480px){.nav-notifications-dropdown .nav-dropdown-menu{position:fixed;top:60px;left:0;right:0;width:100%;max-width:100%;border-radius:0;border-left:none;border-right:none}.notifications-list{max-height:calc(100vh - 180px)}}.period-nav,.period-nav-btn{display:flex;align-items:center}.period-nav{gap:.25rem}.period-nav-btn{justify-content:center;width:26px;height:26px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:5px;color:var(--text);cursor:pointer;padding:0;transition:all .15s ease}.period-nav-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.period-nav-btn:disabled{opacity:.3;cursor:default}.period-nav-btn svg{width:14px;height:14px}.period-nav-label{font-size:.8rem;color:var(--text-muted);text-align:center;white-space:nowrap;padding:0 .25rem}@media (max-width:600px){.period-nav-label{font-size:.75rem;white-space:normal;max-width:140px}}.public-profile-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),radial-gradient(ellipse 40% 30%at 10% 80%,var(--blue-800),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.public-profile-content{text-align:center;z-index:10;max-width:520px;width:100%;animation:fadeInUp .8s ease-out}.public-nav{margin-bottom:2rem}.brand-name-small{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:.15em;text-decoration:none;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .3s ease}.brand-name-small:hover{filter:drop-shadow(0 0 20px var(--accent-glow))}.public-profile-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:24px;padding:2.5rem;backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;gap:1rem}.public-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--border-strong);box-shadow:0 0 40px var(--accent-glow);margin-bottom:.5rem}.public-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder-xlarge{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-500) 100%);font-size:2.5rem;font-weight:600;color:var(--text);letter-spacing:.05em}.public-profile-name{font-family:var(--font-display);font-size:clamp(1.75rem,6vw,2.25rem);font-weight:400;letter-spacing:.08em;color:var(--text);margin:0;line-height:1.2}.public-profile-club,.public-profile-location{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--blue-200);font-size:.95rem;margin:0}.public-profile-club svg,.public-profile-location svg{opacity:.7;flex-shrink:0}.public-profile-bio{color:var(--blue-100);font-size:.95rem;line-height:1.5;margin:.5rem 0;max-width:360px}.public-social-stats{display:flex;align-items:center;gap:.75rem;margin:.75rem 0}.public-social-stats .social-stat{display:flex;align-items:baseline;gap:.35rem}.public-follow-btn,.public-social-stats .social-stat-value{font-size:1.1rem;font-weight:600;color:var(--text)}.public-social-stats .social-stat-label{font-size:.85rem;color:var(--blue-300)}.public-social-stats .social-dot{color:var(--blue-400);font-size:.9rem}.public-follow-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);border:0;border-radius:60px;font-family:var(--font-body);font-size:1rem;text-decoration:none;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.public-follow-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px rgba(37,99,235,.4)}.public-follow-btn:active{transform:scale(.98)}.public-recent-activities{width:100%;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border);text-align:left}.public-recent-title{font-family:var(--font-display);font-size:.95rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem}.public-recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.email-preview-header h3,.public-recent-item{margin:0}.public-recent-card{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.public-recent-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.2)}.public-recent-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.public-recent-body{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.public-recent-card-title{font-size:.95rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-recent-meta{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.public-recent-dot{color:var(--blue-400)}.public-profile-footer{margin-top:2rem;font-size:.9rem;color:var(--text-muted)}.public-profile-footer a{color:var(--accent);text-decoration:none;font-weight:500}.private-icon,.private-profile-banner{display:flex;align-items:center;background:var(--surface-elevated)}.private-profile-banner{border:1px solid var(--border);border-radius:24px;padding:3rem 2.5rem;backdrop-filter:blur(20px);flex-direction:column;gap:1.25rem}.private-icon{width:80px;height:80px;justify-content:center;border-radius:50%;color:var(--blue-300)}.private-title{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2rem);font-weight:400;letter-spacing:.08em;color:var(--text);margin:0}.private-description{color:var(--blue-200);font-size:1rem;line-height:1.6;max-width:320px;margin:0}.private-description strong{color:var(--text);font-weight:500}.private-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:.5rem;width:100%}.private-signup-btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--text);border:0;border-radius:60px;font-family:var(--font-body);font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease;width:100%;max-width:280px}.private-signup-btn:hover{transform:scale(1.03);box-shadow:0 10px 40px rgba(37,99,235,.4)}.private-or{color:var(--text-muted);font-size:.85rem}.private-login-link{color:var(--accent);font-size:.9rem;text-decoration:none}.private-login-link:hover{text-decoration:underline}.private-footer{margin-top:2.5rem;font-size:.9rem;color:var(--text-muted)}.brand-accent{color:var(--accent);font-weight:500}.public-error-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:24px;padding:3rem 2.5rem;backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;gap:1rem}.public-error-card .error-icon{color:var(--blue-300);margin-bottom:.5rem}.public-error-card .error-title{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:.08em;color:var(--text);margin:0}.public-error-card .error-message{color:var(--blue-200);font-size:1rem;margin:0}.public-login-btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--text);border:0;border-radius:60px;font-family:var(--font-body);font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease;margin-top:1rem}.public-login-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px rgba(37,99,235,.4)}.public-activity-container{min-height:100vh;background:var(--blue-900);padding:1rem}.public-activity-container .public-nav{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;max-width:1200px;margin:0 auto 1rem}.public-login-link{color:var(--blue-200);text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border:1px solid var(--blue-600);border-radius:8px;transition:all .2s ease}.public-login-link:hover{background:var(--blue-700);color:var(--text)}.public-activity-main{max-width:1200px;margin:0 auto}.public-hero-actions{pointer-events:none;opacity:.7}.public-cta-section{background:var(--surface-elevated);border:1px solid var(--border);border-radius:16px;padding:2rem;text-align:center;margin-top:2rem}.public-cta-text{color:var(--blue-200);font-size:1rem;margin:0 0 1rem}.public-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--text);border:0;border-radius:60px;font-family:var(--font-body);font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease}.public-cta-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px rgba(37,99,235,.4)}@media (max-width:640px){.public-profile-container{padding:1.5rem}.private-profile-banner,.public-error-card,.public-profile-card{padding:2rem 1.5rem;border-radius:20px}.public-avatar{width:100px;height:100px}.avatar-placeholder-xlarge{font-size:2rem}.private-signup-btn,.public-follow-btn,.public-login-btn{border-radius:16px;width:100%}.public-activity-container,.public-activity-container .public-nav{padding:.5rem}}.public-profile-container.coach-profile-public{background:radial-gradient(ellipse 80% 50%at 50% -20%,rgba(245,158,11,.2),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,rgba(217,119,6,.15),transparent),radial-gradient(ellipse 40% 30%at 10% 80%,rgba(180,83,9,.1),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.public-follow-btn.coach-request-btn-public{background:linear-gradient(135deg,rgba(245,158,11,.3)0,rgba(217,119,6,.25) 100%)}.public-follow-btn.coach-request-btn-public:hover{box-shadow:0 10px 40px rgba(245,158,11,.4)}.public-coach-sports{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;width:100%;padding-top:1.5rem;border-top:1px solid var(--border)}.public-coach-sport{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--surface-elevated);border-radius:12px;text-align:left}.public-coach-sport-icon{font-size:1.5rem;flex-shrink:0}.public-coach-sport-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.public-coach-sport-name{font-weight:600;color:var(--text);font-size:.938rem}.public-coach-sport-exp{font-size:.813rem;color:var(--blue-300)}.gear-page-header,.gear-tabs{display:flex;margin-bottom:1.25rem}.gear-page-header{justify-content:space-between;align-items:center}.gear-page-header .settings-section-title{margin-bottom:0}.gear-tabs{gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:0;flex-wrap:wrap}.gear-retired-toggle,.gear-tab{align-items:center;gap:.5rem;color:var(--text-muted);cursor:pointer}.gear-tab{display:flex;padding:.875rem 1.25rem;background:0 0;border:0;font-size:.95rem;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.gear-tab:hover{color:var(--text);background:var(--surface-hover)}.gear-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.gear-tab .tab-count{background:var(--surface-hover);padding:.125rem .5rem;border-radius:10px;font-size:.75rem}.gear-tab.active .tab-count{background:rgba(0,212,255,.2)}.gear-tab-content.hidden{display:none}.gear-retired-toggle{display:inline-flex;font-size:.85rem;margin-bottom:1rem;user-select:none}.gear-retired-toggle input{accent-color:var(--accent)}.gear-list{display:flex;flex-direction:column;gap:.75rem}.gear-card{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;padding:1.25rem 1.5rem;border:1px solid var(--border);border-radius:12px;transition:all .2s ease;gap:1.5rem}.gear-card,.gear-card:hover{background:var(--surface-elevated)}.gear-card.retired{opacity:.6}.gear-card.primary{border-color:var(--accent);background:rgba(0,212,255,.05)}.gear-info{flex:1}.gear-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.gear-name{font-weight:600;font-size:1.1rem;color:var(--text)}.gear-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:10px;font-weight:500;text-transform:uppercase}.gear-badge.primary{background:rgba(0,212,255,.2);color:var(--accent)}.gear-badge.retired{background:rgba(239,68,68,.2);color:#ef4444}.gear-meta{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.gear-stats{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.9rem;margin-top:.5rem}.gear-stat{display:flex;align-items:center;gap:.3rem;color:var(--text-muted)}.gear-stat-value{color:var(--text);font-weight:500}.gear-actions{flex-direction:column;flex-shrink:0}.gear-actions,.gear-actions-row{display:flex;gap:.5rem}.gear-modal-content{max-width:550px}.gear-type-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:.25rem 0 .5rem}.gear-type-option{padding:.85rem .5rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;text-align:center;transition:all .15s ease}.gear-type-option:hover{border-color:var(--accent);background:rgba(0,212,255,.07);color:var(--accent)}@media (max-width:480px){.gear-type-picker{grid-template-columns:repeat(2,1fr)}}#gear-modal.show{display:flex}#gear-modal .modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7)}#gear-modal .modal-content{position:relative;background:var(--blue-900);border:1px solid var(--border);border-radius:12px;width:100%;max-width:500px;margin:1rem;max-height:90vh;overflow-y:auto}#gear-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--blue-900)}#gear-modal .modal-title{font-size:1.25rem}#gear-modal .modal-close{background:0 0;border:0;color:var(--text-muted);font-size:1.5rem;cursor:pointer}#gear-modal .modal-body{padding:1.5rem}@media (max-width:768px){.gear-page-header{flex-direction:column;align-items:stretch;gap:.75rem}.gear-page-header .form-actions-btn{width:100%}.gear-tabs{gap:0}.gear-tab{padding:.75rem;flex:1;justify-content:center;font-size:.85rem}.gear-tab span:first-child{display:none}.gear-card{flex-direction:column;gap:1rem;padding:1rem}.gear-actions{flex-direction:column;align-self:stretch;width:100%}.gear-actions-row{display:flex;gap:.5rem;width:100%}.gear-btn{flex:1;text-align:center}.gear-stats{flex-wrap:wrap;gap:.75rem}#gear-modal .modal-content{margin:0;max-height:100vh;border-radius:0}#gear-modal .modal-body{padding:1rem}}.gear-maintenance-panel{width:100%;border-top:1px solid var(--border);padding-top:1rem;margin-top:.75rem}.gear-activities-panel.hidden,.gear-maintenance-panel.hidden{display:none}.maintenance-add-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.maintenance-form-row{display:flex;gap:.5rem;align-items:center}.maintenance-input{padding:.4rem .6rem;font-size:.85rem}.maintenance-cost{max-width:100px}.maintenance-notes{max-width:100%}.maintenance-empty{color:var(--text-muted);font-size:.85rem;padding:.25rem 0}.maintenance-list{display:flex;flex-direction:column;gap:.4rem}.maintenance-entry{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;background:var(--surface);border-radius:8px;font-size:.85rem;gap:.75rem}.maintenance-entry-info{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.maintenance-entry-type{font-weight:600;color:var(--text)}.maintenance-entry-date{color:var(--text-muted)}.maintenance-entry-cost{color:var(--accent);font-weight:500}.maintenance-entry-notes{color:var(--text-muted);font-style:italic}.gear-activities-panel{width:100%;border-top:1px solid var(--border);padding-top:1rem;margin-top:.75rem}.gear-activities-list{display:flex;flex-direction:column;gap:.4rem}.gear-activity-entry{display:grid;grid-template-columns:100px 1fr auto auto auto;gap:.75rem;align-items:center;padding:.5rem .6rem;background:var(--surface);border-radius:8px;font-size:.85rem;color:var(--text);text-decoration:none}.gear-activity-entry:hover{background:var(--surface-hover, var(--surface));text-decoration:none}.gear-activity-date{color:var(--text-muted)}.gear-activity-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gear-activity-sport{color:var(--text-muted);font-size:.8rem}.gear-activity-distance,.gear-activity-duration{color:var(--text-muted);font-variant-numeric:tabular-nums}@media (max-width:768px){.gear-activity-entry{grid-template-columns:1fr auto;gap:.25rem .75rem}.gear-activity-sport{display:none}}.btn-icon-sm{width:28px;height:28px;flex-shrink:0}.btn-icon-sm svg{width:14px;height:14px}@media (max-width:768px){.maintenance-form-row{flex-wrap:wrap}.maintenance-form-row .maintenance-input{flex:1;min-width:100px}.maintenance-cost{max-width:none}}.devices-discovered-title{font-size:.95rem;font-weight:600;color:var(--text-muted);margin:1.25rem 0 .75rem;text-transform:uppercase;letter-spacing:.03em}.discovered-devices-list{display:flex;flex-direction:column;gap:.75rem}.discovered-device-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--surface-elevated);border:1px dashed var(--border);border-radius:12px;gap:1rem}.discovered-device-detail{display:flex;gap:1.5rem;margin-top:.35rem}.discovered-device-stat-main{font-size:.95rem;font-weight:600;color:var(--text)}.discovered-device-dates{display:flex;gap:1.5rem;margin-top:.25rem;font-size:.85rem;color:var(--text-muted)}#adopt-device-modal.show{display:flex}#adopt-device-modal .modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7)}#adopt-device-modal .modal-content{position:relative;background:var(--blue-900);border:1px solid var(--border);border-radius:12px;width:100%;max-width:500px;margin:1rem;max-height:90vh;overflow-y:auto}#adopt-device-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--blue-900)}#adopt-device-modal .modal-title{font-size:1.25rem}#adopt-device-modal .modal-close{background:0 0;border:0;color:var(--text-muted);font-size:1.5rem;cursor:pointer}#adopt-device-modal .modal-body{padding:1.5rem}@media (max-width:768px){.discovered-device-card{flex-direction:column;align-items:flex-start;gap:.75rem}.discovered-device-card .gear-actions{align-self:stretch}.discovered-device-card .form-actions-btn{width:100%;text-align:center}#adopt-device-modal .modal-content{margin:0;max-height:100vh;border-radius:0}}.injuries-main{min-height:calc(100vh - 60px);padding:2rem}.injuries-container{max-width:1200px;margin:0 auto}.injuries-page-header{margin-bottom:2rem}.injuries-page-title{font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.injuries-page-desc{color:var(--text-muted);font-size:1rem}.settings-input{background:var(--surface-hover)}.settings-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,212,255,.3)}.settings-btn-danger:hover{border-color:#ef4444}.injury-layout{display:grid;grid-template-columns:320px 1fr;gap:2rem;align-items:start}.body-diagram-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.view-toggle{display:flex;gap:.5rem;margin-bottom:1rem;padding:.25rem;background:var(--surface-elevated);border-radius:8px}.view-btn{flex:1;padding:.5rem;background:0 0;border:0;border-radius:6px;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-btn.active{background:rgba(0,212,255,.15);color:var(--accent)}.view-btn:hover:not(.active){color:var(--text)}.body-container{position:relative;padding:0 2rem}.side-label{position:absolute;top:50%;transform:translateY(-50%);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);writing-mode:vertical-rl;text-orientation:mixed}.left-label{right:0;transform:translateY(-50%) rotate(180deg)}.right-label{left:0}.body-container.back-view .left-label{left:0;right:auto;transform:translateY(-50%)}.body-container.back-view .right-label{right:0;left:auto;transform:translateY(-50%) rotate(180deg)}.body-svg{display:none;width:100%;max-width:240px;margin:0 auto}.body-svg.active{display:block}.body-part{fill:var(--border);stroke:var(--border-strong);stroke-width:1;cursor:pointer;transition:all .2s ease}.body-part:hover{fill:rgba(0,212,255,.25);stroke:var(--accent);stroke-width:2}.body-part.injured-active{fill:rgba(239,68,68,.35);stroke:#ef4444;stroke-width:2}.body-part.injured-healed{fill:rgba(34,197,94,.2);stroke:#22c55e;stroke-width:1.5}.body-hint{text-align:center;font-size:.8rem;color:var(--text-muted);margin-top:1rem}.injuries-list-section{min-width:0}.injuries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.injuries-list{display:flex;flex-direction:column;gap:.75rem}.injury-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:all .2s ease}.injury-card:hover{background:var(--surface-elevated)}.injury-card.active{border-left:3px solid #ef4444}.injury-card.healed{border-left:3px solid #22c55e}.injury-info{flex:1}.injury-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.injury-badge,.injury-name{font-weight:600;font-size:1rem}.injury-badge{font-size:.65rem;padding:.2rem .5rem;border-radius:10px;text-transform:uppercase}.injury-badge.active,.injury-btn.injury-btn-delete:hover{background:rgba(239,68,68,.2);color:#ef4444}.injury-badge.healed{background:rgba(34,197,94,.2);color:#22c55e}.injury-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--text-muted)}.injury-meta-item{display:flex;align-items:center;gap:.35rem}.injury-notes{margin-top:.5rem;font-size:.85rem;color:var(--text-muted);font-style:italic}.injury-actions{display:flex;flex-direction:column;gap:.5rem}.injury-btn{padding:.35rem .65rem;font-size:.75rem;border-radius:6px;cursor:pointer;transition:all .2s ease;background:var(--surface-elevated);border:1px solid var(--border);color:var(--text-muted)}.injury-btn:hover{background:var(--surface-hover);color:var(--text)}.injury-btn.injury-btn-delete{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.injury-btn.injury-btn-delete:hover{border-color:#ef4444}.empty-injuries{text-align:center;padding:2rem;color:var(--text-muted)}.empty-injuries .hint{font-size:.85rem;margin-top:.5rem;opacity:.7}#injury-modal.show{display:flex}#injury-modal .modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);z-index:1}#injury-modal .modal-content{position:relative;background:var(--blue-700);border:1px solid var(--border-strong);border-radius:12px;width:100%;max-width:550px;margin:1rem;max-height:90vh;overflow-y:auto;z-index:2;box-shadow:0 20px 60px rgba(0,0,0,.5)}#injury-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-strong);position:sticky;top:0;background:var(--blue-700);z-index:3}#injury-modal .modal-title{font-size:1.25rem;font-weight:600;color:var(--text)}#injury-modal .modal-close{background:0 0;border:0;color:var(--text-muted);font-size:1.5rem;cursor:pointer;line-height:1;transition:color .2s ease}#injury-modal .modal-body{padding:1.5rem}@media (max-width:900px){.injuries-main{padding:1rem}.injuries-page-title{font-size:1.5rem}.injury-layout,.settings-field-row{grid-template-columns:1fr}.injury-layout{gap:1.5rem}.body-diagram-section{max-width:100%;padding:1rem}.body-container{padding:0 1.5rem}.injuries-header{flex-direction:column;align-items:flex-start;gap:.75rem}.injuries-header .settings-btn{width:100%;justify-content:center}.injury-card{flex-direction:column;gap:1rem;padding:1rem}.injury-header{flex-wrap:wrap;gap:.5rem}.injury-actions{flex-direction:row;width:100%}.injury-btn{flex:1;text-align:center}#injury-modal .modal-content{margin:0;max-height:100vh;border-radius:0}#injury-modal .modal-body{padding:1rem}}.settings-main{min-height:calc(100vh - 60px);padding:2rem}.settings-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:2rem}.settings-container--no-sidebar,.settings-container-wide{grid-template-columns:1fr}.settings-container-wide{max-width:1000px}.settings-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;height:fit-content;position:sticky;top:80px}.settings-sidebar-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--text)}.settings-nav{display:flex;flex-direction:column;gap:.25rem}.settings-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.settings-nav-item svg{width:20px;height:20px;flex-shrink:0}.settings-nav-item:hover{background:var(--surface-hover);color:var(--text)}.settings-nav-item.active{background:rgba(0,212,255,.1);color:var(--accent)}.settings-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;overflow-x:hidden;min-width:0}.settings-section-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.settings-section-desc{color:var(--text-muted);margin-bottom:2rem}.settings-field,.settings-form{display:flex;flex-direction:column}.settings-form{gap:1.5rem;min-width:0}.settings-field{gap:.5rem}.settings-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.settings-label{font-size:.9rem;font-weight:500;color:var(--text-muted)}.settings-input{width:100%;box-sizing:border-box;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text);font-size:1rem;transition:all .2s ease}.settings-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,212,255,.1)}.settings-textarea{min-height:150px;resize:vertical}.settings-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;padding-right:2.5rem}.settings-radio-group{display:flex;flex-wrap:wrap;gap:.75rem}.settings-radio input{appearance:none;width:18px;height:18px;border:2px solid var(--border-strong);border-radius:50%;background:0 0;cursor:pointer;position:relative}.settings-radio input:checked{border-color:var(--accent)}.settings-radio input:checked::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--accent);border-radius:50%}.settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:0}.settings-btn-primary{background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--on-primary)}.settings-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,212,255,.3)}.settings-btn-primary:disabled{opacity:.6;cursor:not-allowed}.settings-btn-secondary{background:var(--surface-elevated);border:1px solid var(--border-strong);color:var(--text)}.settings-btn-secondary:hover{background:var(--surface-hover)}.settings-btn-danger{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}.settings-btn-danger:hover{background:rgba(239,68,68,.2)}.settings-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--border)}.settings-divider{height:1px;background:var(--surface-hover);margin:1.5rem 0}.settings-radio{display:flex;align-items:center;gap:.625rem;cursor:pointer;padding:.25rem 0;font-size:.9rem;color:var(--text)}.settings-radio input[type=checkbox],.settings-radio input[type=radio]{width:1rem;height:1rem;accent-color:var(--accent);flex-shrink:0}.settings-subsection{margin-top:2rem;min-width:0}.settings-subsection-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.settings-message{padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-top:1rem;display:none}.settings-message.show{display:block}.settings-message.success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#22c55e}.settings-message.error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}.settings-message.info{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);color:#3b82f6}@media (max-width:900px){.settings-main{padding:1rem}.settings-container{grid-template-columns:56px 1fr;gap:.75rem}.settings-container--no-sidebar{grid-template-columns:1fr}.settings-sidebar{padding:.5rem;position:sticky;top:70px}.settings-sidebar-title{display:none}.settings-nav{gap:.25rem}.settings-nav-item{justify-content:center;padding:.65rem;font-size:0}.settings-nav-item svg{width:20px;height:20px}.settings-content{padding:1rem;overflow-x:hidden}.settings-section-title{font-size:1.25rem}.settings-section-desc{font-size:.9rem;margin-bottom:1.5rem}.settings-field-row{grid-template-columns:1fr}.settings-actions{flex-wrap:wrap}.settings-btn{flex:1;min-width:140px}}.sport-switcher{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:var(--surface-elevated);border-radius:10px;width:fit-content}.sport-tab{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:var(--text-muted);background:0 0;border:0;border-radius:8px;cursor:pointer;transition:all .2s ease}.sport-tab .sport-icon{flex-shrink:0;font-size:16px;line-height:1;opacity:.8}.sport-tab.active .sport-icon,.sport-tab:hover .sport-icon{opacity:1}.sport-tab:hover{color:var(--text);background:var(--surface-elevated)}.sport-tab.active{color:var(--text);background:var(--accent)}.pr-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.pr-layout.pr-layout-single{grid-template-columns:1fr;max-width:600px}.pr-form-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.pr-list-section{min-width:0}.pr-list{display:flex;flex-direction:column;gap:.75rem}.pr-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:all .2s ease;gap:1rem}.pr-card:hover{background:var(--surface-elevated)}.pr-info{flex:1;min-width:0;overflow:hidden}.pr-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.pr-distance{font-weight:600;font-size:1rem;color:var(--text)}.pr-time{font-size:1.25rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.pr-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.pr-meta-item{display:flex;align-items:center;gap:.35rem}.pr-race-link{color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.pr-race-link:hover{text-decoration:underline}.pr-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.pr-btn{padding:.35rem .65rem;font-size:.75rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-strong);white-space:nowrap;flex-shrink:0;min-width:60px}.pr-btn,.pr-btn:hover{background:var(--surface-hover);color:var(--text)}.pr-btn.edit-btn:hover{background:rgba(59,130,246,.1);border-color:#3b82f6;color:#3b82f6}.pr-btn.delete-btn{opacity:1!important}.pr-btn.delete-btn:hover{background:rgba(239,68,68,.1);border-color:#ef4444;color:#ef4444;opacity:1!important}.empty-prs{text-align:center;padding:2rem;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:10px}.empty-prs .hint{font-size:.85rem;margin-top:.5rem;opacity:.7}@media (max-width:900px){.sport-switcher{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sport-tab{flex:1;justify-content:center;min-width:44px;padding:.6rem}.sport-tab .sport-name{display:none}.sport-tab .sport-icon{font-size:22px}.pr-layout{grid-template-columns:1fr;gap:1.5rem}.pr-form-section{padding:.75rem;overflow:hidden}.pr-form-section .settings-form{gap:1rem}.pr-form-section .settings-field{min-width:0}.pr-form-section .settings-input{font-size:16px;padding:.6rem .75rem}.pr-form-section .settings-label{font-size:.8rem}.pr-card{flex-direction:column;gap:.75rem;padding:.75rem}.pr-actions{align-self:flex-start}.pr-header{flex-direction:column;align-items:flex-start;gap:.25rem}.pr-meta{gap:.5rem}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--text-muted)}.loading-spinner .spinner{width:48px;height:48px;animation:spin .8s linear infinite}.loading-spinner .path{stroke:var(--accent);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}.sa-section{margin-bottom:2.5rem}.sa-section-title,.sa-top-bar{display:flex;align-items:center}.sa-section-title{gap:.6rem;font-size:1.2rem;font-weight:600;margin:0 0 1.25rem;color:var(--text)}.analytics-card-header svg,.sa-section-title svg{width:22px;height:22px;color:#ff6b6b;flex-shrink:0}.sa-top-bar{justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.sa-tab-nav{display:flex;gap:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:3px}.sa-tab-btn{padding:.4rem 1.25rem;border:0;border-radius:6px;background:0 0;color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.sa-tab-btn:hover{color:var(--text)}.sa-tab-btn.active{background:rgba(255,107,107,.15);color:#ff6b6b}.sa-period-selector{display:flex;gap:.5rem}.sa-period-btn{padding:.4rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s ease}.sa-period-btn:hover{border-color:#ff6b6b;color:var(--text)}.sa-period-btn.active{background:rgba(255,107,107,.15);border-color:#ff6b6b;color:#ff6b6b}.sa-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.sa-chart-full,.sa-charts-grid{margin-bottom:1.25rem}.sa-chart-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.sa-chart-title{font-size:.9rem;font-weight:600;margin:0 0 .75rem;color:var(--text)}.sa-chart-wrapper{position:relative;height:220px}.sa-chart-small .sa-chart-wrapper{height:200px}.sa-tables-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.sa-table-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.sa-error-count{color:#ef4444;font-weight:600}.sa-loading{text-align:center;padding:2rem;color:var(--text-muted);font-size:.9rem}.analytics-section{display:flex;flex-direction:column;gap:1.5rem}.analytics-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;overflow:hidden}.analytics-card-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.analytics-card-header svg{width:32px;height:32px}.analytics-card-title{font-size:1.1rem;font-weight:600;margin:0 0 .25rem;color:var(--text)}.analytics-card-desc{font-size:.9rem;color:var(--text-muted);margin:0}.analytics-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.rebuild-form{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.rebuild-form .sudo-input{width:180px}.analytics-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:rgba(234,179,8,.1);border:1px solid rgba(234,179,8,.2);border-radius:6px;color:#fbbf24;font-size:.9rem;margin:0}.analytics-warning svg{width:20px;height:20px;flex-shrink:0;margin-top:2px}.sudo-btn-primary{background:var(--error-bg-hover);border:1px solid var(--error-border-strong);border-radius:6px;color:#ff6b6b;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;align-self:flex-start}.rebuild-form .sudo-btn-danger svg,.sudo-btn-primary svg{width:18px;height:18px;flex-shrink:0}.rebuild-form .sudo-btn-danger,.sudo-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem}.sudo-btn-primary:hover:not(:disabled){background:var(--error-bg-active)}.sudo-btn-primary:disabled{opacity:.5;cursor:not-allowed}.analytics-result{padding:1rem 1.5rem;background:var(--surface);border-top:1px solid var(--border)}.analytics-result.success{background:rgba(34,197,94,.1);border-top-color:rgba(34,197,94,.2);color:#22c55e}.analytics-result.error{background:rgba(239,68,68,.1);border-top-color:rgba(239,68,68,.2);color:#ef4444}.analytics-result.processing{background:rgba(59,130,246,.1);border-top-color:rgba(59,130,246,.2);color:#3b82f6}.sa-error-row{cursor:pointer;transition:background .15s ease}.sa-error-row:hover{background:rgba(255,255,255,.05)}.sa-error-row.active{background:rgba(255,107,107,.1)}.sa-click-hint{font-size:.75rem;font-weight:400;color:var(--text-muted)}.sa-error-details-title{margin-top:1.25rem}.sa-error-details-scroll{max-height:400px;overflow-y:auto}.sa-error-user{color:#3b82f6;text-decoration:none}.sa-error-user:hover{text-decoration:underline}.sa-nowrap{white-space:nowrap}.fu-adoption-bar-bg{background:rgba(255,255,255,.08);border-radius:4px;height:18px;min-width:120px}.fu-adoption-bar{background:linear-gradient(90deg,rgba(59,130,246,.7),rgba(59,130,246,.3));border-radius:4px;height:100%;transition:width .4s ease}.sudo-stats-with-trend .sudo-stat{position:relative}.sudo-stat-trend{font-size:.75rem;font-weight:600;margin-top:.15rem;min-height:1.1em}.trend-up{color:#22c55e}.trend-up::before{content:"↑"}.trend-down{color:#ef4444}.trend-down::before{content:"↓"}.trend-neutral{color:var(--text-muted)}.fu-bar-wrapper{height:300px}.fu-content-wrapper,.fu-social-wrapper{height:260px}.fu-versions-table{max-height:220px;overflow-y:auto}.ue-event-badge{display:inline-block;font-size:.75rem;font-family:var(--font-mono, monospace);padding:.15rem .45rem;border-radius:4px;background:rgba(255,255,255,.08);color:var(--text-muted)}.ue-event-app{background:rgba(59,130,246,.15);color:#93c5fd}.ue-event-recording{background:rgba(34,197,94,.15);color:#86efac}.ue-event-share{background:rgba(168,85,247,.15);color:#d8b4fe}.ue-event-error{background:rgba(239,68,68,.15);color:#fca5a5}.ue-event-deeplink{background:rgba(6,182,212,.15);color:#67e8f9}.ue-event-feedback{background:rgba(234,179,8,.15);color:#fde047}.ue-event-permission{background:rgba(249,115,22,.15);color:#fdba74}.ue-event-sensor{background:rgba(148,163,184,.15);color:#cbd5e1}.sa-no-errors{color:rgba(34,197,94,.8)}.fb-list{display:flex;flex-direction:column;gap:.75rem}.fb-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.fb-text{font-size:.95rem;color:var(--text);line-height:1.5;white-space:pre-wrap;word-break:break-word;margin-bottom:.6rem}.fb-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.8rem;color:var(--text-muted)}.fb-user{color:#3b82f6;text-decoration:none}.fb-user:hover,.sudo-breadcrumb a:hover,.sudo-page-links a:hover{text-decoration:underline}.fb-sep{color:var(--border)}.fb-date{font-family:var(--font-mono, monospace)}.fb-empty{color:var(--text-muted);font-style:italic;padding:.5rem 0}.sa-section-note{font-size:.8rem;font-weight:400;color:var(--text-muted);margin-left:.25rem}@media (max-width:900px){.sa-charts-grid,.sa-tables-grid{grid-template-columns:1fr}}@media (max-width:600px){.analytics-card-header{flex-direction:column;align-items:flex-start}}.connection-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.connection-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:.9rem;transition:all .2s ease}.connection-tab svg{width:18px;height:18px}.connection-tab:hover{background:var(--surface-elevated);color:var(--text)}.connection-tab.active{background:var(--error-bg-hover);border-color:var(--error-border-strong);color:#ff6b6b}.connection-panel{display:none}.connection-panel.active{display:block}.connection-panel-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.db-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.db-header .sudo-section-title{margin-bottom:.5rem}.db-header .sudo-section-desc{margin-bottom:0}.db-header .sudo-btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.db-header .sudo-btn:disabled{opacity:.6;cursor:not-allowed}.db-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.sudo-btn-secondary{border-color:var(--border-strong)}.sudo-btn-secondary,.sudo-btn-secondary:hover{background:var(--surface-hover)}.sudo-btn .badge{display:none;background:#ff6b6b;color:var(--text);font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:10px;margin-left:.25rem}.db-sections{display:flex;flex-direction:column;gap:2rem}.db-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.db-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;margin:0 0 1.25rem;color:var(--text)}.db-section-title svg{width:22px;height:22px;color:#ff6b6b}.db-section-desc{color:var(--text-muted);font-size:.9rem;margin:-.75rem 0 1rem}.text-right{text-align:right}.sport-chart-wrapper{max-width:600px;margin:0 auto}@media (max-width:600px){.sport-chart-wrapper{max-width:100%}.db-header{flex-direction:column}}.email-form{margin-bottom:2rem}.email-actions{display:flex;align-items:center;gap:1rem}.email-status,.recipient-count{font-size:.85rem;color:var(--text-muted)}.email-status.success{color:var(--success)}.email-status.error{color:var(--error)}.recipient-count{margin-bottom:1rem;min-height:1.2em}.char-count{font-size:.8rem;color:var(--text-muted);font-weight:400}#email-editor{background:var(--surface-elevated);color:var(--text);border-radius:0 0 6px 6px}#email-editor .ql-editor{min-height:200px;font-size:15px;line-height:1.6}.ql-container.ql-snow,.ql-toolbar.ql-snow{border-color:var(--border-strong)!important}.ql-toolbar.ql-snow{border-radius:6px 6px 0 0;background:var(--surface)}.ql-container.ql-snow{border-radius:0 0 6px 6px}.ql-snow .ql-stroke{stroke:var(--text-muted)!important}.ql-snow .ql-fill{fill:var(--text-muted)!important}.ql-snow .ql-picker-label{color:var(--text-muted)!important}.sudo-btn-link{background:0 0;border:0;color:var(--primary);cursor:pointer;font-size:.85rem;padding:0}.sudo-btn-link:hover{opacity:.8}.email-html-textarea{font-family:monospace;font-size:.85rem;line-height:1.5;resize:vertical;min-height:200px}#push-body{resize:vertical;font-family:inherit;font-size:.95rem;padding:.5rem .75rem}.channel-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:.03em}.channel-email{background:var(--info-bg, #e8f0fe);color:var(--info, #1a73e8)}.channel-push{background:var(--warning-bg, #fef7e0);color:var(--warning, #e37400)}.email-preview-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.email-preview-modal.hidden{display:none}.email-preview-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}.email-preview-content{position:relative;background:var(--surface);border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.email-preview-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.email-preview-frame{width:100%;height:500px;border:0;background:#fff}.email-log-table{width:100%;border-collapse:collapse;font-size:.9rem}.email-log-table td,.email-log-table th{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.email-log-table th{color:var(--text-muted);font-weight:500;font-size:.8rem;text-transform:uppercase}.gdpr-section-subtitle{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.gdpr-search-section{margin-bottom:2rem}.gdpr-search-box{display:flex;gap:.75rem;margin-bottom:1rem}.gdpr-search-input{flex:1;padding:.75rem 1rem;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-size:.95rem;transition:border-color .2s ease}.gdpr-search-input:focus,.user-copy__user-picker input[type=text]:focus{outline:0;border-color:#ff6b6b}.gdpr-search-input::placeholder,.redis-search-input::placeholder,.sudo-input::placeholder{color:var(--text-muted)}.gdpr-search-results{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;max-height:400px;overflow-y:auto}.gdpr-search-item{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:background .2s ease;border-bottom:1px solid var(--border-subtle)}.gdpr-search-item:last-child{border-bottom:none}.gdpr-search-item:hover{background:var(--error-bg)}.gdpr-search-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b 0,#c43a3a 100%);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;color:var(--text);flex-shrink:0}.gdpr-search-info{flex:1;min-width:0}.gdpr-search-name{font-weight:500;color:var(--text);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.gdpr-search-email,.gdpr-search-meta{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.gdpr-search-meta{font-size:.8rem;font-family:"JetBrains Mono","Fira Code",monospace}.gdpr-search-empty,.gdpr-search-error{padding:2rem;text-align:center;color:var(--text-muted)}.gdpr-search-error{color:#ef4444}.gdpr-user-panel{margin-top:2rem}.gdpr-user-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.gdpr-user-info{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.gdpr-user-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b 0,#c43a3a 100%);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.75rem;color:var(--text);flex-shrink:0}.gdpr-user-details{flex:1}.gdpr-actions h4,.gdpr-user-details h3{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 .25rem}.gdpr-user-details>p{color:var(--text-muted);margin:0 0 .75rem}.gdpr-user-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.gdpr-meta-item{font-size:.85rem;color:var(--text-muted);font-family:"JetBrains Mono","Fira Code",monospace}.gdpr-action-buttons,.gdpr-user-badges{display:flex;gap:.5rem;flex-wrap:wrap}.gdpr-actions h4{font-size:1rem;margin:0 0 1rem}.gdpr-action-buttons{gap:1rem}.gdpr-action-btn{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid}.gdpr-action-btn:disabled{opacity:.5;cursor:not-allowed}.gdpr-action-export{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);color:#3b82f6}.gdpr-action-export:hover:not(:disabled){background:rgba(59,130,246,.25)}.gdpr-action-delete{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3);color:#ef4444}.gdpr-action-delete:hover:not(:disabled){background:rgba(239,68,68,.25)}.gdpr-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.gdpr-modal-content{background:var(--bg-secondary, #1a1a1a);border:1px solid rgba(239,68,68,.3);border-radius:12px;width:100%;max-width:480px;animation:modalSlideIn .2s ease}.gdpr-modal-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem;border-bottom:1px solid var(--border);color:#ef4444}.gdpr-modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.gdpr-modal-body{padding:1.5rem}.gdpr-modal-body p{color:var(--text-muted);margin:0 0 1rem}.gdpr-confirm-user{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.25rem}.gdpr-confirm-user span:first-child{font-weight:600;color:var(--text)}.gdpr-confirm-user span:last-child{color:var(--text-muted);font-size:.9rem}.gdpr-warning{background:rgba(234,179,8,.1);border:1px solid rgba(234,179,8,.2);border-radius:8px;padding:1rem;color:#eab308!important;font-size:.9rem}.gdpr-confirm-input{margin-top:1.5rem}.gdpr-confirm-input label{display:block;color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.gdpr-confirm-input input{width:100%;padding:.75rem 1rem;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-size:1rem;font-family:"JetBrains Mono","Fira Code",monospace;box-sizing:border-box}.gdpr-confirm-input input:focus{outline:0;border-color:#ef4444}.gdpr-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border)}.gdpr-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:1001;color:var(--text)}.gdpr-spinner{width:48px;height:48px;border:3px solid var(--error-border);border-top-color:#ff6b6b;border-radius:50%;animation:spin 1s linear infinite}@media (max-width:768px){.gdpr-search-box,.gdpr-user-info{flex-direction:column}.gdpr-user-info{align-items:center;text-align:center}.gdpr-user-badges,.gdpr-user-meta{justify-content:center}.gdpr-action-buttons{flex-direction:column}.gdpr-action-btn{justify-content:center}.gdpr-modal-footer{flex-direction:column-reverse}.gdpr-modal-footer button{width:100%}}.hidden{display:none!important}.growth-funnel,.growth-period-pills{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.growth-period-pills .sudo-btn{opacity:.6}.growth-period-pills .sudo-btn.active{opacity:1;font-weight:600}.growth-funnel{align-items:center;gap:0;margin-bottom:32px}.growth-funnel-card{background:var(--sudo-card-bg, #1e2a3a);border:1px solid var(--sudo-border, rgba(255,255,255,0.08));border-radius:8px;padding:20px 24px;min-width:140px;flex:1}.growth-funnel-arrow{color:var(--sudo-text-muted, #8899aa);font-size:20px;padding:0 12px;flex-shrink:0}.growth-funnel-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--sudo-text-muted, #8899aa);margin-bottom:6px}.growth-funnel-value{font-size:32px;font-weight:700;line-height:1;margin-bottom:4px}.growth-funnel-rate{font-size:13px;color:var(--sudo-accent, #e07060)}.growth-stat-cards{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:32px}.growth-stat-card{background:var(--sudo-card-bg, #1e2a3a);border:1px solid var(--sudo-border, rgba(255,255,255,0.08));border-radius:8px;padding:20px 24px;flex:1;min-width:160px}.growth-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--sudo-text-muted, #8899aa);margin-bottom:6px}.growth-stat-rate{font-size:36px;font-weight:700;line-height:1;margin-bottom:4px}.growth-stat-count{font-size:13px;color:var(--sudo-text-muted, #8899aa)}.growth-section{margin-bottom:40px}.growth-section-subtitle{font-size:13px;color:var(--sudo-text-muted, #8899aa);margin-bottom:16px;margin-top:-8px}.sudo-info-pages-header{margin-bottom:1.5rem}.sudo-page-links a{color:var(--accent, #0d6efd);text-decoration:none}.sudo-link-sep{margin:0 .5em;color:var(--text-muted)}.sudo-info-pages-header code{background:var(--surface-elevated);border:1px solid var(--border);padding:.15em .4em;border-radius:3px;font-size:.85em;color:var(--text)}.sudo-info-pages-toolbar{margin-bottom:1.5rem;display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.sudo-info-pages-toolbar .sudo-filters{margin-bottom:0}.sudo-hint{font-size:.8em;color:var(--text-muted)}.sudo-info-pages-editor .sudo-filter label{display:block;margin-bottom:.5rem}.sudo-textarea{width:100%;min-height:400px;font-family:ui-monospace,monospace;font-size:.9rem}.sudo-info-pages-actions,.sudo-info-pages-editor .sudo-filter{margin-bottom:1rem}.sudo-info-pages-delete{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color, #e0e0e0)}.sudo-btn-danger{border:0}.log-levels-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.log-levels-header .sudo-section-title{margin-bottom:.5rem}.log-levels-header .sudo-section-desc{margin-bottom:0}.log-levels-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.log-levels-header .sudo-btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.log-levels-controls{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.log-levels-quick-set,.log-levels-single-set{display:flex;flex-direction:column;gap:1rem}.log-levels-subtitle{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 .75rem}.log-levels-quick-form{display:flex;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.log-levels-quick-form .sudo-input,.log-levels-quick-form .sudo-select{flex:1;min-width:0}.log-levels-quick-form .sudo-btn{white-space:nowrap;flex-shrink:0;background:var(--error-bg-hover);border-color:var(--error-border-strong);color:#ff6b6b}.log-levels-quick-form .sudo-btn:hover{background:var(--error-bg-active)}.log-levels-filters{display:flex;gap:1rem;margin-bottom:1rem}.log-levels-filters .sudo-input{flex:1}.log-levels-filters .sudo-select{min-width:150px}.log-levels-table-container{background:var(--surface);border-radius:8px;border:1px solid var(--border);padding:1.5rem}.log-levels-table-container .sudo-table td:nth-child(1),.log-levels-table-container .sudo-table th:nth-child(1){word-wrap:break-word;word-break:break-word;white-space:normal}.log-levels-table-container .sudo-table td:nth-child(2),.log-levels-table-container .sudo-table td:nth-child(3),.log-levels-table-container .sudo-table th:nth-child(2),.log-levels-table-container .sudo-table th:nth-child(3){white-space:nowrap;width:1%}.log-levels-table-container .sudo-table td:last-child,.log-levels-table-container .sudo-table th:last-child{white-space:nowrap;min-width:280px;width:auto}.logger-name{font-family:"Monaco","Menlo","Courier New",monospace;font-size:.9rem;color:var(--text);white-space:normal;word-wrap:break-word;word-break:break-word}.level-badge{display:inline-block;padding:.3rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.level-trace{background:rgba(147,197,253,.2);color:#93c5fd;border:1px solid rgba(147,197,253,.3)}.level-debug{background:rgba(34,197,94,.2);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.level-info{background:rgba(59,130,246,.2);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.level-warn{background:rgba(251,191,36,.2);color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.level-error{background:rgba(239,68,68,.2);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.level-off{background:rgba(107,114,128,.2);color:#6b7280;border:1px solid rgba(107,114,128,.3)}.level-inherited{background:rgba(156,163,175,.15);color:#9ca3af;border:1px solid rgba(156,163,175,.25)}.level-effective{background:rgba(139,92,246,.2);color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.logger-level-select{padding:.4rem .75rem;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-size:.875rem;min-width:100px;max-width:140px;font-family:inherit;flex-shrink:1}.logger-level-select:focus{outline:0;border-color:#ff6b6b;background:var(--surface-hover)}.sudo-btn-sm{padding:.4rem .75rem;font-size:.875rem;white-space:nowrap;flex-shrink:0;background:var(--error-bg-hover);border-color:var(--error-border-strong);color:#ff6b6b}.sudo-btn-sm:hover{background:var(--error-bg-active)}.sudo-btn-sm.sudo-btn-secondary{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-muted)}.sudo-btn-sm.sudo-btn-secondary:hover{background:var(--surface-hover);color:var(--text)}@media (max-width:768px){.log-levels-header{flex-direction:column}.log-levels-controls{grid-template-columns:1fr}.actions-cell,.log-levels-filters,.log-levels-quick-form{flex-direction:column}.actions-cell{align-items:stretch}.log-levels-filters .sudo-select,.log-levels-quick-form .sudo-btn,.log-levels-quick-form .sudo-input,.log-levels-quick-form .sudo-select,.logger-level-select{width:100%}}.redis-header,.redis-warning{display:flex;align-items:flex-start;gap:1rem}.redis-header{justify-content:space-between;margin-bottom:2rem}.redis-warning{padding:1rem 1.25rem;background:var(--warning-yellow-bg);border:1px solid var(--warning-yellow-border);border-radius:8px;margin-bottom:1.5rem;color:#ffc107}.redis-warning svg{flex-shrink:0;margin-top:.125rem;stroke:#ffc107}.redis-warning strong{display:block;margin-bottom:.5rem;font-size:1rem;color:#ffc107}.redis-warning p{margin:0;font-size:.9rem;color:var(--warning-yellow-text);line-height:1.5}.redis-header .sudo-section-title{margin-bottom:.5rem}.redis-header .sudo-section-desc{margin-bottom:0}.redis-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.sudo-btn-danger{background:#dc3545;border-color:#dc3545;color:var(--text)}.sudo-btn-danger:hover{background:#c82333;border-color:#bd2130}.redis-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.redis-stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem;text-align:center}.redis-stat-value{font-size:1.75rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.redis-stat-label{color:var(--text-muted);font-size:.9rem}.redis-sections{display:flex;flex-direction:column;gap:2rem}.redis-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.redis-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;margin:0 0 1.25rem;color:var(--text)}.redis-section-title svg{width:22px;height:22px;color:#ff6b6b}.redis-search-box{display:flex;gap:.75rem;margin-bottom:1rem}.redis-search-input{flex:1;padding:.75rem 1rem;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-size:.95rem}.redis-search-input:focus{outline:0;border-color:#ff6b6b;background:var(--surface-hover)}.redis-keys-actions{margin-bottom:1rem}.redis-keys-container{margin-top:1rem}.redis-table-wrapper{overflow-x:auto}.redis-empty{text-align:center;padding:3rem;color:var(--text-muted)}.mono{font-family:"Courier New",monospace;font-size:.9em}.payload-preview{max-width:800px;max-height:200px;overflow:auto;word-break:break-all;white-space:pre-wrap;font-size:.85em}.redis-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.redis-info-item{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:1rem}.redis-info-label{font-size:.85rem;color:var(--text-muted);text-transform:capitalize;margin-bottom:.25rem}.redis-info-value{font-size:.95rem;color:var(--text);font-family:"Courier New",monospace;word-break:break-word}.hidden{}.redis-payload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--surface-hover);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-size:.85rem;cursor:pointer;transition:all .2s ease}.redis-payload-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.redis-payload-btn svg{width:16px;height:16px}.redis-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;padding:1rem}.redis-modal.hidden{display:none}.redis-modal:not(.hidden){display:flex;align-items:center;justify-content:center}.redis-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:1000}.redis-modal-content{position:relative;background:rgba(26,26,26,.98);border:1px solid var(--border-strong);border-radius:12px;width:95%;max-width:1400px;min-width:600px;max-height:95vh;display:flex;flex-direction:column;animation:modalSlideIn .2s ease;z-index:1001}.redis-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.redis-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text);font-family:"Courier New",monospace;word-break:break-all}.redis-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:0;color:var(--text-muted);cursor:pointer;transition:color .2s ease;flex-shrink:0;margin-left:1rem}.cron-help h3,.redis-modal-close:hover{color:var(--text)}.redis-modal-body{padding:2rem;overflow:auto;flex:1;min-height:0;display:block}.cron-help code,.redis-payload-full{background:rgba(0,0,0,.3);font-family:"Courier New",monospace}.redis-payload-full{margin:0;padding:1.5rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;color:var(--text);white-space:pre-wrap;word-break:break-all;max-height:80vh;overflow:auto;line-height:1.6;width:100%;box-sizing:border-box;display:block}.spin{animation:spin 1s linear infinite;display:inline-block}@media (max-width:768px){.redis-header{flex-direction:column}.redis-stats{grid-template-columns:repeat(2,1fr)}.redis-search-box{flex-direction:column}.redis-info-grid{grid-template-columns:1fr}}.rp-reason{color:var(--text);font-weight:600}.rp-note{margin:.5rem 0 .75rem;padding:.55rem .75rem;background:var(--surface-alt, rgba(148, 163, 184, 0.08));border-left:3px solid var(--border);border-radius:4px;font-size:.88rem;color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.rp-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.rp-status,.user-copy__user-picker label{color:var(--text-muted);text-transform:uppercase}.rp-status{font-size:.72rem;font-weight:600;letter-spacing:.03em;padding:.1rem .45rem;border-radius:999px;background:rgba(148,163,184,.15)}.rp-status-open{background:rgba(234,179,8,.15);color:#fde047}.rp-status-actioned{background:rgba(239,68,68,.15);color:#fca5a5}.rp-status-dismissed{background:rgba(148,163,184,.15);color:#cbd5e1}.rp-status-reviewed{background:rgba(59,130,246,.15);color:#93c5fd}.rp-card-pending{opacity:.5;pointer-events:none}.cron-help{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.cron-help h3{margin:0 0 .75rem;font-size:1.1rem}.cron-help li,.cron-help p{margin:.5rem 0}.cron-help code{padding:.2rem .4rem;border-radius:4px;color:#ff6b6b}.cron-help ul{margin:.75rem 0 0;padding-left:1.5rem;color:var(--text-muted)}.cron-help li{font-size:.9rem}.cron-help li code{color:#4ecdc4}.sudo-table .cron-expr{font-family:"Courier New",monospace;color:#4ecdc4}.cron-help p,.sudo-table .next-run{color:var(--text-muted);font-size:.9rem}.sudo-table .actions-cell{display:flex;gap:.5rem;flex-wrap:wrap}.sudo-table .actions-cell .sudo-btn{padding:.4rem .8rem;font-size:.85rem}.sudo-breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem}.sudo-breadcrumb-sep{color:var(--text-muted)}.sudo-breadcrumb a,.user-link{color:#ff6b6b;text-decoration:none}.user-link:hover{text-decoration:underline}.activity-row.row-error{background:rgba(239,68,68,.05)}.activity-row.row-warning{background:rgba(234,179,8,.05)}.method-badge{display:inline-block;padding:.15rem .4rem;border-radius:3px;font-size:.7rem;font-weight:600;font-family:"JetBrains Mono","Fira Code",monospace}.method-get{background:rgba(34,197,94,.15);color:#22c55e}.method-post{background:rgba(59,130,246,.15);color:#3b82f6}.method-put{background:rgba(234,179,8,.15);color:#eab308}.method-patch{background:rgba(168,85,247,.15);color:#a855f7}.method-delete{background:rgba(239,68,68,.15);color:#ef4444}.path-cell,.status-badge{font-family:"JetBrains Mono","Fira Code",monospace}.path-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.status-success{background:rgba(34,197,94,.15);color:#22c55e}.status-warning{background:rgba(234,179,8,.15);color:#eab308}.status-error{background:rgba(239,68,68,.15);color:#ef4444}.status-info{background:rgba(59,130,246,.15);color:#3b82f6}.client-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-type{display:inline-block;padding:.1rem .35rem;border-radius:3px;font-size:.7rem;background:rgba(139,0,0,.15);color:#ff6b6b;margin-right:.25rem}.client-version{color:var(--text-muted)}.client-version,.ip-cell{font-size:.75rem}.sudo-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.pagination-info,.user-detail-dl dt{color:var(--text-muted);font-size:.9rem}.actions-cell{white-space:nowrap;display:flex;gap:.5rem;align-items:center}.user-copy{display:flex;flex-direction:column;gap:1.5rem}.user-copy__pickers{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width:900px){.user-copy__pickers{grid-template-columns:1fr}}.user-copy__user-picker{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;padding:1rem;position:relative}.user-copy__user-picker label{display:block;font-size:.8rem;margin-bottom:.5rem;letter-spacing:.04em}.user-copy__selected,.user-copy__user-picker input[type=text]{color:var(--text);padding:.5rem .75rem;background:var(--surface);border-radius:6px}.user-copy__user-picker input[type=text]{width:100%;border:1px solid var(--border-strong);font-size:.9rem;box-sizing:border-box}.user-copy__selected{margin-top:.5rem;font-size:.85rem;border:1px dashed var(--border);min-height:1.4em}.user-copy__selected--empty{color:var(--text-muted);font-style:italic}.user-copy__results{position:absolute;top:100%;left:1rem;right:1rem;background:var(--surface-popover);border:1px solid var(--border-strong);border-radius:6px;margin-top:.25rem;max-height:280px;overflow-y:auto;z-index:10;display:none;box-shadow:0 6px 16px rgba(0,0,0,.25)}.user-copy__results--open{display:block}.user-copy__result-item{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid var(--border-subtle);font-size:.85rem;color:var(--text)}.user-copy__result-item:last-child{border-bottom:none}.user-copy__result-item:hover,.user-copy__section{background:var(--surface-elevated)}.user-copy__section{border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.user-copy__section h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--text)}.user-copy__row{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--border-subtle);gap:1rem}.user-copy__row:last-child{border-bottom:none}.user-copy__period-radios label,.user-copy__row label{display:flex;align-items:center;cursor:pointer;font-size:.9rem}.user-copy__row label{gap:.5rem;color:var(--text);flex:1}.user-copy__row label small{color:var(--text-muted);font-size:.8rem;margin-left:.5rem}.user-copy__count{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.85rem;color:var(--text-muted);min-width:60px;text-align:right}.user-copy__count--has-value{color:#ff6b6b;font-weight:600}.user-copy__period{flex-wrap:wrap;align-items:center}.user-copy__period,.user-copy__period-radios{display:flex;gap:1rem}.user-copy__period-radios label{gap:.4rem}.user-copy__period-dates{display:flex;gap:.5rem;align-items:center}.user-copy__period-dates input[type=date]{padding:.4rem .6rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-size:.9rem}.user-copy__separator{height:1px;background:var(--border);margin:.75rem 0}.user-copy__actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.user-copy__preview-status{color:var(--text-muted);font-size:.85rem}.user-copy__job-status{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.user-copy__job-status--pending{background:rgba(148,163,184,.18);color:#94a3b8}.user-copy__job-status--running{background:rgba(59,130,246,.18);color:#3b82f6}.user-copy__job-status--completed{background:rgba(34,197,94,.18);color:#22c55e}.user-copy__job-status--failed{background:rgba(239,68,68,.18);color:#ef4444}.user-copy__detail-header{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;margin-bottom:1.25rem;padding:1rem 1.25rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px}.user-copy__detail-field{display:flex;flex-direction:column;gap:.15rem}.user-copy__detail-field-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.user-copy__detail-field-value{font-size:.95rem;color:var(--text)}.user-copy__flags{display:flex;flex-wrap:wrap;gap:.4rem}.user-copy__flag{padding:.15rem .5rem;border-radius:4px;font-size:.75rem;background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.user-copy__flag--on{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.3);color:#ff6b6b}.user-copy__error-list{margin:.5rem 0 0;padding-left:1.25rem;color:#ef4444;font-size:.85rem}.user-copy__error-list li{margin-bottom:.25rem}.user-copy__message{padding:.75rem 1rem;border-radius:6px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);color:#ef4444;margin-bottom:1rem;font-size:.9rem}.user-copy__counts-table{width:100%;border-collapse:collapse;font-size:.9rem}.user-copy__counts-table td,.user-copy__counts-table th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border-subtle)}.user-copy__counts-table th{color:var(--text-muted);font-weight:500;background:var(--surface-elevated)}.user-copy__counts-table td:last-child,.user-copy__counts-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.user-detail-header{display:flex;flex-direction:column;margin-bottom:1.5rem}.user-detail-header-name{font-size:1.75rem;font-weight:600;color:var(--text);margin:0}.user-detail-header-meta{color:var(--text-muted);font-size:.9rem;margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.user-detail-header-sep{color:var(--border-strong)}.user-detail-header-profile{color:var(--text-muted);text-decoration:none}.user-detail-header-profile:hover{color:var(--text);text-decoration:underline}.user-detail-header-badges{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.user-detail-actions{display:flex;flex-direction:row;gap:.5rem;margin-top:1rem;align-items:center}.user-detail-self-note{color:var(--text-muted);font-size:.9rem;font-style:italic}.user-detail-role-label{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.85rem}.user-detail-tabs{display:flex;gap:0;margin:1.5rem 0;border-bottom:1px solid var(--border)}.user-detail-tab{padding:.75rem 1.25rem;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;font-size:.95rem}.user-detail-tab:hover{color:var(--text)}.user-detail-tab.active{color:#ff6b6b;border-bottom-color:#ff6b6b}.user-detail-content{padding:0}.user-detail-section{margin-bottom:2rem}.user-detail-dl{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:.5rem 1.25rem;margin:0}.user-detail-dl dd{color:var(--text);font-size:.95rem;margin:0}.user-detail-placeholder-note{color:var(--text-muted);margin:.75rem 0 0}.user-detail-muted{color:var(--text-muted)}.user-detail-integration-meta{display:inline-flex;gap:.75rem;margin-left:.75rem;color:var(--text-muted);font-size:.85rem;align-items:center}.user-detail-integration-error{color:#ef4444;cursor:help}.user-detail-integrations-extra{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.user-detail-section-count{color:var(--text-muted);font-size:.85rem;font-weight:400;margin-left:.5rem}.user-detail-compact-table{font-size:.9rem}.user-detail-compact-table td,.user-detail-compact-table th{padding:.5rem .75rem}.user-events-filter{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem}.user-events-filter-input{width:300px}.user-events-time-cell{white-space:nowrap}.user-events-type-link{font-family:monospace;font-size:12px;display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--surface-elevated);color:var(--text);text-decoration:none;border:1px solid var(--border);transition:background .15s ease,border-color .15s ease}.user-events-type-link:hover{background:var(--surface);border-color:var(--border-strong)}tr.row-error .user-events-type-link{background:rgba(239,68,68,.15);color:#ef4444;border-color:rgba(239,68,68,.35)}tr.row-warning .user-events-type-link{background:rgba(234,179,8,.15);color:#eab308;border-color:rgba(234,179,8,.35)}.user-events-data-cell{max-width:500px}.user-events-data-cell .event-data-container{font-family:monospace;font-size:12px;white-space:pre-wrap;word-break:break-all}.user-events-data-empty{color:var(--text-muted)}.user-notifications-time-cell{white-space:nowrap}.user-notifications-type{font-family:monospace;font-size:12px;display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--surface-elevated);color:var(--text);border:1px solid var(--border)}.user-notifications-activity-cell,.user-notifications-actor-cell{white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.user-notifications-activity-cell{max-width:220px}.user-notifications-message-cell{max-width:420px;color:var(--text);font-size:.9rem}.user-notifications-muted{color:var(--text-muted)}.user-notifications-row-unread{background:rgba(255,107,107,.06)}.user-notifications-status-read{color:var(--text-muted);font-size:.85rem}.user-notifications-status-unread{color:#ff6b6b;font-weight:600;font-size:.85rem}.user-social-totals{margin-bottom:1.5rem}.user-social-chart-wrapper{position:relative;height:420px;width:100%}.user-arni-muted{color:var(--text-muted);font-size:.85rem}.user-arni-nowrap{white-space:nowrap}.user-arni-answer-list{grid-template-columns:minmax(220px,max-content) 1fr}.user-arni-answer-key{display:flex;flex-direction:column;gap:.15rem}.user-arni-answer-category{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.user-arni-answer-value{display:flex;flex-direction:column;gap:.15rem}.user-arni-answer-text{color:var(--text);word-break:break-word}.user-arni-answer-meta{color:var(--text-muted);font-size:.8rem}.user-arni-feedback-note,.user-arni-tip-title{max-width:360px;word-break:break-word}.users-filter-form{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.users-filter-input{flex:1 1 320px;min-width:220px;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem}.users-filter-input:focus{outline:0;border-color:var(--accent, #ff6b6b)}.users-filter-select,.users-filter-submit{border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem}.users-filter-select{padding:.5rem .75rem;background:var(--surface)}.users-filter-submit{padding:.5rem 1rem;background:var(--surface-elevated);cursor:pointer}.users-filter-submit:hover{background:var(--surface);border-color:var(--text-muted)}.users-row-link{cursor:pointer;transition:background .15s ease}.users-row-link:hover td{background:var(--surface-elevated)}.users-user-cell{max-width:320px}.users-user-name{display:block;font-weight:600;color:var(--text)}.sudo-table td,.users-user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-user-email{display:block;color:var(--text-muted);font-size:.8rem;max-width:280px}.users-sort-header{color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.sudo-stat-event-type-item strong,.users-sort-header.users-sort-active,.users-sort-header:hover{color:var(--text)}.users-sort-indicator{font-size:.7rem;line-height:1;width:.75rem;display:inline-block;color:#ff6b6b}.users-active-col{text-align:right}.users-active-cell{text-align:right;font-variant-numeric:tabular-nums}.users-active-cell.users-active-zero,.users-chevron{color:var(--text-muted)}.users-chevron{font-size:1rem;width:1.5rem;text-align:right}.sudo-webhook-stats{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.sudo-stat-event-types{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35)}.sudo-stat-event-types-line{font-size:1rem;color:var(--text)}.sudo-stats-row{display:flex;gap:1rem;flex-wrap:wrap}.sudo-stat-status{display:flex;flex-direction:column;min-width:140px;padding:1rem 1.25rem;background:var(--surface-elevated, rgba(255, 255, 255, 0.03));border:1px solid var(--border);border-radius:8px}.sudo-stat-status-name{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.sudo-stat-pairs{display:flex;gap:1.5rem;align-items:flex-start}.sudo-stat-pair{display:flex;flex-direction:column;gap:.25rem}.sudo-stat-status .sudo-stat-value{font-size:1.35rem;font-weight:600;font-variant-numeric:tabular-nums}.sudo-stat-value-secondary{font-size:1.1rem!important;font-weight:500;color:var(--text-muted)}.sudo-stat-status .sudo-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sudo-stat-status.processed{border-left:3px solid #22c55e}.sudo-stat-status.skipped{border-left:3px solid #94a3b8}.sudo-stat-status.error{border-left:3px solid #ef4444}.sudo-stat-status.pending,.sudo-stat-status.stored{border-left:3px solid #f59e0b}.sudo-table{min-width:1200px;table-layout:auto}.sudo-table td{max-width:200px;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.sudo-table td.mono{max-width:120px}.sudo-table td:last-child{max-width:100px;white-space:nowrap}.sudo-btn-warning{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#f59e0b}.sudo-btn-warning:hover{background:rgba(245,158,11,.25);border-color:rgba(245,158,11,.6)}.sudo-btn-warning:disabled{opacity:.5;cursor:not-allowed}.sudo-btn-link{text-decoration:none}.sudo-action-status{font-size:.85rem;color:var(--text-muted)}.sudo-action-status.success{color:#22c55e}.sudo-action-status.error{color:#ef4444}.webhook-row:hover{background:var(--error-bg-subtle)}.payload-btn{padding:.25rem .75rem;background:rgba(96,165,250,.15);border:1px solid rgba(96,165,250,.4);border-radius:4px;color:#60a5fa;font-size:.75rem;cursor:pointer;transition:all .2s ease}.payload-btn:hover{background:rgba(96,165,250,.25);border-color:rgba(96,165,250,.6)}.payload-btn:disabled{opacity:.5;cursor:not-allowed}.payload-modal{display:none;position:fixed;inset:0;z-index:1000}.payload-modal.open{display:flex;align-items:center;justify-content:center}.payload-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.payload-modal-content{position:relative;width:90vw;max-width:1200px;max-height:85vh;background:var(--card-bg, #1a1a2e);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}.payload-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.payload-modal-title{font-size:1rem;font-weight:600;color:var(--text)}.payload-modal-actions{display:flex;gap:.5rem}.payload-modal-body{margin:0;padding:1.5rem;font-family:"JetBrains Mono","Fira Code",monospace;font-size:.85rem;line-height:1.6;color:#e2e8f0;overflow:auto;flex:1;white-space:pre-wrap;word-break:break-word;background:rgba(0,0,0,.2)}.copy-btn{padding:.4rem 1rem;background:rgba(96,165,250,.15);border:1px solid rgba(96,165,250,.4);border-radius:6px;color:#60a5fa;font-size:.8rem;cursor:pointer;transition:all .2s ease}.copy-btn:hover{background:rgba(96,165,250,.25);border-color:rgba(96,165,250,.6)}.copy-btn.copied{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.3);color:#22c55e}.close-btn,.sudo-filter input,.sudo-filter select{background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:6px}.close-btn{padding:.4rem .8rem;color:var(--text-muted);font-size:1rem;cursor:pointer;transition:all .2s ease}.close-btn:hover{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}.activity-link{color:#60a5fa;text-decoration:none;border-bottom:1px dashed rgba(96,165,250,.4)}.activity-link:hover{color:#93c5fd;border-bottom-color:rgba(147,197,253,.6)}.sudo-main{min-height:calc(100vh - 60px);padding:2rem}.sudo-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:2rem;width:100%;overflow-x:hidden}.sudo-sidebar{background:rgba(139,0,0,.08);border:1px solid var(--error-border);border-radius:12px;padding:1.5rem;height:fit-content;position:sticky;top:80px}.sudo-sidebar-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:#ff6b6b}.sudo-sidebar-title svg{width:24px;height:24px}.sudo-nav{display:flex;flex-direction:column;gap:.25rem}.sudo-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.sudo-nav-item svg{width:20px;height:20px;flex-shrink:0}.sudo-nav-item:hover{background:var(--error-bg);color:var(--text)}.sudo-nav-item.active{background:var(--error-bg-hover);color:#ff6b6b}.sudo-nav-divider{height:1px;background:var(--border);margin:.5rem 0}.sudo-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;min-width:0}.sudo-section-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.sudo-section-desc{color:var(--text-muted);margin-bottom:2rem}.sudo-stats{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.sudo-stat{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;padding:1rem 1.5rem;min-width:120px}.sudo-stat-value{font-size:1.5rem;font-weight:700;color:#ff6b6b}.sudo-filter label,.sudo-stat-label{font-size:.85rem;color:var(--text-muted)}.sudo-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--surface);border-radius:8px}.sudo-filter{display:flex;flex-direction:column;gap:.25rem}.sudo-filter label{font-size:.8rem}.sudo-filter input,.sudo-filter select{padding:.5rem .75rem;color:var(--text);font-size:.9rem;min-width:140px}.sudo-filter input:focus,.sudo-filter select:focus{outline:0;border-color:#ff6b6b}.sudo-input,.sudo-select{padding:.5rem .75rem;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-size:.9rem;font-family:inherit;width:100%;transition:all .2s ease}.sudo-input:focus,.sudo-select:focus{outline:0;border-color:#ff6b6b;background:var(--surface-hover)}.sudo-btn,.sudo-select{cursor:pointer}.sudo-btn{padding:.5rem 1rem;background:var(--error-bg-hover);border:1px solid var(--error-border-strong);border-radius:6px;color:#ff6b6b;font-size:.9rem;transition:all .2s ease;align-self:flex-end}.sudo-btn:hover{background:var(--error-bg-active)}.sudo-btn-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.sudo-btn-danger:hover{background:rgba(239,68,68,.2)}.sudo-btn:disabled{opacity:.45;cursor:not-allowed}.sudo-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.sudo-modal{background:#1e2433;border:1px solid var(--border);border-radius:10px;padding:1.75rem;width:100%;max-width:460px;display:flex;flex-direction:column;gap:1rem}.sudo-modal-title{margin:0;font-size:1.1rem;font-weight:600;color:#ef4444}.sudo-modal-desc{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.5}.sudo-modal-input{width:100%;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;box-sizing:border-box}.sudo-modal-input:focus{outline:0;border-color:#ef4444}.sudo-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.sudo-table{width:100%;border-collapse:collapse;font-size:.9rem}.sudo-table th{text-align:left;padding:.75rem 1rem;background:var(--surface-elevated);border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:500;white-space:nowrap}.sudo-table tr:hover td{background:var(--surface)}.sudo-table .mono{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.8rem;color:var(--text-muted)}.sudo-link{color:#ff6b6b;text-decoration:none}.sudo-link:hover{color:#ff6b6b;text-decoration:underline}.sudo-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.sudo-badge-success{background:rgba(34,197,94,.15);color:#22c55e}.sudo-badge-error{background:rgba(239,68,68,.15);color:#ef4444}.sudo-badge-skipped{background:rgba(239,68,68,.1);color:#f87171}.sudo-badge-pending{background:rgba(234,179,8,.15);color:#eab308}.sudo-badge-warning{background:rgba(249,115,22,.15);color:#f97316}.sudo-badge-info{background:rgba(59,130,246,.15);color:#3b82f6}.sudo-empty{text-align:center;padding:3rem;color:var(--text-muted)}.sudo-timestamp{font-size:.8rem;color:var(--text-muted)}.sudo-table-container{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sudo-table-container .sudo-table{min-width:100%;table-layout:auto}.sudo-table-sticky{max-height:80vh;overflow:auto}.sudo-table-sticky thead th{position:sticky;top:0;z-index:2;background:var(--bg-primary)}.sudo-table-sticky td.sticky-col{position:sticky;left:0;z-index:1;background:var(--bg-primary)}.sudo-table-sticky th.sticky-col{position:sticky;left:0;z-index:3}@media (max-width:900px){.sudo-main{padding:1rem}.sudo-container{grid-template-columns:56px 1fr;gap:.75rem}.sudo-sidebar{padding:.5rem}.sudo-sidebar-title{font-size:0}.sudo-sidebar-title svg{width:24px;height:24px}.sudo-nav-item{justify-content:center;padding:.65rem;font-size:0}.sudo-content{padding:1rem}}.surface-card{background:var(--surface);border:1px solid var(--border-subtle)}.surface-elevated{background:var(--surface-elevated);border:1px solid var(--border)}