.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0a0b0d;--color-surface: #1a1b20;--color-surface-raised: #22232a;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .18);--color-text-primary: #f5f5f4;--color-text-secondary: #a8a9ae;--color-text-muted: #6e6f76;--color-accent: #ff4a12;--color-accent-hover: #ff6a3a;--color-success: #34d399;--color-success-bg: rgba(52, 211, 153, .14);--color-success-border: rgba(52, 211, 153, .32);--color-warning: #f5a623;--color-warning-bg: rgba(245, 166, 35, .14);--color-warning-border: rgba(245, 166, 35, .32);--color-danger: #ff8f88;--color-danger-bg: rgba(245, 84, 77, .16);--color-danger-border: rgba(245, 84, 77, .35);--color-info: #9dbcfa;--color-info-bg: rgba(47, 111, 237, .16);--color-info-border: rgba(47, 111, 237, .32);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .55);color:var(--color-text-primary);background:var(--color-bg);font-family:system-ui,-apple-system,sans-serif;line-height:1.6}.muted{color:var(--color-text-muted)}.error{color:var(--color-danger)}.success{color:var(--color-success)}body{min-height:100vh}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.card{width:100%;max-width:28rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.75rem;box-shadow:var(--shadow-sm)}.card h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.brand-logo{height:28px;width:auto;display:block}.card h2{font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-size:.9rem;font-weight:600}.field input{background:var(--color-surface-raised);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.65rem .75rem}.field input::placeholder{color:var(--color-text-muted)}.field input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);padding:.65rem 1rem;min-height:2.75rem;transition:background-color .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border-strong)}.btn-danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#ff6f66;border-color:#ff6f66}.btn-danger:focus-visible{outline-color:var(--color-danger)}.btn-block{width:100%}.actions-row{display:flex;gap:.75rem;flex-wrap:wrap}.status-message{margin-top:1rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-primary)}.status-message.error{background:var(--color-danger-bg);color:var(--color-danger)}.status-message.success{background:var(--color-success-bg);color:var(--color-success)}.pairing-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:2rem;letter-spacing:.2em;text-align:center;margin:1rem 0}.pairing-code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.25rem;letter-spacing:.15em;text-align:center;text-transform:uppercase}.field-error{color:var(--color-danger);font-size:.875rem}.panel-subtitle{margin-bottom:1rem}.mode-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.mode-tab{flex:1;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-primary);border-radius:var(--radius-sm);padding:.55rem .75rem;min-height:2.5rem}.mode-tab.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.mode-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[role=tabpanel][hidden]{display:none}.qr-wrap{display:flex;justify-content:center;margin:1rem 0}.qr-wrap img,.qr-wrap canvas{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem;background:var(--color-surface)}.meta-line{text-align:center;color:var(--color-text-secondary);margin-bottom:.75rem}.top-bar{display:flex;justify-content:flex-end;margin-bottom:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:480px){.card{padding:1.25rem}.pairing-code{font-size:1.5rem;letter-spacing:.12em}}.portal-shell{min-height:100vh;display:flex;flex-direction:column}.portal-loading{padding:1.5rem}.portal-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.portal-sync-banner{margin:0;padding:.5rem 1.25rem;font-size:.875rem;color:var(--color-text-secondary);background:var(--color-bg);border-bottom:1px solid var(--color-border);text-align:center}.portal-nav-brand{display:block;width:auto;height:auto;max-height:2.75rem;max-width:min(100%,11rem);object-fit:contain;object-position:left center;flex-shrink:0;align-self:center}.portal-nav-list{display:none;flex-direction:column;gap:.15rem;list-style:none;position:absolute;top:100%;left:0;right:0;margin-top:-1px;padding:.5rem 1.25rem 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:30}.portal-nav-list--open{display:flex}.portal-nav-link{display:flex;align-items:center;padding:.5rem .75rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;white-space:nowrap;font-size:.925rem;min-height:2.75rem}.portal-nav-link:hover{background:var(--color-bg)}.portal-nav-link.active{background:var(--color-accent);color:#fff}.portal-nav-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.portal-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;min-height:2.75rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);border-radius:var(--radius-sm);font-size:1.1rem;padding:0}.portal-nav-toggle:hover{background:var(--color-bg)}.portal-nav-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.account-menu{position:relative;flex-shrink:0}.account-menu-trigger{min-height:2.25rem;padding:.5rem .9rem;white-space:nowrap;cursor:pointer;list-style:none}.account-menu-trigger::-webkit-details-marker{display:none}.account-menu-trigger:after{content:"▾";margin-left:.4rem;font-size:.7em}.account-menu[open] .account-menu-trigger:after{content:"▴"}.account-menu-panel{position:absolute;right:0;top:calc(100% + .35rem);z-index:20;display:flex;flex-direction:column;min-width:10rem;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.35rem;box-shadow:var(--shadow-md)}.account-menu-link{display:block;padding:.5rem .65rem;border-radius:7px;color:var(--color-text-primary);text-decoration:none;font-size:.9rem}.account-menu-link:hover,.account-menu-link.active{background:var(--color-bg)}.account-menu-signout{margin-top:.15rem;text-align:left;border:none;background:none;min-height:auto}.account-menu-signout:hover{background:var(--color-bg)}.portal-content{flex:1;padding:1.5rem;width:100%;max-width:56rem;margin:0 auto}.portal-page h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2)}.page-header-text{min-width:0;flex:1 1 20rem}.page-header-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.page-header-title-row h1{margin-bottom:0}.page-header-description{margin-bottom:0;margin-top:var(--space-1)}.page-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);flex-shrink:0}.analytics-page{min-width:0;max-width:100%;overflow-x:hidden}.analytics-local-nav{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-3) 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.analytics-local-nav-link{display:inline-flex;align-items:center;min-height:2.25rem;padding:.35rem .75rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;font-size:.925rem}.analytics-local-nav-link:hover{background:var(--color-surface);color:var(--color-text-primary)}.analytics-local-nav-link.active{background:var(--color-accent);color:#fff}.analytics-content{min-width:0}.analytics-content .dashboard-card .subtitle{margin-bottom:var(--space-4)}.analytics-content .cgm-metrics-grid{margin-top:var(--space-3)}.analytics-activities,.analytics-running,.analytics-sport,.analytics-recovery,.analytics-health,.analytics-training,.analytics-compare,.analytics-explorer{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.analytics-range-pills{display:flex;flex-wrap:wrap;gap:var(--space-1)}.analytics-range-pill{min-height:2.25rem;padding:.3rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.analytics-range-pill.active,.analytics-range-pill[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.analytics-range-custom,.analytics-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.analytics-range-custom label,.analytics-filters label{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-secondary);font-size:.85rem}.analytics-range-custom input,.analytics-filters select{min-height:2.25rem;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text-primary)}.analytics-activity-table{min-width:0;max-width:100%}@media(min-width:769px){.analytics-activity-table{overflow-x:auto}}.analytics-table{width:100%;border-collapse:collapse;font-size:.9rem}.analytics-table th,.analytics-table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--color-border);vertical-align:top}.analytics-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.analytics-activity-link{color:var(--color-text-primary);text-decoration:underline}.analytics-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.analytics-overlay-chart,.analytics-health-chart{min-width:0;max-width:100%}.analytics-chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2)}.analytics-chart-grid{stroke:var(--color-border);stroke-width:1}.analytics-chart-bar{fill:var(--color-accent)}.analytics-chart-bar.muted-bar{fill:var(--color-border-strong)}.analytics-chart-bar.compare-b{fill:#9dbcfa}.analytics-chart-bar.compare-b.muted-bar{fill:var(--color-border-strong)}.analytics-compare-dual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4)}.analytics-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-3);min-width:0}.analytics-compare-card{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.analytics-compare-card h3{margin:0 0 var(--space-2)}.analytics-compare-delta{margin-top:var(--space-2);font-weight:600}.analytics-compare-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.analytics-compare-swatch{display:inline-block;width:.7rem;height:.7rem;margin-right:.35rem;border-radius:2px;vertical-align:middle}.analytics-compare-swatch.a{background:var(--color-accent)}.analytics-compare-swatch.b{background:#9dbcfa}@media(max-width:768px){.analytics-compare-dual{grid-template-columns:minmax(0,1fr)}}.analytics-explorer-layout{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);gap:var(--space-4);min-width:0}.analytics-explorer-catalog,.analytics-explorer-detail{min-width:0}.analytics-explorer-search{display:flex;flex-direction:column;gap:var(--space-1);margin:var(--space-3) 0;color:var(--color-text-secondary);font-size:.85rem}.analytics-explorer-search input{min-height:2.25rem;min-width:0;width:100%;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text-primary)}.analytics-explorer-metric-list{list-style:none;margin:var(--space-3) 0 0;padding:0;max-height:28rem;overflow:auto}.analytics-explorer-metric{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin:0 0 var(--space-1);padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);text-align:left;cursor:pointer}.analytics-explorer-metric.active,.analytics-explorer-metric[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-surface-raised)}.analytics-explorer-meta{display:grid;grid-template-columns:minmax(7rem,10rem) minmax(0,1fr);gap:var(--space-2) var(--space-3);margin:var(--space-3) 0}.analytics-explorer-meta-row{display:contents}.analytics-explorer-meta dt{color:var(--color-text-secondary);font-size:.85rem}.analytics-explorer-meta dd{margin:0;min-width:0;overflow-wrap:anywhere}.analytics-explorer-provenance{margin:0 0 var(--space-3);font-size:.9rem}@media(max-width:768px){.analytics-explorer-layout{grid-template-columns:minmax(0,1fr)}.analytics-explorer-metric-list{max-height:16rem}}.analytics-chart-label{fill:var(--color-text-muted);font-size:10px}.analytics-chart-tooltip{margin-top:var(--space-2);min-height:1.5rem}.analytics-recovery-subhead{margin:var(--space-4) 0 var(--space-2);font-size:1rem}.analytics-night-picker{display:flex;flex-direction:column;gap:var(--space-1);max-width:16rem;margin-bottom:var(--space-3)}.analytics-night-picker select{min-height:2.25rem;max-width:100%}.analytics-hypnogram-lane{fill:var(--color-surface-muted, rgba(0, 0, 0, .04))}.analytics-hypnogram-legend,.analytics-stage-total-list,.analytics-health-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);padding:0;list-style:none}.analytics-hypnogram-legend-item,.analytics-stage-total-list li,.analytics-health-legend li{display:inline-flex;align-items:center;gap:var(--space-1)}.analytics-hypnogram-swatch{width:.75rem;height:.75rem;border-radius:2px;display:inline-block}.analytics-stage-stack{display:flex;width:100%;min-width:0;height:1.25rem;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-border)}.analytics-stage-stack-seg{min-width:0;height:100%}.analytics-readiness-factors{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none;min-width:0}.analytics-readiness-factors li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);min-width:0}.analytics-readiness-factor-label{color:var(--color-text-secondary)}.analytics-load-range{min-width:0;max-width:100%}.analytics-baseline-band{fill:#0f766e47}.analytics-baseline-marker{fill:var(--color-accent)}@media(max-width:768px){.analytics-table thead{display:none}.analytics-table tr{display:block;margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);padding:var(--space-2)}.analytics-table td{display:flex;justify-content:space-between;gap:var(--space-3);border-bottom:none;padding:.3rem .2rem}.analytics-table td:before{content:attr(data-label);color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}}.analytics-activity-detail{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.analytics-channel-list,.analytics-quality-list{margin:var(--space-2) 0 0;padding-left:1.2rem;color:var(--color-text-secondary)}.analytics-series-pane{min-width:0;margin-top:var(--space-3)}.analytics-series-pane-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.loading-state{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);margin-top:var(--space-4)}.loading-state--inline{margin-top:0}.loading-spinner{width:1rem;height:1rem;flex-shrink:0;border-radius:999px;border:2px solid var(--color-border);border-top-color:var(--color-text-secondary);animation:loading-spinner-spin .7s linear infinite}@keyframes loading-spinner-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.empty-state-block{display:flex;flex-direction:column;gap:var(--space-2)}.empty-state-hint{color:var(--color-text-muted);font-size:.875rem;margin:0}.empty-state-action{margin-top:var(--space-1)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.5rem}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem}.dashboard-card h2{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text-secondary)}.dashboard-card .value{font-size:1.1rem;font-weight:600}.dashboard-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.dashboard-actions .btn{text-decoration:none}.empty-state{color:var(--color-text-secondary)}.simple-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:var(--color-bg);color:var(--color-text-secondary);margin-left:.4rem}.badge.coming-soon{background:var(--color-info-bg);color:var(--color-info)}.status-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;line-height:1.2;padding:.18rem .55rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.status-badge--success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.status-badge--neutral{background:var(--color-bg);color:var(--color-text-secondary);border-color:var(--color-border)}.status-badge--info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.status-badge--experimental{background:#7c5cbf29;color:#cdbdf2;border-color:#7c5cbf59}.status-badge--planned{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.status-badge--warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.status-badge--error{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.status-badge--pending{background:var(--color-surface-raised);color:var(--color-text-muted);border-color:var(--color-border);animation:status-badge-pending-pulse 1.6s ease-in-out infinite}@keyframes status-badge-pending-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.status-badge--pending{animation:none}}.provider-accordion{list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.provider-accordion-header{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;padding:.85rem 1rem;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.provider-accordion-header:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.provider-accordion-chevron{color:var(--color-text-muted);width:1rem;flex-shrink:0}.provider-accordion-title{font-weight:600;flex:1 1 auto;min-width:6rem}.provider-accordion-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-left:auto}.provider-accordion-secondary{margin:0;padding:0 1rem .75rem 2.1rem;color:var(--color-text-muted);font-size:.85rem}.provider-accordion-panel{padding:0 1rem 1rem;border-top:1px solid var(--color-border)}.provider-accordion-panel[hidden]{display:none}.provider-accordion-panel .subtitle,.provider-accordion-panel .muted,.provider-accordion-panel .integration-warning{overflow-wrap:anywhere;word-break:break-word}.provider-body{display:flex;flex-direction:column;gap:.75rem;padding-top:.85rem}.device-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin:1rem 0 0}.device-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.55rem}.device-card-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:space-between}.device-icon{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#8080802e;color:#6e6e6ef2;font-size:.7rem;font-weight:700;letter-spacing:.02em}.device-card-title{font-weight:600}.device-card-meta{color:var(--color-text-secondary);font-size:.9rem;display:flex;flex-direction:column;gap:.2rem}.device-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal-dialog{width:100%;max-width:28rem;background:var(--color-surface-raised);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1rem}.modal-dialog h2{font-size:1.25rem;font-weight:700}.confirm-panel{border:1px solid var(--color-warning-border);background:var(--color-warning-bg);border-radius:var(--radius-sm);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.65rem}.confirm-panel p{margin:0;color:var(--color-warning);font-size:.9rem}.installation-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0}.installation-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.35rem}.installation-row-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:space-between}.installation-name{font-weight:600}.add-application-section{margin-top:.25rem}.add-application-section h4{font-size:.85rem;font-weight:600;color:var(--color-text-muted);margin:0 0 .4rem}.add-application-list{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0}.add-application-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.add-application-steps{margin:0;padding-left:1.1rem;font-size:.9rem;color:var(--color-warning)}.add-application-steps li{margin-bottom:.2rem}.tech-details{font-size:.85rem;color:var(--color-text-muted)}.tech-details summary{cursor:pointer;color:var(--color-text-secondary)}.tech-details dl{display:grid;grid-template-columns:max-content 1fr;gap:.2rem .75rem;margin:.5rem 0}.tech-details dt{color:var(--color-text-muted)}.tech-details dd{margin:0}.hardware-nickname-input,.hardware-model-input{background:var(--color-surface-raised);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:6px;padding:.35rem .5rem;font-size:.95rem}.hardware-choice{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.hardware-choice-list{display:flex;flex-direction:column;gap:.4rem}.application-list{list-style:none;display:flex;flex-direction:column;gap:.65rem;margin-top:1rem}.application-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.application-name{font-weight:600}.lab-card-link{display:block;text-decoration:none;color:inherit}.lab-card-link .lab-card{transition:border-color .15s ease,box-shadow .15s ease}.lab-card-link:hover .lab-card,.lab-card-link:focus-visible .lab-card{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.integration-row{display:flex;flex-direction:column;gap:.75rem}.integration-warning{margin-bottom:0;font-size:.9rem}.integration-form{display:flex;flex-direction:column;gap:.75rem;max-width:22rem}.integration-meta{display:flex;flex-direction:column;gap:.35rem}@media(min-width:768px){.portal-shell{flex-direction:row}.portal-nav{flex-direction:column;align-items:stretch;justify-content:flex-start;width:15rem;min-height:100vh;border-bottom:none;border-right:1px solid var(--color-border);padding:1.5rem 1rem}.portal-nav-brand{width:100%;max-width:100%;max-height:none;height:auto;align-self:stretch;margin-bottom:1.5rem}.portal-nav-list{display:flex;flex-direction:column;flex:1;position:static;margin-top:0;padding:0;background:transparent;border-bottom:none;box-shadow:none}.portal-nav-toggle{display:none}.portal-nav-controls{margin-top:1rem}.account-menu{margin-top:0}.account-menu-panel{right:auto;left:0}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}.portal-content:has(.cgm-lab-page){max-width:72rem}.cgm-lab-page{color:#1c1c1c}.cgm-lab-eyebrow{font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#7a7a7a;margin-bottom:.35rem}.cgm-lab-topbar{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;justify-content:space-between;align-items:flex-end;margin-bottom:1.25rem}.cgm-lab-topbar h1{margin-bottom:0;font-size:1.65rem;letter-spacing:-.03em}.cgm-range-pills{display:flex;flex-wrap:wrap;gap:.35rem;padding:.25rem;background:#f3f3f1;border-radius:999px}.cgm-pill{border:none;background:transparent;color:#555;font-size:.78rem;font-weight:650;letter-spacing:.04em;padding:.45rem .75rem;border-radius:999px}.cgm-pill-active{background:#fff;color:#2f6fed;box-shadow:0 1px 2px #2f6fed1f}.cgm-lab-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.cgm-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:1.5rem;padding:1.5rem 1.55rem;background:#fff;border:1px solid #ebebe8;border-radius:16px;margin-bottom:1rem}.cgm-hero-glucose{font-size:4.5rem;font-weight:700;letter-spacing:-.05em;line-height:.92;color:#111}.cgm-hero-value-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.55rem .75rem}.cgm-hero-unit{font-size:1rem;font-weight:600;color:#6b6b6b}.cgm-hero-trend{font-size:1.5rem;color:#2f6fed;font-weight:600}.cgm-hero-delta{font-size:1.05rem;font-weight:650;color:#444}.cgm-hero-spark{width:6.6rem;height:2.35rem;margin-left:.15rem;margin-right:.15rem;align-self:center;flex-shrink:0}.cgm-hero-spark-line{fill:none;stroke:#2f6fed;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;opacity:.9;stroke-dasharray:180;stroke-dashoffset:180;animation:cgm-spark-draw .85s ease forwards}.cgm-hero-spark-dot{fill:#2f6fed;stroke:#fff;stroke-width:1.25;transform-origin:center;animation:cgm-spark-pulse 2.4s ease-in-out .7s infinite}@keyframes cgm-spark-draw{to{stroke-dashoffset:0}}@keyframes cgm-spark-pulse{0%,to{opacity:1}50%{opacity:.72}}@media(prefers-reduced-motion:reduce){.cgm-hero-spark-line,.cgm-hero-spark-dot{animation:none;stroke-dasharray:none;stroke-dashoffset:0;opacity:.9}}.cgm-hero-age{margin-top:.75rem;color:#6b6b6b;font-size:.92rem}.cgm-hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;align-content:start}.cgm-hero-chip{padding:.7rem .75rem;background:#fafafb;border-radius:12px;border:1px solid #f0f0f2}.cgm-chip-label{font-size:.68rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:#888}.cgm-chip-value{font-size:.92rem;font-weight:650;color:#1c1c1c;margin-top:.15rem}.cgm-freshness{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.22rem .55rem;border-radius:999px;background:#f0f0f0;color:#555}.cgm-freshness-fresh{background:#e8f0fe;color:#1f4fb8}.cgm-freshness-delayed{background:#fff4df;color:#8a5a00}.cgm-freshness-stale{background:#fde8e8;color:#8a1f1f}.cgm-panel{background:#fff;border:1px solid #ebebe8;border-radius:16px;padding:1.15rem 1.25rem 1.3rem;margin-bottom:1rem}.cgm-panel-head{margin-bottom:.9rem}.cgm-panel-head h2{font-size:1.05rem;font-weight:650;letter-spacing:-.02em;margin:0;color:#1c1c1c}.cgm-panel-sub{margin-top:.25rem;font-size:.82rem;color:#7a7a7a}.cgm-chart-panel{padding-bottom:1rem}.cgm-chart-wrap{position:relative;width:100%}.cgm-chart{width:100%;height:auto;display:block;background:#fff;border-radius:12px;border:1px solid #f0f0f2}.cgm-chart-plot{fill:#fff}.cgm-chart-threshold{stroke:#d8d8de;stroke-width:1;stroke-dasharray:4 5}.cgm-chart-stroke{stroke-width:2.35;stroke-linejoin:round;stroke-linecap:round;fill:none}.cgm-chart-lone{stroke:#fff;stroke-width:1}.cgm-chart-newest{stroke:#fff;stroke-width:2}.cgm-chart-extreme{fill:none;stroke-width:1.5}.cgm-chart-extreme-low{stroke:#7c5cbf}.cgm-chart-extreme-high{stroke:#d94a4a}.cgm-chart-hover-guide{stroke:#2f6fed2e;stroke-width:1}.cgm-chart-hover-dot{fill:#fff;stroke:#2f6fed;stroke-width:2.25}.cgm-chart-axis{font-size:11.5px;fill:#7a7a82;font-weight:500}.cgm-chart-tooltip{position:absolute;right:.75rem;top:.75rem;padding:.75rem .9rem;background:#fffffff7;border:1px solid #e6e6ea;border-radius:12px;box-shadow:0 8px 24px #14182814;font-size:.82rem;color:#555;max-width:15rem;pointer-events:none}.cgm-tooltip-value{font-size:1.2rem;font-weight:700;color:#111;margin-bottom:.25rem;letter-spacing:-.02em}.cgm-tooltip-value span{font-size:.8rem;font-weight:600;color:#777}.cgm-tooltip-row{margin-top:.15rem;color:#5a5a5a}.cgm-tooltip-range{margin-top:.4rem;font-weight:650;color:#2f6fed;font-size:.78rem}.cgm-chart-empty{color:#777;padding:3rem 0;text-align:center}.cgm-chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;align-items:center;margin-top:.85rem;font-size:.74rem;color:#5a5a5a}.cgm-chart-legend-item{display:inline-flex;align-items:center;gap:.3rem}.cgm-legend-swatch{width:.55rem;height:.55rem;border-radius:999px;display:inline-block;flex-shrink:0}.cgm-legend-vlow{background:#7c5cbf}.cgm-legend-low{background:#4a90c8}.cgm-legend-in{background:#2f6fed}.cgm-legend-high{background:#e0893a}.cgm-legend-vhigh{background:#d94a4a}.cgm-analysis-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.cgm-analysis-item{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border-radius:14px;border:1px solid #ececf0;background:#fff;font-size:.92rem;color:#2a2a2a;line-height:1.45;box-shadow:0 1px 2px #14182808}.cgm-analysis-ok{border-color:#e0e8f8;background:#f7f9fd}.cgm-analysis-warn{border-color:#f0e6d0;background:#fffbf4}.cgm-analysis-info{border-color:#ececf0;background:#fafafb}.cgm-analysis-mark{flex-shrink:0;width:1.4rem;height:1.4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;line-height:1}.cgm-analysis-ok .cgm-analysis-mark{background:#e8f0fe;color:#1f4fb8}.cgm-analysis-warn .cgm-analysis-mark{background:#fff4df;color:#8a5a00}.cgm-analysis-info .cgm-analysis-mark{background:#f0f0f2;color:#555}.cgm-tir-dist{margin-bottom:1rem}.cgm-tir-dist-bar{display:flex;width:100%;height:.85rem;border-radius:999px;overflow:hidden;background:#f0f0f2}.cgm-tir-dist-seg{height:100%;min-width:2px}.cgm-tir-dist-in{background:#2f6fed}.cgm-tir-dist-above{background:#e0893a}.cgm-tir-dist-below{background:#4a90c8}.cgm-tir-dist-vhigh{background:#d94a4a}.cgm-tir-dist-vlow{background:#7c5cbf}.cgm-tir-dist-legend{display:flex;flex-wrap:wrap;gap:.55rem 1.25rem;margin-top:.75rem;padding:0;list-style:none;font-size:.82rem;color:#3a3a3a}.cgm-tir-dist-legend-item{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:none;padding:0;color:#3a3a3a}.cgm-tir-dist-legend-item .cgm-legend-swatch{width:.55rem;height:.55rem}.cgm-tir-dist-legend-item strong{font-weight:700;color:#1c1c1c}.cgm-tir-dist-legend-label{color:#555;font-weight:500}.cgm-tir-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:.75rem}.cgm-tir-card{display:flex;gap:.75rem;align-items:center;padding:.85rem;border-radius:14px;border:1px solid #f0f0ec;background:#fafaf8}.cgm-tir-ring-wrap{position:relative;width:4.5rem;height:4.5rem;flex-shrink:0}.cgm-tir-ring{width:100%;height:100%}.cgm-tir-track{fill:none;stroke:#e8e8e4;stroke-width:7}.cgm-tir-progress{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .25s ease}.cgm-tir-good .cgm-tir-progress{stroke:#2f6fed}.cgm-tir-warn .cgm-tir-progress{stroke:#e0893a}.cgm-tir-crit .cgm-tir-progress{stroke:#d94a4a}.cgm-tir-info .cgm-tir-progress{stroke:#2f6fed}.cgm-tir-muted .cgm-tir-progress{stroke:#9a9a9a}.cgm-tir-ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.cgm-tir-label{font-size:.9rem;font-weight:650}.cgm-tir-hours{font-size:.85rem;color:#555;margin-top:.15rem}.cgm-tir-note{font-size:.72rem;color:#888;margin-top:.2rem}.cgm-metrics-stack{display:flex;flex-direction:column;gap:2rem}.cgm-metrics-group{display:flex;flex-direction:column;gap:.7rem}.cgm-metrics-primary{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.85rem;margin-bottom:0}.cgm-metrics-primary .cgm-metric-card{padding:1.05rem;border-color:#e4e8f2;background:#f7f9fd}.cgm-metrics-primary .cgm-metric-value{font-size:1.45rem;letter-spacing:-.03em}.cgm-metrics-subhead{margin:0;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#8a8a8a}.cgm-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.75rem}.cgm-metrics-supporting,.cgm-metrics-quality{margin-bottom:0}.cgm-metric-card{position:relative;padding:.9rem .95rem;border-radius:14px;border:1px solid #f0f0f2;background:#fafafb}.cgm-metric-label{font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#888;margin-bottom:0}.cgm-metric-label-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.35rem}.kv-metric-info{position:relative;display:inline-flex;flex-shrink:0;vertical-align:middle}.kv-metric-info-btn{width:1.2rem;height:1.2rem;border-radius:999px;border:1px solid #d0d0cc;background:#fff;color:#666;font-size:.68rem;font-weight:700;font-style:italic;line-height:1;cursor:pointer;padding:0}.kv-metric-info-btn:hover,.kv-metric-info-btn:focus-visible{border-color:#2f6fed;color:#2f6fed;outline:2px solid rgba(47,111,237,.25);outline-offset:1px}.kv-metric-info-btn[aria-expanded=true]{border-color:#2f6fed;color:#2f6fed;background:#eef3fc}.kv-metric-info-panel{position:absolute;z-index:20;top:calc(100% + .4rem);right:0;width:min(18.5rem,78vw);padding:.7rem .8rem;border-radius:12px;border:1px solid #e4e8f2;background:#fff;color:#444;font-size:.78rem;line-height:1.45;box-shadow:0 8px 24px #1418281a;text-transform:none;letter-spacing:normal;font-weight:400}.kv-metric-info-body{color:#444}.kv-metric-info-footer{margin-top:.55rem;padding-top:.5rem;border-top:1px solid #eef0f4}.kv-metric-info-learn{display:inline-flex;align-items:center;gap:.15rem;border:none;background:none;padding:0;color:#2f6fed;font-size:.78rem;font-weight:650;text-decoration:none;cursor:pointer}.kv-metric-info-learn:hover,.kv-metric-info-learn:focus-visible{text-decoration:underline;outline:none}.cgm-metric-value{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:#1c1c1c}.cgm-metric-meta{margin-top:.35rem;font-size:.78rem;color:#666;line-height:1.35}.cgm-metric-hint{margin-top:.3rem;font-size:.75rem;color:#7a7a7a;line-height:1.35}.cgm-confidence-badge{display:inline-block;margin-top:.45rem;padding:.18rem .5rem;border-radius:999px;font-size:.68rem;font-weight:650;letter-spacing:.02em;border:1px solid transparent}.cgm-confidence-good{color:#2f6b45;background:#eaf5ee;border-color:#d0e8d8}.cgm-confidence-info{color:#3b6b8f;background:#eef5fb;border-color:#d5e4f2}.cgm-confidence-warn{color:#8a6a2f;background:#faf4e8;border-color:#eeddb8}.cgm-confidence-crit{color:#8a4545;background:#faf0f0;border-color:#ebcfcf}.cgm-confidence-default{color:#666;background:#f3f3f1;border-color:#e4e4e0}.cgm-metric-good{border-color:#d0dcf5;background:#f3f7fd}.cgm-metrics-quality .cgm-metric-good{border-color:#d0e8d8;background:#f4faf6}.cgm-metric-warn{border-color:#f0e2c6;background:#fffaf0}.cgm-metric-crit{border-color:#f0d5d5;background:#fff6f6}.cgm-metric-info{border-color:#d7e4f2;background:#f5f9fd}.cgm-method-note{margin-top:.95rem;font-size:.8rem;color:#7a7a7a;line-height:1.45}.cgm-source-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.85rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid #f0f0f2}.cgm-source-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0}.cgm-provider-card{padding:.85rem 1rem;border-radius:14px;border:1px solid #ececf0;background:#fafafb}.cgm-source-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.cgm-provider-dot{width:.55rem;height:.55rem;border-radius:999px;background:#c8c8c8;flex-shrink:0}.cgm-provider-dot.cgm-status-active{background:#2f9d5c}.cgm-provider-dot.cgm-status-action_required,.cgm-provider-dot.cgm-status-error{background:#d94a4a}.cgm-provider-dot.cgm-status-paused,.cgm-provider-dot.cgm-status-disconnected{background:#e0893a}.cgm-provider-name{font-size:.95rem;font-weight:650;color:#1c1c1c;text-transform:capitalize}.cgm-source-meta{font-size:.82rem;color:#666;margin-top:.4rem;margin-left:1.1rem;display:grid;gap:.15rem;line-height:1.35}.cgm-status-pill{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.18rem .5rem;border-radius:999px;background:#f0f0f0;color:#555}.cgm-status-active{background:#e6f4ea;color:#1e6b3a}.cgm-status-action_required,.cgm-status-error{background:#fde8e8;color:#8a1f1f}.cgm-status-paused,.cgm-status-disconnected{background:#fff4df;color:#8a5a00}.garmin-lab-intro{margin:0 0 1rem}.garmin-availability{margin:0 0 .85rem;font-size:.9rem;color:#555}.garmin-coverage-table-wrap{overflow-x:auto;margin-top:.75rem}.garmin-coverage-table{width:100%;border-collapse:collapse;font-size:.78rem}.garmin-coverage-table th,.garmin-coverage-table td{text-align:left;padding:.55rem .45rem;border-bottom:1px solid #ececf0;vertical-align:top}.garmin-coverage-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#888;font-weight:650}.garmin-coverage-table code{font-size:.72rem;color:#2f6fed}@media(max-width:860px){.cgm-hero{grid-template-columns:1fr}.cgm-hero-glucose{font-size:3.25rem}.cgm-hero-meta{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cgm-range-pills{border-radius:14px}.cgm-hero-meta,.cgm-source-summary{grid-template-columns:1fr}.cgm-hero-glucose{font-size:2.85rem}.cgm-chart-tooltip{position:static;margin-top:.65rem;max-width:none}}@media(prefers-color-scheme:dark){.cgm-chart{background:#1c1e22;border-color:#2a2d33}.cgm-chart-plot{fill:#1c1e22}.cgm-chart-threshold{stroke:#3a3e46}.cgm-chart-axis{fill:#8b909a}.cgm-chart-tooltip{background:#1c1e22f5;border-color:#3a3e46;color:#c8ccd4;box-shadow:0 8px 24px #00000059}.cgm-tooltip-value{color:#f2f4f8}.cgm-tooltip-range{color:#6b9bff}}.motion-mode{font-weight:600;letter-spacing:.02em}.motion-mode--real{color:#2a9d6e}.motion-mode--test{color:#b45309}.motion-chart-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.motion-series-toggles{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.75rem}.motion-series-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;cursor:pointer}.motion-chart-wrap{position:relative}.motion-chart-wrap svg{display:block;max-width:100%;height:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.motion-chart-tooltip{margin-top:.5rem;font-size:.85rem;color:#334155;font-variant-numeric:tabular-nums}.timeline-shell{display:flex;flex-direction:column;gap:.6rem}.timeline-toolbar{display:flex;flex-direction:column;gap:.4rem}.timeline-toolbar__row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center}.timeline-toolbar__nav{display:flex;flex-wrap:wrap;gap:.4rem}.timeline-toolbar__window{font-size:.9rem;margin:0}.timeline-legend{padding:.4rem .55rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.timeline-legend__cursor{font-size:.85rem;margin-bottom:.35rem}.timeline-legend__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem .85rem;font-size:.85rem}.timeline-legend__item{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .4rem;max-width:100%}.timeline-legend__item.is-focused .timeline-legend__name{text-decoration:underline}.timeline-legend__toggle{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.timeline-legend__name{background:none;border:none;padding:0;font:inherit;font-weight:600;cursor:pointer}.timeline-legend__value{font-variant-numeric:tabular-nums;font-weight:600}.timeline-legend__badge{font-size:.75rem}.timeline-multi-chart{width:100%;min-height:480px;overflow:hidden}.timeline-multi-chart .uplot{max-width:100%}.timeline-multi-chart--selecting{cursor:crosshair}.timeline-multi-chart .u-select{background:#0ea5e91f;border-left:1px solid rgba(2,132,199,.55);border-right:1px solid rgba(2,132,199,.55)}.timeline-stacked{display:flex;flex-direction:column;gap:0;width:100%;border:1px solid #e2e8f0;border-radius:4px;background:#fff;overflow:hidden}.timeline-stacked--selecting{cursor:crosshair}.timeline-band{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid rgba(15,23,42,.06)}.timeline-band:last-child{border-bottom:none}.timeline-band__label{display:flex;align-items:baseline;gap:.45rem;padding:.2rem .55rem 0;font-size:.78rem;line-height:1.2}.timeline-band__name{font-weight:600}.timeline-band__plot{width:100%;overflow:hidden}.timeline-band__plot .uplot{max-width:100%}.timeline-band__plot .u-select{background:#0ea5e91f;border-left:1px solid rgba(2,132,199,.55);border-right:1px solid rgba(2,132,199,.55)}.timeline-data-details{font-size:.85rem}.timeline-data-details summary{cursor:pointer;color:#475569;-webkit-user-select:none;user-select:none}.timeline-data-details__body{margin-top:.4rem;padding:.5rem .65rem;border:1px solid #e2e8f0;border-radius:4px;background:#fafafa}.timeline-data-details__body p,.timeline-data-details__body ul{margin:.25rem 0}.timeline-selection-bar{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;padding:.55rem .75rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:4px}.timeline-selection-bar__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.9rem}.timeline-selection-bar__actions{display:flex;flex-wrap:wrap;gap:.4rem}.timeline-selection-panel{padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:4px;background:#fafafa}.timeline-selection-panel__title{margin:0 0 .35rem;font-size:1.05rem}.timeline-selection-panel section{margin-top:.65rem}.timeline-selection-panel h3{margin:0 0 .25rem;font-size:.95rem}.timeline-selection-panel ul{margin:0;padding-left:1.1rem;font-size:.9rem}@media(max-width:640px){.timeline-multi-chart{min-height:420px}}.pushup-view-all{margin-top:.75rem}.pushup-view-all summary{cursor:pointer;color:#2f6fed;font-size:.85rem;font-weight:600}.pushup-view-all>.garmin-coverage-table-wrap{margin-top:.75rem}.pushup-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:.75rem 0 1.25rem}.pushup-stat-tile{background:#fcfcfb;border:1px solid #e5e5e5;border-radius:10px;padding:.75rem .9rem}.pushup-stat-label{font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#898781}.pushup-stat-value{font-size:1.25rem;font-weight:600;color:#0b0b0b;margin-top:.2rem}.pushup-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:.5rem}.pushup-chart-block h3{font-size:.85rem;font-weight:600;color:#52514e;margin:0 0 .4rem}.pushup-chart{position:relative}.pushup-chart-svg{display:block;width:100%;height:auto}.pushup-chart-legend{display:flex;flex-wrap:wrap;gap:.5rem .9rem;font-size:.78rem;color:#52514e;margin-bottom:.4rem}.pushup-chart-legend-item{display:inline-flex;align-items:center;gap:.35rem}.pushup-chart-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.pushup-chart-gridline{stroke:#e1e0d9;stroke-width:1}.pushup-chart-axis-label{font-size:10px;fill:#898781}.pushup-chart-crosshair{stroke:#c3c2b7;stroke-width:1;pointer-events:none}.pushup-chart-tooltip{margin-top:.5rem;padding:.5rem .65rem;background:#fcfcfb;border:1px solid #e5e5e5;border-radius:8px;font-size:.8rem;color:#33322f;display:inline-flex;flex-direction:column;gap:.15rem}.pushup-chart-tooltip-label{font-weight:600;color:#0b0b0b;margin-bottom:.15rem}.pushup-chart-tooltip-row{display:flex;align-items:center;gap:.35rem}.face-breadcrumb{margin-bottom:.75rem;font-size:.9rem;color:#666}.face-breadcrumb a{text-decoration:underline;text-underline-offset:2px}.face-alert,.face-empty{margin-top:1rem;padding:1rem 1.1rem;border:1px solid #e5e5e5;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:.75rem;max-width:36rem}.face-alert-actions{display:flex;flex-wrap:wrap;gap:.5rem}.face-install-section{margin-top:1.5rem}.face-install-section h2{font-size:1.05rem;margin-bottom:.65rem}.face-install-list{list-style:none;display:flex;flex-direction:column;gap:.65rem}.face-install-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;border:1px solid #e5e5e5;border-radius:12px;background:#fff}.face-install-row--muted{opacity:.85;background:#f7f7f7}.face-install-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.face-install-title{font-weight:600}.face-install-meta{margin-top:.2rem;font-size:.9rem;color:#666}.face-configure-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.face-configuring{margin:0;padding:.55rem .75rem;border-radius:10px;background:#f0f0f0;font-size:.9rem}.face-editor-layout{display:grid;gap:1.25rem;margin-top:1.25rem}@media(min-width:900px){.face-editor-layout{grid-template-columns:minmax(16rem,20rem) minmax(0,1fr);align-items:start}}.face-preview{display:flex;flex-direction:column;gap:.5rem}.face-preview-caption{font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#666}.face-preview-bezel{width:min(100%,18rem);aspect-ratio:1;border-radius:50%;padding:.7rem;background:linear-gradient(160deg,#2c2c2c,#111);box-shadow:inset 0 0 0 1px #ffffff14}.face-preview-face{width:100%;height:100%;border-radius:50%;background:#0f1216;color:#f4f4f2;padding:1.1rem 1rem .9rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;overflow:hidden}.face-preview-time{font-size:1.55rem;font-weight:600;letter-spacing:.02em;line-height:1.1}.face-preview-date{font-size:.72rem;color:#b7b7b2;margin-bottom:.25rem}.face-preview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .55rem;width:100%;margin:.15rem 0 .35rem}.face-preview-metric{display:flex;flex-direction:column;gap:.05rem;min-width:0}.face-preview-metric-label{font-size:.58rem;color:#9a9a94;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.face-preview-metric-value{font-size:.85rem;font-weight:600}.face-preview-card,.face-preview-notification{width:100%;border-radius:8px;background:#ffffff14;padding:.35rem .5rem;font-size:.72rem;text-align:center}.face-preview-card--secondary{background:#ffffff0d}.face-preview-note{font-size:.8rem;color:#666;max-width:18rem}.face-config-form{display:flex;flex-direction:column;gap:1.1rem;padding:1rem;border:1px solid #e5e5e5;border-radius:12px;background:#fff}.face-config-section h2{font-size:.95rem;margin-bottom:.55rem}.face-config-hint{font-size:.8rem;color:#666;margin:-.3rem 0 .65rem}.face-config-fields{display:grid;gap:.55rem}@media(min-width:640px){.face-config-fields{grid-template-columns:1fr 1fr}}.face-field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.face-field select,.face-field input[type=checkbox]{accent-color:#1a1a1a}.face-field select{min-height:2.4rem;padding:.4rem .55rem;border:1px solid #d4d4d4;border-radius:8px;background:#fff}.face-field--toggle{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.face-fieldset{border:none;margin:.65rem 0 0;padding:0}.face-fieldset legend{font-size:.9rem;margin-bottom:.4rem}.face-radio-row{display:flex;flex-wrap:wrap;gap:.85rem}.face-radio{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}.face-save-bar{margin-top:1.1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.85rem;border-top:1px solid #e5e5e5}.face-save-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.face-save-status{font-size:.9rem;color:#555;display:flex;flex-direction:column;gap:.2rem}.face-save-error{color:#8a1f1f}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.application-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.application-description{flex:1 1 100%;margin:0;font-size:.9rem;color:var(--color-text-muted)}
