:root{--radius-none:0;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-px:1px;--shadow-none:none;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 8px -2px rgba(0,0,0,.08),0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg:0 10px 20px -6px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.06);--shadow-xl:0 20px 40px -8px rgba(0,0,0,.14),0 8px 16px -6px rgba(0,0,0,.08);--shadow-ring-dark:inset 0 0 0 1px rgba(255,255,255,.06);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-stat:3rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.15;--line-height-snug:1.35;--line-height-normal:1.5;--line-height-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.05em;--focus-ring-width:3px;--focus-ring-offset:2px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-display:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono","Fira Code","SF Mono",Monaco,Inconsolata,"Roboto Mono",monospace;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--easing-standard:cubic-bezier(.2,0,0,1);--easing-decel:cubic-bezier(0,0,0,1);--easing-accel:cubic-bezier(.3,0,1,1);--bg-canvas:#f7f9fc;--bg-surface:#fff;--bg-raised:#eef2f7;--bg-sunken:#e9eef5;--bg-inverse:#0f172a;--bg-overlay:rgba(15,23,42,.6);--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#475569;--text-subtle:#56657a;--text-inverse:#fff;--text-on-brand:#fff;--text-on-accent:#1a1206;--text-on-status:#fff;--border-default:#d5dde8;--border-subtle:#e9eef5;--border-hover:#b4c0d0;--border-strong:#6e7b90;--border-focus:#2b4fd6;--brand-default:#2b4fd6;--brand-hover:#233fad;--brand-active:#1f358a;--brand-subtle:#eef3ff;--brand-text:#2b4fd6;--accent-default:#e88a0c;--accent-hover:#d97b08;--accent-active:#c26d06;--accent-subtle:#fff8eb;--accent-text:#9a5309;--status-positive:#0a5fa8;--status-positive-subtle:#e8f2fc;--status-negative:#b54a00;--status-negative-subtle:#fdf0e6;--status-warning:#8a5a00;--status-warning-subtle:#fff6dd;--status-info:#2b4fd6;--status-info-subtle:#eef3ff;--stream-power:#a8467f;--stream-heart-rate:#c24f00;--stream-cadence:#007a5a;--stream-speed:#0067a3;--stream-elevation:#6b7789;--stream-temperature:#a86b00;--stream-time-gap:#334155;--chart-grid:#e9eef5;--chart-axis:#475569;--chart-crosshair:#334155;--chart-compare:#0f172a}.dark,[data-theme=dark],.chakra-ui-dark{--bg-canvas:#0a0f1c;--bg-surface:#111a2e;--bg-raised:#1b263d;--bg-sunken:#070b14;--bg-inverse:#f1f5f9;--bg-overlay:rgba(0,0,0,.7);--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#a3b1c6;--text-subtle:#8e9db3;--text-inverse:#0f172a;--text-on-brand:#0a0f1c;--text-on-accent:#1a1206;--text-on-status:#0a0f1c;--border-default:#2a3650;--border-subtle:#1b263d;--border-hover:#3a4866;--border-strong:#6b7b96;--border-focus:#a3b7fd;--brand-default:#7c98fb;--brand-hover:#a3b7fd;--brand-active:#c5d2fe;--brand-subtle:#18244a;--brand-text:#a3b7fd;--accent-default:#f9a21f;--accent-hover:#fcbb52;--accent-active:#fdd58e;--accent-subtle:#2e2108;--accent-text:#fcbb52;--status-positive:#6cb8f0;--status-positive-subtle:#0e2740;--status-negative:#f59a55;--status-negative-subtle:#3a2010;--status-warning:#f7c65a;--status-warning-subtle:#33280a;--status-info:#a3b7fd;--status-info-subtle:#18244a;--stream-power:#e08bbb;--stream-heart-rate:#f08a3e;--stream-cadence:#2ec4a0;--stream-speed:#56b4e9;--stream-elevation:#9aa5b5;--stream-temperature:#e6b000;--stream-time-gap:#cbd5e1;--chart-grid:#1b263d;--chart-axis:#a3b1c6;--chart-crosshair:#cbd5e1;--chart-compare:#f1f5f9}
:root{--bg-primary:var(--bg-canvas);--bg-secondary:var(--bg-raised);--bg-card:var(--bg-surface);--border-color:var(--border-default);--primary:var(--brand-default);--primary-hover:var(--brand-hover);--secondary:var(--accent-default);--secondary-hover:var(--accent-hover);--accent:var(--accent-default);--status-error:var(--status-negative);--status-danger:var(--status-negative);--status-success:var(--status-positive)}body{color:var(--text-primary);background-color:var(--bg-primary);font-family:Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.5;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:700;line-height:1.2}a{color:var(--primary);text-decoration:none;transition:color .3s}a:hover{color:var(--primary-hover);text-decoration:underline}.app{background-color:var(--bg-primary);flex-direction:column;min-height:100vh;transition:background-color .3s;display:flex}main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.25rem}.btn{background-color:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:.25rem;padding:.625rem 1rem;font-weight:500;transition:background-color .3s,transform .1s;display:inline-block}.btn:hover{background-color:var(--primary-hover);text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-secondary{background-color:var(--secondary)}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-accent{background-color:var(--accent);color:#fff}.btn-accent:hover{background-color:var(--accent-hover)}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:1.25rem;padding:1.25rem;transition:background-color .3s,border-color .3s,box-shadow .3s;box-shadow:0 1px 3px rgba(0,0,0,.1)}.card:hover{border-color:var(--border-hover);box-shadow:0 4px 6px rgba(0,0,0,.15)}.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}.grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}input,select,textarea{border:1px solid var(--border-color);background-color:var(--bg-card);width:100%;color:var(--text-primary);border-radius:.25rem;margin-bottom:1rem;padding:.625rem;transition:border-color .3s,background-color .3s}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.alert{border:1px solid;border-radius:.25rem;margin-bottom:1rem;padding:1rem}.alert-danger{color:#d32f2f;background-color:#ffebee;border-color:#ffcdd2}.dark .alert-danger{color:#ff8a80;background-color:rgba(244,67,54,.1);border-color:rgba(244,67,54,.3)}.alert-success{color:#2e7d32;background-color:#e8f5e8;border-color:#c8e6c9}.dark .alert-success{color:#81c784;background-color:rgba(76,175,80,.1);border-color:rgba(76,175,80,.3)}.alert-warning{color:#f57c00;background-color:#fff3e0;border-color:#ffe0b2}.dark .alert-warning{color:#ffb74d;background-color:rgba(255,152,0,.1);border-color:rgba(255,152,0,.3)}.alert-info{color:#1976d2;background-color:#e3f2fd;border-color:#bbdefb}.dark .alert-info{color:#64b5f6;background-color:rgba(33,150,243,.1);border-color:rgba(33,150,243,.3)}table{border-collapse:collapse;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;width:100%;margin-bottom:1rem;transition:background-color .3s,border-color .3s;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:.75rem}th{background-color:var(--bg-secondary);color:var(--text-primary);font-weight:700}tr:hover{background-color:var(--bg-secondary)}.map-container{border-radius:.5rem;height:400px;margin-bottom:1.25rem;overflow:hidden}.profile-img{object-fit:cover;border-radius:9999px;width:2.5rem;height:2.5rem}.react-datepicker{background-color:var(--bg-card);border-color:var(--border-color);color:var(--text-primary);font-family:inherit}.react-datepicker__header{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.react-datepicker__current-month{color:var(--text-primary)}.react-datepicker__day-name{color:var(--text-secondary)}.react-datepicker__day{color:var(--text-primary)}.react-datepicker__day:hover{background-color:var(--bg-secondary)}.react-datepicker__day--selected,.react-datepicker__day--in-range,.react-datepicker__day--highlighted{background-color:var(--primary);color:#fff}.react-datepicker__day--outside-month{color:var(--text-muted)}.react-datepicker__day--disabled{color:var(--text-muted);cursor:not-allowed}.react-datepicker__navigation{top:12px}.react-datepicker__navigation--previous{left:12px}.react-datepicker__navigation--next{right:12px}.react-datepicker__navigation-icon:before{border-color:var(--text-primary)}input[type=time]{color:var(--text-primary);background-color:var(--bg-card)}input[type=time]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
