:root{color-scheme:dark;--bg:#111613;--panel:#1a211d;--panel-2:#202923;--panel-3:#27332b;--line:#354039;--text:#ecf1eb;--muted:#9eaba1;--faint:#92a398;--accent:#8fc6a0;--accent-strong:#b5e5c1;--danger:#efaaa0;--warning:#e9c690;--radius:16px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-size:15px;line-height:1.4}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit}.shell{max-width:1030px;margin:0 auto;padding:24px 24px 100px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:37px}.brand{display:flex;align-items:center;gap:11px;font-weight:750;letter-spacing:-.025em;font-size:15px}.brand-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#294235;border:1px solid #426d51;color:#deefdf;font-size:17px;font-weight:850}.brand-meta{display:block;font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:1px}.top-actions{display:flex;gap:8px;align-items:center}.eyebrow{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,5.5vw,43px);line-height:1.1;letter-spacing:-.055em;font-weight:760}h2{font-size:24px;line-height:1.2;letter-spacing:-.04em}h3{font-size:16px;letter-spacing:-.018em}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.tiny{font-size:11px}.strong{font-weight:700}.dim{opacity:.75}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.wrap{flex-wrap:wrap}.gap-sm{gap:6px}.gap-lg{gap:20px}.mt-1{margin-top:7px}.mt-2{margin-top:14px}.mt-3{margin-top:22px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:25px}.divider{height:1px;background:var(--line);margin:16px 0}.page-head{display:flex;gap:15px;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-head p{margin-top:9px}.max-copy{max-width:560px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:19px}.card-subtle{background:var(--panel-2)}.card-flat{background:transparent}.card-hover{transition:border-color .16s,background .16s}.card-hover:hover{border-color:#638c6f;background:var(--panel-2)}.splash{max-width:610px;margin:clamp(30px,9vh,90px) auto 0}.splash-title{margin-top:14px}.splash-sub{color:var(--muted);font-size:16px;margin-top:14px;margin-bottom:37px}.menu-action{width:100%;display:flex;align-items:center;text-align:left;gap:16px;padding:21px 19px;background:var(--panel);border:1px solid var(--line);border-radius:17px;color:var(--text);margin-bottom:12px}.menu-action:hover{background:var(--panel-2);border-color:#729c80}.action-icon{display:grid;place-items:center;border-radius:13px;width:47px;height:47px;background:#273a2d;color:var(--accent);flex:none;font-size:23px}.action-text{display:block;font-weight:700;font-size:16px}.action-desc{display:block;color:var(--muted);font-size:12px;font-weight:450;margin-top:3px}.arrow{color:var(--faint);font-size:23px;font-weight:400}.splash-footer{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px;color:var(--muted);font-size:13px}.link-button{background:none;border:0;color:var(--muted);padding:6px 2px}.link-button:hover{color:var(--text)}.btn{min-height:42px;border-radius:11px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:9px 15px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn:hover{background:var(--panel-3)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#132118}.btn.primary:hover{background:var(--accent-strong)}.btn.ghost{background:transparent}.btn.danger{color:var(--danger)}.btn.small-btn{font-size:12px;min-height:34px;padding:6px 11px;border-radius:9px}.btn.icon-btn{width:42px;padding:0;font-size:19px}.btn.full{width:100%}.btn.green-line{border-color:#4b7155;color:var(--accent)}.pill{display:inline-flex;align-items:center;white-space:nowrap;gap:4px;font-size:11px;font-weight:650;padding:5px 8px;border-radius:7px;color:var(--accent);background:#254332}.pill.neutral{color:#c2cec5;background:#2c362f}.pill.amber{background:#4a3928;color:#edd5aa}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat{border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:14px}.stat-number{font-size:22px;font-weight:780;letter-spacing:-.04em;margin-top:2px}.stat-label{font-size:11px;color:var(--muted)}.client-list{display:grid;gap:10px}.client-row{width:100%;display:flex;align-items:center;text-align:left;gap:13px;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:15px;color:var(--text)}.client-row:hover{background:var(--panel-2);border-color:#638c6f}.avatar{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#2d4535;color:#bce1c5;font-weight:780;flex:none}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;color:#bec9c0;font-weight:660}.field input,.field select,.field textarea,.search-input{width:100%;min-width:0;border:1px solid #48554b;background:#171e19;color:var(--text);padding:12px;border-radius:11px}.field input::placeholder,.field textarea::placeholder,.search-input::placeholder{color:#78877c}.field textarea{resize:vertical;min-height:84px}.field-hint{font-size:11px;color:var(--faint)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.week-strip{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:15px;padding:13px 15px;background:var(--panel);margin-bottom:18px}.week-label{flex:1;min-width:0;text-align:center}.week-title{font-weight:750;font-size:17px;letter-spacing:-.03em}.week-range{font-size:12px;color:var(--muted);margin-top:2px}.session-list{display:flex;flex-direction:column;gap:9px}.session-row{display:flex;align-items:center;gap:14px;width:100%;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:13px;text-align:left;color:var(--text)}.session-row:hover{background:var(--panel-2)}.session-symbol{display:grid;place-items:center;width:42px;height:42px;background:#2c3a2f;border-radius:11px;color:#c1d9c6;font-size:20px;flex:none}.session-title{font-weight:720;font-size:15px}.session-sub{font-size:12px;color:var(--muted);margin-top:3px}.section-heading{font-size:12px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-weight:730;margin-bottom:11px}.empty{text-align:center;padding:30px 18px;border:1px dashed #46524a;border-radius:15px;color:var(--muted)}.empty-icon{font-size:29px;color:var(--faint);display:block;margin-bottom:8px}.quick-types{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.type-choice{padding:18px 8px;text-align:center;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:13px;font-weight:730;min-height:66px}.type-choice:hover{background:#2b4132;border-color:#699879}.session-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:13px;margin-bottom:23px}.session-head h1{font-size:30px}.session-tools{display:flex;align-items:center;gap:8px}.optional-section{border:1px dashed #44544a;border-radius:14px;padding:13px 15px;margin-bottom:18px}.optional-head{display:flex;align-items:center;gap:11px;justify-content:space-between}.optional-title{font-weight:700}.exercise-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:17px;margin-bottom:12px}.exercise-header{display:flex;align-items:flex-start;gap:11px}.exercise-name{font-size:17px;font-weight:760;letter-spacing:-.025em}.exercise-sub{font-size:11px;color:var(--muted);margin-top:3px}.last-performance{background:#233329;border:1px solid #38533f;border-radius:10px;padding:10px 11px;margin:12px 0;font-size:12px;color:#c8dfd0}.last-performance strong{color:#e8f1e8}.sets-grid{display:grid;grid-template-columns:36px minmax(0,1.2fr) minmax(0,.85fr) 35px;align-items:end;gap:8px}.sets-grid.timed{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) 35px}.sets-grid .colhead{font-size:10px;font-weight:680;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding-left:3px}.set-index{height:41px;display:flex;align-items:center;font-weight:700;color:var(--faint);font-size:12px}.set-field input,.set-field select{height:41px;width:100%;min-width:0;background:#151b17;border:1px solid #3b4940;color:var(--text);padding:8px 10px;border-radius:9px;font-size:15px;font-variant-numeric:tabular-nums}.set-field input:focus{border-color:#8fc6a0}.set-remove{height:41px;width:35px;background:transparent;border:0;color:#77887c;font-size:21px}.set-remove:hover{color:var(--danger)}.ex-foot{display:flex;align-items:center;justify-content:space-between;gap:11px;margin-top:13px;flex-wrap:wrap}.rpe-control{display:flex;align-items:center;gap:9px}.rpe-control label{font-size:12px;color:var(--muted);font-weight:650}.rpe-control select{min-width:85px;border-radius:9px;background:#151b17;color:var(--text);border:1px solid #3d4b41;padding:8px}.micro-select{background:#151b17;color:var(--text);border:1px solid #405047;border-radius:9px;padding:7px 9px;min-height:36px;font-size:12px}.exercise-options{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0 3px}.exercise-options label{color:var(--muted);font-size:11px}.activity-card{border:1px solid var(--line);background:var(--panel-2);padding:12px;border-radius:12px;margin-top:10px}.activity-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.activity-fields input{background:#131a15;color:var(--text);border:1px solid #3b4940;border-radius:9px;min-width:0;width:100%;padding:10px}.btn-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.overlay{position:fixed;inset:0;background:rgba(3,9,5,.76);display:flex;align-items:center;justify-content:center;z-index:30;padding:18px}.modal{background:#1b241e;border:1px solid #506052;border-radius:20px;width:min(100%,640px);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 18px 72px #0006}.modal-top{padding:19px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none}.modal-top h2{font-size:20px}.modal-body{padding:19px 20px;overflow:auto;overscroll-behavior:contain}.modal-foot{padding:12px 20px 18px;flex:none}.filter-line{display:flex;gap:6px;overflow-x:auto;padding:2px 0 9px;scrollbar-width:thin}.chip{border:1px solid #445147;background:transparent;color:#bbc8be;border-radius:999px;padding:7px 12px;white-space:nowrap;font-size:12px;font-weight:650}.chip.active{background:#315640;border-color:#477858;color:#e3f2e6}.picker-result{display:flex;align-items:center;text-align:left;gap:12px;width:100%;padding:12px 5px;border:0;border-bottom:1px solid #343e36;background:transparent;color:var(--text)}.picker-result:hover{background:#27342a}.picker-title{font-weight:650;font-size:13px}.picker-meta{font-size:11px;color:var(--muted);margin-top:2px}.more-button{width:100%;padding:13px;background:transparent;color:var(--accent);font-weight:700;border:1px solid #425d49;border-radius:10px;margin-top:10px}.picker-results{min-height:160px}.tag{font-size:10px;color:var(--muted);border:1px solid #3d4b41;border-radius:6px;padding:4px 7px;white-space:nowrap}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#345640;color:#ecf5ed;border:1px solid #5c8f6b;border-radius:12px;padding:11px 16px;box-shadow:0 8px 30px #0006;font-size:13px;transition:opacity .2s,transform .2s;z-index:100;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.history-line{padding:10px 0;border-bottom:1px solid var(--line)}.history-line:last-child{border:0}.weight-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.weight-row:last-child{border:0}.navback{display:inline-flex;align-items:center;gap:6px;color:var(--muted);background:none;border:0;padding:5px 0;margin-bottom:17px}.navback:hover{color:var(--text)}.notice{border-radius:11px;background:#23352a;border:1px solid #3a5944;color:#c7e4cc;padding:12px 14px;font-size:12px}.privacy-note{font-size:12px;line-height:1.55;color:var(--muted)}.mobile-only{display:none}
@media(max-width:650px){.shell{padding:19px 15px 105px}.topbar{margin-bottom:30px}.splash{margin-top:13vh}.page-head{align-items:flex-start}.page-head h1{font-size:31px}.page-head .btn{max-width:140px}.card{padding:16px}.form-grid{gap:11px}.week-strip{padding:10px 8px;gap:6px}.week-title{font-size:15px}.quick-types{gap:6px}.type-choice{font-size:13px;padding:12px 3px}.exercise-card{padding:13px}.exercise-name{font-size:15px}.sets-grid{gap:5px;grid-template-columns:27px minmax(0,1.2fr) minmax(0,.85fr) 29px}.sets-grid.timed{grid-template-columns:27px minmax(0,1fr) minmax(0,1fr) 29px}.set-field input,.set-field select{padding:7px}.set-remove{width:29px}.modal{max-height:96vh;border-radius:18px}.overlay{padding:8px}.modal-top{padding:15px}.modal-body{padding:14px}.stats-grid{gap:6px}.stat{padding:10px}.stat-number{font-size:19px}.mobile-only{display:block}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}
@media(max-width:360px){.shell{padding-left:10px;padding-right:10px}.menu-action{padding:15px 12px}.action-icon{width:41px;height:41px}.card,.exercise-card{padding:12px}.rpe-control label{display:none}.week-title{font-size:14px}}
.data-tools{margin-top:26px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--panel);}
.data-tools .section-heading{display:block;margin:0 0 10px;}
.data-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.data-actions .btn{width:100%;min-width:0;padding:10px 5px;font-size:13px;}
.activity-fields.single{grid-template-columns:minmax(0,1fr);max-width:260px;}
.profile-danger{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);}
@media(max-width:380px){.data-actions{gap:5px;}.data-actions .btn{font-size:12px;}.profile-danger{flex-wrap:wrap;}}
.history-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;padding:4px;background:var(--panel);margin-bottom:18px;gap:4px;}
.history-tab{color:var(--muted);border:0;background:transparent;min-height:45px;border-radius:10px;font-weight:700;}
.history-tab.active{color:var(--text);background:#304435;box-shadow:inset 0 0 0 1px #4e6d57;}
.history-count{margin:10px 0 12px;}
.history-row{width:100%;display:flex;align-items:center;text-align:left;gap:13px;border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:14px;margin-bottom:9px;color:var(--text);}
.history-row:hover{background:var(--panel-2);border-color:#638c6f;}
.history-symbol{border-radius:11px;width:39px;height:39px;flex:none;display:grid;place-items:center;background:#273c2e;color:var(--accent);font-weight:750;font-size:17px;}
.history-dumbbell{font-size:23px;}
.history-row .pill{font-size:10px;}
.history-progress .tag{white-space:normal;text-align:right;}
.history-chart{width:100%;height:auto;display:block;margin:10px 0;overflow:visible;}
.history-performance{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:14px;margin-bottom:9px;}
.history-performance .btn-row{justify-content:flex-end;}
.history-performance .link-button{font-size:12px;color:var(--accent);margin-top:10px;}
.history-setsummary{font-size:14px;color:#c4d5ca;overflow-wrap:anywhere;margin-top:9px;}
@media(max-width:540px){.history-row{gap:9px;padding:11px;flex-wrap:wrap;}.history-row .pill{margin-left:48px;}.history-performance .row-between{flex-wrap:wrap;}.history-progress{padding:12px;}.history-progress .tag{font-size:9px;}.history-chart{margin:5px 0;}}

/* Coach-only client database */
.database-row{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);min-width:0;}
.database-row .avatar{align-self:flex-start;}
.database-info{min-width:0;flex:1;}
.database-name{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);font-weight:750;font-size:16px;text-align:left;padding:0;max-width:100%;overflow-wrap:anywhere;}
.database-name:hover{color:var(--accent-strong);}
.database-name .arrow{font-size:18px;}
.database-note{margin-top:8px;color:var(--faint);font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.database-actions{display:flex;align-items:center;gap:7px;flex-shrink:0;}
.profile-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:-4px 0 23px;}
@media(max-width:620px){
  .database-row{gap:11px;flex-wrap:wrap;padding:13px;}
  .database-info{flex-basis:calc(100% - 60px);}
  .database-actions{margin-left:55px;width:calc(100% - 55px);}
  .database-actions .btn{flex:1;}
  .profile-shortcuts .btn{flex:1;}
}

/* v0.2 Coach dashboard and single client directory */
.dashboard{max-width:750px;margin:clamp(16px,5vh,55px) auto 0}
.home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin:13px 0 26px}
.home-heading h1{font-size:clamp(34px,6vw,49px)}
.continue-card{padding:22px 24px;border:1px solid #477055;background:linear-gradient(145deg,#263e2e,#1c2920 65%);border-radius:18px;margin-bottom:28px}
.continue-card h2{margin:12px 0 7px;font-size:27px}
.continue-card p{font-size:13px;line-height:1.5}
.continue-card .btn{margin-top:17px;max-width:310px}
.recent-clients{border:1px solid var(--line);background:var(--panel);border-radius:15px;overflow:hidden}
.recent-client{display:flex;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line)}
.recent-client:last-child{border-bottom:none}
.recent-name{min-width:0;flex:1;text-align:left;border:0;color:var(--text);background:none;padding:2px;white-space:normal;overflow-wrap:anywhere}
.recent-name:hover strong{color:var(--accent-strong)}
.recent-name strong{font-size:14px}
.recent-client .avatar{width:38px;height:38px;font-size:12px}
.home-shortcuts{display:flex;gap:8px;margin-top:13px}
.home-shortcuts .btn{flex:1}
.backup-reminder{display:block;text-align:left;width:100%;background:#2c2a20;border:1px solid #615237;border-radius:12px;padding:12px 14px;color:var(--warning);margin-top:20px;font-size:12px;font-weight:650}
.backup-reminder:hover{background:#363222}
.settings-page{max-width:860px;margin:0 auto}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}
.settings-card{display:flex;flex-direction:column;gap:19px;min-width:0}
.settings-card .section-heading{margin:0}
.setting-switch{display:flex;align-items:flex-start;gap:11px;color:var(--text);cursor:pointer;font-size:13px}
.setting-switch input{accent-color:var(--accent);width:19px;height:19px;flex:none;margin:2px 0 0}
.setting-switch span{display:flex;flex-direction:column;gap:4px}
.setting-switch small{color:var(--muted);font-size:12px;line-height:1.45}
.settings-metrics{display:flex;flex-direction:column;gap:11px}
.settings-metrics span{display:flex;gap:12px;justify-content:space-between;color:var(--muted);font-size:12px}
.settings-metrics strong{color:var(--text);font-size:12px;text-align:right}
.danger-details{margin-top:16px;border:1px solid #54413f;border-radius:12px;padding:13px 17px;color:var(--muted);font-size:12px}
.danger-details summary{cursor:pointer;color:var(--muted);font-weight:650}
.settings-danger{margin-top:19px}
.profile-maintenance{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;margin-top:15px}
.profile-maintenance .btn{flex:none}
.profile-danger{margin-top:12px}
.weight-row{gap:10px}
.weight-row strong{margin-left:auto;white-space:nowrap}
.picker-row{display:flex;align-items:stretch;border-bottom:1px solid #343e36}
.picker-row .picker-result{flex:1;min-width:0;border:0}
.pin-button{min-width:45px;border:0;background:transparent;color:var(--faint);font-size:24px;border-radius:8px}
.pin-button:hover,.pin-button.pinned{color:var(--warning)}
.restore-compare{display:grid;gap:12px;margin:20px 0}
.restore-compare>div{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:11px;padding:13px;background:var(--panel-2)}
.danger-solid{background:#75403e;color:#ffe9e5;border-color:#ad6862}
.danger-solid:hover{background:#8e4c48}
.density-compact .recent-client,.density-compact .database-row,.density-compact .session-row{padding:9px 12px}
.density-compact .exercise-card{padding:11px;margin-bottom:8px}
.density-compact .card{padding:13px}
.density-compact .picker-result{padding:7px 4px}
@media(max-width:720px){.settings-grid{grid-template-columns:1fr}}
@media(max-width:500px){
 .dashboard{margin-top:22px}.home-heading{align-items:center;margin-bottom:20px}.home-heading h1{font-size:36px}
 .continue-card{padding:19px}.continue-card h2{font-size:24px}.continue-card .btn{max-width:none}
 .recent-client{padding:11px 12px;gap:9px}.recent-client .avatar{width:33px;height:33px}
 .home-shortcuts .btn{padding:10px 8px;font-size:12px}
 .profile-maintenance{flex-direction:column;align-items:stretch}.profile-maintenance .btn{align-self:flex-start}
 .weight-row .btn{font-size:11px;min-height:32px;padding:5px 8px}
}
