@charset "UTF-8";
:root{--bg:#101b24;--sidebar:#0d1720;--panel:#16232e;--panel-alt:#192833;--line:#2a3943;--line-soft:#22323e;--text:#f2f1e9;--muted:#95a7b3;--faint:#647b8a;--accent:#d5f877;--accent-dim:rgba(213,248,119,.09);--blue:#91bdde;--purple:#b1a4d6;--coral:#e9a596;--radius:13px;--shadow:0 18px 60px rgba(0,0,0,.18);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);font-size:14px;line-height:1.5;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);min-width:320px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,pre:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input:focus,select:focus{border-color:var(--accent)}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.03em}h2{font-size:18px;line-height:1.4}h3{font-size:15px}p{line-height:1.65}ul,ol{margin:0;padding:0}::selection{background:var(--accent);color:var(--sidebar)}[hidden]{display:none!important}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.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}.skip-link{position:fixed;left:16px;top:-80px;background:var(--accent);color:var(--sidebar);padding:12px 18px;z-index:100;border-radius:6px}.skip-link:focus{top:10px}.muted{color:var(--muted)}.muted-icon{color:var(--faint)}.eyebrow,.tiny-label{font-size:10px;font-weight:650;letter-spacing:.13em;color:var(--muted);line-height:1.4}.eyebrow{margin-bottom:7px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}.button .icon{width:16px;height:16px}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--accent);color:#182317;border-color:var(--accent)}.button.primary:hover:not(:disabled){background:#e0ff94}.button.secondary{background:transparent;border-color:var(--line);color:var(--text)}.button.secondary:hover:not(:disabled){background:var(--panel-alt);border-color:var(--faint)}.button.small{min-height:34px;padding:7px 11px;font-size:11px}.button.wide{width:100%;min-height:46px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:6px;flex-shrink:0}.icon-button:hover{color:var(--text);background:var(--panel-alt)}.text-button{display:inline-flex;align-items:center;gap:7px;padding:4px 0;color:var(--accent);font-size:11px;font-weight:550;background:transparent}.text-button .icon{width:15px;height:15px}.text-button:hover{color:#e8ffae}.status-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(213,248,119,.2)}.status-dot.neutral{background:var(--faint);box-shadow:none}.status-dot.warning{background:var(--coral);box-shadow:none}.status-dot.busy{background:var(--blue);animation:pulse 1.6s infinite}.status-pill{padding:4px 8px;border:1px solid rgba(213,248,119,.25);border-radius:4px;font-size:10px;letter-spacing:.015em;color:var(--accent);white-space:nowrap;background:var(--accent-dim)}.status-pill.neutral{background:rgba(149,167,179,.05);border-color:var(--line);color:var(--muted)}.status-pill.warning{background:rgba(233,165,150,.07);border-color:rgba(233,165,150,.25);color:var(--coral)}.status-pill.busy{color:var(--blue);border-color:rgba(145,189,222,.25);background:rgba(145,189,222,.07)}.notice{padding:14px 17px;border:1px solid var(--line);border-radius:7px;background:var(--panel-alt);color:var(--muted);font-size:12px;line-height:1.7}.notice.error{color:#f1b7ab;border-color:#6c413c;background:#30252a}.notice.success{color:var(--accent);border-color:rgba(213,248,119,.25);background:var(--accent-dim)}#global-notice{margin-bottom:20px}.loading-line{display:flex;align-items:center;gap:10px;padding:18px;color:var(--muted);font-size:12px}.spinner{width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;flex-shrink:0}.button[aria-busy=true]{opacity:.65}.button[aria-busy=true] .icon{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}
/* Persistent workspace */
.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:var(--sidebar);border-right:1px solid var(--line-soft);padding:33px 22px 25px;display:flex;flex-direction:column;z-index:25}.brand{display:flex;gap:11px;align-items:center;font-size:16px;font-weight:750;letter-spacing:-.035em;line-height:1.2}.brand-light{font-weight:350;margin-left:4px;color:#d8dfda}.brand small{display:block;color:var(--faint);font-size:5.9px;letter-spacing:.14em;font-weight:500;margin-top:6px}.brand-mark{display:flex;align-items:center;gap:4px;transform:skew(-21deg);width:28px;height:28px;margin-left:3px}.brand-mark i{height:27px;width:8px;background:var(--accent);border-radius:1px}.brand-mark i:last-child{height:19px;align-self:flex-end}.athlete{display:flex;align-items:center;gap:10px;margin:36px 0 32px;padding:15px 10px;border:1px solid var(--line-soft);border-radius:8px}.avatar{width:32px;height:32px;display:grid;place-items:center;background:#253641;color:#d2dfd3;font-size:13px;border:1px solid #405246;border-radius:50%;flex-shrink:0}.athlete strong{font-size:12px;font-weight:600}.athlete div>span{display:block;font-size:9px;color:var(--faint);margin-top:2px}.athlete-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:auto}.nav-label{display:block;font-size:8px;letter-spacing:.16em;font-weight:600;color:var(--faint);margin:0 12px 13px}.main-nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:11px;background:transparent;color:var(--muted);font-size:12px;font-weight:500;padding:12px;border-radius:6px;width:100%;text-align:left;min-height:44px;transition:background .15s,color .15s}.nav-item .icon{width:17px;height:17px}.nav-item:hover{background:rgba(255,255,255,.025);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--accent)}.nav-item.active i{height:5px;width:5px;border-radius:50%;background:var(--accent);margin-left:auto}.nav-divider{margin-top:34px;margin-bottom:9px}.sidebar-bottom{margin-top:auto;padding:40px 10px 0}.private-label{display:flex;align-items:center;gap:7px;color:var(--faint);font-size:7px;letter-spacing:.12em}.private-label .icon{width:12px;height:12px}.sidebar-bottom p{font-size:9px;color:var(--faint);line-height:1.8;margin-top:9px}.logout{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);background:transparent;margin-top:26px;padding:0}.logout .icon{width:14px;height:14px}.logout:hover{color:var(--text)}.workspace{margin-left:235px;width:calc(100% - 235px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px;padding:0 38px;border-bottom:1px solid var(--line-soft);background:var(--bg)}.breadcrumb{font-size:8px;letter-spacing:.14em;color:var(--faint)}.breadcrumb span{margin:0 13px;color:#405664}.breadcrumb strong{font-weight:550;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:20px}.today{font-size:10px;color:var(--muted)}.topbar-separator{height:18px;width:1px;background:var(--line)}.sync-control{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px;background:transparent;padding:7px 0}.sync-control .icon{width:13px;height:13px;margin-left:5px}.sync-control:hover{color:var(--text)}.top-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #3b4e42;background:#24352c;font-size:11px;color:#d9edc8}.main-content{padding:34px 38px 30px;max-width:1680px;margin:0 auto;outline:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading .eyebrow{font-size:9px;letter-spacing:.14em;color:var(--faint);margin-bottom:5px}.page-heading h1{font-size:34px;line-height:1.24;letter-spacing:-.045em;font-weight:600}.title-dot{color:var(--accent)}.page-description{font-size:11px;color:var(--muted);margin-top:7px}.heading-actions{display:flex;gap:9px;align-items:center}.compact-select{background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:11px;min-height:40px;padding:9px 30px 9px 12px;max-width:100%}.calibration-note{display:flex;align-items:center;gap:8px;background:rgba(145,189,222,.045);border:1px solid rgba(145,189,222,.15);color:var(--blue);padding:10px 12px;margin-bottom:24px;border-radius:6px;font-size:10px}.calibration-note .icon{width:14px;height:14px}.calibration-note button{background:transparent;color:var(--blue);font-size:10px;font-weight:600;margin-left:auto;padding:0}.calibration-note button span{margin-left:7px}.connect-banner{display:flex;align-items:center;gap:17px;padding:21px 22px;border:1px solid #3d4e3a;border-radius:var(--radius);background:linear-gradient(105deg,#1a2a2a 0%,#1a292e 60%,#1b2a2c 100%);margin-bottom:23px}.connect-visual{display:grid;place-items:center;width:47px;height:47px;border:1px solid #475d40;border-radius:11px;background:rgba(213,248,119,.04);color:var(--accent);flex-shrink:0}.connect-visual .icon{width:25px;height:25px}.connect-banner .tiny-label{font-size:7px;letter-spacing:.15em;color:var(--accent)}.connect-banner h2{font-size:15px;margin-top:4px;letter-spacing:-.02em}.connect-banner p{font-size:10px;color:var(--muted);margin-top:3px}.connect-banner>.button{margin-left:auto;min-height:38px;font-size:10px;padding:9px 13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.metric-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:19px 20px 18px;position:relative;overflow:hidden}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:500;color:#b6c3cc}.metric-label .icon{width:16px;height:16px;color:var(--faint)}.metric-value{font-size:38px;letter-spacing:-.045em;line-height:1.3;font-weight:550;margin-top:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.metric-value small{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:3px}.metric-caption{color:var(--faint);font-size:9px;margin-top:8px;min-height:14px;line-height:1.45}.metric-rule{height:2px;background:var(--accent);width:26px;position:absolute;bottom:0;left:20px;border-radius:2px}.metric-rule.blue{background:var(--blue)}.metric-rule.purple{background:var(--purple)}.metric-rule.coral{background:var(--coral)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:22px;margin-bottom:24px}.panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 23px 0}.panel-heading .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:5px;color:var(--faint)}.panel-heading h2{font-size:16px;letter-spacing:-.025em}.panel-tag,.version-tag{border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:7px;letter-spacing:.1em;padding:5px 7px;white-space:nowrap}.version-tag{font-size:8px;padding:8px 10px}.chart-legend{display:flex;align-items:center;gap:17px;padding:17px 23px 0;color:var(--muted);font-size:9px}.chart-legend>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dot{width:6px;height:6px;display:inline-block;border-radius:2px;flex-shrink:0}.dot.run{background:var(--accent)}.dot.bike{background:var(--blue)}.dot.swim{background:var(--purple)}.dot.coral{background:var(--coral)}.chart-legend .legend-unit{margin-left:auto;font-size:8px;color:var(--faint)}.chart-wrap{position:relative;width:100%;min-width:0}.volume-chart{height:233px;padding:22px 20px 8px}.chart-empty{position:absolute;inset:16px 24px 25px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px 15px;background:repeating-linear-gradient(to top,transparent 0px,transparent calc(25% - 1px),rgba(149,167,179,.06) calc(25% - 1px),rgba(149,167,179,.06) 25%);border-bottom:1px solid rgba(149,167,179,.07)}.empty-symbol{display:grid;place-items:center;width:34px;height:34px;color:var(--faint);background:#1b2a35;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.empty-symbol .icon{width:17px;height:17px}.chart-empty strong{font-size:11px;color:#bec9d1;font-weight:500}.chart-empty p{font-size:9px;color:var(--faint);margin-top:5px;max-width:300px;line-height:1.65}.chart-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 23px;border-top:1px solid var(--line-soft);font-size:8px;color:var(--faint);min-height:42px}.chart-footer>span:first-child{display:flex;align-items:center;gap:6px}.live-marker{width:4px;height:4px;border-radius:50%;background:var(--faint)}.disciplines-panel{display:flex;flex-direction:column}.sport-summary{padding:9px 23px 4px}.sport-row{display:flex;align-items:center;gap:11px;padding:17px 0;border-bottom:1px solid var(--line-soft)}.sport-row:last-child{border:0}.sport-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:8px;background:var(--accent-dim);color:var(--accent);flex-shrink:0}.sport-icon .icon{width:19px;height:19px}.sport-icon.bike{color:var(--blue);background:rgba(145,189,222,.08)}.sport-icon.swim{color:var(--purple);background:rgba(177,164,214,.08)}.sport-row-body{flex:1;min-width:0}.sport-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}.sport-row-head strong{font-weight:550}.sport-row-head>span{color:var(--text);font-size:14px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.sport-row-head small{font-size:9px;color:var(--muted)}.sport-row-meta{display:flex;justify-content:space-between;font-size:8px;color:var(--faint);margin-top:5px}.sport-bar{height:3px;width:100%;background:var(--line-soft);border-radius:2px;margin-top:8px;overflow:hidden}.sport-bar>i{display:block;background:var(--accent);height:100%;min-width:0;border-radius:2px}.sport-bar.bike>i{background:var(--blue)}.sport-bar.swim>i{background:var(--purple)}.discipline-note{display:flex;align-items:flex-start;gap:7px;margin:auto 23px 16px;padding-top:12px;font-size:8px;color:var(--faint)}.discipline-note .icon{width:12px;height:12px;margin-top:2px}.lower-grid{grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr)}.recent-panel .panel-heading{padding-bottom:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:190px;padding:28px 24px;text-align:center}.empty-state .empty-symbol{margin-bottom:8px}.empty-state strong{font-size:12px;font-weight:550;color:#c5d0d7}.empty-state p{font-size:10px;color:var(--faint);max-width:340px}.empty-state .text-button{margin-top:8px}.activity-row{display:flex;align-items:center;gap:11px;min-height:70px;margin:0 23px;border-bottom:1px solid var(--line-soft);padding:13px 0}.activity-row:last-child{border:0}.activity-main{min-width:0;flex:1}.activity-name{color:var(--text);font-weight:550;font-size:11px;background:transparent;padding:0;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.activity-name:hover{color:var(--accent)}.activity-meta{color:var(--faint);font-size:8px;margin-top:4px}.activity-stats{display:flex;gap:20px;text-align:right;font-size:12px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.activity-stats span>small{display:block;font-size:7px;color:var(--faint);margin-top:3px;letter-spacing:0}.activity-row>.icon{width:12px;height:12px;color:var(--faint);margin-left:4px}.insight-panel{position:relative;background:linear-gradient(140deg,#192830,#16242d)}.insight-icon{display:grid;place-items:center;background:var(--accent-dim);color:var(--accent);width:30px;height:30px;border-radius:7px;flex-shrink:0}.insight-icon .icon{width:16px;height:16px}#overview-insight{padding:25px 23px 8px}.insight-kicker{color:var(--accent);font-size:8px;letter-spacing:.11em;text-transform:uppercase}.insight-title{font-size:18px;letter-spacing:-.025em;line-height:1.45;margin:8px 0}.insight-copy{font-size:10px;line-height:1.85;color:var(--muted)}.insight-link{margin:10px 23px 22px;font-size:10px}.data-footnote{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--faint);font-size:8px;margin-top:8px}.data-footnote>span:first-child{display:flex;align-items:center;gap:6px}.data-footnote .icon{width:11px;height:11px}
/* Archive and source tables */
.table-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 23px;border-bottom:1px solid var(--line-soft)}.segmented{display:flex;gap:4px;flex-wrap:wrap}.segmented button{background:transparent;border:1px solid transparent;border-radius:5px;padding:7px 11px;color:var(--muted);font-size:10px}.segmented button.active{background:var(--accent-dim);color:var(--accent);border-color:rgba(213,248,119,.15)}.segmented button:hover{color:var(--text)}.search-input{display:flex;align-items:center;gap:7px;max-width:220px;width:100%;color:var(--faint)}.search-input .icon{width:15px;height:15px}.search-input input{width:100%;background:transparent;border:0;color:var(--text);padding:8px 0;font-size:10px;outline-offset:5px}.search-input input::placeholder{color:var(--faint)}.table-scroll{overflow-x:auto;width:100%;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.table-scroll table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:11px}.table-scroll th{font-weight:500;color:var(--faint);font-size:8px;letter-spacing:.045em;text-transform:uppercase;padding:15px 20px;border-bottom:1px solid var(--line-soft);background:rgba(13,23,32,.25)}.table-scroll td{padding:15px 20px;border-bottom:1px solid var(--line-soft);color:#bdcbd4;font-variant-numeric:tabular-nums}.table-scroll tbody tr:last-child td{border-bottom:0}.table-scroll tbody tr:hover{background:rgba(255,255,255,.018)}.table-scroll .table-activity{display:flex;align-items:center;gap:10px}.table-scroll .sport-icon{width:30px;height:30px;border-radius:6px}.table-scroll .sport-icon .icon{width:16px;height:16px}.table-scroll .activity-name{max-width:270px;font-size:11px}.table-scroll .activity-meta{margin-top:2px}.table-scroll th.number,.table-scroll td.number{text-align:right}.table-scroll .dash{color:var(--faint)}.pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line-soft);padding:17px 23px;color:var(--faint);font-size:10px}.pagination>div{display:flex;align-items:center;gap:14px}.pagination>div>span{font-size:9px}.data-toolbar{display:flex;align-items:flex-end;gap:14px;padding:23px}.dataset-field{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}.dataset-field label{font-size:10px;color:var(--muted)}.dataset-field select{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--bg);font-size:11px}.dataset-field.limit-field{max-width:130px;flex:0 0 130px}.data-toolbar>.button{min-height:40px;font-size:11px}.dataset-description{padding:0 23px 17px;color:var(--faint);font-size:10px}.dataset-description:empty{display:none}.data-table{max-height:65vh;border-top:1px solid var(--line-soft)}.data-table th{position:sticky;top:0;background:#13212b;z-index:1;text-transform:none;font-size:10px}.data-table td{font-size:10px;max-width:300px;white-space:normal;word-break:break-word;vertical-align:top;padding:12px 20px}.data-table td.cell-null{color:var(--faint);font-style:italic}.data-table td.cell-json{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-width:200px}.data-table .empty-state{white-space:normal}.data-footnote>.icon{margin-right:3px}
/* Progress and wellness */
.progress-banner{display:flex;align-items:center;gap:30px;padding:28px;margin-bottom:24px;background:linear-gradient(110deg,#1a2a2d,#17242e)}.progress-result{min-width:130px;text-align:center;border-right:1px solid var(--line);padding-right:30px}.progress-result-value{font-size:45px;line-height:1.25;color:var(--accent);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.progress-result-label{font-size:9px;color:var(--muted);margin-top:5px}.progress-result-copy h2{font-size:20px}.progress-result-copy p{font-size:11px;color:var(--muted);margin-top:7px;max-width:680px}.progress-result-copy .status-pill{display:inline-block;margin-top:12px}.progress-chart{height:280px;padding:24px 23px 12px}.panel-footnote{font-size:9px;color:var(--faint);padding:12px 23px 18px;border-top:1px solid var(--line-soft)}.comparison-details{padding:20px 23px}.comparison-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:10px;color:var(--muted)}.comparison-row:last-child{border-bottom:0}.comparison-row strong{font-weight:550;color:var(--text);text-align:right}.comparison-row span{font-size:9px;color:var(--faint)}.comparison-details p{font-size:10px;color:var(--faint);margin-top:14px}.method-panel{margin-top:4px}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:25px 23px}.method-item .tiny-label{color:var(--accent);font-size:8px}.method-item h3{font-size:12px;margin:7px 0}.method-item p{font-size:10px;color:var(--muted);line-height:1.85}.source-details{margin:0 23px 20px;border-top:1px solid var(--line);padding-top:16px}.source-details summary,.raw-details summary{font-size:10px;color:var(--muted);cursor:pointer;list-style-position:outside;margin-left:12px}.source-list{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}.source-chip{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:5px 8px;font-size:9px;color:var(--blue)}.source-list p{color:var(--faint);font-size:10px}#wellness-status{margin-bottom:20px}.wellness-chart{height:300px;padding:23px 23px 10px}.wellness-sources{margin-top:24px}.wellness-dataset-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:22px}.dataset-tile{border:1px solid var(--line);border-radius:7px;background:transparent;padding:14px;text-align:left;transition:background .15s}.dataset-tile:hover{background:var(--panel-alt)}.dataset-tile strong{display:block;font-size:11px;font-weight:550;word-break:break-word}.dataset-tile span{font-size:9px;color:var(--faint);display:block;margin-top:5px}.wellness-empty{min-height:120px}
/* Settings and forms */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.settings-panel{padding:23px}.settings-panel .panel-heading{padding:0;align-items:flex-start}.settings-panel .eyebrow{font-size:8px}.settings-panel h2{font-size:17px}.settings-description{font-size:10px;color:var(--muted);line-height:1.9;margin:15px 0 19px}.settings-panel label{font-size:10px;color:#bcc8d0;display:block;font-weight:500}.settings-panel label>span{font-size:8px;color:var(--faint);font-weight:400;margin-left:4px}input{min-height:42px;background:#111e28;border:1px solid var(--line);border-radius:5px;padding:10px 12px;color:var(--text);font-size:12px;min-width:0;transition:border-color .15s}input::placeholder{color:#607785}input[type=date]{font-size:11px}input[readonly]{color:var(--muted);background:#111d26;cursor:text}input:user-invalid{border-color:var(--coral)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px;margin:19px 0 22px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.full-width{grid-column:1/-1}.field-help{font-size:9px;color:var(--faint);line-height:1.8;margin:0}.field-help strong{color:var(--muted);font-weight:500}.inline-icon{width:11px;height:11px;vertical-align:-2px;margin-right:4px}.form-stack{display:flex;flex-direction:column;gap:9px}.form-stack label:not(:first-child){margin-top:7px}.form-stack>.button{margin-top:10px}.form-stack .notice{margin-bottom:10px}.form-stack>.field-help{margin-top:1px}.inline-status{font-size:10px;color:var(--muted);line-height:1.8}.inline-status:empty{display:none}.inline-status.confirmed{color:var(--accent)}.inline-status.unconfirmed{color:var(--coral)}.settings-panel .notice{margin:15px 0}.settings-panel form>.button{font-size:10px;min-height:40px}.private-badge{display:flex;gap:7px;align-items:center;font-size:8px;letter-spacing:.1em;color:var(--faint)}.private-badge .icon{width:14px;height:14px}.history-field{border-bottom:1px solid var(--line-soft);padding-bottom:18px;margin-bottom:20px}.history-input{margin:7px 0}.history-input input{flex:1}.history-input .button{min-height:40px}.history-field .field-help{font-size:8px}.input-action{display:flex;align-items:center;gap:8px;min-width:0}.input-action input{width:100%;flex:1}.input-action .icon-button{height:42px;width:42px}#mcp-url{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}#garmin-message{margin-top:15px}.sync-details:not(:empty){margin-top:20px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:6px;background:rgba(13,23,32,.18)}.sync-detail-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:9px;color:var(--faint)}.sync-detail-row strong{font-weight:500;color:var(--muted);text-align:right}.connected-detail{display:flex;align-items:center;gap:11px;margin:8px 0 20px}.connected-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid #3f563d;color:var(--accent);border-radius:50%;background:var(--accent-dim)}.connected-icon .icon{width:17px;height:17px}.connected-detail strong{font-size:12px;font-weight:550}.connected-detail p{font-size:9px;margin-top:3px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row .button{font-size:10px;min-height:39px}.chatgpt-panel>label{margin-bottom:8px}.connection-steps{list-style:none;margin-top:22px}.connection-steps li{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.connection-steps li>span{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;color:var(--accent);font-size:9px}.connection-steps p{font-size:9px;color:var(--muted);line-height:1.85;margin-top:1px}.snapshot-callout{display:flex;align-items:center;gap:12px;padding:15px 13px;background:rgba(213,248,119,.035);border:1px solid #344332;border-radius:7px;margin-top:23px}.snapshot-callout>.icon{color:var(--accent);width:22px;height:22px}.snapshot-callout>div{flex:1}.snapshot-callout strong{font-size:10px;font-weight:550;display:block}.snapshot-callout p{font-size:8px;color:var(--faint);margin-top:3px}.snapshot-callout .button{font-size:9px;padding:7px 9px}.export-list{display:flex;flex-direction:column}.export-list>a{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line-soft)}.export-list>a:last-child{border-bottom:0;padding-bottom:6px}.export-list>a:hover strong{color:var(--accent)}.export-file{display:grid;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:600;width:35px;height:40px;flex-shrink:0;border:1px solid var(--line);background:#12202a;border-radius:5px;color:var(--muted)}.export-list>a>div{flex:1}.export-list strong{font-size:11px;font-weight:550}.export-list div>span{display:block;font-size:9px;color:var(--faint);margin-top:2px}.export-list .icon{color:var(--faint);height:16px;width:16px}.client-row{font-size:9px;color:var(--muted);border-top:1px solid var(--line-soft);padding:10px 0}
/* Authentication */
.auth-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 20px;background:radial-gradient(ellipse at 50% 10%,#1c2c35 0%,var(--bg) 60%)}.auth-brand{margin-bottom:36px;transform:scale(1.07)}.auth-panel{width:100%;max-width:450px;padding:32px 34px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-kicker{display:flex;align-items:center;gap:7px;font-size:7px;letter-spacing:.13em;color:var(--muted);margin-bottom:15px}.auth-panel h1{font-size:28px;letter-spacing:-.04em}.auth-panel>#auth-description{font-size:11px;line-height:1.85;margin-top:10px;margin-bottom:24px}.auth-panel label{font-size:10px;color:#c0cdd5}.auth-panel .notice{font-size:10px;margin-bottom:19px}.auth-panel .form-stack{gap:10px}.auth-panel .button{font-size:11px;margin-top:15px}.auth-panel .loading-line{padding:10px 0 15px}.auth-foot{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:8px;color:var(--faint);display:flex;justify-content:center;gap:6px;align-items:center}.auth-foot .icon{width:12px;height:12px}.auth-bottom{font-size:7px;letter-spacing:.16em;color:var(--faint);margin-top:28px}.code-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:21px;letter-spacing:.35em;min-height:48px}.code-input::placeholder{opacity:.45}.setup-step{display:flex;align-items:center;gap:8px;margin:14px 0 3px}.setup-step:first-child{margin-top:0}.setup-step>span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;color:var(--accent);background:var(--accent-dim);border:1px solid #3d513b;border-radius:4px;padding:3px 5px}.setup-step h2{font-size:12px;letter-spacing:0}.secret-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px!important;letter-spacing:.04em;padding:11px 9px}
/* Detail drawer */
.activity-dialog{width:min(1060px,calc(100vw - 48px));max-height:calc(100dvh - 48px);border:1px solid #3b4b56;border-radius:14px;background:var(--bg);color:var(--text);padding:27px 30px 22px;box-shadow:0 30px 100px rgba(0,0,0,.5);scrollbar-width:thin;scrollbar-color:var(--line) transparent}.activity-dialog::backdrop{background:rgba(5,11,16,.78);backdrop-filter:blur(5px)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:23px}.detail-header h2{font-size:26px;line-height:1.25;overflow-wrap:anywhere}.detail-header p.muted{font-size:10px;margin-top:7px}.detail-header .eyebrow{font-size:8px;color:var(--accent);margin-bottom:7px}.detail-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:21px}.detail-metric{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:14px 12px}.detail-metric-label{font-size:8px;color:var(--faint)}.detail-metric-value{font-size:22px;color:var(--text);margin-top:5px;letter-spacing:-.035em;white-space:nowrap}.detail-metric-unit{font-size:8px;color:var(--muted);margin-top:3px}.detail-brief{padding:16px 19px;border:1px solid #36483b;background:rgba(213,248,119,.035);border-radius:8px;margin-bottom:26px}.detail-brief h3{font-size:12px;letter-spacing:-.01em;color:var(--accent)}.detail-brief p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:6px}.detail-brief .brief-meta{font-size:8px;color:var(--faint)}.detail-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-chart-heading h3{font-size:13px}.detail-chart-heading .chart-legend{padding:0;font-size:8px;gap:12px}.detail-chart{height:280px;padding-top:20px;margin-bottom:25px}.detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin:18px 0 30px}.detail-columns h3,.detail-laps h3{font-size:12px;margin-bottom:15px}.zone-row{display:flex;align-items:center;gap:9px;margin:10px 0;font-size:9px}.zone-name{min-width:48px;color:var(--muted)}.zone-track{height:7px;background:var(--line-soft);border-radius:3px;flex:1;overflow:hidden}.zone-track>i{height:100%;display:block;background:var(--accent);border-radius:3px}.zone-value{width:72px;text-align:right;font-variant-numeric:tabular-nums;color:var(--faint);font-size:8px}.quality-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;padding:7px 0;border-bottom:1px solid var(--line-soft);color:var(--muted)}.quality-row strong{font-weight:500;color:var(--text)}.detail-quality-note{font-size:9px;color:var(--faint);margin-top:11px;line-height:1.8}.detail-laps{margin-bottom:25px}.detail-laps .table-scroll{border:1px solid var(--line);border-radius:6px}.detail-laps th{font-size:8px;padding:11px 14px}.detail-laps td{font-size:10px;padding:11px 14px}.raw-details{border:1px solid var(--line);border-radius:7px;padding:14px 17px}.raw-details select{margin:15px 0 0;background:var(--panel);border:1px solid var(--line);padding:7px 9px;border-radius:5px;font-size:10px;color:var(--muted)}.raw-details pre{max-height:350px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;padding:15px;background:#0d1720;border-radius:5px;line-height:1.8}.detail-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px;font-size:8px}.detail-footer .button{font-size:10px;min-height:36px}.toast{position:fixed;bottom:25px;right:28px;padding:13px 18px;background:#293d2c;border:1px solid #557145;border-radius:8px;color:var(--accent);font-size:11px;z-index:100;box-shadow:var(--shadow);max-width:calc(100vw - 40px)}
@media(min-width:1700px){.main-content{padding-top:42px}.metric-card{padding:23px}.metric-value{font-size:43px}.panel-heading{padding-top:26px}.volume-chart{height:270px}.sport-row{padding:21px 0}.page-heading h1{font-size:38px}}
@media(max-width:1250px){.sidebar{width:205px;padding-left:16px;padding-right:16px}.brand{font-size:14px;gap:8px}.brand small{font-size:5.2px}.brand-mark{width:24px}.workspace{margin-left:205px;width:calc(100% - 205px)}.topbar{padding:0 27px}.main-content{padding:28px 27px}.today{display:none}.dashboard-grid,.lower-grid{gap:16px;grid-template-columns:minmax(0,1.65fr) minmax(255px,1fr)}.metric-grid{gap:12px}.metric-card{padding:17px}.metric-value{font-size:33px}.metric-value small{font-size:10px}.metric-caption{font-size:8px}.panel-heading{padding:20px 19px 0}.panel-heading h2{font-size:14px}.chart-legend{padding-left:19px;padding-right:19px;gap:12px}.chart-legend .legend-unit{display:none}.sport-summary{padding-left:19px;padding-right:19px}.discipline-note{margin-left:19px;margin-right:19px}.connect-banner{gap:13px;padding:19px}.connect-banner h2{font-size:13px}.connect-banner p{font-size:9px}.connect-banner>.button{font-size:9px;padding:9px 10px}.connect-visual{width:40px;height:40px}.settings-grid{gap:17px}.settings-panel{padding:20px}.snapshot-callout{gap:9px;flex-wrap:wrap}.snapshot-callout>.button{margin-left:32px}.activity-stats{gap:13px}.activity-row{margin-left:19px;margin-right:19px}.activity-name{font-size:10px}#overview-insight{padding-left:19px;padding-right:19px}.insight-title{font-size:16px}.insight-link{margin-left:19px}.topbar-right{gap:16px}}
@media(max-width:1050px){.sidebar{width:78px;padding:28px 12px 22px;align-items:center}.sidebar .brand>span:last-child,.athlete,.sidebar>.nav-label,.nav-item>span,.nav-item>i,.nav-divider,.sidebar-bottom p,.private-label{display:none}.sidebar .brand{margin-bottom:48px}.brand-mark{margin:0;gap:4px}.main-nav{width:100%;gap:8px}.nav-item{width:46px;height:46px;padding:13px;justify-content:center}.nav-item .icon{width:19px;height:19px}.sidebar-bottom{padding:0;margin-top:auto}.logout{font-size:0;margin:0;min-width:42px;min-height:42px;justify-content:center}.logout .icon{height:19px;width:19px}.workspace{margin-left:78px;width:calc(100% - 78px)}.page-heading h1{font-size:31px}.page-heading .eyebrow{font-size:8px}.page-description{font-size:10px}.heading-actions{gap:7px}.heading-actions .button{font-size:10px}.compact-select{font-size:10px}.connect-banner .tiny-label{font-size:6px}.dashboard-grid,.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr)}.detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.wellness-dataset-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.main-content{padding:26px 22px}.topbar{height:65px;padding:0 22px}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.disciplines-panel .sport-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding-bottom:13px}.sport-row{border-bottom:0;gap:8px}.sport-row-head{flex-direction:column;align-items:flex-start;gap:4px}.sport-row-meta{font-size:7px;gap:3px;flex-wrap:wrap}.sport-row-head>span{font-size:14px}.sport-icon{height:30px;width:30px}.discipline-note{font-size:8px;border-top:1px solid var(--line-soft);padding-top:12px}.volume-chart{height:250px}.lower-grid .insight-panel .panel-heading{padding-top:20px}#overview-insight{padding-top:19px;padding-bottom:0}.insight-title{font-size:18px}.insight-link{margin-top:15px}.metric-grid{gap:10px}.metric-card{padding:15px 13px}.metric-label{font-size:9px}.metric-label .icon{width:13px;height:13px}.metric-value{font-size:29px;margin-top:11px}.metric-value small{font-size:8px}.metric-caption{font-size:7px;line-height:1.7}.metric-rule{left:13px}.connect-banner{flex-wrap:wrap;column-gap:12px;row-gap:13px}.connect-banner>div:nth-child(2){flex:1}.connect-banner>.button{margin-left:52px}.settings-grid{grid-template-columns:1fr}.settings-panel{padding:24px}.settings-panel h2{font-size:18px}.settings-description,.connection-steps p{font-size:11px}.settings-panel label{font-size:11px}.field-help{font-size:10px}.snapshot-callout{flex-wrap:nowrap}.snapshot-callout>.button{margin-left:0}.method-grid{gap:18px}.method-item p{font-size:9px}.data-footnote{font-size:7px}.table-toolbar{padding:17px;gap:8px}.segmented{gap:0}.segmented button{font-size:9px;padding:7px 8px}.search-input{max-width:175px}.table-scroll td{padding-left:17px;padding-right:17px}.page-heading>.version-tag{display:none}.progress-banner{gap:20px}.progress-result{padding-right:20px}.progress-result-copy h2{font-size:17px}.progress-result-copy p{font-size:10px}.snapshot-callout p{font-size:9px}}
@media(max-width:640px){.sidebar{position:fixed;inset:auto 0 0 0;width:100%;height:68px;display:block;background:#101d27;padding:0;border-right:0;border-top:1px solid #33424a;padding-bottom:env(safe-area-inset-bottom);z-index:30}.sidebar>.brand,.sidebar-bottom{display:none}.main-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;height:100%}.nav-item{width:100%;height:67px;min-height:0;border-radius:0;display:flex;flex-direction:column;gap:5px;padding:12px 1px 8px;font-size:7px;position:relative}.nav-item>span{display:block;font-size:7px;letter-spacing:-.015em;white-space:nowrap}.nav-item .icon{width:19px;height:19px}.nav-item.active{background:transparent}.nav-item.active:before{content:"";position:absolute;top:0;height:2px;background:var(--accent);width:29px;border-radius:0 0 2px 2px}.workspace{margin-left:0;width:100%;padding-bottom:68px}.topbar{height:57px;padding:0 18px}.breadcrumb{font-size:7px;letter-spacing:.08em}.breadcrumb span{margin:0 8px}.topbar-right{gap:12px}.topbar-separator{display:none}.sync-control{font-size:8px;gap:5px}.sync-control .icon{height:12px;width:12px;margin-left:2px}.top-avatar{display:none}.main-content{padding:24px 17px}.page-heading{gap:17px;align-items:flex-start;margin-bottom:21px;flex-wrap:wrap}.page-heading h1{font-size:31px}.page-description{font-size:10px;margin-top:7px;max-width:290px;line-height:1.7}.page-heading .eyebrow{font-size:7px;letter-spacing:.12em;margin-bottom:6px}.heading-actions{width:100%;justify-content:space-between;gap:10px}.heading-actions>.compact-select{flex:1}.heading-actions .button{font-size:10px;min-height:39px;flex:1}.compact-select{min-height:39px}.connect-banner{margin-bottom:18px;padding:17px 16px;gap:13px}.connect-visual{width:35px;height:35px;border-radius:8px}.connect-visual .icon{width:21px;height:21px}.connect-banner .tiny-label{font-size:6px;letter-spacing:.12em}.connect-banner h2{font-size:12px;line-height:1.55;margin-top:3px}.connect-banner p{font-size:9px;line-height:1.75;margin-top:4px}.connect-banner>.button{margin-left:48px;min-height:35px;font-size:9px}.calibration-note{font-size:8px;line-height:1.7;align-items:flex-start;padding:11px;margin-bottom:21px;gap:7px;flex-wrap:wrap}.calibration-note>span{flex:1;min-width:200px}.calibration-note button{font-size:8px;margin-left:21px}.calibration-note .icon{margin-top:1px;width:13px;height:13px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:18px}.metric-card{padding:16px 17px 17px}.metric-label{font-size:10px}.metric-label .icon{width:14px;height:14px}.metric-value{font-size:35px;margin-top:9px}.metric-value small{font-size:10px}.metric-caption{font-size:8px;margin-top:5px;min-height:14px}.metric-rule{left:17px}.dashboard-grid,.lower-grid{gap:18px;margin-bottom:18px}.panel{border-radius:10px}.panel-heading{padding:19px 18px 0;gap:10px}.panel-heading .eyebrow{font-size:7px}.panel-heading h2{font-size:15px}.panel-tag{font-size:6px;padding:4px 5px}.chart-legend{padding:16px 18px 0;gap:15px;font-size:8px}.volume-chart{height:230px;padding:20px 12px 7px}.chart-empty{inset:15px 18px 24px;padding:25px 10px}.chart-empty strong{font-size:10px}.chart-empty p{font-size:8px;max-width:250px}.chart-footer{padding:11px 18px;font-size:7px;min-height:37px}.disciplines-panel .sport-summary{gap:14px;padding:9px 18px 13px}.sport-row{flex-direction:column;align-items:stretch;gap:9px;padding:15px 0 0}.sport-icon{width:30px;height:30px;border-radius:6px}.sport-row-head strong{font-size:9px}.sport-row-head{gap:5px}.sport-row-head>span{font-size:17px}.sport-row-head small{font-size:8px}.sport-row-meta{font-size:7px;margin-top:6px;gap:5px}.sport-bar{margin-top:8px;height:3px}.discipline-note{margin:3px 18px 16px;padding-top:12px;font-size:8px}.activity-row{margin-left:18px;margin-right:18px;gap:9px;min-height:76px}.activity-row .sport-icon{width:32px;height:32px}.activity-name{font-size:10px}.activity-meta{font-size:7px;line-height:1.7}.activity-stats{gap:13px;font-size:11px}.activity-stats>span:nth-child(2){display:none}.activity-stats small{font-size:7px}.activity-row>.icon{width:11px;height:11px;margin-left:0}.recent-panel .text-button{font-size:9px;white-space:nowrap}.recent-panel .text-button .icon{width:12px}.insight-title{font-size:19px}#overview-insight{padding:23px 18px 5px}.insight-copy{font-size:10px}.insight-link{margin-left:18px;margin-bottom:20px;font-size:10px}.data-footnote{align-items:flex-start;gap:12px;flex-direction:column;font-size:7px;line-height:1.7;margin-top:22px}.data-footnote>span:first-child{gap:5px}.page-heading>.button{font-size:10px;min-height:38px}.page-heading>.private-badge{display:none}.table-toolbar{align-items:stretch;flex-direction:column;padding:17px 15px;gap:14px}.segmented{gap:5px;justify-content:space-between}.segmented button{font-size:10px;padding:7px 10px;flex:1}.search-input{max-width:100%;border-top:1px solid var(--line-soft);padding-top:10px}.search-input input{font-size:10px}.pagination{padding:15px;gap:8px;font-size:8px}.pagination>div{gap:8px}.pagination>div>span{font-size:8px}.pagination .button{font-size:8px;padding:7px 9px;min-height:32px}.pagination .button .icon{width:11px;height:11px}.table-scroll th{padding:12px 15px;font-size:7px}.table-scroll td{padding:14px 15px;font-size:10px}.table-scroll .activity-name{max-width:180px;font-size:10px}.table-scroll .activity-meta{font-size:7px}.progress-banner{padding:22px 18px;gap:18px;align-items:flex-start}.progress-result{min-width:71px;max-width:80px;padding-right:15px}.progress-result-value{font-size:34px}.progress-result-label{font-size:7px;line-height:1.7}.progress-result-copy h2{font-size:16px}.progress-result-copy p{font-size:9px;line-height:1.8}.progress-result-copy .status-pill{font-size:8px}.progress-chart{height:245px;padding:19px 16px 9px}.panel-footnote{font-size:8px;padding:12px 18px}.comparison-details{padding:14px 18px}.comparison-row{font-size:10px}.comparison-row span{font-size:9px}.method-grid{grid-template-columns:1fr;gap:23px;padding:24px 18px}.method-item p{font-size:10px}.method-item h3{font-size:12px;margin:6px 0}.source-details{margin-left:18px;margin-right:18px}.source-details summary{font-size:9px}.wellness-chart{height:250px;padding:18px 16px 10px}.wellness-dataset-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:9px}.dataset-tile{padding:12px}.dataset-tile strong{font-size:10px}.dataset-tile span{font-size:8px}#wellness-status{font-size:10px;padding:13px 15px}.wellness-sources{margin-top:18px}.data-toolbar{padding:18px;flex-wrap:wrap;gap:14px}.dataset-field{flex-basis:100%}.dataset-field.limit-field{max-width:100%;flex:1}.data-toolbar>.button{flex:1;font-size:10px;min-height:39px}.data-toolbar label{font-size:9px}.dataset-description{font-size:9px;padding-left:18px;padding-right:18px}.data-table{max-height:60vh}.data-table td{font-size:9px;min-width:110px}.data-table th{font-size:9px}.settings-grid{gap:18px}.settings-panel{padding:21px 18px}.settings-panel h2{font-size:17px}.settings-panel .panel-heading{gap:8px}.settings-panel .status-pill{font-size:8px}.settings-description{font-size:10px;margin-top:14px;line-height:1.85}.settings-panel label{font-size:10px}.settings-panel label>span{font-size:7px;display:block;margin-left:0;margin-top:2px}.form-grid{gap:15px 12px}.field input{font-size:12px;padding:10px}.form-grid .field-help{font-size:8px}.settings-panel form>.button{font-size:10px;min-height:42px}.history-field .field-help{font-size:8px}.connection-steps p{font-size:9px}.snapshot-callout{flex-wrap:wrap;gap:11px;padding:14px 12px}.snapshot-callout>div{min-width:185px}.snapshot-callout strong{font-size:10px}.snapshot-callout p{font-size:8px}.snapshot-callout>.button{margin-left:33px}.export-list strong{font-size:10px}.export-list div>span{font-size:8px}.auth-screen{padding:31px 17px;justify-content:flex-start}.auth-brand{margin:11px 0 29px;transform:scale(.96)}.auth-panel{padding:26px 23px;max-width:420px}.auth-panel h1{font-size:26px}.auth-panel>#auth-description{font-size:10px}.auth-panel label{font-size:10px}.auth-panel input{font-size:13px}.auth-panel .code-input{font-size:22px}.auth-panel .field-help{font-size:9px}.auth-bottom{font-size:6px;margin-top:24px}.auth-panel .button{font-size:10px}.secret-input{font-size:9px!important;letter-spacing:.02em}.activity-dialog{width:100%;max-width:none;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0;padding:23px 18px}.detail-header{gap:15px;margin-bottom:21px}.detail-header h2{font-size:23px}.detail-header p.muted{font-size:9px;line-height:1.8}.detail-header .icon-button{height:34px;width:34px}.detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:18px}.detail-metric{padding:12px 9px}.detail-metric-value{font-size:23px}.detail-metric-label{font-size:7px}.detail-metric-unit{font-size:7px}.detail-brief{padding:15px;margin-bottom:23px}.detail-brief p{font-size:9px}.detail-brief h3{font-size:11px}.detail-chart-heading{align-items:flex-start}.detail-chart-heading h3{font-size:12px}.detail-chart-heading .chart-legend{font-size:7px;gap:9px;padding-top:3px}.detail-chart{height:250px;margin-bottom:20px}.detail-columns{grid-template-columns:1fr;gap:25px;margin-bottom:25px}.zone-row{margin:14px 0}.detail-footer{font-size:7px;align-items:flex-start;gap:10px}.detail-footer>.muted{max-width:190px;line-height:1.8}.detail-footer>.button{font-size:9px;min-height:35px;flex-shrink:0}.raw-details{padding:14px}.raw-details pre{font-size:8px}.toast{bottom:84px;right:17px;left:17px;max-width:none;text-align:center;font-size:10px}.empty-state{min-height:185px;padding:26px 19px}.empty-state strong{font-size:11px}.empty-state p{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.wellness-metric{text-align:left;width:100%;color:inherit;transition:border-color .15s,background .15s}.wellness-metric:hover{border-color:#52674a;background:#192933}.wellness-metric.selected{border-color:#4a623d}.wellness-metric .metric-value{font-size:32px}.wellness-metric .metric-value small{font-size:10px}.wellness-metric .metric-caption{min-height:26px;font-size:8px;line-height:1.8}.wellness-state{font-size:7px;color:var(--faint);line-height:1.65;min-height:24px}.metric-sparkline{height:38px;position:relative;margin-top:8px}.empty-sparkline{border-bottom:1px dashed var(--line);height:30px;display:flex;align-items:center;justify-content:center}.empty-sparkline canvas{display:none}.empty-sparkline span{font-size:7px;color:var(--faint)}.wellness-comparison{padding:19px 22px;border:1px solid var(--line);border-radius:8px;background:var(--panel);margin-top:18px}.wellness-comparison:empty{display:none}.wellness-comparison h3{font-size:12px;margin-bottom:7px}.wellness-comparison p{color:var(--muted);font-size:10px;line-height:1.9}.wellness-comparison .wellness-limitations{font-size:9px;color:var(--faint);margin-top:6px}.detail-elevation{border-top:1px solid var(--line-soft);padding-top:19px;margin-bottom:24px}.detail-elevation h3{font-size:12px}.elevation-chart{height:155px;padding-top:17px}.sync-datasets{margin-top:13px;border-top:1px solid var(--line);padding-top:12px}.sync-datasets summary{color:var(--muted);font-size:9px;cursor:pointer}.sync-datasets .sync-detail-row{margin-top:7px}.sync-datasets .sync-detail-row>span{word-break:break-word;min-width:0;max-width:55%}.sync-error{font-size:9px;color:var(--coral);line-height:1.8;margin-top:9px}
@media(max-width:1250px){.wellness-metric .metric-value{font-size:28px}.wellness-metric .metric-value small{font-size:8px}}
@media(max-width:640px){.wellness-metric .metric-value{font-size:31px}.wellness-metric .metric-value small{font-size:9px}.wellness-metric .metric-caption{min-height:27px;font-size:7px}.wellness-state{font-size:7px}.metric-sparkline{height:31px}.wellness-comparison{padding:17px}.wellness-comparison p{font-size:9px}.wellness-comparison h3{font-size:11px}.elevation-chart{height:135px}}

.connection-steps a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.connection-steps strong{font-weight:550;color:#c0cdd5}
/* Shared styling for the server-rendered, explicit OAuth consent screen. */
body>main:has(form[action$="/oauth/consent"]){width:calc(100% - 36px);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}body>main:has(form[action$="/oauth/consent"])>p{font-size:12px;color:var(--muted);line-height:1.9;margin:18px 0}body>main:has(form[action$="/oauth/consent"])>p:first-child{font-size:8px;color:var(--accent);letter-spacing:.13em;margin-top:0}body>main:has(form[action$="/oauth/consent"]) h1{font-size:29px;line-height:1.25;letter-spacing:-.04em}body>main:has(form[action$="/oauth/consent"]) strong{font-weight:550;color:var(--text)}form[action$="/oauth/consent"]{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}form[action$="/oauth/consent"] button{min-height:44px;padding:11px 16px;border-radius:6px;font-size:12px;font-weight:550;border:1px solid var(--line);background:transparent}form[action$="/oauth/consent"] button[value=yes]{background:var(--accent);color:#182317;border-color:var(--accent)}

.vo2max-panel{margin-bottom:24px}.detail-vo2max{grid-column:1/-1;display:flex;align-items:center;gap:25px;border-color:rgba(145,189,222,.3)}.detail-vo2max>div:first-child{min-width:130px}.vo2max-explanation{font-size:11px;line-height:1.7;color:var(--muted)}.vo2max-explanation p+p{margin-top:8px}@media(max-width:640px){.detail-vo2max{align-items:flex-start;gap:15px;flex-wrap:wrap}.detail-vo2max>div:first-child{min-width:95px}.vo2max-explanation{font-size:9px;flex:1;min-width:160px}.vo2max-panel .panel-heading{gap:12px;flex-wrap:wrap}}

/* Canonical athlete navigation and explicit account grants. */
.topbar .breadcrumb{flex:1;min-width:0}.athlete-switch{width:190px;min-width:0;flex-shrink:1}.athlete-switch select{width:100%;min-height:36px;padding:7px 25px 7px 11px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--panel);font-size:12px;text-overflow:ellipsis}.athlete-switch select:disabled{opacity:1;cursor:default}.mobile-logout{display:none}.athlete>div{min-width:0}.athlete strong,.athlete div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}#no-access{margin-top:20px}#no-access .button{margin-top:16px}.accounts-users{display:grid;gap:20px;margin:24px 0}.accounts-create{margin-top:22px}.accounts-create .form-stack{margin-top:20px}.settings-panel .form-stack select,.field select{background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text);padding:11px 12px;width:100%;min-width:0;font-size:12px}.invitation-result{border-color:#4a623d;margin-bottom:20px}.invitation-result h2{font-size:18px}.invitation-result>.text-button{margin-top:12px}.invitation-result label{display:block;margin:16px 0 7px}.grant-help{margin-top:25px;font-size:11px;line-height:2}.account-user-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.account-user-heading h2{overflow-wrap:anywhere}.account-actions{flex-wrap:wrap;margin:20px 0}.account-grants{display:grid;gap:10px;margin-top:18px}.grant-form{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:15px;border:1px solid var(--line);border-radius:7px;background:var(--bg)}.grant-form fieldset{margin:0;padding:0;border:0;min-width:0;flex:1}.grant-form legend{font-size:12px;font-weight:550;margin-bottom:6px;overflow-wrap:anywhere}.grant-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 16px}.settings-panel .grant-option{display:flex;align-items:center;gap:7px;min-height:38px;cursor:pointer;margin:0}.settings-panel .grant-option input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--accent);flex-shrink:0}.settings-panel .grant-option>span{display:block;font-size:11px;margin:0;color:var(--muted)}.account-audit-row{display:grid;grid-template-columns:145px 1fr 1.5fr;gap:14px;color:var(--faint);font-size:10px;padding:13px 0;border-bottom:1px solid var(--line-soft);overflow-wrap:anywhere}.account-audit-row strong{color:var(--muted);font-weight:500}.accounts-audit h2{margin-bottom:12px}.account-audit-row:last-child{border:0}
/* Ratio and percentage decoupling are deliberately separate measurements. */
.detail-cardiac-section{border-top:1px solid var(--line-soft);padding-top:21px;margin:24px 0 30px;min-width:0}.cardiac-intro{font-size:11px;line-height:1.85;color:var(--muted);margin:16px 0}.cardiac-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cardiac-metric{padding:17px;border:1px solid var(--line);border-radius:8px;background:var(--panel);min-width:0}.cardiac-metric h4,.segment-form h4{font-size:12px;font-weight:550;letter-spacing:-.01em;margin:0 0 15px}.cardiac-values{display:grid;grid-template-columns:1.15fr 1fr;gap:14px}.cardiac-value-label{display:block;font-size:9px;color:var(--faint);margin-bottom:5px}.cardiac-values strong{font-size:25px;font-weight:550;letter-spacing:-.025em;line-height:1.4;display:block;font-variant-numeric:tabular-nums}.cardiac-values small{font-size:10px;color:var(--muted);font-weight:400;letter-spacing:0}.cardiac-coverage{font-size:9px;color:var(--muted);margin-top:12px;line-height:1.8}.cardiac-reliability{font-size:10px;color:var(--blue);margin-top:8px}.cardiac-context{font-size:10px;color:var(--muted);background:var(--panel);border-left:2px solid var(--blue);padding:11px 13px;margin-top:14px;line-height:1.85}.cardiac-notes,.cardiac-segments{margin-top:18px}.cardiac-notes summary,.cardiac-segments summary{font-size:11px;color:var(--muted);cursor:pointer}.cardiac-segments .table-scroll{margin-top:13px;border:1px solid var(--line);border-radius:6px}.cardiac-segments td{font-size:10px;padding:12px 14px}.cardiac-segments th{font-size:8px;padding:12px 14px}.cardiac-segments td:first-child{min-width:150px;max-width:260px}.cardiac-segments .activity-meta{white-space:normal;max-width:240px;line-height:1.8}.segment-form{padding:18px;border:1px solid var(--line);border-radius:8px;margin-top:22px}.segment-form h4{margin-bottom:8px}.segment-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(150px,1.2fr) auto;align-items:end;gap:12px;margin-top:17px}.segment-fields label{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.segment-fields input,.segment-fields select{background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text);padding:10px 11px;min-height:41px;width:100%;min-width:0;font-size:12px}.segment-fields>.button{min-height:41px}.segment-form>.notice{margin-top:15px}#segment-result{margin-top:22px;border-top:1px solid var(--line);padding-top:7px}
@media(max-width:1100px){.topbar .breadcrumb{display:none}.topbar-right{margin-left:auto}.grant-form{flex-wrap:wrap}.grant-form fieldset{flex-basis:100%}.segment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.segment-fields>.button{width:100%}.account-audit-row{grid-template-columns:130px 1fr}.account-audit-row>span:last-child{grid-column:1/-1}}
@media(max-width:640px){.main-nav{grid-template-columns:repeat(var(--nav-count,6),minmax(0,1fr))}.nav-item>span{font-size:7px}.topbar{gap:9px;padding:0 14px}.athlete-switch{flex:1;width:auto;max-width:210px}.athlete-switch select{font-size:12px;min-height:35px}.topbar-right{gap:9px}.sync-control{max-width:115px}.sync-control>span:not(.status-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-logout{display:inline-flex;width:32px;height:32px;border:0}.mobile-logout .icon{width:17px;height:17px}.accounts-users{gap:18px}.account-user-heading .status-pill{font-size:8px}.account-actions .button{white-space:normal;min-height:38px}.grant-form{padding:12px;gap:9px}.grant-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px}.settings-panel .grant-option{min-height:40px}.settings-panel .grant-option>span{font-size:11px}.grant-form>.button{width:100%}.grant-help{font-size:10px}.invitation-result label{font-size:10px}.account-audit-row{grid-template-columns:115px 1fr;gap:7px;font-size:9px}.cardiac-metrics{grid-template-columns:1fr;gap:10px}.cardiac-intro{font-size:10px}.cardiac-metric{padding:15px}.cardiac-values strong{font-size:27px}.cardiac-values small{font-size:11px}.cardiac-coverage{font-size:9px}.detail-cardiac-section .detail-chart-heading{flex-wrap:wrap}.segment-form{padding:14px}.segment-fields{gap:12px 10px}.segment-fields label{font-size:9px}.segment-fields input,.segment-fields select{font-size:12px}.segment-fields>.field:nth-child(3),.segment-fields>.button{grid-column:1/-1}.segment-form .field-help{font-size:9px}}

/* Visible athlete-scoped AI backlog and a direct entry to the creative studio. */
.ai-overview-panel{margin:0 0 25px;padding:23px 25px;background:linear-gradient(115deg,#202e27,#14232d 72%);border:1px solid #43533d;border-radius:11px;min-width:0}.ai-overview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.ai-overview-heading .eyebrow{color:var(--accent);font-size:8px;letter-spacing:.12em;margin-bottom:8px}.ai-overview-heading h2{font-size:21px;letter-spacing:-.035em;line-height:1.3}.ai-live-status{display:flex;align-items:center;gap:7px;font-size:10px;color:#b3c3bd;line-height:1.7;max-width:285px}.ai-live-status:before{content:'';width:6px;height:6px;border-radius:50%;background:#7c9385;flex-shrink:0}.ai-live-status.working:before{background:var(--accent);box-shadow:0 0 9px #d5f84440}.ai-overview-main{display:flex;align-items:center;gap:30px;margin-top:21px}.ai-progress-summary{flex:1;min-width:0}.ai-progress-summary>strong{font-size:15px;font-weight:500;letter-spacing:-.02em}.ai-progress-summary progress{display:block;width:100%;height:7px;margin:12px 0 17px;appearance:none;border:0;border-radius:4px;overflow:hidden;background:#33433b;accent-color:var(--accent)}.ai-progress-summary progress::-webkit-progress-bar{background:#33433b;border-radius:4px}.ai-progress-summary progress::-webkit-progress-value{background:var(--accent);border-radius:4px}.ai-progress-summary progress::-moz-progress-bar{background:var(--accent);border-radius:4px}.ai-overview-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ai-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;min-width:0}.ai-count strong{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.ai-count span{font-size:9px;color:#9cafa9;line-height:1.5}.ai-count-done strong{color:var(--accent)}.ai-count-failed strong{color:var(--coral)}.ai-studio-button{flex-shrink:0;font-size:11px;white-space:nowrap}.ai-overview-note{font-size:10px;line-height:1.8;color:#9fb1ad;margin-top:16px;max-width:890px}.ai-overview-budget{font-size:10px;line-height:1.8;color:#c2d0c5;margin-top:6px}.ai-overview-note#overview-ai-comedy{margin-top:3px;font-size:9px;color:#819991}.ai-overview-recent{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:17px}.ai-overview-recent:empty{display:none}.ai-recent-label{font-size:9px;color:#9fb1ad;margin-right:5px}.ai-recent-activity{display:inline-flex;align-items:center;gap:7px;border:1px solid #42564a;background:#1d302b;border-radius:5px;padding:8px 10px;font-size:10px;color:#d4e3cf;max-width:100%;overflow-wrap:anywhere;text-align:left}.ai-recent-activity .icon{width:12px;height:12px;flex-shrink:0}.ai-overview-panel.unavailable .ai-live-status{color:var(--coral)}.ai-overview-panel>#overview-ai-retry{margin-top:12px;font-size:10px}
@media(max-width:1000px){.ai-overview-main{gap:20px;flex-wrap:wrap}.ai-progress-summary{flex-basis:100%}.ai-studio-button{min-height:39px}.ai-overview-counts{gap:10px}}
@media(max-width:640px){.ai-overview-panel{padding:19px 17px;margin-bottom:19px}.ai-overview-heading{flex-direction:column;gap:11px}.ai-overview-heading h2{font-size:20px}.ai-live-status{font-size:10px;max-width:none}.ai-overview-main{gap:19px;margin-top:19px}.ai-progress-summary>strong{font-size:15px}.ai-overview-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 10px}.ai-count{display:grid;gap:3px}.ai-count strong{font-size:21px}.ai-count span{font-size:9px}.ai-studio-button{width:100%;justify-content:center;font-size:11px}.ai-overview-note{font-size:10px}.ai-overview-budget{font-size:10px}.ai-recent-label{width:100%;margin-bottom:3px}.ai-recent-activity{font-size:10px;min-height:36px}.ai-overview-note#overview-ai-comedy{font-size:9px}}
.form-coach button[aria-busy=true]::before,.studio-comedy-actions button[aria-busy=true]::before{content:'';display:inline-block;width:11px;height:11px;flex-shrink:0;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:form-job-spin .8s linear infinite}.studio-status.is-working{display:flex;align-items:center;gap:8px}.studio-status.is-working:before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0;box-shadow:0 0 8px #d5f87744}@keyframes form-job-spin{to{transform:rotate(360deg)}}
.ai-overview-recent{display:block}.ai-recent-label{display:block;font-size:11px;font-weight:500;color:#c9d9c6;margin:0 0 10px}.ai-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ai-result-card{padding:15px 16px;border:1px solid #3a4d43;border-radius:7px;background:#13241f;min-width:0}.ai-result-kind{font-size:8px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.ai-result-preview{font-size:11px;line-height:1.8;color:#d5dfd4;margin:8px 0;overflow-wrap:anywhere;white-space:pre-wrap}.ai-result-training{font-size:9px;line-height:1.7;color:#8fa89b;margin:0 0 11px;overflow-wrap:anywhere}.ai-result-card .ai-recent-activity{font-size:9px;min-height:31px;padding:6px 9px}.ai-overview-recent>.ai-overview-note{margin-top:0}@media(max-width:640px){.ai-result-list{grid-template-columns:1fr;gap:10px}.ai-result-card{padding:14px}.ai-result-preview{font-size:11px}.ai-result-card .ai-recent-activity{min-height:35px;font-size:10px}.ai-recent-label{font-size:11px}}
