/* GymTrack / Carbon & Burnt Orange. Shared across app, auth and admin. */
:root,body{color-scheme:dark;--color-background:#0B0B0C;--color-surface:#1A1D21;--color-card:#24282E;--color-input:#111315;--color-border:#383D44;--color-text:#F4F4F1;--color-secondary:#A1A6AD;--color-muted:#939AA3;--color-primary:#FF6A00;--color-accent:#FF6A00;--color-hover:#FF8533;--color-active:#E65E00;--color-sand:#E6C9A8;--color-success:#22C55E;--color-success-text:#63DA8F;--color-warning:#EDB65B;--color-error:#FF8D8D;--color-on-primary:#0B0B0C;--accent-rgb:255,106,0;--success-rgb:34,197,94;--radius-xs:8px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--elevation:0 12px 32px rgb(0 0 0 / .18);--focus-ring:0 0 0 3px rgb(255 106 0 / .25);--chart-fill:rgba(255,106,0,.18);--chart-fade:rgba(255,106,0,0)}
body.light{color-scheme:light;--color-background:#F3F0EB;--color-surface:#FFFFFF;--color-card:#F9F6F1;--color-input:#FFFFFF;--color-border:#CEC6BC;--color-text:#202124;--color-secondary:#5D6065;--color-muted:#66686D;--color-accent:#AF4300;--color-sand:#795433;--color-success-text:#16763A;--color-warning:#805200;--color-error:#B72D38;--elevation:0 8px 24px rgb(52 35 20 / .07)}
:root,body,body.light{--bg:var(--color-background);--bg-soft:var(--color-input);--panel:var(--color-surface);--panel-2:var(--color-card);--panel2:var(--color-card);--surface:var(--color-surface);--card:var(--color-card);--line:var(--color-border);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-secondary);--accent:var(--color-accent);--accent-2:var(--color-hover);--success:var(--color-success);--good:var(--color-success-text);--danger:var(--color-error);--bad:var(--color-error);--error:var(--color-error);--warning:var(--color-warning);--warn:var(--color-warning);--info:var(--color-sand);--button-text:var(--color-on-primary);--radius:var(--radius-md);--shadow:var(--elevation);--chart-primary:var(--color-accent);--chart-secondary:var(--color-sand);--chart-grid:var(--color-border)}
html:has(body.light){background:#F3F0EB}body,body.light,body .app-shell,body.light .app-shell{background:var(--bg)!important;color:var(--text)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.5}h1,h2,h3,h4{text-wrap:balance}h1,h2{letter-spacing:-.035em}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{font-weight:650}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)!important;outline-offset:3px;box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}button:disabled{cursor:not-allowed;box-shadow:none!important;transform:none!important}
body .primary-button,body.light .primary-button,body .auth-screen .primary,body .admin-button.primary{background:var(--color-primary);color:var(--color-on-primary);border:1px solid transparent;border-radius:var(--radius-sm);font-weight:750;min-height:46px;box-shadow:none;transition:background .16s,transform .16s}
body .primary-button:hover:not(:disabled),body .auth-screen .primary:hover:not(:disabled),body .admin-button.primary:hover:not(:disabled){background:var(--color-hover);box-shadow:none;transform:translateY(-1px)}body .primary-button:active:not(:disabled),body .auth-screen .primary:active:not(:disabled){background:var(--color-active);transform:none}
body .secondary-button,body .full-button,body .icon-button,body .mini-icon-button,body .exercise-toggle,body .admin-button,body .close-btn,body .home-customize-button,body .quick-step{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:none}body .secondary-button:hover,body .icon-button:hover,body .mini-icon-button:hover,body .admin-button:hover{border-color:var(--accent);background:var(--panel)}body .text-button,body.light .text-button,body .add-set-button{color:var(--accent)}body .text-button.danger,body .admin-button.danger{color:var(--danger)}
body .sidebar,body.light .sidebar{background:var(--bg);backdrop-filter:none;border-color:var(--line)}.brand strong{letter-spacing:-.04em;font-weight:750}.brand-mark{border-radius:var(--radius-sm)}body .nav-item{border-radius:var(--radius-sm);font-weight:600;min-height:48px}body .nav-item.active,body.light .nav-item.active{color:var(--text);background:var(--panel);box-shadow:inset 3px 0 var(--color-primary)}body .nav-item.active svg{color:var(--accent)}body .nav-item:hover{background:var(--panel)}body .sidebar-card{background:var(--panel);border-color:var(--line);border-radius:var(--radius-md)}body .status-dot{background:var(--success);box-shadow:none}
body .mobile-nav,body.light .mobile-nav{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--elevation)!important;backdrop-filter:none}body .mobile-nav-item.active,body.light .mobile-nav-item.active{background:rgba(var(--accent-rgb),.12)!important;color:var(--accent)!important;box-shadow:inset 0 2px var(--color-primary);border-radius:var(--radius-sm)}body .avatar-button,body.light .avatar-button,body .profile-avatar{background:var(--card);border:1px solid var(--line);color:var(--color-sand)}
body .hero-card,body.light .hero-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:none}body .hero-card::after{display:none}.hero-copy h2{font-weight:750;line-height:1.08}.hero-copy p{line-height:1.7}.eyebrow,.eyebrow.accent,body .auth-intro .eyebrow{color:var(--color-sand);font-weight:650;letter-spacing:.14em}.topbar h1{font-weight:700}.hero-copy .eyebrow{color:var(--accent)}
body .panel,body .plan-card,body .exercise-card,body .stat-card,body .admin-panel,body .admin-kpi,body .calendar-panel,body .smart-coach,body .compare-panel,body .records-panel,body .weekly-checkin-panel{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:none}.panel-head h3{font-weight:650;letter-spacing:-.02em}.stat-card strong,.report-metric strong,.admin-kpi strong{font-weight:700;font-variant-numeric:tabular-nums}.stat-card strong{font-size:26px}.stat-icon,body .next-icon,body .exercise-number,body .home-layout-icon,body .user-avatar{color:var(--color-sand);background:var(--card);border-radius:var(--radius-sm)}body .trend.positive{color:var(--good)}
body .field input,body .field select,body .field textarea,body .search-input,body .field-row,body .section-actions select,body .inline-field select,body .auth-field input,body .admin-input,body .admin-select,body .admin-note,body .home-width-select{background:var(--bg-soft);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm)}body .field-row input{border:0;background:transparent}.field>span,.auth-field>span:first-child{color:var(--muted);font-weight:500}.field input:focus,.field select:focus,.field textarea:focus,.auth-field input:focus{border-color:var(--accent)}body input[type=checkbox],body.light .catalog-choice input{accent-color:var(--accent)}
body .day-pill,body .next-workout,body .workout-ready,body .activity-item,body .history-item,body .target-card,body .report-metric,body .message-card,body .library-card,body .measurement-section,body .photo-compare-meta div,body .detail-section,body .user-card,body .home-layout-item,body .home-stat-option{background:var(--card);color:var(--text);border-color:var(--line);border-radius:var(--radius-sm)}body .plan-card.today,body .exercise-card.current,body .workout-focus #exerciseList .exercise-card.current{border-color:var(--accent);box-shadow:inset 3px 0 var(--color-primary)}body .plan-card.rest{opacity:1;background:var(--bg-soft)}body .plan-card.rest h3{color:var(--muted)}
body .session-bar,body.light .session-bar,body .finish-bar,body.light .finish-bar{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:var(--radius-md);box-shadow:var(--elevation)!important}body .session-bar strong{font-variant-numeric:tabular-nums;letter-spacing:.02em}.rest-box strong.active{color:var(--color-sand)}body .set-row input,body.light .set-row input{background:var(--bg-soft)!important;color:var(--text)!important;border-color:var(--line)!important;border-radius:var(--radius-xs)}body .set-done,body.light .set-done{background:var(--card);color:var(--muted);border-color:var(--line)}body .set-done.done,body.light .set-done.done{background:var(--success);color:#0B0B0C;border-color:var(--success)}body .saved-badge.saved,body.light .saved-badge.saved,body .day-pill.done span{background:rgba(var(--success-rgb),.12);color:var(--good);border:1px solid rgba(var(--success-rgb),.4)}body .v5-progression-tip,body.light .v5-progression-tip,body .progression-tip,body.light .progression-tip{background:var(--card);border-color:var(--line);color:var(--muted)}body .v5-progression-tip strong,body.light .v5-progression-tip strong{color:var(--color-sand)}
body .segmented,body .saved-badge,body .library-tags span{background:var(--card);color:var(--muted);border-radius:var(--radius-xs)}body .segmented button.active,body .language-switch button.active,body .day-selector label:has(input:checked){background:var(--color-primary);color:var(--color-on-primary)}body .option-grid .check-chip,body .check-chip,body.light .option-grid .check-chip{background:var(--card);color:var(--muted);border-color:var(--line)}body .option-grid .check-chip:has(input:checked),body .check-chip:has(input:checked){background:rgba(var(--accent-rgb),.09);color:var(--text);border-color:var(--accent)}body .check-chip input[type=checkbox]{accent-color:var(--accent)}body .badge-count{background:var(--color-primary);color:var(--color-on-primary)}
body .recommendation,body.light .recommendation,body .weekly-advice{background:var(--card);color:var(--color-sand)}body .recommendation.good{background:rgba(var(--success-rgb),.08);color:var(--good)}body .recommendation.warning{background:var(--card);color:var(--warning)}body .cal-day,body.light .cal-day{background:var(--card)!important;border-color:var(--line)}body .cal-day.today,body.light .cal-day.today{background:rgba(var(--accent-rgb),.10)!important;border-color:var(--accent)}body .cal-day.missed,body.light .cal-day.missed{background:var(--card)!important;border-color:var(--danger)}
body .modal-card,body .home-layout-dialog,body .admin-modal-card{background:var(--panel);color:var(--text);border-color:var(--line);box-shadow:var(--elevation)}.catalog-summary{font-variant-numeric:tabular-nums}.catalog-row{border-radius:var(--radius-xs);padding-inline:8px}.catalog-row:has(input:checked){background:rgba(var(--accent-rgb),.08)}.catalog-choice strong{font-weight:650}.catalog-choice small,.catalog-meta{color:var(--muted)}.catalog-results{scrollbar-color:var(--line) var(--panel)}.catalog-row:hover{background:var(--card)}.exercise-instructions{color:var(--text)}.exercise-facts dd{color:var(--color-sand)}
body table,body.light table{background:var(--panel);color:var(--text)}body th,body.light th{background:var(--card);color:var(--muted);border-color:var(--line)}body td,body.light td{color:var(--text);border-color:var(--line)}body tbody tr:hover,body.light tbody tr:hover{background:var(--card)}body .mini-progress,body .target-bar{background:var(--line)}body .ring{background:radial-gradient(circle at center,var(--panel) 58%,transparent 59%),conic-gradient(var(--accent) 0 var(--ring-progress,0%),var(--line) var(--ring-progress,0%) 100%);box-shadow:none}body .goal-ring{background:radial-gradient(circle at center,var(--panel) 58%,transparent 59%),conic-gradient(var(--accent) 0 var(--goal-progress,0%),var(--line) var(--goal-progress,0%) 100%)}
body .auth-intro{background:var(--panel);border-right:1px solid var(--line)}.auth-intro h1{max-width:590px;font-weight:650}.auth-intro .brand img{border-radius:var(--radius-sm)}.auth-panel{background:var(--bg)}body .auth-top button{background:var(--panel);border-color:var(--line);color:var(--text)}.auth-screen a{color:var(--accent)}.auth-screen .hint,.auth-check{color:var(--muted)}body .form-message.success{background:rgba(var(--success-rgb),.07);border-color:var(--line);border-left-color:var(--success);color:var(--good)}body .app-loader img{box-shadow:none}body ::-webkit-scrollbar-track{background:var(--bg)}body ::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--bg)}
@media(min-width:1024px){.main-content{padding-top:32px}.topbar{margin-bottom:30px}.hero-copy{padding:40px}.panel{padding:24px}.hero-copy h2{font-size:clamp(36px,4.2vw,56px)}}
@media(max-width:767px){.stat-card strong{font-size:23px}.hero-copy{padding:28px 22px}.hero-copy h2{font-size:36px}.panel{padding:18px}.auth-screen h2{font-size:28px}.mobile-nav-item{min-height:46px}.modal-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.catalog-row{padding-inline:2px}.auth-intro{border:0}}
:root,body{--control-border:#69717C}body.light{--control-border:#8D8276}
body .dot.measure{background:var(--color-sand)}body .dot.photo{background:var(--color-secondary)}body .dot.nutrition{background:var(--success)}body .weekly-advice{border-color:var(--line)}
body.light .secondary-button,body.light .full-button,body.light .icon-button,body.light .mini-icon-button,body.light .exercise-toggle,body.light .quick-step{background:var(--card);color:var(--text);border-color:var(--line)}
body.light .option-grid .check-chip:has(input:checked){background:rgba(var(--accent-rgb),.09);color:var(--text);border-color:var(--accent)}
body.light .secondary-button:hover,body.light .icon-button:hover,body.light .mini-icon-button:hover{border-color:var(--accent)}input[type=range],progress{accent-color:var(--accent)}body .sync-banner{background:var(--card);border-color:var(--line);color:var(--color-sand)}body .sync-banner.error{color:var(--danger)}
body .field input,body .field select,body .field textarea,body .search-input,body .field-row,body .section-actions select,body .auth-field input,body .admin-input,body .admin-select,body .admin-note{border-color:var(--control-border)}body .field-row input{border:0}
body .stat-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-content:start;align-items:center}.stat-card .stat-icon{grid-row:1/3}.stat-card>div{min-width:0}.stat-card strong{white-space:nowrap}.stat-card .trend{grid-column:2;position:static;margin:0;text-align:left;justify-self:start;line-height:1.4}
body:not(.light) .session-bar,body.light .session-bar,body:not(.light) .finish-bar,body.light .finish-bar{background:var(--panel)!important;border-color:var(--line)!important}
@media(max-width:767px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.catalog-filters>.field:last-child{grid-column:auto}.catalog-filters .field span{display:block;font-size:10px}.catalog-modal{gap:10px}.catalog-filters select{font-size:14px!important;min-height:44px}.stat-card .stat-icon{width:30px;height:30px}.stat-card{gap:8px}.stat-card small{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Official GT monogram: always carbon/orange in either theme. */
.mobile-app-brand{display:none}.offline-brand{display:inline-flex;align-items:center;gap:12px;margin-bottom:24px;color:var(--text);text-decoration:none;font-size:24px;font-weight:750;letter-spacing:-.04em}.offline-brand img,.mobile-brand img,.mobile-app-brand img{flex-shrink:0;border-radius:8px}
@media(max-width:767px){.mobile-app-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--text);text-decoration:none;font-size:20px;font-weight:750;letter-spacing:-.04em}}
@media(max-width:650px){.auth-top .mobile-brand{display:inline-flex;align-items:center;gap:10px}}
