/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", menlo, monaco, consolas, "Liberation Mono", "Courier New", monospace}}@layer base,components;@layer utilities{.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius:.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-accent:#f8f9fb;--card-bg:#fff;--text-primary:#1a1a2e;--text-secondary:#4a4a68;--text-muted:#717182;--border-color:#0000001a;--grid-color:#0000000f;--accent:#0d9488;--accent-strong:#14b8a6;--focus-color:#14b8a6;--destructive:#d4183d;--shadow:0 10px 30px #00000014;--chart-heart:#14b8a6;--chart-spo2:#06b6d4;--chart-steps:#3b82f6;--chart-stress:#f59e0b;--chart-weight:#a78bfa;--chart-calories:#f43f5e;--chart-bp:#ec4899;--chart-hydration:#22d3ee;--chart-skin:#84cc16;--sleep-deep:#3b82f6;--sleep-light:#94a3b8;--sleep-rem:#fb923c;--empty-bg:#f3f3f5;--input-bg:#f3f3f5;font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.5}:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080e1a;--bg-accent:#080e1a;--card-bg:#0f1929;--text-primary:#e8edf5;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#ffffff12;--grid-color:#ffffff14;--accent:#0d9488;--accent-strong:#14b8a6;--focus-color:#14b8a6;--destructive:#ef4444;--shadow:0 10px 30px #00000047;--chart-heart:#14b8a6;--chart-spo2:#06b6d4;--chart-steps:#3b82f6;--chart-stress:#f59e0b;--chart-weight:#a78bfa;--chart-calories:#f43f5e;--chart-bp:#ec4899;--chart-hydration:#22d3ee;--chart-skin:#84cc16;--sleep-deep:#3b82f6;--sleep-light:#334155;--sleep-rem:#fb923c;--empty-bg:#1a2540;--input-bg:#162033}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text-primary)}h1,h2,h3,p{margin:0}button{cursor:pointer;font-family:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}.icon-spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.gh-status-pill{background-color:var(--border-color);border:1px solid var(--border-color);color:var(--text-muted);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.gh-status-pill.is-connected{color:#34d399;background-color:#34d3991a;border-color:#34d39926}.gh-status-copy{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.gh-status-row{align-items:center;gap:.5rem;display:flex}.gh-status-dot{background-color:var(--text-muted);border-radius:999px;flex-shrink:0;width:.375rem;height:.375rem}.gh-status-pill.is-connected .gh-status-dot{background-color:#34d399}.gh-status-label{min-width:0;font-family:ui-monospace,Cascadia Code,SFMono-Regular,menlo,monaco,consolas,Liberation Mono,Courier New,monospace}.gh-status-synced{opacity:.8;padding-left:.875rem;font-family:ui-monospace,Cascadia Code,SFMono-Regular,menlo,monaco,consolas,Liberation Mono,Courier New,monospace;font-size:.625rem}.gh-status-sync{color:inherit;background:0 0;border:0;border-radius:.25rem;flex-shrink:0;padding:0}.gh-status-sync svg{width:1.25rem;height:1.25rem;display:block}.gh-status-sync:hover:not(:disabled){opacity:.8}.gh-status-sync:disabled{opacity:.5}.theme-toggle{width:100%;color:var(--text-muted);background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem;font-size:.75rem;transition:color .15s,background-color .15s;display:flex}.theme-toggle svg{width:.875rem;height:.875rem}.theme-toggle:hover{color:var(--text-primary);background:color-mix(in srgb, var(--accent) 5%, transparent)}.theme-toggle-label{text-transform:capitalize}.sidebar{display:none}.sidebar-brand{align-items:center;gap:.625rem;margin-top:.25rem;padding:0 .5rem;display:flex}.sidebar-brand-mark{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.sidebar-brand-mark svg{width:1rem;height:1rem;color:var(--accent)}.sidebar-brand-title{color:var(--text-primary);letter-spacing:-.025em;font-size:.875rem;font-weight:600}.sidebar-status{margin-top:1.25rem;padding:0 .5rem}.sidebar-disconnect{width:100%;color:var(--text-muted);background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.5rem;margin-top:.5rem;padding:.375rem .5rem;font-size:.75rem;transition:color .15s,background-color .15s;display:flex}.sidebar-disconnect:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--accent) 5%, transparent)}.sidebar-nav{flex-direction:column;gap:.25rem;margin-top:1rem;padding:0 .25rem;display:flex}.sidebar-nav-link{width:100%;color:var(--text-muted);border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;text-decoration:none;transition:color .15s,background-color .15s;display:flex}.sidebar-nav-link svg{flex-shrink:0;width:1rem;height:1rem}.sidebar-nav-link span{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.sidebar-nav-link:hover{color:var(--text-primary);background:color-mix(in srgb, var(--accent) 5%, transparent)}.sidebar-nav-link.is-active{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 15%, transparent)}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:.25rem;margin-top:1rem;padding-top:1rem;padding-left:.25rem;padding-right:.25rem;display:flex}.sidebar-profile{width:100%;color:var(--text-primary);border-radius:.5rem;align-items:center;gap:.75rem;padding:.5rem;text-decoration:none;transition:background-color .15s;display:flex}.sidebar-profile:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.sidebar-avatar{background:color-mix(in srgb, var(--accent) 20%, transparent);width:1.75rem;height:1.75rem;color:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.sidebar-profile-copy{flex:1;min-width:0}.sidebar-profile-label{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:500;overflow:hidden}.sidebar-profile-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Cascadia Code,SFMono-Regular,menlo,monaco,consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;overflow:hidden}.sidebar-action{width:100%;color:var(--text-muted);background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem;font-size:.75rem;text-decoration:none;transition:color .15s,background-color .15s;display:flex}.sidebar-action svg{width:.875rem;height:.875rem}.sidebar-action:hover{color:var(--text-primary);background:color-mix(in srgb, var(--accent) 5%, transparent)}@media (width>=768px){.sidebar{z-index:10;background-color:var(--card-bg);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:14rem;height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0;overflow-y:auto}}.auth-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative}.auth-shell-language{position:absolute;top:1.5rem;right:1.5rem}.auth-shell-card{width:100%;max-width:24rem}.auth-shell-brand{flex-direction:column;align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.auth-shell-logo{border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:.75rem;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.auth-shell-logo svg{width:1.5rem;height:1.5rem;color:var(--accent)}.auth-shell-title-wrap{text-align:center}.auth-shell-title{letter-spacing:-.025em;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:1.25rem;font-weight:600}.auth-shell-hub{letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;margin-top:.125rem;font-family:ui-monospace,Cascadia Code,SFMono-Regular,menlo,monaco,consolas,Liberation Mono,Courier New,monospace;font-size:.75rem}.auth-field{flex-direction:column;gap:.375rem;display:flex}.auth-label{letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;font-family:ui-monospace,Cascadia Code,SFMono-Regular,menlo,monaco,consolas,Liberation Mono,Courier New,monospace;font-size:.75rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form-actions{padding-top:.5rem}.auth-hint{color:var(--text-muted);margin:0;font-size:.75rem}.auth-error{color:var(--destructive);margin:0;font-size:.875rem}.auth-status{color:var(--text-primary);margin:0;font-size:.875rem}.auth-link{color:var(--accent);text-decoration:none}.auth-link:hover{color:var(--accent-strong)}.auth-footer{text-align:center;color:var(--text-muted);margin:2rem 0 0;font-size:.875rem}.auth-privacy{text-align:center;color:var(--text-muted);margin:2rem 0 0;font-size:.75rem}.auth-switch{text-align:center;color:var(--text-muted);margin:1rem 0 0;font-size:.875rem}.auth-password-field{position:relative}.auth-input{background:var(--input-bg);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:.5rem;padding:.75rem 1rem;font-family:DM Sans,sans-serif;font-size:.875rem}.auth-input-password{padding-right:2.5rem}.auth-input:focus{border-color:#0d948880;outline:none;box-shadow:0 0 0 1px #0d94884d}select.auth-input,.auth-input[type=date]{appearance:none;background-color:var(--input-bg);background-position:right 1rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.75rem}select.auth-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.auth-input[type=date]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");position:relative}.auth-input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:1.5rem;height:1.5rem;position:absolute;inset-inline-end:.65rem}.auth-password-toggle{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff;border:0;border-radius:.5rem;justify-content:center;align-items:center;padding:.35rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.auth-password-toggle svg{width:1rem;height:1rem}.auth-password-toggle:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.auth-submit{background:var(--accent);color:#fff;border:0;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;display:flex}.auth-submit svg,.auth-submit-secondary svg{width:1rem;height:1rem}.auth-submit:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 90%, black)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-submit-secondary{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:0 0;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;display:flex}.auth-submit-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 8%, transparent)}.auth-submit-secondary:disabled{opacity:.6;cursor:not-allowed}.gh-reminder-overlay{z-index:50;background-color:#080e1ab8;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.gh-reminder-dialog{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;width:100%;max-width:24rem;padding:1.5rem}.gh-reminder-title{letter-spacing:-.025em;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:1.125rem;font-weight:600}.gh-reminder-body{color:var(--text-muted);margin-top:.5rem;font-size:.875rem}.gh-reminder-error{color:var(--destructive);margin-top:.75rem;font-size:.875rem}.gh-reminder-actions{flex-direction:column;gap:.5rem;margin-top:1.25rem;display:flex}.gh-error-banner{color:var(--destructive);background-color:#ef44441a;border:1px solid #ef444440;border-radius:.5rem;flex-direction:column;gap:.5rem;margin:1rem 1.25rem 0;padding:.75rem 1rem;display:flex}.gh-error-banner-message{margin:0;font-size:.875rem}.gh-error-banner-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.gh-error-banner-sync{color:inherit;background:0 0;border:0;border-radius:.5rem;padding:.375rem}.gh-error-banner-sync svg{width:1rem;height:1rem;display:block}.gh-error-banner-sync:hover:not(:disabled){opacity:.8}.gh-error-banner-sync:disabled{opacity:.5}.gh-error-banner-dismiss{color:var(--text-muted);background:0 0;border:0;font-size:.75rem}.gh-error-banner-dismiss:hover{color:var(--text-primary)}@media (width>=640px){.gh-error-banner{flex-direction:row;justify-content:space-between;align-items:center}}@media (width>=768px){.gh-error-banner{margin-left:2rem;margin-right:2rem}}.app-shell{min-height:100vh}.app-shell-body{flex-direction:column;min-height:100vh;display:flex}.app-shell-mobile-bar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);background-color:#0f1929f2;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex;position:fixed;top:0;left:0;right:0}.app-shell-mobile-brand{align-items:center;gap:.5rem;display:flex}.app-shell-mobile-brand svg{width:1.25rem;height:1.25rem;color:var(--accent)}.app-shell-mobile-title{color:var(--text-primary);letter-spacing:-.025em;font-size:.875rem;font-weight:600}.app-shell-mobile-nav{align-items:center;gap:.25rem;display:flex}.app-shell-nav-icon{color:var(--text-muted);border-radius:.5rem;padding:.5rem;text-decoration:none;transition:color .15s,background-color .15s}.app-shell-nav-icon svg{width:1rem;height:1rem;display:block}.app-shell-nav-icon.is-active{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.app-shell-main{flex:1;overflow-y:auto}.app-shell-content{max-width:min(1200px,100%);margin:3.5rem auto 0;padding:1.25rem 1.25rem 5rem}@media (width>=768px){.app-shell-body{margin-left:14rem}.app-shell-mobile-bar{display:none}.app-shell-content{margin-top:0;padding:2rem}}.toggle-switch{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border-color);background:var(--card-bg);border-radius:.75rem;min-width:0;margin:0;display:flex}.toggle-option{color:var(--text-secondary);background:0 0;border:0;border-radius:.5rem;padding:.55rem .85rem;font-weight:600}.toggle-option.active,.toggle-option[aria-pressed=true]{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff}.toggle-option:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.auth-page-forgot{text-align:right;margin:0;font-size:.875rem}.forgot-intro{color:var(--text-muted);margin:0;font-size:.875rem}.metric-alert-bell{position:relative}.metric-alert-bell-button{border:1px solid var(--border-color);background:var(--card-bg);width:2.25rem;height:2.25rem;color:var(--text-muted);border-radius:.5rem;justify-content:center;align-items:center;display:flex;position:relative}.metric-alert-bell-button:hover{color:var(--text-primary)}.metric-alert-bell-dot{background:var(--destructive);border-radius:999px;width:.45rem;height:.45rem;position:absolute;top:.35rem;right:.35rem}.metric-alert-bell-panel{z-index:20;border:1px solid var(--border-color);background:var(--card-bg);width:min(20rem,80vw);max-height:18rem;box-shadow:0 8px 24px color-mix(in srgb, var(--text-primary) 12%, transparent);border-radius:.75rem;padding:.5rem;position:absolute;top:calc(100% + .5rem);right:0;overflow:auto}.metric-alert-bell-empty{color:var(--text-muted);margin:0;padding:.75rem;font-size:.75rem}.metric-alert-bell-row{border-radius:.5rem;padding:.5rem .75rem}.metric-alert-bell-row+.metric-alert-bell-row{border-top:1px solid var(--border-color)}.metric-alert-bell-row-title{font-size:.875rem;font-weight:600}.metric-alert-bell-row-meta,.metric-alert-bell-row-time{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted)}.chart-frame{width:100%;min-height:140px;overflow:visible}.chart-frame .recharts-wrapper,.chart-frame .recharts-surface{overflow:visible}.chart-tooltip{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow);border-radius:.5rem;padding:.5rem .75rem;font-size:.75rem}.chart-tooltip-label{color:var(--text-muted);font-family:var(--font-mono);margin-bottom:.25rem}.chart-tooltip-row{font-family:var(--font-mono);align-items:center;gap:.5rem;display:flex}.chart-tooltip-dot{border-radius:999px;flex-shrink:0;width:.375rem;height:.375rem}.sleep-legend{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:.75rem;display:flex}.sleep-legend-item{align-items:center;gap:.375rem;display:flex}.sleep-legend-swatch{border-radius:.125rem;width:.5rem;height:.5rem}.card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow);padding:var(--space-5);gap:var(--space-4);border-radius:.75rem;flex-direction:column;display:flex}.card-wide{grid-column:1/-1}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.card-heading{align-items:center;gap:.625rem;min-width:0;display:flex}.card-icon{border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.card-title{font-size:.875rem;font-weight:600}.card-subtitle{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);margin-top:.125rem}.chart-or-empty{background:var(--empty-bg);border:1px dashed var(--border-color);min-height:140px;color:var(--text-muted);border-radius:.75rem;justify-content:center;align-items:center;font-weight:600;display:flex}.kpi-tile{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow);padding:var(--space-4);border-radius:.75rem;flex-direction:column;gap:.75rem;min-height:7.5rem;display:flex}.kpi-icon{border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.kpi-label{color:var(--text-muted);margin-top:.125rem;font-size:.75rem;font-weight:500}.kpi-value{letter-spacing:-.03em;align-items:baseline;gap:.25rem;font-size:1.25rem;font-weight:600;display:flex}.kpi-unit{font-size:.75rem;font-weight:500;font-family:var(--font-mono);color:var(--text-muted)}.kpi-value-empty{color:var(--text-muted);font-size:1rem;font-weight:600}.overview{flex-direction:column;display:flex}.overview-header,.overview-main{width:min(1200px,100%);margin:0 auto}.overview-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 0 var(--space-5);display:flex}.overview-header-actions{align-items:center;gap:var(--space-3);display:flex}.overview-title{letter-spacing:-.03em;font-size:2rem}.overview-subtitle{color:var(--text-muted);margin-top:var(--space-1)}.overview-main{gap:var(--space-5);padding-bottom:var(--space-6);flex-direction:column;display:flex}.overview-intro-actions{align-items:center;gap:.75rem;display:flex}.overview-intro h2{font-size:1.25rem}.overview-intro p{color:var(--text-secondary);margin-top:var(--space-1)}.overview-status{color:var(--text-muted);font-size:.875rem}.overview-error{color:var(--destructive);font-size:.875rem}.overview-card-kpi{color:var(--text-primary);white-space:nowrap;font-size:.875rem;font-weight:600}.overview-card-hint{color:var(--text-muted);font-size:.75rem;font-weight:500}.kpi-grid,.chart-grid{gap:.75rem;display:grid}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media (width<=960px){.kpi-grid,.chart-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.overview-header,.overview-intro,.overview-header-actions{flex-direction:column;align-items:flex-start}.kpi-grid,.chart-grid{grid-template-columns:1fr}}.reset-completed{text-align:center;flex-direction:column;gap:1rem;display:flex}.reset-intro{color:var(--text-muted);margin:0;font-size:.875rem}.empty-state{background:var(--empty-bg);border:1px dashed var(--border-color);padding:var(--space-6) var(--space-4);text-align:center;border-radius:.75rem}.empty-state-title{font-weight:600}.empty-state-description{margin-top:var(--space-2);color:var(--text-muted)}.training{flex-direction:column;display:flex}.training-header,.training-main{width:min(1200px,100%);margin:0 auto}.training-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 0 var(--space-5);display:flex}.training-header-actions{align-items:center;gap:var(--space-3);display:flex}.training-title{letter-spacing:-.03em;font-size:2rem}.training-subtitle{color:var(--text-muted);margin-top:var(--space-1)}.training-main{gap:var(--space-5);padding-bottom:var(--space-6);flex-direction:column;display:flex}.training-intro h2{font-size:1.25rem}.training-intro p{color:var(--text-secondary);margin-top:var(--space-1);font-size:.75rem}.training-status{color:var(--text-muted);font-size:.875rem}.training-error{color:var(--destructive);font-size:.875rem}.training-weekly{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.training-weekly-tile{background:var(--card-bg);border:1px solid var(--border-color);text-align:center;border-radius:.75rem;padding:.75rem}.training-weekly-icon{border-radius:.5rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin:0 auto .5rem;display:flex}.training-weekly-value{font-size:1rem;font-weight:600;font-family:var(--font-mono);color:var(--text-primary)}.training-weekly-label{color:var(--text-muted);margin-top:.125rem;font-size:.75rem}.training-filters{scrollbar-width:none;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.training-filters::-webkit-scrollbar{display:none}.training-filter{border:1px solid var(--border-color);background:var(--bg-accent);color:var(--text-muted);border-radius:999px;flex-shrink:0;padding:.375rem .75rem;font-size:.75rem;font-weight:600}.training-filter.is-active{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent)}.training-filter:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.training-list{flex-direction:column;gap:.75rem;display:flex}.training-session{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.training-row{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:1rem;padding:1rem;display:flex}.training-session:hover{border-color:color-mix(in srgb, var(--border-color) 60%, var(--text-muted))}.training-row:focus-visible{outline:3px solid var(--focus-color);outline-offset:-3px}.training-row-icon{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.training-row-body{flex:1;min-width:0}.training-row-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.training-row-name{font-size:.875rem;font-weight:600}.training-row-source{border:1px solid var(--border-color);background:var(--bg-accent);color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);border-radius:999px;align-items:center;padding:.125rem .5rem;display:inline-flex}.training-row-date{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);margin-top:.125rem}.training-row-metrics{text-align:right;flex-shrink:0;align-items:center;gap:1rem;display:flex}.training-row-metric-value{font-size:.875rem;font-weight:600;font-family:var(--font-mono)}.training-row-metric-label{color:var(--text-muted);font-size:.75rem}.training-row-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.training-row-chevron.is-open{transform:rotate(180deg)}.training-row-duration,.training-row-distance{display:none}.training-session-details{border-top:1px solid var(--border-color);flex-direction:column;gap:1rem;padding:0 1rem 1rem;display:flex}.training-session-details .training-status,.training-session-details .training-error{margin:0;padding-top:.75rem}.training-session-stats{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.75rem;margin:0;padding-top:1rem;display:grid}.training-session-stats dt{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem}.training-session-stats dd{font-size:.875rem;font-weight:600;font-family:var(--font-mono);align-items:center;gap:.375rem;margin:0;display:flex}@media (width>=640px){.training-row-duration{display:block}}@media (width>=768px){.training-row-distance{display:block}}@media (width<=720px){.training-header,.training-header-actions{flex-direction:column;align-items:flex-start}.training-weekly{grid-template-columns:1fr 1fr}}.device-row{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;align-items:center;gap:1rem;padding:1rem;display:flex}.device-row-icon{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 19%, transparent);width:2.75rem;height:2.75rem;color:var(--accent);border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.device-row-body{flex:1;min-width:0}.device-row-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.device-row-name{font-size:.875rem;font-weight:600}.device-row-type{border:1px solid var(--border-color);background:var(--bg-accent);color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);border-radius:999px;align-items:center;padding:.125rem .5rem;display:inline-flex}.device-row-meta{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);margin-top:.125rem}.device-row-battery{text-align:right;flex-shrink:0}.device-row-battery-value{font-size:.875rem;font-weight:600;font-family:var(--font-mono)}.device-row-battery-label{color:var(--text-muted);margin-top:.125rem;font-size:.75rem}.btn{border:0;border-radius:.5rem;padding:.65rem 1rem;font-weight:600}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.btn:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.devices-connect-empty{align-items:stretch;gap:var(--space-4);flex-direction:column;display:flex}.devices-connect-empty .btn{align-self:center}.devices{flex-direction:column;display:flex}.devices-header,.devices-main{width:min(1200px,100%);margin:0 auto}.devices-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 0 var(--space-5);display:flex}.devices-header-actions{align-items:center;gap:var(--space-3);display:flex}.devices-title{letter-spacing:-.03em;font-size:2rem}.devices-subtitle{color:var(--text-muted);margin-top:var(--space-1)}.devices-main{gap:var(--space-5);padding-bottom:var(--space-6);flex-direction:column;display:flex}.devices-intro h2{font-size:1.25rem}.devices-intro p{color:var(--text-secondary);margin-top:var(--space-1);font-size:.75rem}.devices-status{color:var(--text-muted);font-size:.875rem}.devices-error{color:var(--destructive);font-size:.875rem}.devices-list{flex-direction:column;gap:.75rem;display:flex}.share-invite-row{gap:.5rem;display:flex}.share-invite-email{flex:1;min-width:0}.share-invite-submit{flex-shrink:0;align-items:center;gap:.375rem;display:inline-flex}.share-invite-success{color:var(--chart-heart);align-items:center;gap:.375rem;margin:0;font-size:.75rem;display:flex}.share-invite-error{color:var(--destructive);margin:0;font-size:.75rem}.share-invite-hint{color:var(--text-muted);margin:0;font-size:.75rem}.share-access-badge{border:1px solid color-mix(in srgb, var(--chart-stress) 35%, var(--border-color));background:color-mix(in srgb, var(--chart-stress) 12%, transparent);color:var(--chart-stress);font-size:.75rem;font-family:var(--font-mono);text-transform:lowercase;border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .5rem;display:inline-flex}.share-access-badge.is-full{border-color:color-mix(in srgb, var(--chart-steps) 35%, var(--border-color));background:color-mix(in srgb, var(--chart-steps) 12%, transparent);color:var(--chart-steps)}.share-metric-grid{grid-template-columns:1fr 1fr;gap:.375rem;display:grid}.share-metric-chip{border:1px solid var(--border-color);color:var(--text-muted);text-align:left;background:0 0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.75rem;display:flex}.share-metric-chip.is-on{border-color:color-mix(in srgb, var(--accent) 30%, var(--border-color));background:color-mix(in srgb, var(--accent) 6%, transparent);color:var(--text-primary)}.share-metric-chip:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.share-status-pill{border:1px solid var(--border-color);background:var(--bg-accent);color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);border-radius:999px;align-items:center;padding:.125rem .5rem;display:inline-flex}.share-status-pill.is-pending{color:var(--chart-stress);border-color:color-mix(in srgb, var(--chart-stress) 30%, var(--border-color))}.share-status-pill.is-active{color:var(--chart-heart);border-color:color-mix(in srgb, var(--chart-heart) 30%, var(--border-color))}.share-status-pill.is-expired,.share-status-pill.is-revoked{opacity:.7}.share-network-row{border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.share-network-row-main{align-items:center;gap:.75rem;padding:1rem;display:flex}.share-network-row-body{flex:1;min-width:0}.share-network-row-title{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.share-network-row-meta{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-network-row-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.375rem;display:flex}.share-network-row-editor{border-top:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-accent) 50%, transparent);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.share-network-row-label{font-size:.75rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0}.share-network-row-since{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);margin:0}.sharing{flex-direction:column;display:flex}.sharing-header,.sharing-main{width:min(1200px,100%);margin:0 auto}.sharing-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 0 var(--space-5);display:flex}.sharing-title{letter-spacing:-.03em;font-size:2rem}.sharing-subtitle{color:var(--text-muted);margin-top:var(--space-1)}.sharing-main{gap:var(--space-5);padding-bottom:var(--space-6);flex-direction:column;display:flex}.sharing-intro h2{font-size:1.25rem}.sharing-intro p{color:var(--text-secondary);margin-top:var(--space-1);font-size:.75rem;font-family:var(--font-mono)}.sharing-status{color:var(--text-muted);font-size:.875rem}.sharing-error{color:var(--destructive);font-size:.875rem}.sharing-list{flex-direction:column;gap:.75rem;display:flex}.alert-operator-badge{border:1px solid var(--border-color);font-size:.75rem;font-family:var(--font-mono);text-transform:lowercase;border-radius:999px;align-items:center;padding:.125rem .5rem;display:inline-flex}.alert-operator-badge.is-above{color:var(--destructive);border-color:color-mix(in srgb, var(--destructive) 35%, var(--border-color));background:color-mix(in srgb, var(--destructive) 12%, transparent)}.alert-operator-badge.is-below,.alert-operator-badge.is-change{color:var(--chart-stress);border-color:color-mix(in srgb, var(--chart-stress) 35%, var(--border-color));background:color-mix(in srgb, var(--chart-stress) 12%, transparent)}.alert-rule-form{flex-direction:column;gap:.75rem;display:flex}.alert-rule-form-field{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);flex-direction:column;gap:.375rem;display:flex}.alert-rule-form-actions{gap:.5rem;display:flex}.alert-rule-form-error{color:var(--destructive);margin:0;font-size:.75rem}.alert-rule-card{border:1px solid var(--border-color);background:var(--card-bg);border-radius:.75rem;overflow:hidden}.alert-rule-card.is-disabled{opacity:.6}.alert-rule-card-main{align-items:center;gap:.75rem;padding:1rem;display:flex}.alert-rule-card-icon{background:var(--bg-accent);border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.alert-rule-card-body{flex:1;min-width:0}.alert-rule-card-title{font-size:.875rem;font-weight:600}.alert-rule-card-meta{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.375rem;margin-top:.25rem;display:flex;overflow:hidden}.alert-rule-card-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.375rem;display:flex}.alert-rule-card-triggered{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted)}.alert-toggle{background:var(--border-color);border:0;border-radius:999px;align-items:center;width:2.25rem;height:1.25rem;padding:.125rem;display:flex}.alert-toggle.is-on{background:var(--accent);justify-content:flex-end}.alert-toggle-knob{background:var(--card-bg);border-radius:999px;width:1rem;height:1rem;display:block}.alert-rule-card-editor{border-top:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-accent) 50%, transparent);padding:1rem}.share-icon-button{width:2rem;height:2rem;color:var(--text-muted);background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;display:flex}.share-icon-button:hover{color:var(--text-primary);background:var(--bg-accent)}.share-icon-button.is-danger:hover{color:var(--destructive);background:color-mix(in srgb, var(--destructive) 10%, transparent)}.alerts-intro{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.alerts-intro h2{font-size:1.25rem}.alerts-intro p{color:var(--text-secondary);margin-top:var(--space-1);font-size:.75rem;font-family:var(--font-mono)}.alerts-intro .btn{align-items:center;gap:.375rem;display:inline-flex}@media (width<=720px){.alerts-intro{flex-direction:column;align-items:flex-start}}.alerts-page{display:contents}.incoming-share-row{border:1px solid var(--border-color);background:var(--card-bg);text-align:left;width:100%;color:inherit;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem;display:flex}.share-avatar{background:color-mix(in srgb, var(--accent) 18%, transparent);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.incoming-share-row:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--border-color))}.incoming-share-row-body{flex:1;min-width:0}.incoming-share-row-title{margin-bottom:.375rem;font-size:.875rem;font-weight:600}.incoming-share-row-chips{flex-wrap:wrap;gap:.25rem;margin-bottom:.375rem;display:flex}.incoming-share-chip{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-accent);border-radius:.25rem;padding:.125rem .375rem}.incoming-share-row-meta{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted)}.incoming-share-chevron{color:var(--text-muted);flex-shrink:0}.shared-back{color:var(--text-muted);background:0 0;border:0;align-items:center;gap:.375rem;width:fit-content;padding:0;font-size:.75rem;display:inline-flex}.shared-back:hover{color:var(--text-primary)}.shared-detail-header{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.share-avatar-lg{width:3rem;height:3rem;font-size:.875rem}.shared-detail-meta{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);margin:.25rem 0 0}.h2-reset{margin:0;font-size:1.25rem}.shared-hint{border:1px solid var(--border-color);background:var(--bg-accent);color:var(--text-muted);border-radius:.75rem;align-items:flex-start;gap:.75rem;padding:1rem;font-size:.75rem;display:flex}.shared-hint p{margin:0}.shared-detail-header .overview-intro-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.auth-input-unit-wrap{position:relative}.auth-input-with-unit{padding-right:3.5rem}.auth-input-with-unit::-webkit-outer-spin-button{appearance:none;margin:0}.auth-input-with-unit::-webkit-inner-spin-button{appearance:none;margin:0}.auth-input-with-unit[type=number]{appearance:textfield}.auth-input-unit{inset-inline-end:1rem;color:var(--text-muted);pointer-events:none;font-family:DM Sans,sans-serif;font-size:.75rem;position:absolute;top:50%;transform:translateY(-50%)}.tag-list-items{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.tag-chip{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text-primary);border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem .375rem .25rem .5rem;font-size:.75rem;display:inline-flex}.tag-chip-remove{appearance:none;box-shadow:none;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tag-chip-remove svg{width:.75rem;height:.75rem}.tag-chip-remove:hover{color:var(--text-primary)}.tag-chip-remove:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.tag-list-row{gap:.5rem;display:flex}.tag-list-add{width:auto;padding-inline:.75rem}.health-profile{max-width:32rem;margin:0 auto;padding:1.5rem 0 2.5rem}.health-profile-title{color:var(--text-primary);margin-bottom:.25rem;font-family:DM Sans,sans-serif;font-size:1.125rem;font-weight:600}.health-profile-intro{color:var(--text-muted);margin-bottom:1.5rem;font-size:.75rem}.health-profile-age{color:var(--text-muted);margin:.375rem 0 0;font-size:.75rem}.health-profile-cycle{border:1px solid var(--border-color);border-radius:.5rem;flex-direction:column;gap:1rem;padding:1rem;display:flex}.health-profile-cycle-legend{letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;padding:0 .25rem;font-family:ui-monospace,Cascadia Code,SFMono-Regular,menlo,monaco,consolas,Liberation Mono,Courier New,monospace;font-size:.75rem}.change-password{max-width:24rem;margin:0 auto;padding-top:2.5rem}.change-password-completed{text-align:center;flex-direction:column;gap:1rem;display:flex}.change-password-title{color:var(--text-primary);margin-bottom:.25rem;font-family:DM Sans,sans-serif;font-size:1.125rem;font-weight:600}.change-password-intro{color:var(--text-muted);margin-bottom:1.5rem;font-size:.75rem}.onboarding{flex-direction:column;gap:1rem;display:flex}.onboarding-title{text-align:center;letter-spacing:-.025em;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:1.125rem;font-weight:600}.onboarding-intro{color:var(--text-muted);margin:0;font-size:.875rem}.onboarding-steps{color:var(--text-muted);margin:0;padding-left:1.25rem;font-size:.875rem;list-style:decimal}.onboarding-steps li{margin-top:.5rem}.onboarding-steps li:first-child{margin-top:0}.onboarding-actions{flex-direction:column;gap:.5rem;padding-top:.5rem;display:flex}.app-boot{background:var(--bg);min-height:100vh}
