.avatar{border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;background:var(--color-bg-raised)}.avatar--fallback{display:flex;align-items:center;justify-content:center;color:var(--color-text-2)}.shell{display:flex;height:100%}.sidebar{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;background:var(--color-bg-deep);border-right:1px solid var(--color-border);padding:var(--space-4) 0}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5) var(--space-6)}.sidebar-logo{width:32px;height:32px;flex-shrink:0}.sidebar-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-base)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 var(--space-3)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:10px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.nav-item:hover{background:var(--color-bg-surface);color:var(--color-text)}.nav-item--active{background:var(--color-accent-soft);color:var(--color-text)}.nav-icon{font-size:16px;width:20px;text-align:center;position:relative}.notif-badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:8px;background:var(--color-accent);color:#fff;font-size:10px;font-weight:var(--font-weight-bold, 700);line-height:16px;text-align:center;pointer-events:none}.sidebar-footer{padding:var(--space-4) var(--space-4) 0;border-top:1px solid var(--color-border);margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-athlete{display:flex;align-items:center;gap:var(--space-2)}.athlete-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.athlete-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sidebar-settings-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);border-radius:6px;padding:3px;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-settings-btn:hover{background:var(--color-bg-surface);color:var(--color-text)}.sidebar-settings-btn--active{color:var(--color-text)}.sidebar-logout{width:100%;justify-content:center;font-size:var(--font-size-xs)}.shell-main{flex:1;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.topbar{display:none;position:fixed;top:0;left:0;right:0;height:58px;background:var(--color-tabbar-bg);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-bottom:.5px solid var(--color-surface-shimmer);z-index:100;align-items:center;justify-content:space-between;padding:0 16px}.topbar-logo-link{display:flex;align-items:center;-webkit-tap-highlight-color:transparent}.topbar-logo{width:36px;height:36px;flex-shrink:0}.topbar-right{display:flex;align-items:center;gap:18px}.topbar-social-btn{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);-webkit-tap-highlight-color:transparent;transition:color var(--transition-fast)}.topbar-bell-btn{position:relative}.topbar-social-btn:hover{color:var(--color-text)}.topbar-social-btn--active{color:var(--color-accent)}.topbar-profile-btn{width:42px;height:42px;border-radius:50%;border:2px solid var(--color-accent);background:var(--color-bg-surface);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0;overflow:hidden;-webkit-tap-highlight-color:transparent}.topbar-profile-img{width:100%;height:100%;object-fit:cover}.tabbar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--color-tabbar-bg);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-top:.5px solid var(--color-surface-shimmer);justify-content:space-around;align-items:center;z-index:100}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--color-text-muted);transition:color var(--transition-fast);padding:4px 12px;-webkit-tap-highlight-color:transparent}.tab-item--active{color:var(--color-text)}.tab-icon{line-height:1;display:flex;align-items:center;justify-content:center}.tab-label{font-size:10px;font-weight:500}@media(max-width:768px){.sidebar{display:none}.topbar{display:flex;height:calc(58px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.tabbar{display:flex;padding:6px 0}.shell-main{padding-bottom:62px;padding-top:calc(58px + env(safe-area-inset-top))}html[data-platform=android] .tabbar{padding-bottom:calc(6px + env(safe-area-inset-bottom))}html[data-platform=android] .shell-main{padding-bottom:calc(62px + env(safe-area-inset-bottom))}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--color-bg)}.auth-gate{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;padding:40px 32px;width:100%;max-width:393px}.ag-sport-icons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:36px}.ag-sport-box{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center}.ag-logo{font-size:30px;font-weight:700;letter-spacing:-.5px;line-height:1;margin-bottom:8px}.ag-tagline{font-size:15px;color:var(--color-text-muted);line-height:1.5;margin-bottom:48px}.ag-error{background:var(--color-sport-run-bg);border:.5px solid rgba(194,82,74,.45);color:var(--color-sport-run);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45;margin:-24px 0 24px;text-align:left}.ag-connect-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--color-strava);color:#fff;border:none;border-radius:16px;padding:16px;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.ag-connect-btn:hover{opacity:.88}:root{color-scheme:dark;--color-bg: #032143;--color-bg-deep: #021a36;--color-bg-raised: #082752;--color-bg-surface: rgba(253, 253, 253, .06);--color-bg-overlay: rgba(253, 253, 253, .1);--color-text: #fdfdfd;--color-text-2: #bebdc9;--color-text-muted: #6f7180;--color-border: rgba(253, 253, 253, .1);--color-border-strong: rgba(253, 253, 253, .25);--color-overlay-dim: rgba(0, 0, 0, .35);--color-modal-bg: rgba(2, 26, 54, .55);--color-modal-bg-strong: rgba(2, 26, 54, .92);--color-glass-tint: rgba(3, 33, 67, .85);--color-glass-tint-strong: rgba(3, 33, 67, .95);--color-glass-tint-blur: rgba(3, 33, 67, .92);--color-pill-bg: #032143;--color-tabbar-bg: rgba(2, 26, 54, .85);--color-surface-highlight: rgba(253, 253, 253, .12);--color-surface-shimmer: rgba(255, 255, 255, .08);--color-surface-hairline: rgba(255, 255, 255, .06);--color-overscan-faint: rgba(255, 255, 255, .04);--color-knob-shadow: rgba(0, 0, 0, .45);--chart-threshold-line: rgba(253, 253, 253, .25);--chart-grid: rgba(180, 187, 200, .18);--chart-tick-label: rgba(180, 187, 200, .7);--shadow-glass: 0 4px 24px rgba(0, 0, 0, .3);--shadow-card: 0 2px 8px rgba(0, 0, 0, .35);--shadow-dropdown: 0 6px 20px rgba(0, 0, 0, .45);--shadow-tooltip: 0 4px 12px rgba(0, 0, 0, .4);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .45);--color-accent: #6e0405;--color-accent-hover: rgba(110, 4, 5, .6);--color-accent-soft: rgba(110, 4, 5, .2);--color-accent-softer: rgba(110, 4, 5, .18);--color-accent-line: rgba(110, 4, 5, .4);--color-accent-glow: rgba(110, 4, 5, .18);--color-sport-swim: #4a9ec7;--color-sport-bike: #5bae7c;--color-sport-run: #c2524a;--color-sport-gym: #9b8abf;--color-sport-hike: #82b840;--color-sport-ski: #a0c8e8;--color-sport-multi: #c7a34a;--color-sport-swim-bg: rgba(74, 158, 199, .15);--color-sport-bike-bg: rgba(91, 174, 124, .15);--color-sport-run-bg: rgba(194, 82, 74, .15);--color-sport-gym-bg: rgba(155, 138, 191, .15);--color-sport-hike-bg: rgba(130, 184, 64, .15);--color-sport-multi-bg: rgba(199, 163, 74, .15);--color-zone-1: #808080;--color-zone-2: #4a9ec7;--color-zone-3: #4caf50;--color-zone-4: #e8c832;--color-zone-5: #e87820;--color-zone-6: #c82828;--color-zone-7: #9333ea;--color-success: #2A9E5C;--color-success-2: #5BAE7C;--color-success-soft: #6FCF7D;--color-success-bg: rgba(80, 180, 100, .15);--color-success-line: rgba(80, 180, 100, .3);--color-success-glow: rgba(42, 158, 92, .45);--color-success-soft-bg: rgba(42, 158, 92, .12);--color-danger: #9E2A2A;--color-danger-text: #E05252;--color-danger-bg: rgba(224, 82, 82, .08);--color-danger-line: rgba(224, 82, 82, .25);--color-danger-soft: rgba(224, 82, 82, .15);--color-danger-glow: rgba(224, 82, 82, .3);--color-warning: #E0AA52;--color-warning-bg: rgba(224, 170, 82, .15);--color-warning-line: rgba(224, 170, 82, .3);--color-race-gold: #C7A34A;--color-race-gold-bg: rgba(199, 163, 74, .12);--color-race-gold-line: rgba(199, 163, 74, .25);--color-todo: #6F7180;--color-todo-bg: rgba(111, 113, 128, .15);--color-strava: #FC4C02;--color-strava-2: #fc5200;--color-strava-hover: #ff6e1a;--color-app-tile-bg: #082752;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--radius-sm: 6px;--radius-md: 16px;--radius-lg: 22px;--radius-full: 9999px;--backdrop-blur: blur(16px);--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-slow: .35s ease;--sidebar-width: 220px;--tabbar-height: 60px;--content-max-width: 900px}[data-theme=light]{color-scheme:light;--color-bg: #ffffff;--color-bg-deep: #ffffff;--color-bg-raised: #ffffff;--color-bg-surface: rgba(0, 0, 0, .04);--color-bg-overlay: rgba(0, 0, 0, .07);--color-app-tile-bg: #e9eff7;--color-text: #0a0a0a;--color-text-2: #2a2a2a;--color-text-muted: #606060;--color-border: rgba(0, 0, 0, .16);--color-border-strong: rgba(0, 0, 0, .36);--color-overlay-dim: rgba(0, 0, 0, .32);--color-modal-bg: rgba(255, 255, 255, .85);--color-modal-bg-strong: rgba(255, 255, 255, .96);--color-glass-tint: rgba(255, 255, 255, .85);--color-glass-tint-strong: rgba(255, 255, 255, .95);--color-glass-tint-blur: rgba(255, 255, 255, .92);--color-pill-bg: #ffffff;--color-tabbar-bg: rgba(255, 255, 255, .88);--color-surface-highlight: rgba(0, 0, 0, .14);--color-surface-shimmer: rgba(0, 0, 0, .06);--color-surface-hairline: rgba(0, 0, 0, .08);--color-overscan-faint: rgba(0, 0, 0, .04);--color-knob-shadow: rgba(0, 0, 0, .3);--chart-threshold-line: rgba(0, 0, 0, .55);--chart-grid: rgba(0, 0, 0, .14);--chart-tick-label: rgba(0, 0, 0, .65);--shadow-glass: 0 4px 24px rgba(0, 0, 0, .12);--shadow-card: 0 2px 8px rgba(0, 0, 0, .16);--shadow-dropdown: 0 6px 20px rgba(0, 0, 0, .22);--shadow-tooltip: 0 4px 12px rgba(0, 0, 0, .24);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .26)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:2;tab-size:2}body{line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased}img,video,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.type-filter{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.activity-list{display:flex;flex-direction:column;gap:var(--space-3)}.activity-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);transition:background var(--transition-fast)}.activity-card:hover{background:var(--color-bg-overlay)}.activity-card-header{display:flex;justify-content:space-between}.activity-type{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em}.activity-name{font-weight:var(--font-weight-medium)}.activity-stats{display:flex;gap:var(--space-2)}.back-btn{margin-bottom:var(--space-2)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.stat-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--color-bg-surface)}.stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.cal-weekday{padding:var(--space-2);text-align:center;background:var(--color-bg-overlay)}.cal-cell{min-height:80px;padding:var(--space-2);background:var(--color-bg-surface);display:flex;flex-direction:column;gap:var(--space-1)}.cal-cell--empty{background:transparent}.cal-day-num{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cal-entry{font-size:10px;padding:2px 4px;border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.cal-cell{min-height:50px}}.workout-list{display:flex;flex-direction:column;gap:var(--space-3)}.workout-card{padding:var(--space-4)}.workout-name{font-weight:var(--font-weight-medium)}.race-list{display:flex;flex-direction:column;gap:var(--space-3)}.race-card{padding:var(--space-4)}.race-name{font-weight:var(--font-weight-medium)}.add-race-form{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-6)}.settings-form{display:flex;flex-direction:column;gap:var(--space-6)}.settings-section{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.settings-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2)}.form-row{display:flex;flex-direction:column;gap:var(--space-2)}.form-row--checkbox{flex-direction:row;align-items:center;justify-content:space-between}.form-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-input{background:var(--color-bg-overlay);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-accent)}.config-table{width:100%;border-collapse:collapse}.config-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.audit-table{width:100%;border-collapse:collapse;min-width:600px}.audit-table th,.audit-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.athlete-list-admin{display:flex;flex-direction:column;gap:var(--space-2)}html,body,#root{height:100%}html{background-color:var(--color-bg)}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text);background-color:var(--color-bg);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html{overscroll-behavior:none}input,textarea,select,[contenteditable]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.search-bar{display:flex;align-items:center;gap:8px;background:var(--color-bg-surface);border-radius:var(--radius-md);padding:9px 12px;border:.5px solid var(--color-border)}.search-bar input{flex:1;background:none;border:none;outline:none;color:var(--color-text);font-size:13px;font-family:var(--font-family)}.search-bar input::placeholder{color:var(--color-text-muted)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--color-bg-surface);color:var(--color-text);border:.5px solid var(--color-border);border-radius:10px;padding:9px 34px 9px 12px;font-family:var(--font-family);font-size:14px;line-height:1.2;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23bebdc9' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:13px}select:focus-visible{outline:none;border-color:var(--color-border-strong)}select option,select optgroup{background-color:var(--color-bg-raised);color:var(--color-text)}[data-theme=light] select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%232a2a2a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>")}.ai-msg,.wt-desc,.selectable,.selectable *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img,svg{-webkit-user-drag:none;user-drag:none}svg text{font-family:var(--font-family);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}@media(pointer:coarse){::-webkit-scrollbar{display:none;width:0;height:0}*{scrollbar-width:none}}.surface{background:var(--color-bg-surface);border:.5px solid var(--color-border);border-radius:var(--radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-glass);position:relative;overflow:hidden}.surface:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-surface-highlight),transparent);pointer-events:none}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.sport-bike{color:var(--color-sport-bike)}.sport-run{color:var(--color-sport-run)}.sport-swim{color:var(--color-sport-swim)}.sport-gym{color:var(--color-sport-gym)}.page{flex:1;overflow-y:auto;padding:var(--space-6);max-width:var(--content-max-width);margin:0 auto;width:100%}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:34px;font-weight:700;letter-spacing:-.5px;line-height:var(--line-height-tight);margin-bottom:20px}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:opacity var(--transition-fast),background var(--transition-fast)}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}.btn-ghost{background:var(--color-bg-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-bg-overlay)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{opacity:.88}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-sport-swim);border-radius:50%;animation:spin .7s linear infinite}.loading-center{display:flex;align-items:center;justify-content:center;flex:1;min-height:200px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:200px;color:var(--color-text-muted);text-align:center}.empty-state-icon{font-size:48px;opacity:.4}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-bg-overlay)}.filter-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.filter-chip:hover{color:var(--color-text);background:var(--color-bg-overlay)}.filter-chip--active,.filter-chip.active{background:var(--color-accent-soft);color:var(--color-text);border-color:var(--color-accent-line)}.picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-dim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.picker-modal{width:100%;max-width:420px;max-height:75vh;background:var(--color-modal-bg);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:.5px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-modal),inset 0 1px 0 var(--color-surface-shimmer);display:flex;flex-direction:column;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:.5px solid var(--color-border)}.picker-title{font-size:16px;font-weight:600}.picker-close{background:none;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;line-height:1;padding:0 4px;font-family:var(--font-family)}.picker-close:hover{color:var(--color-text)}.btn-icon{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:18px;padding:2px 4px;line-height:1;transition:color var(--transition-fast)}.btn-icon:hover{color:var(--color-text)}.form-input{background:var(--color-bg-overlay);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family);width:100%}.form-input:focus{outline:none;border-color:var(--color-accent-hover)}@supports (padding: env(safe-area-inset-bottom)){.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}}.toggle{display:inline-flex;align-items:center;gap:10px;font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle .toggle-pill{position:relative;display:inline-block;width:36px;height:20px;background:var(--color-bg-overlay);border:1px solid var(--color-border);border-radius:12px;transition:background .16s ease,border-color .16s ease;flex-shrink:0}.toggle .toggle-pill:after{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;background:var(--color-text);border-radius:50%;transition:left .16s ease,background .16s ease;box-shadow:0 1px 3px var(--color-knob-shadow)}.toggle input:checked+.toggle-pill{background:var(--color-accent);border-color:var(--color-accent)}.toggle input:checked+.toggle-pill:after{left:17px;background:#fff}.toggle input:disabled+.toggle-pill{opacity:.5;cursor:not-allowed}.toggle input:focus-visible+.toggle-pill{outline:2px solid var(--color-accent);outline-offset:2px}.toggle .toggle-label{line-height:1.3;color:var(--color-text-2)}.zone-breakdown{display:flex;flex-direction:column;gap:6px}.zb-row{display:grid;grid-template-columns:28px 1fr 50px;align-items:center;gap:10px}.zb-name{font-size:10px;font-weight:700;letter-spacing:.5px;text-align:right}.zb-bar-wrap{height:6px;background:var(--color-surface-hairline);border-radius:3px;overflow:hidden}.zb-bar{height:100%;border-radius:3px;opacity:.9}.zb-time{font-size:11px;color:var(--color-text-2);text-align:right;font-family:monospace}
