:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f6;--bg-alt:#fff;--bg-raised:#eceef0;--border:#e1e4e8;--border2:#c8cdd3;--input-bg:#fff;--text:#1f2328;--text-strong:#101316;--text-body:#3a4047;--text-muted:#5c646d;--text-dim:#6a727b;--text-faint:#6a727b;--accent:#2b3035;--accent-hover:#121518;--accent-text:#fff;--accent-soft:#e8ebee;--danger:#b42318;--nav-inactive:#5c646d;--hover-bg:#eef0f2;--chart-muted:#9aa3ad;--success:#2f6b4f;--warning:#4f5861;--metal:linear-gradient(180deg, #454c53 0%, #2b3035 55%, #1d2125 100%);--metal-soft:linear-gradient(180deg, #fff 0%, #eef0f2 100%);--chart-1:#2b3035;--chart-2:#a3abb4;--chart-grid:#e7e9ec;--heat-0:#d6dbe0;--heat-1:#b0b8c0;--heat-2:#808a94;--heat-3:#4f5861;--heat-4:#1f2428;--danger-soft:#fbeceb;--warning-soft:#eceef0;--success-soft:#e8f3ec}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121416;--bg-alt:#1a1d20;--bg-raised:#23272b;--border:#2d3237;--border2:#454c53;--input-bg:#15181b;--text:#e6e8eb;--text-strong:#fff;--text-body:#cdd2d7;--text-muted:#9ba3ab;--text-dim:#8e969f;--text-faint:#8e969f;--accent:#d8dce0;--accent-hover:#fff;--accent-text:#121416;--accent-soft:#2a2f34;--danger:#ff8f80;--nav-inactive:#9ba3ab;--hover-bg:#262a2f;--chart-muted:#5f6870;--success:#7cc49b;--warning:#c3c9cf;--metal:linear-gradient(180deg, #eef0f2 0%, #cfd4d9 60%, #b8bfc6 100%);--metal-soft:linear-gradient(180deg, #23272b 0%, #1a1d20 100%);--chart-1:#dfe3e7;--chart-2:#5f6870;--chart-grid:#2a2e33;--heat-0:#2f343a;--heat-1:#4b535b;--heat-2:#747e88;--heat-3:#a7afb7;--heat-4:#e6e9ec;--danger-soft:#3a2220;--warning-soft:#2a2f34;--success-soft:#1d3127}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121416;--bg-alt:#1a1d20;--bg-raised:#23272b;--border:#2d3237;--border2:#454c53;--input-bg:#15181b;--text:#e6e8eb;--text-strong:#fff;--text-body:#cdd2d7;--text-muted:#9ba3ab;--text-dim:#8e969f;--text-faint:#8e969f;--accent:#d8dce0;--accent-hover:#fff;--accent-text:#121416;--accent-soft:#2a2f34;--danger:#ff8f80;--nav-inactive:#9ba3ab;--hover-bg:#262a2f;--chart-muted:#5f6870;--success:#7cc49b;--warning:#c3c9cf;--metal:linear-gradient(180deg, #eef0f2 0%, #cfd4d9 60%, #b8bfc6 100%);--metal-soft:linear-gradient(180deg, #23272b 0%, #1a1d20 100%);--chart-1:#dfe3e7;--chart-2:#5f6870;--chart-grid:#2a2e33;--heat-0:#2f343a;--heat-1:#4b535b;--heat-2:#747e88;--heat-3:#a7afb7;--heat-4:#e6e9ec;--danger-soft:#3a2220;--warning-soft:#2a2f34;--success-soft:#1d3127}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif}a{color:var(--accent);text-underline-offset:4px;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}input,textarea,select{background:var(--input-bg);border:1px solid var(--border2);color:var(--text);min-width:0;max-width:100%;caret-color:var(--accent);border-radius:7px;padding:11px 12px;font-size:14px}input::placeholder,textarea::placeholder{color:var(--text-dim)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-text)}*{scrollbar-color:var(--border2) var(--bg);scrollbar-width:thin}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance;font-family:Inter Tight,sans-serif}h1{letter-spacing:-.035em;color:var(--text-strong);margin-bottom:8px;font-size:clamp(30px,3.4vw,44px);font-weight:700;line-height:1.05}h2{letter-spacing:-.02em;color:var(--text-strong);margin:0;font-size:19px;font-weight:700}h3{font-size:24px;font-weight:600}p{line-height:1.65}.btn-primary,.btn-ghost{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:12px 17px;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--metal);color:var(--accent-text);border:1px solid var(--accent-hover);box-shadow:inset 0 1px #ffffff2e,0 1px 2px #1013162e}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-text);text-decoration:none}.btn-primary:disabled{background:var(--accent)}.btn-ghost{border:1px solid var(--border2);color:var(--text);background:0 0}.btn-ghost:hover{background:var(--hover-bg);color:var(--text-strong);text-decoration:none}.quiet-button{color:var(--text-muted);background:0 0;border:0;align-items:center;padding:8px;display:inline-flex}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--bg-alt);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:35px 18px 20px;display:flex;position:sticky;top:0}.brand{color:var(--text-strong);letter-spacing:-.02em;align-items:center;gap:12px;padding:0 12px;font:500 19px/1.12 Inter Tight,sans-serif;display:flex}.brand:hover{color:var(--accent);text-decoration:none}.brand-symbol{width:36px;height:36px;color:var(--accent);place-items:center;display:grid}.brand-symbol svg{width:34px;height:34px}.brand strong{font-weight:700}.sidebar-caption{color:var(--text-muted);margin:25px 12px 32px;font-size:11px}.sidebar nav{flex-direction:column;gap:7px;margin-top:52px;display:flex}.nav-item{color:var(--text-muted);border-radius:8px;align-items:center;gap:12px;padding:12px;font-size:13px;font-weight:500;display:flex}.nav-item:hover{background:var(--hover-bg);color:var(--text);text-decoration:none}.nav-item.selected{background:var(--accent-soft);color:var(--text-strong);box-shadow:inset 3px 0 0 var(--text-strong);font-weight:600}.nav-item:focus-visible{outline-offset:0}.sidebar-bottom{margin-top:auto;padding-top:36px}.sidebar-bottom .nav-item{font-size:11px}.personal-label{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:8px;margin-top:18px;padding:22px 10px 0;font-size:10px;display:flex}.status-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.workspace{min-width:0}.workspace-header{border-bottom:1px solid var(--border);height:70px;color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 40px;font-size:12px;display:flex}.workspace-header>div{align-items:center;gap:12px;display:flex}.user-avatar{background:var(--hover-bg);width:31px;height:31px;color:var(--text);border-radius:50%;place-items:center;font-size:11px;display:grid}.workspace-main{flex-direction:column;gap:26px;max-width:1400px;margin:auto;padding:38px 40px 28px;display:flex}.workspace-footer{max-width:1400px;color:var(--text-muted);justify-content:space-between;margin:auto;padding:14px 40px 24px;font-size:10px;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.page-heading p{color:var(--text-muted);margin:0;font-size:13px}.date-line{color:var(--text-muted);text-transform:capitalize;align-items:center;gap:14px;margin-top:-12px;font-size:11px;display:flex}.phase-tag{background:var(--hover-bg);color:var(--text-muted);white-space:nowrap;border-radius:5px;padding:5px 8px;font-size:10px;display:inline-flex}.summary-strip{border-block:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));padding:24px 0;display:grid}.summary-strip>div{border-right:1px solid var(--border);padding:0 24px}.summary-strip>div:first-child{padding-left:0}.summary-strip>div:last-child{border:0;padding-right:0}.summary-strip span{color:var(--text-muted);font-size:11px}.summary-strip strong{letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin:12px 0 8px;font:600 30px/1.2 Inter Tight,sans-serif;display:block}.summary-strip small{color:var(--text-muted);font:400 13px Inter,sans-serif}.summary-strip p{color:var(--text-muted);margin:0;font-size:10px}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);align-items:start;gap:24px;display:grid}.panel,.card{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;min-width:0;padding:24px}.card{flex-direction:column;gap:16px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.section-heading>a{font-size:11px;font-weight:500}.segmented{background:var(--bg-raised);border-radius:6px;gap:2px;padding:3px;display:flex}.segmented button{color:var(--text-muted);background:0 0;border:0;border-radius:4px;padding:6px 8px;font-size:10px}.segmented button.active{background:var(--bg-alt);color:var(--text-strong);font-weight:600;box-shadow:0 1px 2px #1013161f}.weight-chart{width:100%;fill:var(--text-muted);font:12px Inter,sans-serif;display:block}.chart-empty{text-align:center;background:var(--bg);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:218px;padding:25px;display:flex}.chart-empty p{margin:0 0 8px;font-weight:500}.chart-empty span{color:var(--text-muted);max-width:32ch;font-size:12px;line-height:1.6}.chart-empty a{margin-top:14px;font-size:12px}.chart-legend{color:var(--text-muted);justify-content:center;gap:20px;margin:12px 0;font-size:10px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.chart-legend i{background:var(--accent);width:14px;height:3px}.chart-legend .muted-dot{background:var(--chart-muted)}.helper-text{color:var(--text-muted);margin:0;font-size:11px;line-height:1.65}.weight-panel>.helper-text{text-align:center}.training-panel{background:var(--accent-soft);border-radius:12px;padding:24px}.training-panel h3{margin:26px 0 10px}.training-panel p{color:var(--text-body);font-size:12px}.training-panel .phase-tag{background:var(--bg-alt)}.training-panel>.btn-ghost{width:100%;margin-top:18px}.workout-list{flex-direction:column;gap:0;display:flex}.workout-list>a{border-bottom:1px solid var(--border2);color:var(--text);justify-content:space-between;align-items:center;padding:13px 0;display:flex}.workout-list strong{font-size:12px;display:block}.workout-list span{color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.table-scroll,.sheet-scroll{overflow:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:left}.read-table{width:100%;min-width:560px;font-size:12px}.read-table th,.read-table td{border-bottom:1px solid var(--border);padding:14px 12px}.read-table thead th{color:var(--text-muted);background:var(--bg);font-size:10px;font-weight:500}.read-table tbody th{font-weight:500}.read-table tr:last-child td,.read-table tr:last-child th{border-bottom:0}.table-empty{color:var(--text-muted);padding:28px 10px 12px;font-size:12px}.daily-note{align-items:center;gap:16px;padding:12px 0;display:flex}.daily-note strong{font:500 15px Inter Tight,sans-serif}.daily-note span{color:var(--text-muted);font-size:11px}.daily-note a{margin-left:auto;font-size:11px}.journal-toolbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.journal-toolbar>div{gap:18px;display:flex}.journal-toolbar label{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.sheet-scroll{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;max-height:65vh}.journal-sheet{width:100%;font-size:12px}.journal-sheet th,.journal-sheet td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0}.journal-sheet thead th{z-index:2;background:var(--bg-raised);color:var(--text-muted);white-space:nowrap;padding:13px 12px;font-size:11px;font-weight:500;position:sticky;top:0}.journal-sheet tbody th{background:var(--bg-alt);z-index:1;min-width:105px;padding:10px 12px;font-weight:500;position:sticky;left:0}.journal-sheet tbody th small{color:var(--accent);margin-top:5px;font-size:9px;display:block}.journal-sheet tbody .today-row th{background:var(--accent-soft)}.journal-sheet td input{font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;width:102px;min-width:85px;max-width:none;padding:14px 12px;font-size:12px}.journal-sheet td:nth-last-child(2) input{width:250px}.journal-sheet td input:focus{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.journal-sheet tbody tr:hover{background:var(--bg)}.row-save{border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft);border-radius:5px;margin:5px 10px;padding:7px 10px;font-size:11px}.row-status{color:var(--text-muted);white-space:nowrap;padding:0 14px;font-size:10px}.journal-foot{color:var(--text-muted);justify-content:space-between;gap:12px;font-size:11px;display:flex}.save-message{color:var(--text);margin:0;font-size:12px}.error-banner{border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:14px;font-size:13px}.error-banner button{color:inherit;background:0 0;border:0;padding:6px;text-decoration:underline}.preparation-grid{grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);align-items:start;gap:30px;display:grid}.preparation-form{flex-direction:column;gap:24px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.field{flex-direction:column;gap:8px;font-size:12px;display:flex}.field>span{color:var(--text-muted)}.preparation-form .btn-primary{align-self:flex-start}.preparation-review{padding:24px 0}.preparation-review>p{color:var(--text-muted);margin-top:12px;font-size:12px}.preparation-review dl div{border-bottom:1px solid var(--border);justify-content:space-between;padding:16px 0;display:flex}.preparation-review dt{color:var(--text-muted);font-size:12px}.preparation-review dd{font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:600}.preparation-review>a{margin-top:18px;font-size:12px;display:inline-block}.label{color:var(--text-muted);font-size:11px;font-weight:500}.eyebrow{display:none}.page-title{letter-spacing:-.025em;color:var(--text-strong);margin:0;font:600 30px/1.2 Inter Tight,sans-serif}.chip{border:1px solid var(--border2);color:var(--text-muted);background:0 0;border-radius:6px;padding:6px 12px;font-size:12px}.chip.active{background:var(--metal);color:var(--accent-text);border-color:var(--accent)}.error-text{color:var(--danger);font-size:13px}.muted-note,.spinner-text{color:var(--text-muted);font-size:12px;line-height:1.6}.session-page{flex-direction:column;gap:24px;max-width:900px;margin:auto;padding:32px 24px;display:flex}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-form{flex-direction:column;gap:22px;width:100%;max-width:410px;display:flex}.login-form .brand{margin-bottom:22px;padding:0}.login-form h1{margin-bottom:0}.login-form p{color:var(--text-muted);margin-bottom:0;font-size:13px}@media (width<=1150px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.workspace-main{padding:28px 24px}.workspace-header,.workspace-footer{padding-inline:24px}.summary-strip>div{padding-inline:12px}.summary-strip strong{font-size:25px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.training-panel h3{margin-top:12px}.workout-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}}@media (width<=760px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;padding:18px 16px 0;position:static}.brand{padding-inline:0;font-size:17px}.brand-symbol,.brand-symbol svg{width:28px;height:28px}.sidebar-caption,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;gap:2px;margin-top:16px;padding-bottom:10px;display:flex;overflow-x:auto}.nav-item{white-space:nowrap;gap:6px;padding:9px;font-size:11px}.nav-item svg{width:16px;height:16px}.workspace-header{height:48px;padding-inline:20px}.workspace-main{gap:22px;padding:26px 18px}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:16px}.page-heading p{font-size:12px}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0;padding:22px 0}.summary-strip>div{padding-inline:14px}.summary-strip>div:nth-child(odd){padding-left:0}.summary-strip>div:nth-child(2n){border:0}.summary-strip strong{font-size:27px}.panel,.card,.training-panel{padding:18px}.section-heading{flex-wrap:wrap}h2{font-size:18px}.daily-note{flex-wrap:wrap}.daily-note a{margin-left:0}.journal-toolbar{flex-wrap:wrap}.journal-toolbar>div{flex-wrap:wrap;gap:10px}.journal-foot{flex-wrap:wrap}.preparation-grid{grid-template-columns:minmax(0,1fr);gap:4px}.workspace-footer{padding-inline:18px}.workspace-footer span{display:none}.session-page{padding:24px 12px}.session-page input{width:100%}.workspace-main [style*="grid-template-columns: repeat(4"],.workspace-main [style*="grid-template-columns: repeat(3"],.workspace-main [style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}}@media (prefers-reduced-motion:no-preference){.nav-item,.btn-primary,.btn-ghost{transition:background-color .14s ease-out}}.session-top{color:var(--text-muted);justify-content:space-between;font-size:12px;display:flex}.exercise-tabs{gap:8px;padding-bottom:8px;display:flex;overflow:auto}.exercise-tabs button{background:var(--bg-alt);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.exercise-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.exercise-tabs button span{font-variant-numeric:tabular-nums}.exercise-panel{border:1px solid var(--border);background:var(--bg-alt);border-radius:12px;padding:24px}.exercise-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.exercise-heading p{color:var(--text-muted);margin:8px 0 24px;font-size:12px}.exercise-targets{border-block:1px solid var(--border);gap:28px;padding:18px 0;display:flex}.exercise-targets span{color:var(--text-muted);font-size:10px}.exercise-targets strong{color:var(--text);margin-top:6px;font-size:13px;font-weight:500;display:block}.exercise-notes{color:var(--text-muted);margin:0;padding:14px 0;font-size:12px}.sets-table{table-layout:fixed;width:100%;margin-top:20px;font-size:14px}.sets-table th,.sets-table td{text-align:center;border-bottom:1px solid var(--border);padding:10px 4px}.sets-table thead th{color:var(--text-muted);font-size:10px;font-weight:500}.sets-table th:first-child{width:46px}.sets-table th:nth-child(2){width:110px}.sets-table th:last-child{width:56px}.sets-table td input{text-align:center;font-variant-numeric:tabular-nums;width:100%;padding:12px 4px}.set-completed{background:var(--accent-soft)}.previous-set{color:var(--text-muted);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:4px;font-size:12px}.previous-set small{margin-top:5px;font-size:9px;display:block}.set-save{background:var(--accent);color:var(--accent-text);border:0;border-radius:8px;place-items:center;width:42px;height:42px;display:inline-grid}.edit-set{color:var(--accent);background:0 0;border:0;padding:8px 2px;font-size:10px}.exercise-footer{justify-content:space-between;align-items:center;gap:20px;padding-top:16px;display:flex}.exercise-footer .quiet-button{color:var(--accent);padding-left:0;font-size:12px}.exercise-footer .helper-text{max-width:35ch}.exercise-progress-link{margin-top:18px;font-size:12px;display:inline-block}.rest-bar{z-index:5;background:var(--accent);color:var(--accent-text);border-radius:8px;justify-content:space-between;align-items:center;padding:14px 18px;font-size:12px;display:flex;position:sticky;top:8px}.rest-bar strong{font-variant-numeric:tabular-nums;font-size:24px}.rest-bar button{color:inherit;background:0 0;border:0;font-size:12px;text-decoration:underline}.session-navigation{justify-content:space-between;align-items:center;gap:8px;display:flex}.session-navigation span{color:var(--text-muted);font-size:11px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.exercise-panel{padding:16px 10px}.sets-table th:first-child{width:32px}.sets-table th:nth-child(2){width:76px}.sets-table th:last-child{width:44px}.sets-table th,.sets-table td{padding-inline:2px}.sets-table input{font-size:13px}.exercise-targets{gap:18px}.exercise-heading{padding-inline:4px}.exercise-footer{flex-wrap:wrap;gap:4px}.session-navigation .btn-ghost{padding:10px;font-size:11px}}.routine-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.routine-actions .quiet-button{font-size:11px}.program-days{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;display:grid}.program-days>div{border-top:1px solid var(--border);padding:16px 0}.day-index{color:var(--text-muted);font-size:10px}.program-days h3{margin:10px 0 8px;font-size:18px}.program-days p{color:var(--text-muted);font-size:11px}.program-days .btn-primary{padding:10px 16px;font-size:11px}.create-routine{align-items:end;gap:12px;display:flex}.create-routine .field{width:100%;max-width:400px}.template-details summary{cursor:pointer;color:var(--text);padding:18px 0;font-size:14px}.theme-options{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}@media (width<=760px){.program-days{grid-template-columns:repeat(2,minmax(0,1fr))}}.brand-symbol{color:var(--text-strong)}.sidebar{background:var(--metal-soft)}.workspace-header{height:56px}.link-button{color:var(--text-strong);font-size:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:hover{color:var(--text-muted)}.title-button{font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:text;background:0 0;border:0;padding:0}.title-button:hover{text-underline-offset:6px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.title-input{max-width:480px;font:700 30px/1.1 Inter Tight,sans-serif}.back-link{color:var(--text-muted);margin-bottom:10px;font-size:12px;display:inline-block}.icon-button{color:var(--text-dim);background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:18px;line-height:1}.icon-button:hover{background:var(--hover-bg);color:var(--danger)}.chip-button{background:var(--bg-alt);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600}.chip-button:hover,.chip-button[aria-expanded=true]{background:var(--metal);color:var(--accent-text);border-color:var(--accent)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.segmented input[type=date]{background:0 0;border-color:#0000;border-radius:4px;padding:4px 6px;font-size:11px}.read-table tr.clickable{cursor:pointer}.read-table tr.clickable:hover,.read-table tr.selected{background:var(--hover-bg)}.form-actions{align-items:center;gap:14px;margin-top:22px;display:flex}.goals-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.date-line{text-transform:none;margin-top:0}.date-line:first-letter{text-transform:uppercase}.stale-banner{background:var(--bg-alt);color:var(--text-body);border:1px solid var(--border);border-left:4px solid var(--text-strong);border-radius:10px;padding:14px 18px;font-size:13px}.checkin-row{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.checkin-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;display:grid}.checkin-field{flex-direction:column;gap:6px;min-width:0;font-size:12px;display:flex}.checkin-field>span{color:var(--text-muted);font-weight:500}.checkin-field small{font-size:11px;font-weight:400}.checkin-field input{font-variant-numeric:tabular-nums;width:100%;padding:10px 12px;font-size:18px;font-weight:600}.checkin-field i{color:var(--text-dim);min-height:12px;font-size:10px;font-style:normal}.checkin-field.state-saved input{border-color:var(--success)}.checkin-field.state-saved i{color:var(--success)}.checkin-field.state-error input{border-color:var(--danger)}.checkin-field.state-error i{color:var(--danger)}.diet-toggle{gap:4px;display:flex}.diet-toggle button{border:1px solid var(--border2);background:var(--input-bg);min-width:0;color:var(--text);border-radius:7px;flex:1;padding:12px 4px;font-size:13px;font-weight:600;font-size:12px!important}.diet-toggle button.active{background:var(--metal);color:var(--accent-text);border-color:var(--accent)}.checkin-day,.checkin-nudge{color:var(--text-body);margin:-6px 0 16px;font-size:12px}.checkin-nudge{background:var(--bg-raised);border-radius:8px;margin:0 0 16px;padding:10px 12px}.weekly-list{margin:0}.weekly-list div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;display:flex}.weekly-list div:last-child{border-bottom:0}.weekly-list dt{color:var(--text-muted);font-size:12px}.weekly-list dd{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:2px;margin:0;font-size:14px;font-weight:600;display:flex}.delta{color:var(--text-muted);font-size:11px;font-weight:500}.delta.good{color:var(--success)}.delta.bad{color:var(--danger)}.kpi-strip{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.kpi-strip>div{border-right:1px solid var(--border);min-width:0;padding:22px 24px}.kpi-strip>div:last-child{border-right:0}.kpi-strip span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.kpi-strip strong{letter-spacing:-.03em;color:var(--text-strong);font-variant-numeric:tabular-nums;margin:12px 0 6px;font:700 34px/1.1 Inter Tight,sans-serif;display:block}.kpi-strip strong small{color:var(--text-muted);letter-spacing:0;font:500 14px Inter,sans-serif}.kpi-strip p{color:var(--text-muted);margin:0;font-size:11px;line-height:1.5}.pace-note{margin-top:-12px}.chart-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;display:grid}.chart-card{min-width:0}.chart-card h3{margin:0;font-size:14px;font-weight:700}.chart-sub{color:var(--text-muted);margin:2px 0 8px;font-size:11px}.chart-wrap{position:relative}.chart{display:block;overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-axis{fill:var(--text-muted);font-variant-numeric:tabular-nums;font:10px Inter,sans-serif}.chart-line{fill:none;stroke:var(--chart-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-line-faint{fill:none;stroke:var(--chart-2);stroke-width:1px;stroke-dasharray:2 3}.chart-dot{fill:var(--chart-1);stroke:var(--bg-alt);stroke-width:2px}.chart-dot-faint{fill:var(--chart-2);stroke:var(--bg-alt);stroke-width:1.5px}.chart-bar{fill:var(--chart-1)}.chart-bar.active{fill:var(--text-muted)}.chart-target{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:4 4}.chart-crosshair{stroke:var(--border2);stroke-width:1px;pointer-events:none}.chart-tip{pointer-events:none;background:var(--text-strong);color:var(--bg-alt);white-space:nowrap;border-radius:7px;flex-direction:column;gap:2px;padding:7px 10px;font-size:11px;display:flex;position:absolute;top:0;transform:translate(-50%);box-shadow:0 4px 14px #0000002e}.chart-empty{min-height:190px}.heatmap-grid{gap:3px;display:grid}.heatmap-labels,.heatmap-week{grid-template-rows:repeat(7,1fr);gap:3px;display:grid}.heatmap-labels span{color:var(--text-muted);align-self:center;font-size:9px;line-height:1}.heat-cell{aspect-ratio:1;border-radius:3px;min-width:6px;max-height:18px;display:block}.heat-cell.empty{box-shadow:inset 0 0 0 1px var(--border);background:0 0}.heat-cell.future{background:0 0}.heat-cell.l0{background:var(--heat-0)}.heat-cell.l1{background:var(--heat-1)}.heat-cell.l2{background:var(--heat-2)}.heat-cell.l3{background:var(--heat-3)}.heat-cell.l4{background:var(--heat-4)}.heatmap-week .heat-cell:hover{outline:2px solid var(--text-strong);outline-offset:1px}.heatmap-foot{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:12px;font-size:11px;display:flex}.heatmap-scale{align-items:center;gap:4px;display:flex}.heatmap-scale i{width:12px;height:12px}.week-board{flex-direction:column;gap:12px;display:flex}.board-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.board-day{border:1px dashed var(--border2);background:var(--bg);border-radius:10px;flex-direction:column;gap:6px;min-width:0;min-height:128px;padding:8px;transition:background-color .12s,border-color .12s;display:flex}.board-day.today{border-style:solid;border-color:var(--text-strong)}.board-day.past{opacity:.78}.board-day.over,.board-tray.over{background:var(--accent-soft);border-color:var(--text-strong);border-style:solid}.board-day-head{color:var(--text-muted);align-items:baseline;gap:6px;font-size:11px;display:flex}.board-day-head strong{color:var(--text-strong);font-size:12px}.board-day-head em{color:var(--accent-text);background:var(--accent);border-radius:4px;margin-left:auto;padding:1px 6px;font-size:10px;font-style:normal;font-weight:700}.board-empty{color:var(--text-dim);text-align:center;margin:auto;font-size:10px}.board-card{background:var(--bg-alt);border:1px solid var(--border2);cursor:grab;border-radius:8px;flex-direction:column;gap:3px;min-width:0;padding:8px 9px;display:flex;box-shadow:0 1px 2px #1013160f}.board-card strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:12px}.board-card span{color:var(--text-muted);font-size:10px}.board-card.dragging{opacity:.4}.board-card.tone-done{cursor:default;background:var(--success-soft);border-color:#0000}.board-card.tone-done span{color:var(--success);font-weight:600}.board-card.tone-missed{border-color:var(--danger);border-style:dashed}.board-card.tone-missed span{color:var(--danger)}.board-card.tone-moved{border-left:3px solid var(--text-strong)}.board-card .link-button{text-align:left;font-size:10px}.board-go{color:var(--text-strong);margin-top:2px;font-size:11px;font-weight:600}.board-move{color:var(--text-muted);border-radius:5px;margin-top:4px;padding:3px 4px;font-size:10px;display:none}.board-tray{border:1px dashed var(--border2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;min-height:56px;padding:10px;display:flex}.board-tray .board-card{min-width:130px}.board-tray-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-right:6px;font-size:11px;font-weight:600}@media (hover:none){.board-move{display:block}.board-card{cursor:default}}.new-day{background:var(--bg);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:16px;padding:16px;display:flex}.new-day-actions{flex-wrap:wrap;gap:8px;display:flex}.new-day-actions input{flex:1;min-width:180px}.warnings.ok{border-left:4px solid var(--success)}.warning-group{border-top:1px solid var(--border);grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.warning-group ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.warning-kind{text-transform:uppercase;letter-spacing:.06em;text-align:center;background:var(--bg-raised);color:var(--text-strong);border-radius:5px;align-self:start;padding:5px 8px;font-size:10px;font-weight:700}.warning-kind.k-volumen,.warning-kind.k-recuperacion{background:var(--danger-soft);color:var(--danger)}.warning-kind.k-frecuencia,.warning-kind.k-redundancia{background:var(--warning-soft);color:var(--warning)}.warning-item{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:6px;flex-direction:column;gap:3px;padding:6px 8px;display:flex}.warning-item:hover{background:var(--hover-bg)}.warning-item strong{font-size:13px;font-weight:600}.warning-item span{color:var(--text-muted);font-size:12px;line-height:1.5}.muscle-summary summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:12px;list-style:none;display:flex}.muscle-summary summary:before{content:"▸";color:var(--text-muted)}.muscle-summary[open] summary:before{content:"▾"}.muscle-summary[open] summary{margin-bottom:14px}.status-pill{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-raised);border-radius:4px;padding:3px 7px;font-size:10px;font-weight:700}.status-pill.s-missing,.status-pill.s-low{background:var(--danger-soft);color:var(--danger)}.status-pill.s-high{background:var(--warning-soft);color:var(--warning)}.status-pill.s-ok{background:var(--success-soft);color:var(--success)}.day-card{flex-direction:column;gap:2px;display:flex}.day-card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.day-card-head h2{font-size:20px}.day-when{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:700}.ex-row{border-radius:8px;grid-template-columns:16px 20px minmax(0,1fr) 58px 104px 52px 64px 104px;align-items:center;gap:10px;padding:8px 6px;display:grid}.ex-row.highlighted{background:var(--accent-soft)}.ex-row.dragging{opacity:.4}.ex-head{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);border-radius:0;font-size:10px;font-weight:600}.ex-head span:nth-child(n+4){text-align:center}.drag-handle{cursor:grab;color:var(--text-faint)}.ex-index{color:var(--text-dim);font:700 12px Inter Tight,sans-serif}.ex-name{flex-direction:column;gap:3px;min-width:0;display:flex}.ex-name a{color:var(--text-strong);font:600 14px/1.25 Inter Tight,sans-serif}.ex-name>span{color:var(--text-muted);font-size:11px}.ex-name .ex-flag{color:var(--warning);font-weight:500}.ex-num{justify-content:center;align-items:center;gap:3px;display:flex}.ex-num small{display:none}.ex-num i{color:var(--text-faint);font-style:normal}.ex-num input{text-align:center;font-variant-numeric:tabular-nums;width:100%;padding:8px 4px}.ex-num.reps input{width:44px}.ex-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.add-row{color:var(--text-strong);background:0 0;border:0;align-self:flex-start;padding:12px 6px 4px;font:600 13px Inter Tight,sans-serif}.add-row:hover{text-decoration:underline}.swap-panel{border:1px solid var(--border2);background:var(--bg);border-radius:10px;flex-direction:column;gap:10px;margin:4px 0 10px 46px;padding:14px;display:flex}.swap-head{justify-content:space-between;gap:12px;display:flex}.swap-head>div{flex-direction:column;gap:3px;display:flex}.swap-head strong{font-size:13px}.swap-head span{color:var(--text-muted);font-size:11px}.swap-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;font-size:10px;font-weight:700}.swap-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;display:grid}.swap-option{text-align:left;border:1px solid var(--border2);background:var(--bg-alt);color:var(--text);border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.swap-option:hover:not(:disabled){border-color:var(--text-strong)}.swap-option strong{font-size:13px}.swap-option span{color:var(--text-muted);font-size:10.5px}.swap-panel .link-button{align-self:flex-start;font-size:12px}@media (width<=1150px){.checkin-row{grid-template-columns:minmax(0,1fr)}.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-strip>div:nth-child(2){border-right:0}.kpi-strip>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.board-days{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.checkin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid-2{grid-template-columns:minmax(0,1fr)}.kpi-strip>div{padding:16px}.kpi-strip strong{font-size:26px}.board-days{grid-template-columns:minmax(0,1fr)}.board-day{flex-flow:wrap;align-items:center;min-height:0}.board-day-head{width:100%}.board-empty{margin:0}.board-move{display:block}.goals-form .form-grid{grid-template-columns:minmax(0,1fr)}.warning-group{grid-template-columns:minmax(0,1fr);gap:6px}.warning-kind{justify-self:start}.ex-head{display:none}.ex-row{background:var(--bg);border:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:6px;padding:10px}.drag-handle,.ex-index{display:none}.ex-name{grid-area:1/1/auto/4}.ex-actions{grid-area:1/4}.ex-num{flex-direction:column;grid-row:2;align-items:stretch}.ex-num small{color:var(--text-muted);font-size:10px;display:block}.ex-num.reps{flex-flow:wrap;align-items:center}.ex-num.reps small{width:100%}.ex-num.reps input{width:calc(50% - 8px)}.swap-panel{margin-left:0}.day-card-head{flex-direction:column}}.today-cta{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.today-cta:hover{border-color:var(--text-strong);text-decoration:none}.today-cta span{color:var(--text-muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.today-cta strong{color:var(--text-strong);font-size:15px}.today-cta em{color:var(--text-strong);white-space:nowrap;font:700 22px Inter Tight,sans-serif}.session-clock{z-index:5;background:var(--metal);color:var(--accent-text);border-radius:12px;align-items:center;gap:0;display:flex;position:sticky;top:8px;overflow:hidden;box-shadow:0 6px 18px #1013162e}.session-clock>div{flex-direction:column;flex:1;gap:2px;min-width:0;padding:12px 18px;display:flex}.session-clock>div+div{border-left:1px solid #ffffff24}.session-clock span{opacity:.8;font-size:11px}.session-clock strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font:700 28px/1.1 Inter Tight,sans-serif}.session-clock .rest.done{background:var(--success)}.session-clock button{color:inherit;background:#ffffff1a;border:0;align-self:stretch;padding:0 16px;font-size:12px;font-weight:600}:root[data-theme=dark] .session-clock>div+div{border-left-color:#00000024}@media (width<=760px){.session-clock strong{font-size:22px}.session-clock>div{padding:10px 12px}}.sync-fields{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.sync-fields>div{color:var(--text-muted);grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:12px;font-size:12px;display:grid}.sync-fields code,.sync-steps code{background:var(--bg-raised);color:var(--text-strong);overflow-wrap:anywhere;border-radius:6px;padding:6px 8px;font:12px ui-monospace,Cascadia Code,monospace}.sync-steps code{padding:1px 5px}.sync-steps{margin-top:18px;font-size:13px}.sync-steps summary{cursor:pointer;color:var(--text-strong);font-weight:600}.sync-steps ol{color:var(--text-body);padding-left:20px;line-height:1.7}@media (width<=760px){.sync-fields>div{grid-template-columns:minmax(0,1fr)}}
