:root{
  color-scheme:dark;
  --bg:#0D0F12;
  --bg2:#0A0C0F;
  --card:#151A20;
  --card2:#101419;
  --border:#252C35;
  --border2:#313A45;
  --green:#00E676;
  --yellow:#FFD600;
  --red:#FF1744;
  --blue:#5CA9FF;
  --text:#F4F7FA;
  --muted:#8F9BAD;
  --muted2:#697484;
  --shadow:0 18px 50px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;
  min-height:100vh;
  background:linear-gradient(180deg,#0D0F12 0%,#0A0D10 100%);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;
  padding-bottom:calc(92px + env(safe-area-inset-bottom));
  -webkit-font-smoothing:antialiased;
}
button,input,select{font:inherit}
button{touch-action:manipulation}
.hidden{display:none!important}

.app-header{
  position:sticky;top:0;z-index:40;
  background:rgba(13,15,18,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  padding-top:env(safe-area-inset-top);
}
.header-inner{
  width:min(100%,540px);margin:auto;padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:950;font-size:25px;letter-spacing:-.6px}
.brand-large{font-size:31px;margin-bottom:8px}
.brand-bar{width:10px;height:39px;background:var(--green);border-radius:8px;box-shadow:0 0 20px rgba(0,230,118,.35)}
.alpha-tag{font-size:10px;color:var(--green);letter-spacing:1.6px;border:1px solid rgba(0,230,118,.35);padding:5px 7px;border-radius:999px}
.phase-pill{
  border:0;background:var(--yellow);color:#11151A;font-size:12px;font-weight:950;letter-spacing:.8px;
  padding:11px 16px;border-radius:12px;box-shadow:0 5px 22px rgba(255,214,0,.16);min-height:42px;
}

.app-shell{width:min(100%,540px);margin:auto;padding:18px 18px 32px}
.tab{display:none}.tab.active{display:block}
.card{
  background:linear-gradient(180deg,#171C22 0%,#14191F 100%);
  border:1px solid var(--border);border-radius:24px;padding:22px;margin-bottom:16px;box-shadow:var(--shadow);
}

h1,h2,h3,p{margin-top:0}
h1{font-size:34px;letter-spacing:-1px}
h2{font-size:27px;letter-spacing:-.7px;margin-bottom:5px}
h3{font-size:20px}
.lead{font-size:16px;color:var(--muted);line-height:1.55}
.eyebrow{display:block;color:#8995A7;font-size:11px;font-weight:950;letter-spacing:2px;text-transform:uppercase}
.muted{color:var(--muted)}
.tiny{font-size:12px;line-height:1.45}
.success{color:var(--green)}

.btn{
  min-height:54px;border:0;border-radius:15px;padding:0 18px;font-weight:950;letter-spacing:.7px;cursor:pointer;
  transition:transform .12s ease,opacity .12s ease,filter .12s ease;
}
.btn:active{transform:scale(.985)}
.btn:disabled{opacity:.38;cursor:not-allowed}
.primary{background:var(--green);color:#07110B;box-shadow:0 8px 30px rgba(0,230,118,.18)}
.secondary{background:#20262E;color:#F7F9FB;border:1px solid #2C3540}
.danger{background:rgba(255,23,68,.11);color:#FF4567;border:1px solid rgba(255,23,68,.36)}
.wide{width:100%}.small-btn{min-height:42px;padding:0 13px;font-size:12px}.top-gap{margin-top:10px}
.google-btn{margin-top:14px}

.input,select{
  width:100%;min-height:52px;background:#0D1014;border:1px solid #29313B;border-radius:14px;color:#fff;padding:11px 13px;font-size:16px;outline:none;
}
.input:focus,select:focus{border-color:#4B5866;box-shadow:0 0 0 3px rgba(255,255,255,.04)}
.big-input{font-size:21px;font-weight:850;text-align:center}
.label{display:block;color:#8E9AAB;font-size:11px;font-weight:950;letter-spacing:1.3px;text-transform:uppercase;margin:0 0 8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.compact-grid{gap:12px}

.overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:20px}
.modal{position:relative;width:min(100%,500px);max-height:86vh;overflow:auto;background:#151A20;border:1px solid #2A333D;border-radius:24px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.55)}
#launchGate{z-index:320}
.auth-overlay{z-index:150}.auth-modal{padding:28px}.modal-x{position:absolute;right:14px;top:12px;width:42px;height:42px;border-radius:50%;border:0;background:#222933;color:#fff;font-size:28px;line-height:1}
.authenticated-entry-shell{display:grid;gap:14px;text-align:center;justify-items:center;padding:20px 4px}.authenticated-entry-shell .brand{margin-bottom:12px}.authenticated-entry-shell h2,.authenticated-entry-shell p{margin:0}.authenticated-entry-shell .btn{margin-top:8px}
.legal-card{background:#0E1216;border:1px solid var(--border);border-radius:16px;padding:14px;margin:18px 0}
.consent-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-size:14px;line-height:1.45}.consent-row input{width:21px;height:21px;accent-color:var(--green);flex:0 0 auto}
.linkBtn{background:none;border:0;padding:0;color:var(--green);font-weight:800;text-decoration:underline;cursor:pointer}

.banner{position:sticky;top:88px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#332D08;border:1px solid #665B09;border-radius:15px;padding:11px 13px;margin-bottom:14px;color:#FFF3A8}

.readiness-card{text-align:center;padding-top:28px;scroll-margin-top:104px}
.ring-wrap{display:flex;justify-content:center;margin:0 0 18px}
.readiness-ring{
  width:244px;height:244px;border-radius:50%;padding:18px;
  background:conic-gradient(var(--ring) calc(var(--score)*1%),#242B33 0);
  box-shadow:0 0 0 1px #29313A,0 12px 40px rgba(0,0,0,.28),0 0 32px color-mix(in srgb,var(--ring) 20%,transparent);
  position:relative;
}
.readiness-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(255,255,255,.035)}
.ring-inner{width:100%;height:100%;border-radius:50%;background:#151A20;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #202730}
.ring-score{font-size:72px;line-height:.95;font-weight:950;letter-spacing:-4px;margin:8px 0 5px}.ring-score::after{content:"";font-size:28px;color:var(--muted);vertical-align:top;margin-left:3px}
.ring-label{font-size:12px;font-weight:950;letter-spacing:1.4px;color:var(--muted)}
.decision-title{font-size:21px;font-weight:900;margin-top:8px}.decision-copy{line-height:1.5;max-width:420px;margin:8px auto 18px}
.daily-training-state{text-align:left;border:1px solid rgba(0,230,118,.24);background:rgba(0,230,118,.035);border-radius:14px;padding:12px;margin:10px 0}.daily-training-state>strong{display:block;color:var(--green);font-size:14px;margin:4px 0 10px}.daily-training-state-row{display:grid;grid-template-columns:94px 1fr;gap:9px;padding:7px 0;border-top:1px solid rgba(255,255,255,.07)}.daily-training-state-row>span{color:#85919F;font-size:9px;font-weight:900;letter-spacing:.7px}.daily-training-state-row p,.daily-training-state-movements{margin:0;color:#DDE5EC;font-size:12px;line-height:1.4}.daily-training-state-movements{padding:8px 10px;margin:3px 0;border-radius:9px;background:#0D1115;color:#B8C6D3}
.dose-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);background:#0D1014;border-radius:16px;overflow:hidden;margin-bottom:16px;text-align:left}
.dose-summary>div{padding:13px 15px}.dose-summary>div+div{border-left:1px solid var(--border)}.dose-summary span{display:block;font-size:10px;color:var(--muted);font-weight:900;letter-spacing:1px}.dose-summary strong{display:block;margin-top:5px;font-size:14px}

.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.section-title-row h2{margin:4px 0 0}.time-chip{font-size:11px;font-weight:900;color:var(--green);border:1px solid rgba(0,230,118,.23);padding:7px 9px;border-radius:999px}
.slider-field{margin:27px 0}.slider-field.no-bottom{margin-bottom:0}.slider-label-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;text-transform:uppercase;letter-spacing:1.2px;font-size:12px;font-weight:900;color:#909BAD}.slider-label-row strong{font-size:15px;letter-spacing:.4px;color:var(--green)}
.range{width:100%;height:30px;background:transparent;accent-color:var(--green)}
.range::-webkit-slider-runnable-track{height:7px;border-radius:99px;background:linear-gradient(90deg,var(--rangeColor,var(--green)) 0 var(--pct,50%),#E6E9EC var(--pct,50%) 100%)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;border-radius:50%;background:#fff;margin-top:-12px;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.range{-webkit-appearance:none}.green-range{--rangeColor:var(--green)}.yellow-range{--rangeColor:var(--yellow)}.red-range{--rangeColor:var(--red)}.blue-range{--rangeColor:var(--blue)}
.range-scale{display:flex;justify-content:space-between;color:#5F6A79;font-size:10px;font-weight:750;margin-top:5px}
.yesterday-box{background:#101419;border:1px solid var(--border);padding:16px;border-radius:17px;margin-top:7px}.yesterday-box>.eyebrow{margin-bottom:13px}.generate-btn{margin-top:10px}

.empty-state{text-align:center;padding:48px 24px}.session-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.session-head h2{margin-bottom:4px}.session-clock-wrap{text-align:right}.session-clock-wrap strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--green);font-size:25px;display:block;margin-bottom:8px}
.workout-block{padding:0;overflow:hidden}.block-top{padding:19px 19px 13px;display:grid;grid-template-columns:48px 1fr 48px;gap:12px;align-items:center}.block-index{width:46px;height:46px;border-radius:13px;background:#20262D;display:flex;align-items:center;justify-content:center;color:#99A5B6;font-size:18px;font-weight:950}.block-name{font-size:23px;font-weight:900;line-height:1.08;margin:0}.swap-btn{width:46px;height:46px;border-radius:13px;background:#20262D;border:1px solid #2F3843;color:#fff;font-size:22px;cursor:pointer}.swap-btn:disabled{opacity:.3}.prescription-strip{display:flex;flex-wrap:wrap;gap:8px;padding:0 19px 16px}.prescription-chip{background:#0F1318;border:1px solid var(--border);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850;color:#A9B4C2}.prescription-chip.accent{color:var(--green)}.target-line{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 19px;color:#98A4B5;font-size:13px;font-weight:700}.target-line strong{color:#EAF0F6}
.set-table{padding:8px 13px 16px}.set-header,.set-row{display:grid;grid-template-columns:42px 1fr 78px 78px 52px;gap:7px;align-items:center}.set-header{padding:7px 5px;color:#8793A4;font-size:10px;font-weight:950;letter-spacing:1.2px}.set-row{padding:6px 5px}.set-label{font-weight:900;font-size:16px}.prev-value{color:#6F7A89;font-size:12px;text-align:center;line-height:1.2}.set-input{height:54px;min-height:54px;padding:8px 6px;text-align:center;font-size:17px;font-weight:800;border-radius:13px}.set-input.target-prefill{color:#fff}.set-check{appearance:none;width:48px;height:48px;border:3px solid #343D47;border-radius:13px;background:#0D1014;display:grid;place-items:center;cursor:pointer}.set-check:checked{background:var(--green);border-color:var(--green)}.set-check:checked::after{content:"✓";font-size:25px;color:#07110B;font-weight:950}.set-check:disabled{opacity:.35}.set-row.locked .set-input{opacity:.5}
.metric-3 .set-header,.metric-3 .set-row{grid-template-columns:36px 70px 66px 58px 66px 48px}.metric-3 .prev-value{font-size:10px}.metric-3 .set-input{font-size:15px}

.conditioning-card .conditioning-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.conditioning-card h3{margin:4px 0}.conditioning-off{opacity:.78}.conditioning-info{background:#0E1216;border:1px solid var(--border);border-radius:15px;padding:14px;margin-top:12px}.conditioning-info strong{display:block;font-size:12px;color:#fff;margin-top:9px}.conditioning-info strong:first-child{margin-top:0}.conditioning-done{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:850}.conditioning-done input{width:26px;height:26px;accent-color:var(--green)}

.done-card{text-align:center}.success-mark{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(0,230,118,.12);border:1px solid rgba(0,230,118,.4);color:var(--green);font-size:38px;font-weight:950;margin:0 auto 13px}.summary-img{width:100%;display:block;border-radius:18px;border:1px solid var(--border);margin:16px 0}

.history-card .history-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.history-card .phase-mini{font-size:10px;color:#111;background:var(--yellow);font-weight:950;padding:5px 8px;border-radius:8px}.history-ex{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.history-ex strong{font-size:14px}.history-sets{font-size:12px;color:#8995A5;line-height:1.5;margin-top:3px}

.profile-section{border-top:1px solid var(--border);padding-top:18px;margin-top:20px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#0D1014;border:1px solid var(--border);border-radius:15px;padding:5px}.segmented button{border:0;background:transparent;color:#8995A5;min-height:46px;border-radius:11px;font-weight:950}.segmented button.active{background:var(--green);color:#07110B}.dayrow{display:grid;grid-template-columns:32px 1.15fr .9fr 54px 64px;gap:6px;align-items:center;margin:7px 0}.dayrow strong{color:#E8EDF2;text-align:center}.dayrow-head{margin-bottom:2px;color:#7F8A98;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.dayrow-head span{text-align:center}.dayrow select,.dayrow input{min-height:46px;padding:7px;font-size:13px}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.equipment-check{display:flex;align-items:center;gap:8px;background:#101419;border:1px solid var(--border);border-radius:12px;padding:9px 10px;font-size:12px}.equipment-check input{width:20px;height:20px;accent-color:var(--green)}.legal-links{display:flex;justify-content:center;gap:8px;margin-top:15px;font-size:13px}
.saved-context-list{display:grid;gap:12px}.saved-context-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid var(--border);border-radius:17px;background:#0D1115;padding:16px}.saved-context-card.is-active{border-color:rgba(0,230,118,.48);background:rgba(0,230,118,.045)}.saved-context-copy{min-width:0}.saved-context-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.saved-context-title strong{font-size:16px}.saved-context-copy p{color:var(--muted);font-size:12px;line-height:1.45;margin:6px 0 0;overflow-wrap:anywhere}.saved-context-environment{display:block;margin-top:3px;color:#AAB5C2}.saved-context-state{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;background:rgba(0,230,118,.12);color:var(--green);font-size:9px;font-weight:950;letter-spacing:.7px;text-transform:uppercase}.saved-context-primary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.saved-context-use{line-height:1.15}.saved-context-menu{position:relative}.saved-context-menu>summary{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:12px;background:#11171D;color:#fff;font-size:24px;font-weight:900;line-height:1;cursor:pointer;list-style:none}.saved-context-menu>summary::-webkit-details-marker{display:none}.saved-context-menu-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:30;width:190px;padding:6px;border:1px solid #303943;border-radius:13px;background:#11161C;box-shadow:0 16px 38px rgba(0,0,0,.42)}.saved-context-menu-panel button{display:block;width:100%;min-height:42px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:#E8EDF2;text-align:left;font-size:12px;font-weight:850;cursor:pointer}.saved-context-menu-panel button:hover,.saved-context-menu-panel button:focus-visible{background:#1A222A}.danger-link{color:#FF8297!important}.saved-context-create{margin-top:14px}.saved-context-editor{margin:0;padding:0;border:0}.saved-context-exit-actions{display:grid;gap:9px;margin-top:20px}.saved-context-exit-actions .btn{width:100%}.today-equipment-block{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.equipment-check.compact{min-height:52px!important}.today-equipment-block select{width:100%}

.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,540px);z-index:70;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(10,13,16,.96);backdrop-filter:blur(18px);border-top:1px solid #242B33;padding:8px 6px calc(10px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:none;color:#788495;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px;font-weight:850}.bottom-nav button.active{color:var(--green)}.nav-icon{font-size:29px;line-height:1}

.timerbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(82px + env(safe-area-inset-bottom));z-index:80;width:min(calc(100% - 20px),520px);background:#080B0E;border:1px solid #313A45;border-radius:18px;padding:11px 13px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 20px 60px rgba(0,0,0,.48)}.timerbar strong{display:block;color:var(--green);font-size:26px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:2px}.timer-actions{display:flex;gap:5px}.timer-btn{min-height:43px;padding:0 11px;font-size:11px}

.swap-option{width:100%;text-align:left;background:#0D1014;border:1px solid var(--border);border-radius:15px;color:#fff;padding:15px;margin-top:9px;cursor:pointer}.swap-option strong{display:block;font-size:16px}.swap-option span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.tutorial-modal{text-align:center}.tutorial-step{font-size:11px;color:var(--green);font-weight:950;letter-spacing:1.5px;margin-bottom:10px}.tutorial-visual{width:68px;height:68px;border-radius:20px;background:#0E1512;border:1px solid rgba(0,230,118,.24);display:grid;place-items:center;margin:0 auto 17px;font-size:32px}

@media(max-width:430px){
  .app-shell{padding:14px 12px 26px}.header-inner{padding:16px 16px}.brand{font-size:22px}.brand-bar{height:34px;width:9px}.phase-pill{padding:10px 12px;font-size:11px}
  .card{border-radius:21px;padding:18px}.readiness-ring{width:220px;height:220px}.ring-score{font-size:65px}.grid2{gap:9px}
  .set-header,.set-row{grid-template-columns:34px 1fr 68px 62px 47px;gap:5px}.set-input{height:50px;min-height:50px}.set-check{width:45px;height:45px}.workout-block{padding:0}.block-name{font-size:21px}
  .metric-3 .set-header,.metric-3 .set-row{grid-template-columns:29px 56px 58px 51px 58px 44px;gap:4px}.metric-3 .set-input{font-size:13px;padding:5px 2px}.metric-3 .set-check{width:42px;height:42px}
  .dayrow{grid-template-columns:26px 1fr .82fr 45px 54px}.dayrow select,.dayrow input{font-size:12px;padding:5px}.equipment-grid{grid-template-columns:1fr}.saved-context-card{grid-template-columns:minmax(0,1fr);align-items:stretch}.saved-context-copy{width:100%}.saved-context-copy p{overflow-wrap:normal;word-break:normal}.saved-context-primary-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;justify-content:stretch;width:100%}.saved-context-primary-actions>.btn{width:100%;padding-inline:8px}.saved-context-primary-actions>.saved-context-menu:last-child{justify-self:end}.saved-context-menu-panel{right:0}.saved-context-card.is-active .saved-context-primary-actions{grid-template-columns:minmax(0,1fr) 42px}
}

/* Alpha 0.3 UX fixes */
#docModal{z-index:260}
#swapModal{z-index:240}
#tutorial{z-index:250}
.orange-range{--range-color:#FF8A3D}
.pain-severity-box{grid-column:1/-1;margin-top:4px;padding:14px 14px 2px;border-radius:15px;background:#101419;border:1px solid var(--border)}
.strength-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.strength-day{display:flex;flex-direction:column;align-items:center;gap:6px;background:#101419;border:1px solid var(--border);border-radius:12px;padding:9px 2px;font-size:11px;font-weight:900;color:#8E99A8;cursor:pointer}
.strength-day input{width:19px;height:19px;accent-color:var(--green)}
.strength-day:has(input:checked){border-color:rgba(0,230,118,.48);background:#0F1814;color:#fff}
.weekly-load-preview{margin-top:12px;border:1px solid var(--border);border-radius:14px;padding:11px 13px;background:#0D1014;font-size:12px;color:var(--muted);line-height:1.45}
.weekly-load-preview strong{color:#fff}
.equipment-check{align-items:flex-start}
.equipment-check span{display:flex;flex-direction:column;line-height:1.15}
.equipment-check small{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:4px}
.bottom-nav .nav-icon{width:28px;height:28px;display:grid;place-items:center}
.bottom-nav .nav-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
.set-check.waiting-input{opacity:.34;cursor:not-allowed}
.rest-day-card{border-color:#303944;background:linear-gradient(180deg,#151A20,#101419)}
.rest-day-card .rest-symbol{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#111821;border:1px solid var(--border);font-size:28px;margin-bottom:12px}
@media(max-width:390px){.strength-days{gap:4px}.strength-day{font-size:10px;padding:8px 1px}}

/* Pilot RC1 */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.today-context-box,.safety-box{background:#101419;border:1px solid var(--border);border-radius:17px;padding:16px;margin:14px 0}
.today-context-box .mini-title{align-items:center;margin-bottom:8px}
.today-context-box .mini-title strong{display:block;margin-top:4px;font-size:15px}
.safety-row{padding:0}.safety-row span{display:flex;flex-direction:column;gap:4px}.safety-row small{color:var(--muted);line-height:1.35}
.pilot-feedback{border-top:1px solid var(--border);padding-top:18px;margin-top:18px;text-align:left}.pilot-feedback h3{margin:5px 0 12px}
.feedback-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:10px}.feedback-scale button{min-height:48px;border-radius:12px;border:1px solid #303944;background:#0D1014;color:#fff;font-weight:900;font-size:17px}.feedback-scale button.active{background:var(--green);border-color:var(--green);color:#07110B}
.mobility-card{border-color:#303944}.mobility-card .conditioning-status{display:flex;align-items:center;justify-content:space-between;gap:12px}
.capacity-note{font-size:12px;color:var(--muted);line-height:1.5}
.block-rir{padding:0 19px 16px}.block-rir label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#95A0AE;font-size:12px;font-weight:800}.block-rir input{width:88px;text-align:center}
.release-badge{display:inline-flex;align-items:center;border:1px solid rgba(0,230,118,.25);color:var(--green);border-radius:999px;padding:4px 8px;font-size:9px;font-weight:950;letter-spacing:.8px}
@media(max-width:430px){.grid3{grid-template-columns:1fr 1fr}.grid3>div:last-child{grid-column:1/-1}.today-context-box,.safety-box{padding:14px}}

/* Alpha 1 RC2 · clarity + load semantics */
.schedule-help{margin:10px 2px 0;line-height:1.5}.schedule-help strong{color:#E8EDF2}
.set-load-fixed{height:54px;min-height:54px;border:1px solid #29313B;border-radius:13px;background:#0D1014;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;color:#fff}
.set-load-fixed strong{font-size:16px}.set-load-fixed small{font-size:9px;color:#7F8B9A;margin-top:4px;font-weight:800}
.set-row select.set-input{appearance:auto;padding:4px;font-size:12px;text-align:center}
.story-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px}.story-actions .btn{margin:0}
@media(max-width:390px){.dayrow{grid-template-columns:24px 1fr .78fr 46px 58px}.dayrow-head{font-size:8px}.schedule-help{font-size:10px}.story-actions{grid-template-columns:1fr}}

/* RC4 · multisession + execution lineage */
.weekly-day-card{background:#0E1216;border:1px solid var(--border);border-radius:16px;padding:12px;margin:10px 0}.weekly-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.weekly-day-head strong{display:block;font-size:15px}.weekly-day-head .tiny{display:block;margin-top:3px}.week-session-list{display:grid;gap:7px}.combat-session-edit{display:grid;grid-template-columns:30px minmax(92px,1.1fr) minmax(88px,1fr) 72px 38px;gap:6px;align-items:center}.combat-session-edit select,.combat-session-edit input{min-height:44px;padding:7px 8px;font-size:12px}.session-number{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#1B222A;color:#AAB5C2;font-size:12px;font-weight:950}.icon-delete{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,23,68,.28);background:rgba(255,23,68,.08);color:#FF6A83;font-size:23px;line-height:1;cursor:pointer}.context-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.context-line:first-child{border-top:0}.context-line strong{font-size:13px}.context-line span{font-size:12px;color:var(--muted);text-align:right}.family-checks{display:flex;flex-wrap:wrap;gap:10px}.family-checks label{display:flex;align-items:center;gap:6px;font-size:12px;color:#D9E0E8}.family-checks input{accent-color:var(--green)}.action-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px;margin-top:14px}.text-area{width:100%;background:#0D1014;border:1px solid #29313B;border-radius:14px;color:#fff;padding:12px;resize:vertical;outline:none}.text-area:focus{border-color:#4B5866}.block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:19px 19px 10px}.block-head .block-name{margin:4px 0 6px}.prescription-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 16px;display:flex;gap:7px;flex-wrap:wrap}.prescription-strip span{background:#0D1014;border:1px solid var(--border);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850;color:#AAB4C0}.set-editor{padding:12px 13px 16px}.exec-row{display:grid;grid-template-columns:42px minmax(72px,1fr) minmax(72px,1fr) 48px;gap:7px;align-items:center;padding:6px 0}.exec-row.has-vbt{grid-template-columns:42px minmax(68px,1fr) minmax(62px,1fr) minmax(62px,1fr) 48px}.exec-label{font-size:11px;font-weight:950;color:#8995A5;text-align:center}.exec-row .set-input,.exec-row .set-load-fixed{min-height:50px;height:50px}.set-check{border:2px solid #343D47;color:#7F8A98;font-size:25px;font-weight:950}.set-check.checked{background:var(--green);border-color:var(--green);color:#07110B}.compound-set{border:1px solid var(--border);background:#0D1014;border-radius:15px;padding:9px 10px;margin:8px 0}.compound-set-title{font-size:10px;letter-spacing:1.2px;font-weight:950;color:#7E8998;margin:2px 0 7px}.component-group{border-top:1px solid #202731;padding-top:8px;margin-top:8px}.component-group:first-of-type{border-top:0}.component-group>strong{display:block;font-size:11px;color:#C7D0DA;margin-bottom:3px}.velocity-input{border-color:rgba(92,169,255,.32)}.session-clock-wrap .release-badge{justify-content:center}.network-offline{color:#FFD600}.done-card .story-actions{margin-top:16px}.history-card h3{margin:4px 0}.feedback-scale button:focus-visible,.btn:focus-visible,.linkBtn:focus-visible,.set-check:focus-visible{outline:3px solid rgba(92,169,255,.5);outline-offset:2px}
@media(max-width:430px){.combat-session-edit{grid-template-columns:27px 1fr 1fr 63px 35px;gap:4px}.combat-session-edit select,.combat-session-edit input{font-size:11px;padding:5px}.action-grid{grid-template-columns:1fr}.exec-row{grid-template-columns:34px minmax(64px,1fr) minmax(64px,1fr) 44px;gap:5px}.exec-row.has-vbt{grid-template-columns:30px minmax(55px,1fr) minmax(53px,1fr) minmax(53px,1fr) 42px;gap:4px}.exec-row .set-input{font-size:13px;padding:5px}.exec-row .set-load-fixed{font-size:13px}.block-head{padding:16px 16px 9px}.prescription-strip{padding:9px 13px}.set-editor{padding:10px 10px 14px}}

.weight-context{margin-top:14px;padding:14px 16px;border:1px solid #30363D;border-radius:14px;background:#101419;display:grid;gap:4px}.weight-context strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.weight-context span{font-weight:800}.weight-context small{color:#8C9BAE;line-height:1.4}

/* Alpha Pilot RC3 · Founder feedback + hardening 2026-08-14
   R3 high-performance amendment. PILOT-1.3.0 / PARAM-1.3.0 / CONDLIB-0.2.0; EXLIB-1.3.0 remains unchanged. */
.profile-choice{display:block;position:relative;cursor:pointer;margin:8px 0}.profile-choice>input{position:absolute;opacity:0;pointer-events:none}.profile-choice-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;padding:13px 14px;background:#0D1014;border:1px solid var(--border);border-radius:16px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.profile-choice-card>span:first-child{display:flex;flex-direction:column;gap:4px}.profile-choice-card strong{font-size:14px;color:#F3F6F8}.profile-choice-card small{font-size:11px;line-height:1.35;color:var(--muted)}.choice-switch{position:relative;flex:0 0 auto;width:50px;height:29px;border-radius:999px;background:#28313A;border:1px solid #3B4652;transition:.16s ease}.choice-switch::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#DDE3E8;box-shadow:0 2px 7px rgba(0,0,0,.34);transition:transform .16s ease,background .16s ease}.profile-choice>input:checked+.profile-choice-card{border-color:rgba(0,230,118,.45);background:#0E1713;box-shadow:0 0 0 2px rgba(0,230,118,.05)}.profile-choice>input:checked+.profile-choice-card .choice-switch{background:var(--green);border-color:var(--green)}.profile-choice>input:checked+.profile-choice-card .choice-switch::after{transform:translateX(21px);background:#06110A}.profile-choice>input:focus-visible+.profile-choice-card{outline:3px solid rgba(92,169,255,.45);outline-offset:2px}

.discipline-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.discipline-chip{position:relative;cursor:pointer}.discipline-chip input{position:absolute;opacity:0;pointer-events:none}.discipline-chip span{min-height:46px;border:1px solid var(--border);background:#0D1014;border-radius:13px;display:flex;align-items:center;justify-content:center;text-align:center;padding:7px 8px;color:#AAB4C0;font-size:12px;font-weight:850;transition:.14s ease}.discipline-chip input:checked+span{background:#0E1B14;border-color:rgba(0,230,118,.52);color:#fff;box-shadow:inset 0 0 0 1px rgba(0,230,118,.1)}.discipline-chip input:focus-visible+span{outline:3px solid rgba(92,169,255,.45);outline-offset:2px}

.workout-controls-card{margin-top:-4px;padding:14px;position:relative}.start-workout-hero{min-height:64px;font-size:15px;letter-spacing:1.4px}.workout-controls-card .story-actions{margin:0}.workout-controls-card:has(#startWorkout:not(.hidden)){border-color:rgba(0,230,118,.26);box-shadow:0 14px 45px rgba(0,230,118,.08)}

/* Reuse the clearer table language from the earlier workout UI while keeping
   schema-4 load semantics and unilateral/component recording. */
.block-head{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;padding:18px 18px 13px}.block-title-copy{min-width:0}.block-head .block-index{width:46px;height:46px}.block-head .swap-btn{display:grid;place-items:center;font-size:24px}.target-line{padding:11px 18px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px;line-height:1.5;color:#919DAE}.target-line strong{color:#E7EDF3}.progression-note{padding:10px 18px 0;color:#778392;font-size:11px;line-height:1.45}.set-table{padding:10px 12px 16px}.set-load-help{margin:1px 4px 7px;color:#687584;font-size:9px;font-weight:750;line-height:1.35;text-align:right}.set-header,.set-row{display:grid;grid-template-columns:42px minmax(56px,1fr) minmax(68px,.9fr) minmax(68px,.9fr) 50px;gap:6px;align-items:center}.set-header{padding:7px 4px 5px;color:#818D9D;font-size:9px;font-weight:950;letter-spacing:1px;text-align:center}.set-row{padding:6px 4px;border-radius:12px}.set-row:nth-of-type(odd){background:rgba(255,255,255,.012)}.set-label{font-size:15px;font-weight:950;text-align:left;padding-left:4px;color:#F5F7F9}.prev-value{color:#697584;font-size:11px;text-align:center;line-height:1.25}.set-input{height:52px;min-height:52px;border-radius:12px;font-size:16px;font-weight:820;padding:6px 5px}.set-load-fixed{height:52px;min-height:52px;border-radius:12px}.set-check{appearance:none;width:46px;height:46px;border:2px solid #39434E;border-radius:12px;background:#0D1014;display:grid;place-items:center;cursor:pointer;color:transparent;font-size:0;transition:.12s ease}.set-check::after{content:"✓";font-size:23px;font-weight:950;color:#596572;opacity:.55}.set-check.checked{background:var(--green);border-color:var(--green)}.set-check.checked::after{color:#06110A;opacity:1}.set-check:disabled{opacity:.32;cursor:not-allowed}.metric-3 .set-header,.metric-3 .set-row{grid-template-columns:34px 58px 61px 58px 58px 44px;gap:4px}.metric-3 .set-input{font-size:13px;padding:4px 2px}.metric-3 .set-check{width:42px;height:42px}.component-set-title{margin:12px 4px 4px;padding-top:9px;border-top:1px solid #212933;color:#7F8B9B;font-size:9px;font-weight:950;letter-spacing:1.2px}.component-set-title:first-of-type{margin-top:2px;border-top:0}.component-name-row{margin:7px 4px 1px;color:#C8D1DA;font-size:10px;font-weight:900}.block-rir{border-top:1px solid var(--border);padding:13px 18px 17px}.block-rir label{font-size:11px}.block-rir input{height:46px;min-height:46px}

.story-preview-wrap{text-align:left;margin-top:18px}.story-preview-wrap .eyebrow{margin-bottom:8px}.story-preview-wrap .summary-img{margin:0 0 14px;aspect-ratio:9/16;object-fit:contain;background:#0A0C0F;box-shadow:0 14px 42px rgba(0,0,0,.28)}

.history-context-toggle{width:100%;margin-top:14px;min-height:46px;border:1px solid #303944;background:#0E1216;color:#DDE4EB;border-radius:13px;font-size:10px;font-weight:950;letter-spacing:.8px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;cursor:pointer}.history-context-toggle span{font-size:18px;color:var(--green)}.history-context{margin-top:10px;border:1px solid #29313B;background:#0C1014;border-radius:15px;padding:13px}.history-context-section{padding:11px 0;border-top:1px solid #232A33}.history-context-section:first-child{border-top:0;padding-top:2px}.history-context-section>.eyebrow{margin-bottom:8px}.history-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px}.history-context-grid>div{background:#11161B;border-radius:11px;padding:9px}.history-context-grid span,.history-context-line span{display:block;color:#7D8998;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.7px}.history-context-grid strong{display:block;color:#F0F3F6;font-size:12px;margin-top:4px}.history-context-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 1px;border-top:1px solid #1D242C}.history-context-line:first-of-type{border-top:0}.history-context-line strong{font-size:11px;text-align:right;color:#DDE4EB}.history-reasons{margin:7px 0 0;padding-left:17px;color:#ADB7C3;font-size:11px;line-height:1.5}.history-reasons li+li{margin-top:5px}

/* Rest timer is deliberately visually dominant during a live set. */
.timerbar{z-index:190;bottom:calc(88px + env(safe-area-inset-bottom));width:min(calc(100% - 18px),522px);padding:12px 13px;border:1px solid rgba(0,230,118,.36);background:linear-gradient(180deg,#0B0F12,#080B0E);box-shadow:0 18px 65px rgba(0,0,0,.62),0 0 0 1px rgba(0,230,118,.05)}.timer-copy{min-width:0;display:flex;flex-direction:column}.timerbar strong{font-size:31px;line-height:1.05}.timerbar small{display:block;margin-top:4px;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}.timer-actions{gap:5px;align-items:center}.timer-btn{min-height:44px;padding:0 9px;font-size:10px;letter-spacing:.2px}.timer-actions .danger{color:#fff;background:#20262E;border-color:#39434E}

@media(max-width:430px){
  .discipline-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-choice-card{padding:12px}.choice-switch{width:46px;height:27px}.choice-switch::after{width:19px;height:19px}.profile-choice>input:checked+.profile-choice-card .choice-switch::after{transform:translateX(19px)}
  .block-head{grid-template-columns:42px minmax(0,1fr) 42px;padding:15px 14px 11px;gap:9px}.block-head .block-index,.block-head .swap-btn{width:40px;height:40px}.block-name{font-size:20px}.target-line{padding:10px 14px}.progression-note{padding:9px 14px 0}.set-table{padding:8px 8px 14px}.set-header,.set-row{grid-template-columns:32px 52px minmax(60px,1fr) minmax(60px,1fr) 43px;gap:4px}.set-header{font-size:8px;letter-spacing:.55px}.set-label{font-size:14px}.prev-value{font-size:9px}.set-input,.set-load-fixed{height:48px;min-height:48px}.set-input{font-size:14px;padding:4px 2px}.set-check{width:41px;height:41px}.metric-3 .set-header,.metric-3 .set-row{grid-template-columns:28px 44px 52px 50px 50px 39px;gap:3px}.metric-3 .set-input{font-size:12px}.metric-3 .set-check{width:38px;height:38px}.history-context-grid{grid-template-columns:1fr 1fr}.timerbar{padding:10px 10px}.timerbar strong{font-size:28px}.timerbar small{max-width:135px}.timer-btn{padding:0 7px;font-size:9px;min-height:41px}
}

/* RC4 · Rest timer visibility hardening. The JS keeps this class in sync with
   the timer state so a completed set cannot leave a running timer hidden by a
   stale utility class or browser repaint. */
body.rest-active #timerBar{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}

/* RC4 · Founder UX consolidation
   One responsive app, mobile-first. No engine / PARAM / EXLIB changes. */
.btn.ghost{background:transparent;color:#AAB4C0;border:1px solid #303944;box-shadow:none}
.completion-screen{padding-top:28px}.completion-screen .eyebrow{margin-bottom:7px}.completion-feedback{margin:17px 0 3px;min-height:60px}.completion-screen .story-preview-wrap{margin-top:20px}.completion-screen .summary-img{max-height:min(62vh,620px);object-fit:contain;background:#090C0F}.completion-screen .story-actions{margin-top:13px}
#workoutSessionContent.hidden{display:none!important}
.workout-action-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(82px + env(safe-area-inset-bottom));z-index:150;width:min(calc(100% - 18px),522px);display:grid;grid-template-columns:1fr 1.25fr;gap:8px;padding:9px;background:rgba(9,12,15,.96);backdrop-filter:blur(18px);border:1px solid #303944;border-radius:18px;box-shadow:0 18px 65px rgba(0,0,0,.58)}.workout-action-bar .btn{min-height:52px;margin:0}.workout-action-bar #resumeWorkout{grid-column:1}.workout-action-bar #finishWorkout{grid-column:2}.workout-action-bar #pauseWorkout{grid-column:1}
body.workout-action-active{padding-bottom:calc(162px + env(safe-area-inset-bottom))}body.workout-action-active #timerBar{bottom:calc(151px + env(safe-area-inset-bottom))}

.history-calendar-card{padding:17px}.history-calendar-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;text-align:center}.history-calendar-head h3{margin:3px 0 0;font-size:18px;text-transform:capitalize}.calendar-nav{width:46px;height:46px;border-radius:14px;border:1px solid #303944;background:#0D1014;color:#F3F6F8;font-size:28px;cursor:pointer}.calendar-nav:disabled{opacity:.25;cursor:not-allowed}.history-weekdays,.history-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.history-weekdays{margin:17px 0 6px}.history-weekdays span{text-align:center;color:#697584;font-size:9px;font-weight:950}.calendar-empty{aspect-ratio:1}.calendar-day{position:relative;aspect-ratio:1;border-radius:13px;border:1px solid transparent;background:#0D1014;color:#8995A5;display:grid;place-items:center;cursor:pointer;font-weight:850;min-width:0}.calendar-day span{font-size:13px}.calendar-day.has-workout{color:#F4F7FA;border-color:#2D3941;background:#111820}.calendar-day.has-workout i{position:absolute;bottom:7px;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(0,230,118,.35)}.calendar-day.has-workout small{position:absolute;right:5px;top:4px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--green);color:#06110A;font-size:8px;display:grid;place-items:center}.calendar-day.selected{border-color:var(--green);box-shadow:0 0 0 1px rgba(0,230,118,.22)}.calendar-day.today::after{content:"";position:absolute;inset:4px;border-radius:9px;border:1px solid rgba(92,169,255,.35);pointer-events:none}
.history-day-detail{scroll-margin-top:92px}.history-day-card>h2{font-size:22px;margin-top:4px}.history-day-session{border-top:1px solid var(--border);padding-top:15px;margin-top:15px}.history-day-session-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.history-day-session-head h3{margin:4px 0 4px;font-size:18px}.history-session-toggle{width:100%;min-height:48px;margin-top:10px;border:1px solid #303944;background:#0D1115;color:#E5EBF1;border-radius:13px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:950;letter-spacing:.65px;cursor:pointer}.history-session-toggle span{font-size:18px;color:var(--green)}.history-session-detail{margin-top:10px;border:1px solid #29313B;background:#0A0E12;border-radius:16px;padding:13px}.history-no-session{margin-top:14px;padding:18px;border:1px dashed #303944;border-radius:14px;color:#778392;text-align:center;font-size:12px}
.history-recents-head{padding:8px 5px 10px}.history-recent-card{width:100%;text-align:left;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;padding:16px 18px}.history-recent-card>div{display:flex;flex-direction:column;gap:4px}.history-recent-card strong{font-size:15px}.history-recent-card small{font-size:11px;color:#7F8B9B}.history-open-arrow{font-size:30px;color:var(--green)}
.history-execution-section{padding-top:2px}.history-block{border:1px solid #29313B;border-radius:14px;background:#0E1318;margin-top:9px;overflow:hidden}.history-block summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px}.history-block summary::-webkit-details-marker{display:none}.history-block summary span{min-width:0;display:flex;flex-direction:column;gap:3px}.history-block summary small{font-size:8px;color:#768291;font-weight:950;letter-spacing:.8px}.history-block summary strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-block summary b{font-size:8px;color:var(--green);letter-spacing:.5px}.history-block-body{border-top:1px solid #232B34;padding:8px 11px 11px}.history-set-line{display:grid;grid-template-columns:58px 1fr 22px;gap:7px;align-items:center;padding:7px 2px;border-top:1px solid #202731}.history-set-line:first-child{border-top:0}.history-set-line span{font-size:9px;color:#7E8A9A;font-weight:900}.history-set-line strong{font-size:11px;text-align:right;color:#E5EBF1}.history-set-line i{font-style:normal;color:var(--green);font-weight:950;text-align:right}.history-swap-note{padding:8px 9px;margin-bottom:5px;border-radius:10px;background:#121922;color:#AAB5C2;font-size:10px}.history-rir,.history-aux{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-top:1px solid #202731}.history-rir span,.history-aux span{font-size:9px;color:#788494;font-weight:900;text-transform:uppercase}.history-rir strong,.history-aux strong{font-size:11px}.history-aux{margin-top:7px;padding:9px 10px;border:1px solid #29313B;border-radius:11px;background:#0E1318}

@media(max-width:430px){
  .workout-action-bar{bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 16px);padding:8px}.workout-action-bar .btn{min-height:50px;font-size:11px;padding:0 11px}body.workout-action-active #timerBar{bottom:calc(145px + env(safe-area-inset-bottom))}.completion-screen .summary-img{max-height:58vh}.history-calendar-card{padding:14px}.history-weekdays,.history-calendar{gap:4px}.calendar-day{border-radius:11px}.calendar-day.has-workout i{bottom:5px}.history-session-detail{padding:10px}.history-set-line{grid-template-columns:50px 1fr 18px}.history-set-line strong{font-size:10px}
}


/* RC4 · Founder visual system
   Reconciliation is session-based; timer and controls share one fixed stack so
   they cannot occlude each other; history summaries are scan-first. */
.reconcile-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.reconcile-editor-head .label{margin:0}.reconcile-editor-head p{margin:5px 0 0;max-width:330px}.reconcile-session-editor{display:grid;gap:8px;margin-top:10px}.reconcile-zero-state{margin-top:10px;padding:16px;border:1px dashed #303944;border-radius:14px;background:#0D1115;color:#7F8B99;text-align:center;font-size:12px}.reconcile-session-editor .combat-session-edit{background:#0E1318;border:1px solid #29313B;border-radius:14px;padding:8px}
.workout-overlay-stack{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(80px + env(safe-area-inset-bottom));z-index:220;width:min(calc(100% - 18px),522px);display:flex;flex-direction:column;gap:8px;pointer-events:none}.workout-overlay-stack>.timerbar,.workout-overlay-stack>.workout-action-bar{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;width:100%!important;pointer-events:auto}.workout-overlay-stack>.timerbar{z-index:auto}.workout-overlay-stack>.workout-action-bar{z-index:auto}.workout-action-bar{grid-template-columns:1fr 1.25fr}.timerbar{box-shadow:0 14px 50px rgba(0,0,0,.62),0 0 0 1px rgba(0,230,118,.06)}
body.workout-action-active{padding-bottom:calc(172px + env(safe-area-inset-bottom))}body.workout-action-active.rest-active{padding-bottom:calc(280px + env(safe-area-inset-bottom))}body.rest-active #timerBar{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.story-preview-wrap .summary-img{border-radius:22px;border:1px solid rgba(0,230,118,.22);background:#070A0D;box-shadow:0 22px 60px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.02)}
.history-block summary span em{font-style:normal;font-size:10px;line-height:1.35;color:#96A3B2;font-weight:720;white-space:normal}.history-block summary b{flex:0 0 auto}
@media(max-width:430px){.reconcile-editor-head{align-items:center}.reconcile-session-editor .combat-session-edit{grid-template-columns:28px minmax(86px,1fr) minmax(82px,1fr) 62px 36px;gap:5px;padding:7px}.reconcile-session-editor .combat-session-edit select,.reconcile-session-editor .combat-session-edit input{font-size:11px;padding:5px;min-height:42px}.workout-overlay-stack{bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100% - 16px)}body.workout-action-active.rest-active{padding-bottom:calc(274px + env(safe-area-inset-bottom))}.history-block summary{align-items:center}.history-block summary span em{font-size:9px}}

/* RC4 full profile/timeline additions */
.pain-row{display:grid;grid-template-columns:1.2fr .8fr 1.2fr auto;gap:8px;align-items:center;margin:8px 0}.card-inset{padding:14px;border:1px solid rgba(143,161,180,.18);border-radius:16px;background:rgba(255,255,255,.025)}.checkbox-wrap{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.combat-session-edit{grid-template-columns:32px 1.2fr 1fr .75fr .8fr .7fr auto!important}.history-event-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.history-chip{font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;border:1px solid rgba(143,161,180,.24)}@media(max-width:720px){.pain-row{grid-template-columns:1fr 1fr}.pain-row .icon-delete{grid-column:2}.combat-session-edit{grid-template-columns:28px 1fr 1fr!important}.combat-session-edit input,.combat-session-edit .icon-delete{min-width:0}}

.engagement-card{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:16px 0;padding:14px 16px;border:1px solid var(--line,#2a2f39);border-radius:14px;background:rgba(255,255,255,.025)}.engagement-card strong{display:block;font-size:1.45rem;line-height:1.1}.engagement-card small{max-width:420px;opacity:.72;text-align:right}@media(max-width:520px){.engagement-card{align-items:flex-start}.engagement-card small{text-align:left}}

/* RC4 Sept 01 · Fight Camp + Story 2.0 */
.fight-camp-card{border-color:rgba(0,230,118,.2);background:linear-gradient(135deg,rgba(0,230,118,.07),rgba(10,15,20,.98) 58%)}
.fight-countdown{font-size:clamp(1.8rem,8vw,3rem);letter-spacing:-.06em;color:var(--accent,#00e676)}
.fight-camp-grid{display:grid;grid-template-columns:.65fr 1fr 1.6fr;gap:10px;margin-top:16px}.fight-camp-grid>div{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(0,0,0,.18)}.fight-camp-grid span{display:block;font-size:.65rem;font-weight:800;letter-spacing:.12em;color:#718090}.fight-camp-grid strong{display:block;margin-top:5px;font-size:.82rem;line-height:1.3}.story-config{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.story-config select{width:100%}@media(max-width:520px){.fight-camp-grid{grid-template-columns:1fr}.story-config{grid-template-columns:1fr}}

/* RC4 R2 · progressive profile, timing, compact XP and explicit calendar semantics */
.profile-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-heading-row h2{margin:4px 0}.profile-core-grid{margin-top:18px}.profile-group{margin-top:14px;border:1px solid #29313B;border-radius:17px;background:#0D1115;overflow:hidden}.profile-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 17px;font-weight:900}.profile-group>summary::-webkit-details-marker{display:none}.profile-group>summary span{font-size:14px}.profile-group>summary small{color:#7E8A99;font-size:10px;font-weight:700;text-align:right;max-width:58%}.profile-group>summary::after{content:'+';color:var(--green);font-size:20px;font-weight:950}.profile-group[open]>summary::after{content:'−'}.profile-group[open]>summary{border-bottom:1px solid #252D36}.profile-group-body{padding:16px}.profile-group .profile-section:first-child{margin-top:0;border-top:0;padding-top:0}.compact-section{margin-top:16px;padding-top:16px}
.profile-choice{display:block}.profile-choice>input{position:absolute;opacity:0;pointer-events:none}.profile-choice-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #29313B;border-radius:14px;background:#10151A}.profile-choice-card strong,.profile-choice-card small{display:block}.profile-choice-card small{margin-top:3px;color:#82909F;font-size:10px}.choice-switch{width:38px;height:22px;border-radius:999px;background:#28313A;position:relative;flex:0 0 auto}.choice-switch::after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:#8B96A3;top:3px;left:3px;transition:.15s}.profile-choice>input:checked+.profile-choice-card{border-color:rgba(0,230,118,.32);background:rgba(0,230,118,.045)}.profile-choice>input:checked+.profile-choice-card .choice-switch{background:rgba(0,230,118,.25)}.profile-choice>input:checked+.profile-choice-card .choice-switch::after{left:19px;background:var(--green)}
.xp-hud{width:142px;flex:0 0 auto;padding:9px 10px;border:1px solid #2B343E;border-radius:12px;background:#0D1115}.xp-hud-line{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:9px;font-weight:950;letter-spacing:.5px}.xp-hud-line span{color:var(--green)}.xp-hud-line strong{font-size:9px;color:#DCE3E9}.xp-track{height:5px;border-radius:99px;background:#222B33;overflow:hidden;margin-top:7px}.xp-track i{display:block;height:100%;width:0;background:var(--green);border-radius:inherit;transition:width .2s ease}
.timing-recommendation{margin:0 0 16px;padding:14px 15px;border:1px solid rgba(92,169,255,.25);border-radius:15px;background:rgba(92,169,255,.055);text-align:left}.timing-recommendation strong{display:block;margin:4px 0 3px;color:#F5F8FA;font-size:15px}.timing-recommendation p{margin:0}
.decision-details{margin-top:12px;border:1px solid #2B343E;border-radius:15px;background:#0D1115;overflow:hidden;text-align:left}.decision-details>summary{list-style:none;cursor:pointer;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;color:#E8EDF2;font-size:11px;font-weight:950;letter-spacing:.8px}.decision-details>summary::-webkit-details-marker{display:none}.decision-details>summary small{color:#74808F;font-size:9px;font-weight:750;letter-spacing:0}.decision-details>summary::after{content:'+';color:var(--green);font-size:20px;line-height:1}.decision-details[open]>summary::after{content:'−'}.decision-details[open]>summary{border-bottom:1px solid #252D36}.decision-details-body{padding:13px 14px 14px}.decision-detail-section>.eyebrow{margin-bottom:8px}.decision-reasons{margin:0;padding-left:18px;color:#AAB5C2;font-size:12px;line-height:1.55}.decision-reasons li+li{margin-top:6px}.decision-details .weight-context{margin:11px 0 0}.decision-details .weight-context:first-child{margin-top:0}
.workout-action-bar #startWorkout{grid-column:1/-1}.workout-action-bar:has(#startWorkout:not(.hidden)){grid-template-columns:1fr}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin:6px 0 12px;color:#788594;font-size:9px;font-weight:800}.calendar-legend span{display:flex;align-items:center;gap:5px}.cal-mark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;font-style:normal;font-size:7px;font-weight:950;letter-spacing:-.2px}.cal-workout{background:rgba(0,230,118,.15);color:var(--green);border:1px solid rgba(0,230,118,.35)}.cal-fight{background:rgba(255,214,0,.14);color:#FFE05C;border:1px solid rgba(255,214,0,.38)}.calendar-event-markers{position:absolute;left:3px;right:3px;bottom:4px;display:flex;justify-content:center;gap:2px}.calendar-event-markers .cal-mark{width:14px;height:14px;border-radius:5px;font-size:6px}.calendar-day.has-fight{border-color:rgba(255,214,0,.32)}.calendar-day.has-workout i{position:static;width:auto;height:auto;border-radius:5px;box-shadow:none}
@media(max-width:520px){.profile-heading-row{align-items:flex-start}.profile-heading-row>div:first-child{min-width:0}.xp-hud{width:112px;padding:8px}.profile-core-grid{grid-template-columns:1fr}.profile-group>summary{padding:14px}.profile-group>summary small{max-width:52%}.profile-group-body{padding:13px}.calendar-event-markers .cal-mark{width:12px;height:12px;font-size:5px}.calendar-legend{gap:6px 9px}}


/* RC4 R3 · native settings profile + switch hardening */
.profile-settings-home{display:grid;gap:14px}.profile-settings-hero{margin-bottom:0}.profile-summary-line{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);color:#A8B3BE;font-size:11px;font-weight:750;line-height:1.45}.settings-list{padding:0;overflow:hidden}.settings-row{width:100%;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border:0;border-bottom:1px solid #252D36;background:#0D1115;color:#EDF2F5;text-align:left;cursor:pointer}.settings-row:last-child{border-bottom:0}.settings-row:hover,.settings-row:focus-visible{background:#111820;outline:none}.settings-row span{display:block;min-width:0}.settings-row strong{display:block;font-size:14px;line-height:1.25}.settings-row small{display:block;margin-top:4px;color:#7E8A99;font-size:10px;line-height:1.35}.settings-row b{font-size:24px;color:#667481;font-weight:500;line-height:1}.profile-subpages{display:block}.profile-subpage>.card{margin-top:0}.subpage-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.subpage-head h2{margin:3px 0 0}.subpage-back{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #2B3540;border-radius:13px;background:#0D1115;color:#F1F5F7;font-size:28px;line-height:1;cursor:pointer}.subpage-back:hover,.subpage-back:focus-visible{border-color:#465463;background:#121920;outline:none}.profile-save-bar{position:sticky;z-index:150;bottom:calc(74px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 12px;border:1px solid #2A343E;border-radius:15px;background:rgba(13,17,21,.97);box-shadow:0 -10px 34px rgba(0,0,0,.4);backdrop-filter:blur(12px)}.profile-save-bar span{font-size:10px;font-weight:800;color:#7F8B98}.profile-save-bar .btn{min-height:44px;padding:0 15px}.vbt-unit-callout,.context-strip{padding:11px 12px;border:1px solid rgba(92,169,255,.22);border-radius:12px;background:rgba(92,169,255,.055)}.vbt-unit-callout strong,.vbt-unit-callout small{display:block}.vbt-unit-callout small{margin-top:4px;color:#82909F;line-height:1.4}.context-strip{margin:9px 0;color:#AFC9E8;font-size:10px;line-height:1.45}.choice-switch::after{left:3px!important;transform:none!important}.profile-choice>input:checked+.profile-choice-card .choice-switch::after{left:calc(100% - 19px)!important;transform:none!important}
@media(max-width:520px){.settings-row{min-height:64px;padding:12px 13px}.settings-row strong{font-size:13px}.settings-row small{font-size:9px}.profile-save-bar{bottom:calc(70px + env(safe-area-inset-bottom));margin-left:-2px;margin-right:-2px}.profile-save-bar span{max-width:42%}.subpage-head{align-items:center}.subpage-back{width:40px;height:40px}.profile-heading-row{gap:10px}.profile-heading-row .xp-hud{width:106px}}


/* MOBILE-03 · Pilot Polish -------------------------------------------------
   UI-only: no prescription, PARAM, EXLIB or schema logic changes. */
.session-editor-card{display:block!important;padding:0!important;border:1px solid #2B3540!important;border-radius:16px!important;background:#0B1115!important;overflow:hidden}
.session-editor-head{display:flex;align-items:center;gap:9px;min-height:56px;padding:10px 12px;border-bottom:1px solid #252E37}.session-editor-head strong{font-size:11px;font-weight:950;letter-spacing:.7px}.session-editor-accent{width:6px;height:28px;border-radius:99px;background:var(--green);box-shadow:0 0 18px rgba(0,230,118,.22)}.session-editor-head .icon-delete{margin-left:auto;width:42px;height:42px;border-radius:12px}.session-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.session-field{display:block;min-width:0}.session-field-label{display:block;margin:0 0 6px 2px;color:#8A96A4;font-size:8px;font-weight:950;letter-spacing:1px;text-transform:uppercase}.session-field>select,.session-field>.input{width:100%;min-height:50px;margin:0}.session-field--rpe{grid-column:1/-1}.reconcile-session-editor .session-editor-grid{grid-template-columns:1fr 1fr}.reconcile-session-editor .session-field--discipline,.reconcile-session-editor .session-field--demand,.reconcile-session-editor .session-field--rpe{grid-column:1/-1}
.week-session-list{display:grid;gap:10px;margin-top:10px}.weekly-day-card{border-radius:17px}.weekly-day-card .session-editor-card{margin-top:0}.weekly-day-head .small-btn{min-width:102px}.equipment-check{position:relative;min-height:70px;padding:13px 52px 13px 14px!important;border-radius:15px;transition:.14s}.equipment-check:has(input:checked){border-color:rgba(0,230,118,.52)!important;background:linear-gradient(90deg,rgba(0,230,118,.07),rgba(0,230,118,.025))!important}.equipment-check:has(input:checked)::after{content:'✓';position:absolute;right:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(0,230,118,.12);color:var(--green);font-size:20px;font-weight:950}.equipment-check input{width:23px;height:23px}
.setup-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border-color:rgba(255,214,0,.28);background:linear-gradient(125deg,rgba(255,214,0,.075),rgba(15,19,23,.98) 58%)}.setup-card-copy{min-width:0}.setup-card h3{margin:4px 0 5px}.setup-card p{margin:0}.setup-btn{flex:0 0 auto;min-height:44px;padding:0 14px;border:1px solid rgba(255,214,0,.42);background:rgba(255,214,0,.10);color:#FFE86F;font-weight:950}.setup-btn:hover{background:rgba(255,214,0,.16)}
.athlete-name{margin:5px 0 4px!important;font-size:clamp(2rem,9vw,3rem)!important;line-height:.98!important;letter-spacing:-.045em;text-transform:uppercase}.athlete-meta{color:#C7D0D9;font-size:11px;font-weight:800;line-height:1.45}.athlete-xp-row{margin-top:15px}.xp-hud-wide{width:100%;padding:10px 12px}.profile-system-copy{margin:14px 0 0;color:#7F8C9B;font-size:11px;line-height:1.5}.setup-progress{margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.07)}.setup-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#71808E;font-size:8px;font-weight:950;letter-spacing:.8px}.setup-progress strong{color:#D7DEE5;font-size:9px}.setup-progress-track{height:5px;margin-top:8px;border-radius:99px;background:#242B33;overflow:hidden}.setup-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:var(--green);transition:width .2s ease}.settings-tail{display:flex!important;align-items:center;gap:10px;flex:0 0 auto}.setup-status{display:grid!important;place-items:center;width:25px;height:25px;border-radius:50%;font-style:normal;font-size:13px;font-weight:950}.setup-status.pending{color:#14120A;background:var(--yellow);box-shadow:0 0 0 3px rgba(255,214,0,.08)}.setup-status.complete{color:var(--green);background:rgba(0,230,118,.10);border:1px solid rgba(0,230,118,.28)}.settings-tail>b{font-size:22px!important}
.profile-save-bar .btn.is-idle{
  display:none!important;
}
.profile-save-bar .btn:disabled:not(.is-idle){
  background:#1A2128!important;
  border-color:#29323B!important;
  color:#6F7A85!important;
  box-shadow:none!important;
  opacity:1!important;
}.profile-save-bar:has(.btn.is-idle){border-color:#202831;background:rgba(13,17,21,.92)}
.dose-summary-single{grid-template-columns:1fr!important}.dose-summary-single>div:not(.hidden){text-align:left}.feedback-scale-labels{display:flex;justify-content:space-between;margin:7px 2px 0;color:#758291;font-size:9px;font-weight:800}.history-edit-btn{background:transparent!important;border-color:#303944!important;color:#CBD4DC!important;box-shadow:none!important}.history-session-toggle span{display:inline-block;transition:transform .15s}.history-session-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
#skipCombatDay{background:transparent;border-color:#29333D;color:#98A5B2;box-shadow:none}#editCombatDay{box-shadow:none}.readiness-ring{transition:background .18s ease}.readiness-card .ring-label{letter-spacing:1px}
.profile-subpage .grid2 select{min-width:0}.profile-subpage select{white-space:normal;text-overflow:ellipsis}.research-consent-box+.legal-links{margin-top:14px}

@media(max-width:520px){
  .setup-card{align-items:flex-start;padding:15px}.setup-card h3{font-size:16px}.setup-card .setup-btn{min-height:42px;font-size:9px}
  .session-editor-grid{gap:9px;padding:11px}.session-field>select,.session-field>.input{min-height:48px;padding:7px 10px;font-size:12px}.session-editor-head{min-height:52px}.session-editor-head .icon-delete{width:40px;height:40px}
  .reconcile-session-editor .session-editor-grid{grid-template-columns:1fr 1fr}.weekly-day-head{align-items:center}.weekly-day-head>div{min-width:0}.weekly-day-head .small-btn{min-width:96px;min-height:42px}
  .profile-subpage[data-profile-subpage="sport"] .grid2{grid-template-columns:1fr!important}.profile-subpage[data-profile-subpage="sport"] .grid2>div{min-width:0}.profile-subpage[data-profile-subpage="sport"] select{width:100%;white-space:normal}
  .profile-subpage[data-profile-subpage="units"] .grid2{grid-template-columns:1fr!important}.profile-save-bar{padding:9px 10px}.profile-save-bar .btn{min-height:44px;padding:0 13px;font-size:10px}.profile-save-bar span{max-width:44%;font-size:9px}
  .equipment-grid{grid-template-columns:1fr!important;gap:9px}.equipment-check strong{font-size:13px}.equipment-check small{font-size:10px;line-height:1.35}
  .strength-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.strength-day{min-height:62px;border-radius:13px}
  .feedback-scale-labels{font-size:8px}.history-edit-btn{min-height:48px}
}

/* R5 · compact tester header */
.app-header .header-inner{
  padding:11px 16px;
  gap:12px;
}
.app-header .header-brand{
  gap:8px;
  font-size:22px;
}
.app-header .header-brand .brand-bar{
  width:8px;
  height:30px;
}
.app-header .header-brand .alpha-tag{
  padding:4px 6px;
  font-size:9px;
}
.app-header .phase-pill{
  min-height:36px;
  padding:8px 11px;
  border-radius:10px;
  font-size:10px;
}

@media(max-width:430px){
  .app-header .header-inner{padding:10px 13px}
  .app-header .header-brand{font-size:21px}
  .app-header .header-brand .brand-bar{height:28px}
  .app-header .phase-pill{padding:8px 10px}
}
/* R5 · compact daily check */
#dailyForm > .section-title-row{
  align-items:center;
  margin-bottom:12px;
}

#dailyForm .today-context-box{
  margin:10px 0 14px;
  padding:13px 14px;
}

#dailyForm .slider-field{
  margin:18px 0;
}

#dailyForm .slider-label-row{
  margin-bottom:8px;
}

#dailyForm .range-scale{
  margin-top:2px;
}

#dailyForm > .top-gap{
  margin-top:8px;
}

#dailyForm .mini-title{
  margin-bottom:8px;
}

#dailyForm #todayPainStatus{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

#dailyForm #todayPainEditor:empty{
  display:none;
}

#dailyForm .daily-safety-compact{
  padding:12px 13px;
  margin-top:10px;
}

#dailyForm .daily-safety-compact > .eyebrow{
  display:block;
  margin-bottom:7px;
}

#dailyForm .daily-safety-compact > .label{
  margin-bottom:6px;
}

#dailyForm .daily-safety-compact .top-gap{
  margin-top:8px;
}

#dailyForm .daily-safety-compact > p{
  margin:8px 0 0;
  line-height:1.35;
}

#dailyForm .daily-redflag{
  padding:12px 13px;
  margin:10px 0;
}

#dailyForm .daily-redflag .safety-row{
  gap:10px;
}

#dailyForm #generateBtn{
  margin-top:8px;
}

@media(max-width:430px){
  #dailyForm .slider-field{margin:16px 0}
  #dailyForm .today-context-box{padding:12px 13px}
  #dailyForm .daily-safety-compact,
  #dailyForm .daily-redflag{padding:11px 12px}
}
/* R5 · persistent decision CTA */
#home.active #goWorkout:not(.hidden){
  position:fixed;
  left:50%;
  bottom:calc(82px + env(safe-area-inset-bottom));
  transform:translateX(-50%);
  z-index:145;
  width:min(calc(100% - 24px),516px);
  min-height:54px;
  margin:0;
  box-shadow:0 14px 42px rgba(0,0,0,.52);
}

#home.active:has(#goWorkout:not(.hidden)){
  /* CTA (54px) + separación + navegación inferior; evita tapar el final
     de formularios largos, incluso con safe area en iPhone. */
  padding-bottom:calc(164px + env(safe-area-inset-bottom));
}

#home:not(.active) #goWorkout{
  display:none!important;
}

@media(max-width:430px){
  #home.active #goWorkout:not(.hidden){
    bottom:calc(78px + env(safe-area-inset-bottom));
    width:calc(100% - 20px);
    min-height:52px;
  }
}
/* R5 · completion Story first */
.completion-screen{
  padding-top:20px;
}

.completion-screen .success-mark{
  margin-bottom:10px;
}

.completion-screen #doneTitle{
  margin:0 0 6px;
}

.completion-screen #doneCopy{
  margin:0 0 12px;
}

.completion-screen .story-preview-wrap{
  margin-top:14px;
}

.completion-screen .story-preview-wrap .eyebrow{
  display:block;
  margin-bottom:8px;
}

.completion-screen .story-actions{
  margin:10px 0 0;
}

.story-save-hint{
  margin:8px 2px 14px;
  line-height:1.4;
  text-align:left;
}

.story-personalize{
  margin:0 0 12px;
  border:1px solid #29313B;
  border-radius:14px;
  background:#0D1115;
  overflow:hidden;
  text-align:left;
}

.story-personalize > summary{
  list-style:none;
  min-height:48px;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
}

.story-personalize > summary::-webkit-details-marker{
  display:none;
}

.story-personalize > summary strong{
  font-size:10px;
  letter-spacing:.9px;
}

.story-personalize > summary span{
  color:var(--muted);
  font-size:9px;
}

.story-personalize > summary::after{
  content:'+';
  color:var(--green);
  font-size:20px;
  font-weight:950;
}

.story-personalize[open] > summary::after{
  content:'−';
}

.story-personalize .story-config{
  margin:0;
  border-left:0;
  border-right:0;
  border-bottom:0;
  border-radius:0;
}

.completion-feedback{
  margin:12px 0;
  min-height:54px;
}

@media(max-width:430px){
  .completion-screen{padding-top:18px}
  .story-personalize > summary{min-height:46px}
}
/* R5 · compact history */
.history-heading-compact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:4px 5px 9px;
}

.history-heading-compact .tiny{
  text-align:right;
  line-height:1.3;
}

#history .history-calendar-card{
  margin-top:0;
}

#history .history-weekdays{
  margin-top:13px;
}

#history .history-recents-head{
  padding-top:5px;
}

@media(max-width:430px){
  .history-heading-compact{
    padding:2px 3px 7px;
  }

  .history-heading-compact .tiny{
    max-width:68%;
  }
}

/* =========================================================
   R5 · HOY integral 2026-08-20
   ========================================================= */

/* AYER · confirmado compacto */
#combatReconcileCard{
  padding:14px 16px;
}

#combatReconcileCard .section-title-row{
  margin-bottom:8px;
}

#reconcileTitle{
  margin:2px 0 0;
  font-size:16px;
}

#reconcileSummary{
  font-size:11px;
  line-height:1.4;
}

#combatReconcileCard .action-grid{
  margin-top:10px;
}

#editCombatDay{
  min-height:42px;
}

/* READINESS · menor jerarquía física */
.readiness-card{
  padding-top:18px;
}

.ring-wrap{
  margin-bottom:10px;
}

.readiness-ring{
  width:176px;
  height:176px;
  padding:13px;
}

.ring-score{
  font-size:50px;
  letter-spacing:-2px;
  margin:4px 0 3px;
}

.readiness-card .ring-label{
  font-size:10px;
}

.decision-title{
  margin-top:4px;
  font-size:19px;
}

.decision-copy{
  margin:6px auto 10px;
  line-height:1.4;
}

/* VER POR QUÉ · más visible y antes de dosis */
#readinessCard .decision-details{
  margin:0 0 10px;
  border-color:rgba(0,230,118,.24);
  background:rgba(0,230,118,.035);
}

#readinessCard .decision-details > summary{
  min-height:44px;
}

#readinessCard .decision-details > summary > span{
  color:var(--green);
}

/* DOSIS · una sola línea */
#readinessCard .dose-summary{
  margin:8px 0;
  border-radius:12px;
}

#readinessCard .dose-summary > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
}

#readinessCard .dose-summary span{
  display:inline;
}

#readinessCard .dose-summary strong{
  display:inline;
  margin:0;
  text-align:right;
  font-size:12px;
}

/* MOMENTO DEL DÍA · compacto */
#readinessCard .timing-recommendation{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  column-gap:10px;
  row-gap:3px;
  margin:8px 0;
  padding:9px 11px;
  border-radius:12px;
}

#readinessCard .timing-recommendation .eyebrow{
  margin:0;
}

#readinessCard .timing-recommendation strong{
  margin:0;
  font-size:12px;
  text-align:right;
}

#readinessCard .timing-recommendation p{
  grid-column:1 / -1;
  font-size:10px;
  line-height:1.35;
}

/* CHECK DIARIO · tras decidir se elimina por completo del flujo.
   El acceso de edición vive en la tarjeta de decisión, no en este formulario. */
#dailyForm.is-collapsed{
  display:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-height:0!important;
  height:0!important;
  overflow:hidden!important;
}

#dailyForm .daily-form-toggle{
  flex:0 0 auto;
  min-height:38px;
  padding:0 11px;
  font-size:9px;
}

/* Si se está corrigiendo AYER, no compite la CTA de HOY */
#home.active:has(#reconcileEdit:not(.hidden)) #goWorkout{
  display:none!important;
}

@media(max-width:430px){
  .readiness-card{
    padding-top:16px;
  }

  .readiness-ring{
    width:164px;
    height:164px;
    padding:12px;
  }

  .ring-score{
    font-size:46px;
  }

  .decision-title{
    font-size:18px;
  }

  #combatReconcileCard{
    padding:13px 14px;
  }

  #dailyForm .daily-form-toggle{
    min-height:36px;
    padding:0 9px;
  }
}


/* =========================================================
   R12 · Google Identity Services
   ========================================================= */

.google-signin-wrap{
  width:100%;
  min-height:44px;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:12px;
  transition:opacity .16s ease;
}

.google-signin-wrap.locked{
  opacity:.42;
  pointer-events:none;
}

#googleSignInButton{
  width:min(320px,100%);
  min-height:44px;
  display:flex;
  justify-content:center;
}

#googleConsentHint{
  margin-top:8px;
  text-align:center;
}


/* R12 · post-login mobile polish */
.profile-save-bar:has(.btn.is-idle){
  justify-content:flex-start;
}
.profile-save-bar:has(.btn.is-idle) #profileSaveStatus{
  max-width:none;
  width:100%;
}


/* =========================================================
   PILOT FINAL UI · 2026-08-21
   UI-only. Auth, motor, schema y metodología intactos.
   ========================================================= */

/* Perfil limpio una vez completado */
.profile-save-bar.hidden{
  display:none!important;
}

/* Google oficial: integración visual sin falsificar el botón */
#googleSignInButton{
  border-radius:999px;
  overflow:hidden;
}

.google-signin-wrap:not(.locked){
  border-radius:999px;
}

/* HOY · menos masa visual */
#dailyForm{
  padding:16px;
}

#dailyForm > .section-title-row{
  margin-bottom:12px;
}

#dailyForm .today-context-box{
  margin-bottom:13px;
}

#dailyForm .slider-field{
  margin-bottom:14px;
}

#combatReconcileCard{
  padding:12px 14px;
}

#combatReconcileCard .section-title-row{
  margin-bottom:6px;
}

/* Resultado Readiness más compacto */
#readinessCard{
  padding:15px 16px 16px;
}

#readinessCard .ring-wrap{
  margin-bottom:7px;
}

#readinessCard .readiness-ring{
  width:142px;
  height:142px;
  padding:10px;
}

#readinessCard .ring-score{
  font-size:40px;
}

#readinessCard .decision-title{
  margin-top:2px;
  font-size:17px;
}

#readinessCard .decision-copy{
  margin:5px auto 8px;
  font-size:11px;
  line-height:1.35;
}

@media(max-width:430px){
  #dailyForm{
    padding:14px;
  }

  #readinessCard{
    padding:14px;
  }

  #readinessCard .readiness-ring{
    width:132px;
    height:132px;
    padding:9px;
  }

  #readinessCard .ring-score{
    font-size:37px;
  }

  #combatReconcileCard{
    padding:11px 13px;
  }
}


/* =========================================================
   COMPETITION FINAL MOBILE
   ========================================================= */
@media(max-width:520px){

  #competitionSection .card{
    padding:15px 14px;
  }

  #competitionSection #fightFields > .grid2,
  #competitionSection #fightFields > .grid3,
  #competitionSection #tournamentFields{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }

  #competitionSection .grid2 > div,
  #competitionSection .grid3 > div{
    min-width:0;
    width:100%;
  }

  #competitionSection .label{
    display:block;
    margin-bottom:7px;
    line-height:1.25;
  }

  #competitionSection input,
  #competitionSection select{
    width:100%;
    min-width:0;
  }

  #competitionSection .tiny.muted{
    margin-top:6px;
    line-height:1.4;
  }

  #competitionSection #fightFields > .top-gap{
    margin-top:15px;
  }

  #competitionSection .profile-choice-card{
    padding:13px;
  }
}

/* COMPETITION DATE OVERFLOW FIX */
@media(max-width:520px){
  #competitionSection input,
  #competitionSection select,
  #competitionSection textarea{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  #competitionSection .grid2,
  #competitionSection .grid3,
  #competitionSection #fightFields,
  #competitionSection #tournamentFields,
  #competitionSection .card,
  #competitionSection .grid2 > div,
  #competitionSection .grid3 > div{
    min-width:0;
  }

  #competitionSection #pFightDate{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    -webkit-min-logical-width:0;
    box-sizing:border-box;
  }
}
/* IPHONE · fecha competición mismo ancho que selects */
@media(max-width:520px){
  #competitionSection #pFightDate{
    display:block!important;
    width:-webkit-fill-available!important;
    inline-size:-webkit-fill-available!important;
    max-width:100%!important;
    max-inline-size:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin-right:0!important;
  }
}

/* RC4_TIME_INPUT_AND_PLACEMENT_FIX_CSS_V4_MIN
   Compacta Hora aproximada en semana habitual, ayer y hoy.
   UI-only: no cambia motor, PARAM, EXLIB ni payload. */
.session-editor-grid,
.session-field,
.combat-session-edit{
  min-width:0;
}

.session-field--time{
  min-width:0;
  max-width:138px;
}

.session-field--time .input[type="time"],
.combat-session-edit input[type="time"],
input[data-session-field="startTime"]{
  width:100%;
  max-width:132px;
  min-width:0;
  box-sizing:border-box;
  justify-self:start;
}

@media(max-width:520px){
  .session-field--time{
    max-width:122px;
  }

  .session-field--time .input[type="time"],
  .combat-session-edit input[type="time"],
  input[data-session-field="startTime"]{
    max-width:116px;
    padding-left:8px;
    padding-right:6px;
  }
}


/* RC4_EQUAL_SESSION_FIELDS_V5
   Hace iguales las cuatro casillas del editor de combate:
   disciplina, demanda, duración y hora aproximada.
   UI-only: no cambia motor, PARAM, EXLIB ni payload. */
.session-editor-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start;
}

.session-field--discipline,
.session-field--demand,
.session-field--duration,
.session-field--time{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
}

.session-field--discipline>select,
.session-field--demand>select,
.session-field--duration>.input,
.session-field--time>.input,
.session-field--time .input[type="time"],
input[data-session-field="startTime"]{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

@media(max-width:520px){
  .session-editor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .session-field--discipline>select,
  .session-field--demand>select,
  .session-field--duration>.input,
  .session-field--time>.input,
  .session-field--time .input[type="time"],
  input[data-session-field="startTime"]{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}


/* RC4_EQUAL_SESSION_FIELDS_V6_FORCE
   Corrección física iPhone/Safari:
   fuerza las 4 casillas del editor de combate al tamaño de las 2 primeras.
   Aplica a semana habitual, ayer y hoy. UI-only. */
.session-editor-card .session-editor-grid,
.weekly-day-card .session-editor-grid,
.reconcile-session-editor .session-editor-grid,
#todaySessionsEditor .session-editor-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.session-editor-card .session-field,
.weekly-day-card .session-field,
.reconcile-session-editor .session-field,
#todaySessionsEditor .session-field{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.session-editor-card .session-field>select,
.session-editor-card .session-field>.input,
.weekly-day-card .session-field>select,
.weekly-day-card .session-field>.input,
.reconcile-session-editor .session-field>select,
.reconcile-session-editor .session-field>.input,
#todaySessionsEditor .session-field>select,
#todaySessionsEditor .session-field>.input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  inline-size:100%!important;
  max-inline-size:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Safari/iPhone: el input time intenta conservar ancho nativo si no se le corta. */
.session-field--time .input[type="time"],
.session-editor-card input[type="time"][data-session-field="startTime"],
.weekly-day-card input[type="time"][data-session-field="startTime"],
.reconcile-session-editor input[type="time"][data-session-field="startTime"],
#todaySessionsEditor input[type="time"][data-session-field="startTime"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  inline-size:100%!important;
  max-inline-size:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-align:left!important;
}

.session-field--time .input[type="time"]::-webkit-date-and-time-value,
.session-editor-card input[type="time"]::-webkit-date-and-time-value,
.weekly-day-card input[type="time"]::-webkit-date-and-time-value,
.reconcile-session-editor input[type="time"]::-webkit-date-and-time-value,
#todaySessionsEditor input[type="time"]::-webkit-date-and-time-value{
  min-width:0!important;
  max-width:100%!important;
  text-align:left!important;
}

@media(max-width:520px){
  .session-editor-card .session-editor-grid,
  .weekly-day-card .session-editor-grid,
  .reconcile-session-editor .session-editor-grid,
  #todaySessionsEditor .session-editor-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
  }

  .session-editor-card .session-field>select,
  .session-editor-card .session-field>.input,
  .weekly-day-card .session-field>select,
  .weekly-day-card .session-field>.input,
  .reconcile-session-editor .session-field>select,
  .reconcile-session-editor .session-field>.input,
  #todaySessionsEditor .session-field>select,
  #todaySessionsEditor .session-field>.input{
    height:48px!important;
    min-height:48px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:12px!important;
  }
}











/* CHECKIN_VISUAL_V4_START */

/* Sin cartel gigante de check diario */
.checkin-visual-v4 > .section-title-row:first-of-type{
  display:none !important;
}

.checkin-visual-v4{
  padding:20px;
  padding-bottom:120px;
}

/* Separación general */
.checkin-visual-v4 #combatReconcileCard,
.checkin-visual-v4 .today-context-box,
.checkin-visual-v4 #checkinHealthBlock,
.checkin-visual-v4 .daily-safety-details{
  border-radius:28px;
}

.checkin-visual-v4 #combatReconcileCard,
.checkin-visual-v4 .today-context-box,
.checkin-visual-v4 #checkinHealthBlock,
.checkin-visual-v4 .daily-safety-details{
  margin-bottom:16px;
}

/* 1 · Ayer: conservar diseño */
.checkin-visual-v4 #combatReconcileCard{
  border-color:rgba(255,214,0,.42);
  background:rgba(16,22,30,.72);
}

/* 2 · Hoy: mismo lenguaje que Ayer */
.checkin-visual-v4 .today-context-box{
  position:relative;
  padding:18px;
  border:1px solid rgba(255,214,0,.42);
  box-shadow:0 0 0 1px rgba(255,214,0,.10) inset;
  background:rgba(16,22,30,.72);
}

.checkin-visual-v4 .today-context-box::before{
  content:"2";
  position:absolute;
  left:18px;
  top:18px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(0,230,118,.42);
  background:rgba(0,230,118,.12);
  color:#00e676;
  font-weight:950;
}

.checkin-visual-v4 .today-context-box .mini-title{
  min-height:42px;
  padding-left:48px;
  margin-bottom:14px;
}

.checkin-visual-v4 .today-context-box .mini-title .eyebrow{
  display:block;
  margin-bottom:4px;
}

.checkin-visual-v4 .today-context-box .mini-title strong{
  display:block;
  color:#fff;
  font-size:1.08rem;
  line-height:1.05;
}

/* El botón de Hoy queda visualmente al lado del resumen grande */
.checkin-visual-v4 #toggleTodayOverride{
  position:static;
  flex:0 0 auto;
  min-width:0;
  min-height:48px;
  border-radius:15px;
  padding:0 16px;
  background:#222933;
  border:1px solid rgba(255,255,255,.13);
  color:#fff;
  font-size:.94rem;
  font-weight:950;
  letter-spacing:.04em;
}

.checkin-visual-v4 #todayCombatSummary{
  margin:0;
  min-height:0;
  padding:22px 18px 20px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:rgba(8,12,18,.40);
}

.checkin-visual-v4 #todayCombatSummary strong{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:clamp(1.45rem,5.4vw,1.95rem);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:950;
}

.checkin-visual-v4 #todayCombatSummary .tiny,
.checkin-visual-v4 #todayCombatSummary span,
.checkin-visual-v4 #todayCombatSummary small{
  color:#bdd1ef;
}

/* Editor de Hoy cuando se pulsa Cambiar Hoy */
.checkin-visual-v4 #todaySessionsEditor{
  margin-top:16px;
}

.checkin-visual-v4 .today-context-box .session-editor-card{
  margin-top:14px;
  padding:16px;
  border-radius:20px;
  background:rgba(8,12,18,.42);
  border:1px solid rgba(255,255,255,.10);
}

.checkin-visual-v4 .today-context-box .session-editor-grid{
  gap:12px;
}

.checkin-visual-v4 .today-context-box [data-add-today-session],
.checkin-visual-v4 .today-context-box #todayAddSession,
.checkin-visual-v4 .today-context-box button[data-add-session]{
  border-radius:18px;
}

/* Cuándo y cuánto ahora pertenece al bloque 2 */
.checkin-visual-v4 .today-context-box #checkinLogisticsBlock{
  margin-top:16px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.045);
}

.checkin-visual-v4 #checkinLogisticsBlock .checkin-block-heading{
  margin-bottom:14px;
}

.checkin-visual-v4 #checkinLogisticsBlock .checkin-block-heading .eyebrow{
  display:none;
}

.checkin-visual-v4 #checkinLogisticsBlock .checkin-block-heading strong{
  display:block;
  color:#fff;
  font-size:1.08rem;
}

.checkin-visual-v4 #checkinLogisticsBlock .field,
.checkin-visual-v4 #checkinLogisticsBlock .top-gap{
  margin-top:14px;
}

.checkin-visual-v4 #checkinLogisticsBlock select{
  min-height:58px;
  border-radius:18px;
  font-size:1.04rem;
}

/* 3 · Estado actual */
.checkin-visual-v4 #checkinHealthBlock{
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(16,22,30,.64);
}

.checkin-visual-v4 #checkinHealthBlock .checkin-step-head{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:22px;
}

.checkin-visual-v4 #checkinHealthBlock .checkin-step-number{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(0,230,118,.42);
  background:rgba(0,230,118,.12);
  color:#00e676;
  font-weight:950;
}

.checkin-visual-v4 #checkinHealthBlock .checkin-step-head strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:1.22rem;
  line-height:1.05;
}

.checkin-visual-v4 #checkinHealthBlock .checkin-step-head small{
  display:block;
  margin-top:7px;
  color:#98a7bd;
  line-height:1.35;
}

.checkin-visual-v4 .checkin-health-body .slider-field{
  margin:0;
  padding:0;
}

.checkin-visual-v4 .checkin-health-body .slider-field + .slider-field{
  margin-top:24px;
}

.checkin-visual-v4 .slider-label-row label,
.checkin-visual-v4 #checkinLogisticsBlock .label,
.checkin-visual-v4 .checkin-pain-box .label{
  color:#aab9d3;
  letter-spacing:.17em;
}

.checkin-visual-v4 .slider-label-row output{
  color:#00e676;
  font-size:1.05rem;
  font-weight:950;
}

.checkin-visual-v4 .range-scale{
  margin-top:12px;
}

/* Molestias dentro de Estado actual */
.checkin-visual-v4 .checkin-pain-box{
  margin-top:26px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(8,12,18,.36);
}

.checkin-visual-v4 .checkin-pain-box #todayPainEditor:empty::before{
  content:"Ninguna";
  display:block;
  color:#fff;
  font-weight:850;
}

.checkin-visual-v4 .pain-row{
  gap:10px;
}

.checkin-visual-v4 .pain-row select{
  min-height:54px;
  border-radius:16px;
}

/* 4 · Seguridad */
.checkin-visual-v4 .daily-safety-details{
  position:relative;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  overflow:hidden;
}

.checkin-visual-v4 .daily-safety-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 20px 20px 70px;
  cursor:pointer;
  list-style:none;
}

.checkin-visual-v4 .daily-safety-details summary::-webkit-details-marker{
  display:none;
}

.checkin-visual-v4 .daily-safety-details summary::before{
  content:"4";
  position:absolute;
  left:20px;
  top:22px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(0,230,118,.42);
  background:rgba(0,230,118,.12);
  color:#00e676;
  font-weight:950;
}

.checkin-visual-v4 .daily-safety-details summary .eyebrow{
  display:none;
}

.checkin-visual-v4 .daily-safety-details summary strong{
  display:block;
  color:#fff;
  font-size:1.2rem;
  line-height:1.05;
}

.checkin-visual-v4 .daily-safety-details summary small{
  display:block;
  margin-top:6px;
  color:#98a7bd;
  font-size:.88rem;
  line-height:1.35;
}

.checkin-visual-v4 .daily-safety-details summary b{
  flex:0 0 auto;
  min-width:126px;
  min-height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:#222933;
  color:#fff;
  font-size:.94rem;
  font-weight:950;
  letter-spacing:.05em;
}

.checkin-visual-v4 .daily-safety-details[open] summary{
  border-bottom:1px solid rgba(255,255,255,.10);
}

.checkin-visual-v4 .daily-safety-body{
  padding:18px;
}

/* Botón final */
.checkin-visual-v4 #generateBtn{
  margin-top:6px;
  margin-bottom:70px;
  min-height:66px;
  border-radius:22px;
  font-size:1.02rem;
}

/* Mobile */
@media (max-width:520px){
  .checkin-visual-v4{
    padding:18px;
    padding-bottom:130px;
  }

  .checkin-visual-v4 .today-context-box{
    padding:18px;
  }

  .checkin-visual-v4 #toggleTodayOverride{
    min-width:0;
    min-height:46px;
    padding-inline:14px;
    font-size:.84rem;
  }

  .checkin-visual-v4 #todayCombatSummary{
    min-height:0;
    padding:20px 16px 18px;
  }

  .checkin-visual-v4 #todayCombatSummary strong{
    font-size:clamp(1.22rem,6vw,1.55rem);
  }

  .checkin-visual-v4 #checkinLogisticsBlock{
    padding:16px;
  }

  .checkin-visual-v4 #checkinHealthBlock{
    padding:18px;
  }

  .checkin-visual-v4 .pain-row{
    display:grid;
    grid-template-columns:1fr;
  }

  .checkin-visual-v4 .daily-safety-details summary{
    padding:18px 18px 18px 66px;
  }

  .checkin-visual-v4 .daily-safety-details summary::before{
    left:18px;
    top:20px;
  }

  .checkin-visual-v4 .daily-safety-details summary b{
    min-width:104px;
    min-height:50px;
    font-size:.84rem;
  }
}

/* CHECKIN_VISUAL_V4_END */





/* CHECKIN_VISUAL_V7_START */

/* Quitar botón roto viejo */
#editCheckinAfterDecisionV5,
#editCheckinAfterDecisionV6{
  display:none !important;
}

/* Quitar caja vacía bajo la decisión */
.checkin-empty-decision-box-v7{
  display:none !important;
}

/* El resumen legado de dosis ya no tiene contenido independiente: la tarjeta
   diaria comunica la decisión. Nunca debe reservar una cápsula o espacio. */
#readinessCard #doseSummary{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  min-height:0 !important;
  height:0 !important;
  overflow:hidden !important;
}

/* Botón real de editar check-in */
#editCheckinAfterDecision:not(.hidden),
#editCheckinAfterDecisionV7:not(.hidden){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:18px auto 12px auto !important;
  min-height:58px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:#222933 !important;
  color:#fff !important;
  font-weight:950 !important;
  letter-spacing:.06em !important;
}

.checkin-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.today-override-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.today-override-actions .today-reset-action{width:100%;justify-content:center;min-height:42px;margin:0!important;box-shadow:none!important;color:#C7D0D8!important}
.checkin-visual-v4 #todayAddSession{width:100%!important;min-height:46px!important;padding-inline:16px!important;box-shadow:none!important;font-weight:900!important}
.checkin-visual-v4 #todayAddSession:hover,.today-override-actions .today-reset-action:hover{border-color:rgba(0,230,118,.42)!important;color:#E8F8EE!important}
#workoutBlocks [data-inline-start-workout]{display:none!important}

/* Ayer: editor compacto de verdad */
#combatReconcileCard .session-editor-card,
#combatReconcileCard .session-editor-card-v7{
  padding:16px !important;
  border-radius:22px !important;
  background:rgba(8,12,18,.42) !important;
  border:1px solid rgba(255,255,255,.11) !important;
}

#combatReconcileCard .session-editor-grid,
#combatReconcileCard .session-editor-grid-v7{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

#combatReconcileCard .session-field,
#combatReconcileCard .session-field-v7{
  min-width:0 !important;
  margin:0 !important;
}

#combatReconcileCard .session-field select,
#combatReconcileCard .session-field input,
#combatReconcileCard .session-field textarea{
  width:100% !important;
  min-width:0 !important;
  min-height:56px !important;
  border-radius:18px !important;
}

#combatReconcileCard .session-field:has(input[placeholder*="1"]),
#combatReconcileCard .session-field:has(input[data-session-field="rpe"]),
#combatReconcileCard .session-field:has(textarea){
  grid-column:1 / -1 !important;
}

/* Hoy: quitar compresión rara de V5, volver a compacto usable */
.today-context-box .session-editor-card{
  padding:16px !important;
  border-radius:20px !important;
  background:rgba(8,12,18,.42) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}

.today-context-box .session-editor-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

.today-context-box .session-field{
  min-width:0 !important;
  margin:0 !important;
}

.today-context-box .session-field select,
.today-context-box .session-field input,
.today-context-box .session-field textarea{
  width:100% !important;
  min-width:0 !important;
  min-height:56px !important;
  border-radius:18px !important;
}

/* El botón vive en el flujo del encabezado: el resumen conserva todo el ancho. */
.checkin-visual-v4 #todayCombatSummary,
.checkin-visual-v3 #todayCombatSummary,
.checkin-ui-final-v1 #todayCombatSummary{
  padding-right:18px !important;
}

/* Cuándo y cuánto limpio dentro de Hoy */
.checkin-visual-v4 #checkinLogisticsBlock{
  margin-top:16px !important;
}

/* Mobile */
@media (max-width:520px){
  #combatReconcileCard .session-editor-grid,
  #combatReconcileCard .session-editor-grid-v7,
  .today-context-box .session-editor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  #combatReconcileCard .session-field select,
  #combatReconcileCard .session-field input,
  #combatReconcileCard .session-field textarea,
  .today-context-box .session-field select,
  .today-context-box .session-field input,
  .today-context-box .session-field textarea{
    min-height:54px !important;
    font-size:.92rem !important;
  }

  .checkin-visual-v4 #todayCombatSummary,
  .checkin-visual-v3 #todayCombatSummary,
  .checkin-ui-final-v1 #todayCombatSummary{
    padding-right:16px !important;
  }
}

@media (max-width:360px){
  .checkin-visual-v4 .today-context-box > .section-title-row{
    flex-wrap:wrap;
  }

  .checkin-visual-v4 #toggleTodayOverride{
    width:100%;
  }
}

/* CHECKIN_VISUAL_V7_END */




















/* CHECKIN_REAL_ROWHTML_CSS_START */

/* Ayer: editor real en 2 columnas */
.bloque1-ayer-v2 .b1-row{
  padding:16px !important;
  border-radius:22px !important;
  background:rgba(8,12,18,.42) !important;
  border:1px solid rgba(255,255,255,.11) !important;
}

.bloque1-ayer-v2 .b1-row-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:14px !important;
  padding-bottom:12px !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}

.bloque1-ayer-v2 .b1-fields-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
}

.bloque1-ayer-v2 .b1-field{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  color:#aab9d3 !important;
  font-size:.7rem !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  line-height:1.15 !important;
  text-transform:uppercase !important;
}

.bloque1-ayer-v2 .b1-field-rpe{
  grid-column:1 / -1 !important;
}

.bloque1-ayer-v2 .b1-field select,
.bloque1-ayer-v2 .b1-field input{
  margin-top:7px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  border-radius:18px !important;
  font-size:.94rem !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

/* Variable HH:MM controlada. Un input no puede usar align-items; se le da la
   misma caja interior que Duración: 54px exteriores, 52px de línea útil y
   cero padding vertical. Así el valor queda en el centro real del bloque. */
#todaySessionsEditor .session-field--time > input[data-session-field="startTime"][type="text"],
#bloque1AyerLimpioV2 .b1-field-duration input[data-b1-field="durationMin"],
#bloque1AyerLimpioV2 .b1-field-hour input[type="text"][data-b1-field="startTime"]{
  display:block !important;
  height:54px !important;
  min-height:54px !important;
  min-width:0 !important;
  inline-size:100% !important;
  max-inline-size:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding:0 12px !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:52px !important;
  text-align:center !important;
  font-variant-numeric:tabular-nums !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

/* DISEÑO 1A.2 · pulido móvil de los editores Hoy/Ayer. */
@media (max-width:520px){
  #combatReconcileCard .session-field > select,
  #combatReconcileCard .session-field > input,
  .today-context-box .session-field > select,
  .today-context-box .session-field > input{
    height:54px !important;
    min-height:54px !important;
    padding-inline:12px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-align:left !important;
  }

  .today-override-actions{
    gap:8px;
    margin-top:12px;
  }

  .checkin-visual-v4 #todayAddSession,
  #bloque1AyerLimpioV2 button[data-b1="add"]{
    min-height:44px !important;
    padding-inline:14px !important;
    font-size:10px !important;
    font-weight:850 !important;
    box-shadow:none !important;
  }

  .checkin-visual-v4 #todayAddSession{
    background:#1B222A !important;
    border-color:#303A45 !important;
    color:#D7E0E8 !important;
  }

  .bloque1-ayer-v2 .b1-row{
    padding:14px !important;
  }

  .bloque1-ayer-v2 .b1-fields-grid{
    gap:10px !important;
  }

  .bloque1-ayer-v2 .b1-field select,
  .bloque1-ayer-v2 .b1-field input{
    min-height:54px !important;
    padding-inline:12px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-align:left !important;
  }

  .bloque1-ayer-v2 .b1-del{
    width:40px !important;
    height:40px !important;
    border-radius:12px !important;
    border-color:rgba(255,92,138,.28) !important;
    background:rgba(255,92,138,.045) !important;
    color:#FF87A8 !important;
    font-size:20px !important;
  }

  #bloque1AyerLimpioV2 .b1-editor-top{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  #bloque1AyerLimpioV2 .b1-editor-top button[data-b1="add"]{
    width:100% !important;
    justify-self:stretch;
  }

  /* Native time controls share one centered mobile geometry in Ayer, Hoy and Semana. */
  .session-field--time > .input[type="time"]{
    padding-block:0 !important;
    text-align:center !important;
  }

  .session-field--time > .input[type="time"]::-webkit-date-and-time-value{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:52px;
    text-align:center !important;
  }
}

@media (max-width:360px){
  #combatReconcileCard .session-editor-grid,
  .today-context-box .session-editor-grid,
  .bloque1-ayer-v2 .b1-fields-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

/* Durante una edición la acción primaria es guardar, cancelar o volver; la CTA
   de decisión se recupera automáticamente cuando el editor se repliega. */
#home.active:has(#dailyForm:not(.is-collapsed)) #goWorkout,
#home.active:has(#todayOverridePanel:not(.hidden)) #goWorkout,
#home.active:has(#bloque1AyerLimpioV2 .b1-editor) #goWorkout{
  display:none !important;
}

/* Salud: ciclo en Nada no muestra dolores */
#femaleSymptomsField.vbt-cycle-none label:has(input[type="checkbox"]),
#femaleSymptomsField.vbt-cycle-none .checkbox-wrap{
  display:none !important;
}

/* CHECKIN_REAL_ROWHTML_CSS_END */
/* Coach workspace is isolated; athlete selectors and presentation are unchanged. */
body[data-training-mode="COACH"] .tab,
body[data-training-mode="COACH"] #nav,
body[data-training-mode="COACH"] #phaseBtn,
body[data-training-mode="COACH"] #dirtyBanner,
body[data-training-mode="COACH"] #networkBanner,
body[data-training-mode="COACH"] #workoutOverlayStack,
body[data-training-mode="COACH"] #leaseLostBanner { display:none !important; }
.coach-mode-switch { display:flex; gap:8px; margin-bottom:16px; }
.coach-mode-switch .btn[aria-pressed="true"] { border-color:var(--accent,#00e676); }
#coachWorkspace .coach-athlete-list { display:grid; gap:12px; }
#coachWorkspace .coach-athlete-card { margin:0; }
#coachWorkspace .coach-athlete-card dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#coachWorkspace dt { color:var(--muted,#7f8c9b); font-size:12px; }
#coachWorkspace dd { margin:0; overflow-wrap:anywhere; }
#coachWorkspace .coach-detail-sections { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
#coachWorkspace .coach-readonly-section { padding:12px 0; border-bottom:1px solid var(--border,#26313c); }
#coachWorkspace .coach-readonly-section p { overflow-wrap:anywhere; }
@media(min-width:760px) { #coachWorkspace .coach-athlete-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
#coachWorkspace #coachReviewPanel { margin-top:20px; border-top:1px solid var(--border,#26313c); padding-top:16px; }
#coachWorkspace .coach-editor-block { margin-top:12px; }
#coachWorkspace #coachReviewPanel .btn { margin:4px; }
#coachWorkspace #coachReviewPanel fieldset { margin:16px 0; border:1px solid var(--border,#26313c); }
#coachWorkspace #coachReviewPanel textarea { min-height:96px; width:100%; }
#coachWorkspace .coach-comparison { display:grid; gap:16px; }
#coachWorkspace #coachReviewPanel select[multiple] { min-height:100px; }
@media(min-width:760px) { #coachWorkspace .coach-comparison { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* PF presentation only: the athlete shell remains unchanged. */
body[data-training-mode="COACH"]{padding-bottom:env(safe-area-inset-bottom);}
body[data-training-mode="COACH"] .app-shell,body[data-training-mode="COACH"] .header-inner{width:min(100%,1440px);max-width:1440px;}
body[data-training-mode="COACH"] .coach-mode-switch{position:sticky;top:76px;z-index:30;padding:8px;background:var(--bg);border-radius:16px;}
.coach-mode-switch [aria-pressed="true"]{background:#143125;border-color:var(--green);color:var(--text);}
#coachWorkspace{--pf-muted:#A5B0BF;min-width:0;}
#coachWorkspace .muted,#coachWorkspace .coach-meta{color:var(--pf-muted);}
#coachWorkspace .coach-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;}
#coachWorkspace #coachRoster,#coachWorkspace #coachAthleteDetail{min-width:0;}
#coachWorkspace .coach-athlete-list{grid-template-columns:minmax(0,1fr);gap:12px;}
#coachWorkspace .coach-athlete-card{padding:18px;box-shadow:none;}
#coachWorkspace .coach-athlete-card h3{font-size:20px;margin:0 0 10px;}
#coachWorkspace h2,#coachWorkspace h3,#coachWorkspace .coach-athlete-card p{overflow-wrap:anywhere;}
#coachWorkspace .coach-athlete-card[data-selected="true"]{border-color:var(--green);}
#coachWorkspace .coach-athlete-card[data-alert="true"]{border-left:5px solid #FFD166;background:#211E18;}
#coachWorkspace .coach-checkin-summary{font-size:17px;line-height:1.7;}
#coachWorkspace .coach-plan-block{padding:14px 16px;margin:10px 0;border:1px solid var(--border2);border-radius:12px;background:var(--card2);}
#coachWorkspace .coach-athlete-card p{margin:10px 0;}
#coachWorkspace .coach-search-label{display:block;color:var(--pf-muted);font-size:13px;margin:0 0 8px;text-transform:none;letter-spacing:0;}
#coachWorkspace .coach-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px;}
#coachWorkspace .small-btn{min-height:44px;font-size:13px;letter-spacing:0;}
#coachWorkspace [aria-pressed="true"],#coachWorkspace [aria-current="page"]{border-color:var(--green);background:#143125;color:var(--text);}
#coachWorkspace .coach-badge,#coachWorkspace .coach-chip{display:inline-flex;align-items:center;min-height:30px;border:1px solid var(--border2);border-radius:9px;padding:5px 9px;font-size:13px;background:var(--card2);overflow-wrap:anywhere;}
#coachWorkspace .coach-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
#coachWorkspace .coach-meta{font-size:13px;line-height:1.5;}
#coachWorkspace .coach-deadline{font-size:14px;font-weight:700;}
#coachWorkspace .coach-alert{padding:12px;border:1px solid #A18936;border-radius:12px;background:#292414;color:#FFE297;line-height:1.5;}
#coachWorkspace .coach-empty{padding:16px;color:var(--pf-muted);border:1px dashed var(--border2);border-radius:12px;}
#coachWorkspace #coachRelationshipHost{margin:16px 0 20px;}
.coach-link-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.coach-link-panel>summary span{display:grid;gap:4px;}
.coach-link-content{padding-top:12px;}
.coach-code-box,.coach-link-row{padding:16px;border:1px solid var(--border2);border-radius:14px;background:var(--card2);margin:12px 0;}
.coach-code-box>[data-private-code]{display:block;margin:8px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;}
.coach-link-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.coach-link-row p{margin:5px 0 0;}
.coach-link-actions{display:flex;gap:8px;flex-wrap:wrap;}
.coach-share-consent{align-items:flex-start;margin:18px 0;line-height:1.5;}
.coach-share-consent input{margin-top:4px;flex:0 0 auto;}
#coachWorkspace .coach-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;}
#coachWorkspace .coach-metrics>div{padding:12px;background:var(--card2);border-radius:12px;min-width:0;}
#coachWorkspace .coach-metrics dt{font-size:13px;color:var(--pf-muted);margin-bottom:8px;}
#coachWorkspace .coach-metrics dd{margin:0;font-size:16px;overflow-wrap:anywhere;}
#coachWorkspace .coach-context-group{border-bottom:1px solid var(--border);padding:14px 0;}
#coachWorkspace summary{cursor:pointer;min-height:44px;line-height:1.5;padding:10px 0;}
#coachWorkspace #coachDetailTitle{margin-top:18px;}
#coachWorkspace .coach-readonly-section{padding:16px 0;}
#coachWorkspace .coach-readonly-section h3{font-size:20px;}
#coachWorkspace .coach-plan-block strong{display:block;font-size:17px;}
#coachWorkspace .coach-dose{color:var(--text);font-weight:650;line-height:1.6;}
#coachWorkspace .session-field-label{font-size:12px;letter-spacing:.3px;color:var(--pf-muted);}
#coachWorkspace :is(button,input,select,textarea,summary):focus-visible,.coach-mode-switch button:focus-visible{outline:3px solid var(--blue);outline-offset:3px;box-shadow:none;}
#coachWorkspace .input,#coachWorkspace select{min-width:0;max-width:100%;}
#coachWorkspace #coachAthleteDetail{scroll-margin-top:160px;}
@media(max-width:899px){
  #coachWorkspace[data-detail-open="true"] #coachRoster{display:none;}
  .coach-link-row{align-items:stretch;flex-direction:column;}
  .coach-link-actions .btn{flex:1 1 130px;}
  #coachWorkspace #coachAthleteDetail{padding:16px;}
  #coachWorkspace .session-editor-grid{grid-template-columns:minmax(0,1fr)!important;}
  #coachWorkspace .coach-comparison{grid-template-columns:minmax(0,1fr);}
  #coachWorkspace .coach-workspace-header .section-title-row{flex-wrap:wrap;gap:12px;}
}
@media(min-width:900px){
  #coachWorkspace .coach-workspace-grid{grid-template-columns:minmax(320px,380px) minmax(0,1fr);align-items:start;}
  #coachWorkspace #coachRoster{grid-column:1;grid-row:1;position:sticky;top:150px;max-height:calc(100dvh - 170px);overflow-y:auto;padding-right:8px;}
  #coachWorkspace #coachAthleteDetail{grid-column:2;grid-row:1;}
  #coachWorkspace:not([data-detail-open="true"]) .coach-workspace-grid::after{content:'Selecciona un deportista para consultar su ficha';grid-column:2;grid-row:1;padding:40px;color:var(--pf-muted);border:1px dashed var(--border2);border-radius:16px;}
  #coachWorkspace #coachAthleteDetail{padding:28px;}
}

/* PF editor/comparison presentation: callable contracts remain unchanged. */
#coachWorkspace .coach-draft-status{position:sticky;top:136px;z-index:10;padding:10px 14px;border:1px solid var(--border2);border-radius:10px;background:var(--card);font-weight:700;}
#coachWorkspace .coach-saved-draft{margin:16px 0;padding:16px 18px;border:1px solid color-mix(in srgb,var(--green) 55%,var(--border2));border-radius:14px;background:color-mix(in srgb,var(--green) 9%,var(--card2));box-shadow:0 10px 28px rgba(0,0,0,.16);}
#coachWorkspace .coach-saved-draft .eyebrow{margin:0 0 6px;color:var(--green);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
#coachWorkspace .coach-saved-draft h3{margin:0 0 6px;}
#coachWorkspace .coach-saved-draft h3+p{margin:0;color:var(--muted);}
#coachWorkspace .coach-draft-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center;}
#coachWorkspace .coach-draft-actions [data-cr-action="reviewDraft"]{min-width:min(100%,230px);}
#coachWorkspace .coach-draft-actions [data-cr-action="edit"]{min-height:48px;}
#coachWorkspace .coach-editor-content{padding-bottom:96px;}
#coachWorkspace .coach-editor-block{border:1px solid var(--border2);border-radius:14px;background:var(--card2);margin:12px 0;padding:0 14px;}
#coachWorkspace .coach-editor-block>summary{font-weight:750;padding:16px 4px;overflow-wrap:anywhere;}
#coachWorkspace .coach-exercise-editor>summary{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;}
#coachWorkspace .coach-drag-grip{width:46px;height:46px;display:inline-grid;place-items:center;border:1px solid var(--border2);border-radius:10px;background:var(--card);color:var(--text);font-size:22px;cursor:grab;touch-action:none;user-select:none;}
#coachWorkspace .coach-drag-grip:active{cursor:grabbing;}
#coachWorkspace .coach-drag-grip:focus-visible{outline:3px solid var(--green);outline-offset:3px;}
#coachWorkspace .coach-exercise-editor.is-dragging{position:relative;z-index:40;opacity:.88;transform:scale(1.012);box-shadow:0 18px 45px rgba(0,0,0,.5);border-color:var(--green);}
#coachWorkspace .coach-exercise-editor.is-drop-target{outline:3px dashed var(--green);outline-offset:4px;}
#coachWorkspace .coach-editor-block[open]>summary{border-bottom:1px solid var(--border);}
#coachWorkspace .coach-exercise-editor>.session-editor-grid{padding-top:14px;}
#coachWorkspace .coach-block-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0;}
#coachWorkspace .coach-order-fallback{padding-top:12px;border-top:1px solid var(--border);}
#coachWorkspace .coach-block-actions [data-cr-action^="remove"]{color:#FFD8D8;border-color:#A84949;background:#321818;}
#coachWorkspace .coach-reasons{margin:20px 0;padding:16px;border:1px solid var(--border2);border-radius:14px;}
#coachWorkspace .coach-reasons legend{padding:0 8px;font-weight:800;}
#coachWorkspace .coach-editor-actions{position:sticky;bottom:0;z-index:25;display:flex;gap:10px;flex-wrap:wrap;padding:12px;background:rgba(13,15,18,.96);border:1px solid var(--border2);border-radius:14px;box-shadow:0 -10px 30px rgba(0,0,0,.28);}
#coachWorkspace .coach-editor-actions [data-cr-action="save"],#coachWorkspace .coach-editor-actions [data-cr-action="publish"]{background:var(--green);border-color:var(--green);color:#05120B;font-weight:800;}
#coachWorkspace .coach-comparison-head{margin:22px 0 16px;padding-bottom:14px;border-bottom:1px solid var(--border2);}
#coachWorkspace .coach-comparison-head h3{margin:5px 0 7px;font-size:clamp(1.35rem,2vw,1.8rem);}
#coachWorkspace .coach-comparison-head>p:last-child{margin:0;color:var(--pf-muted);}
#coachWorkspace .coach-change-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;}
#coachWorkspace .coach-change-summary span{padding:7px 10px;border:1px solid color-mix(in srgb,var(--green) 35%,var(--border2));border-radius:999px;background:color-mix(in srgb,var(--green) 7%,var(--card));color:var(--text);font-size:12px;font-weight:750;}
#coachWorkspace .coach-diff-groups{display:grid;gap:14px;}
#coachWorkspace .coach-diff-group{padding:16px;border:1px solid var(--border2);border-radius:14px;background:var(--card2);}
#coachWorkspace .coach-diff-group>h4,#coachWorkspace .coach-diff-block header h4{margin:4px 0 12px;font-size:18px;}
#coachWorkspace .coach-version-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px;}
#coachWorkspace .coach-version-comparison section{min-width:0;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--card);}
#coachWorkspace .coach-version-comparison section:last-child{border-color:color-mix(in srgb,var(--green) 40%,var(--border));background:color-mix(in srgb,var(--green) 6%,var(--card));}
#coachWorkspace .coach-version-comparison span{display:block;margin-bottom:6px;color:var(--pf-muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;}
#coachWorkspace .coach-version-comparison strong{display:block;overflow-wrap:anywhere;}
#coachWorkspace .coach-version-comparison p{margin:6px 0 0;color:var(--pf-muted);font-size:12px;line-height:1.45;}
#coachWorkspace .coach-diff-block h5{margin:0 0 8px;color:var(--text);font-size:13px;}
#coachWorkspace .coach-human-changes{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--border);}
#coachWorkspace .coach-human-changes li{display:grid;grid-template-columns:minmax(110px,.45fr) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px;}
#coachWorkspace .coach-human-changes li:last-child{border-bottom:0;}
#coachWorkspace .coach-human-changes span{color:var(--pf-muted);font-weight:700;}
#coachWorkspace .coach-human-changes strong{overflow-wrap:anywhere;font-weight:750;}
#coachWorkspace .coach-human-changes i{padding:0 5px;color:var(--green);font-style:normal;}
#coachWorkspace .coach-adjustment-reason{margin:16px 0;padding:16px;border:1px solid color-mix(in srgb,var(--green) 32%,var(--border2));border-radius:14px;background:var(--card2);}
#coachWorkspace .coach-reason-tags{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 0;}
#coachWorkspace .coach-reason-tags span{padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--green) 10%,var(--card));font-size:12px;font-weight:750;}
#coachWorkspace .coach-reason-comment{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--border);color:var(--pf-muted);line-height:1.5;}
#coachWorkspace .coach-publish-actions [data-cr-action="publish"]{min-width:230px;}
#coachWorkspace .coach-publish-actions [data-cr-action="back"]{box-shadow:none;}
#coachWorkspace .coach-safety-override{margin:18px 0;padding:16px;border:2px solid #A18936;border-radius:14px;background:#292414;}
#coachWorkspace .coach-full-version{margin:12px 0;border-bottom:1px solid var(--border);}
#coachWorkspace [data-cr-unavailable="true"]{opacity:.55;cursor:not-allowed;}
@media(max-width:899px){
  #coachWorkspace .coach-editor-actions{bottom:calc(env(safe-area-inset-bottom) + 4px);margin-left:-8px;margin-right:-8px;padding-bottom:calc(12px + env(safe-area-inset-bottom));}
  #coachWorkspace .coach-editor-actions .btn{flex:1 1 135px;min-height:48px;}
  #coachWorkspace .coach-draft-actions{display:grid;grid-template-columns:1fr;}
  #coachWorkspace .coach-draft-actions .btn{width:100%;min-height:48px;}
  #coachWorkspace .coach-version-comparison{grid-template-columns:minmax(0,1fr);}
  #coachWorkspace .coach-human-changes li{grid-template-columns:minmax(0,1fr);gap:4px;}
  #coachWorkspace .coach-publish-actions [data-cr-action="publish"]{flex-basis:100%;min-height:52px;order:-1;}
  #coachWorkspace .coach-editor-block{padding:0 10px;}
  #coachWorkspace .coach-drag-grip{width:48px;height:48px;}
}
@media(min-width:900px){
  #coachWorkspace #coachReviewPanel{max-width:none;}
  #coachWorkspace .coach-editor-actions{justify-content:flex-end;}
}

/* ONE ROUND THEME V1 -------------------------------------------------------
   Dark remains the unmodified default above. Every light rule is rooted here. */
html[data-theme="light"]{
  color-scheme:light;
  --bg:#F4F7F9;
  --bg2:#EAF0F4;
  --card:#FFFFFF;
  --card2:#F4F7F9;
  --border:#D5DEE5;
  --border2:#C4D0D9;
  --text:#17212B;
  --muted:#5E6C79;
  --muted2:#788693;
  --shadow:0 14px 38px rgba(26,44,58,.10);
  background:var(--bg);
}
html[data-theme="light"] body{
  background:linear-gradient(180deg,#F7F9FB 0%,#EAF0F4 100%);
  color:var(--text);
}
html[data-theme="light"] .app-header{
  background:rgba(255,255,255,.94);
  border-color:var(--border);
  box-shadow:0 4px 20px rgba(28,46,60,.06);
}
html[data-theme="light"] .card,
html[data-theme="light"] .modal,
html[data-theme="light"] .legal-card,
html[data-theme="light"] .ring-inner,
html[data-theme="light"] .yesterday-box,
html[data-theme="light"] .dose-summary,
html[data-theme="light"] .conditioning-info,
html[data-theme="light"] .today-context-box,
html[data-theme="light"] .safety-box,
html[data-theme="light"] .history-day-card,
html[data-theme="light"] .history-recent-card,
html[data-theme="light"] .history-calendar-card,
html[data-theme="light"] .history-block,
html[data-theme="light"] .profile-group,
html[data-theme="light"] .profile-choice-card,
html[data-theme="light"] .xp-hud,
html[data-theme="light"] .decision-details,
html[data-theme="light"] .session-editor-card,
html[data-theme="light"] .saved-context-card,
html[data-theme="light"] .card-inset,
html[data-theme="light"] .reconcile-zero-state,
html[data-theme="light"] .reconcile-session-editor .combat-session-edit{
  background:#FFFFFF;
  border-color:var(--border);
  color:var(--text);
  box-shadow:var(--shadow);
}
html[data-theme="light"] .card-inset,
html[data-theme="light"] .conditioning-info,
html[data-theme="light"] .today-context-box,
html[data-theme="light"] .safety-box,
html[data-theme="light"] .reconcile-zero-state,
html[data-theme="light"] .reconcile-session-editor .combat-session-edit{
  background:#F6F8FA;
  box-shadow:none;
}
html[data-theme="light"] :is(.lead,.muted,.tiny,.capacity-note,.profile-system-copy,.coach-meta){color:var(--muted);}
html[data-theme="light"] :is(.eyebrow,.label,.session-field-label,.slider-label-row,.range-scale,.set-header,.history-sets,.prev-value,.profile-group>summary small,.settings-row small,.saved-context-copy p,.equipment-check small,.calendar-legend,.feedback-scale-labels){color:#647381;}
html[data-theme="light"] :is(h1,h2,h3,h4,h5,strong,.decision-title,.block-name,.set-label,.athlete-name){color:var(--text);}
html[data-theme="light"] .input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .text-area,
html[data-theme="light"] .set-input{
  background:#FFFFFF;
  border-color:#C8D3DC;
  color:#17212B;
  box-shadow:0 1px 2px rgba(26,44,58,.04);
}
html[data-theme="light"] :is(.input,select,textarea,.text-area,.set-input):focus{
  border-color:#718394;
  box-shadow:0 0 0 3px rgba(54,87,111,.12);
}
html[data-theme="light"] :is(input,textarea)::placeholder{color:#8B98A3;opacity:1;}
html[data-theme="light"] .secondary,
html[data-theme="light"] .btn.ghost,
html[data-theme="light"] .history-edit-btn{
  background:#EDF2F5!important;
  border-color:#C9D4DC!important;
  color:#25313C!important;
}
html[data-theme="light"] .danger{background:#FFF0F2;color:#C82343;border-color:#F0A8B5;}
html[data-theme="light"] .btn:disabled{opacity:.46;}
html[data-theme="light"] .overlay{background:rgba(31,43,53,.62);}
html[data-theme="light"] .modal{box-shadow:0 30px 90px rgba(18,34,46,.24);}
html[data-theme="light"] .modal-x{background:#E9EEF2;color:#26333E;}
html[data-theme="light"] .bottom-nav{
  background:rgba(255,255,255,.96);
  border-color:#D5DEE5;
  box-shadow:0 -8px 28px rgba(26,44,58,.09);
}
html[data-theme="light"] .bottom-nav button{color:#687785;}
html[data-theme="light"] .timerbar,
html[data-theme="light"] .workout-action-bar,
html[data-theme="light"] .profile-save-bar{
  background:rgba(255,255,255,.97);
  border-color:#C9D4DC;
  box-shadow:0 -10px 34px rgba(26,44,58,.12);
}
html[data-theme="light"] .banner{background:#FFF8D9;border-color:#D7BE45;color:#574A00;}
html[data-theme="light"] .network-banner{background:#FFF4D8;border-color:#D6B84C;color:#514300;}
html[data-theme="light"] .readiness-ring{
  box-shadow:0 0 0 1px #CCD6DE,0 12px 34px rgba(26,44,58,.12),0 0 28px color-mix(in srgb,var(--ring) 15%,transparent);
}
html[data-theme="light"] .readiness-ring::before{border-color:rgba(20,35,48,.08);}
html[data-theme="light"] .daily-training-state-row{border-color:#DCE4EA;}
html[data-theme="light"] .daily-training-state-row p,
html[data-theme="light"] .daily-training-state-movements{color:#283744;}
html[data-theme="light"] .daily-training-state-movements{background:#EDF3F6;}
html[data-theme="light"] .workout-block{background:#FFFFFF;}
html[data-theme="light"] .block-index,
html[data-theme="light"] .swap-btn{background:#E8EEF2;border-color:#CBD6DE;color:#27343E;}
html[data-theme="light"] .prescription-chip{background:#F1F5F7;color:#445361;}
html[data-theme="light"] .target-line{color:#536371;}
html[data-theme="light"] .target-line strong,
html[data-theme="light"] .conditioning-info strong,
html[data-theme="light"] .set-input.target-prefill{color:#1D2933;}
html[data-theme="light"] .set-check{background:#FFFFFF;border-color:#B9C6D0;}
html[data-theme="light"] .set-check.checked{background:var(--green);border-color:var(--green);}
html[data-theme="light"] .rest-day-card{background:linear-gradient(180deg,#FFFFFF,#F2F6F8);border-color:#CDD7DF;}
html[data-theme="light"] .rest-day-card .rest-symbol{background:#EDF2F5;border-color:#CFDAE2;}
html[data-theme="light"] .history-block-body,
html[data-theme="light"] .history-set-line,
html[data-theme="light"] .history-rir,
html[data-theme="light"] .history-aux,
html[data-theme="light"] .history-execution-section,
html[data-theme="light"] .history-session-detail{border-color:#DCE4EA;}
html[data-theme="light"] .history-set-line strong{color:#25333F;}
html[data-theme="light"] .history-swap-note{background:#EDF2F5;color:#4A5967;}
html[data-theme="light"] .history-aux{background:#F4F7F9;border-color:#D4DEE5;}
html[data-theme="light"] .calendar-day{background:#F7F9FA;border-color:#D7E0E6;color:#34424E;}
html[data-theme="light"] .calendar-day.today{box-shadow:0 0 0 2px rgba(0,153,82,.25);}
html[data-theme="light"] .segmented{background:#EDF2F5;border-color:#D1DBE2;}
html[data-theme="light"] .segmented button{color:#5F6F7C;}
html[data-theme="light"] .equipment-check,
html[data-theme="light"] .strength-day,
html[data-theme="light"] .weekly-load-preview{
  background:#F7F9FA;
  border-color:#D1DBE2;
  color:#475664;
}
html[data-theme="light"] .strength-day:has(input:checked){background:#E9F8F0;color:#173527;}
html[data-theme="light"] .weekly-load-preview strong{color:#25313C;}
html[data-theme="light"] .settings-row{
  background:#FFFFFF;
  color:#17212B;
  border-color:#DFE6EB;
}
html[data-theme="light"] .settings-row:hover,
html[data-theme="light"] .settings-row:focus-visible{background:#F2F6F8;}
html[data-theme="light"] .settings-row b{color:#687886;}
html[data-theme="light"] .subpage-back,
html[data-theme="light"] .saved-context-menu>summary{
  background:#F1F5F7;
  border-color:#CBD6DE;
  color:#26343F;
}
html[data-theme="light"] .saved-context-card.is-active{background:#EBF9F2;}
html[data-theme="light"] .saved-context-menu-panel{background:#FFFFFF;border-color:#CBD6DE;box-shadow:0 16px 38px rgba(26,44,58,.16);}
html[data-theme="light"] .saved-context-menu-panel button{color:#27343F;}
html[data-theme="light"] .saved-context-menu-panel button:hover,
html[data-theme="light"] .saved-context-menu-panel button:focus-visible{background:#EDF2F5;}
html[data-theme="light"] .profile-choice-card{box-shadow:none;}
html[data-theme="light"] .choice-switch{background:#C8D2D9;}
html[data-theme="light"] .choice-switch::after{background:#FFFFFF;box-shadow:0 1px 4px rgba(26,44,58,.2);}
html[data-theme="light"] .profile-choice>input:checked+.profile-choice-card{background:#EBF9F2;}
html[data-theme="light"] .xp-track,
html[data-theme="light"] .setup-progress-track{background:#DDE5EA;}
html[data-theme="light"] .athlete-meta,
html[data-theme="light"] .setup-progress strong{color:#34424E;}
html[data-theme="light"] .setup-progress,
html[data-theme="light"] .profile-summary-line{border-color:#DEE6EB;}
html[data-theme="light"] .setup-card{background:linear-gradient(125deg,#FFF9DF,#FFFFFF 62%);}
html[data-theme="light"] .fight-camp-card{background:linear-gradient(135deg,#EAF9F1,#FFFFFF 62%);}
html[data-theme="light"] .fight-camp-grid>div{background:#F5F8FA;border-color:#D8E1E7;}
html[data-theme="light"] .timing-recommendation,
html[data-theme="light"] .vbt-unit-callout,
html[data-theme="light"] .context-strip{background:#EEF6FD;color:#315A7B;border-color:#BFD8EA;}
html[data-theme="light"] .decision-details>summary{color:#26343F;}
html[data-theme="light"] .decision-reasons{color:#4D5D6A;}
html[data-theme="light"] .profile-group[open]>summary,
html[data-theme="light"] .decision-details[open]>summary,
html[data-theme="light"] .session-editor-head{border-color:#DCE4EA;}
html[data-theme="light"] .profile-save-bar:has(.btn.is-idle){background:rgba(255,255,255,.94);border-color:#D8E1E7;}
html[data-theme="light"] .profile-save-bar .btn:disabled:not(.is-idle){background:#E4EAEE!important;border-color:#CDD7DE!important;color:#798691!important;}
html[data-theme="light"] .checkin-ui-final-v1,
html[data-theme="light"] .checkin-visual-v3,
html[data-theme="light"] .checkin-visual-v4,
html[data-theme="light"] .checkin-pain-box,
html[data-theme="light"] .daily-safety-details,
html[data-theme="light"] .daily-form-toggle{
  color:var(--text);
}
html[data-theme="light"] .checkin-step-number{box-shadow:0 0 0 4px rgba(0,161,88,.10);}
html[data-theme="light"] .checkin-empty-decision-box-v7{background:#F4F7F9!important;border-color:#CDD8E0!important;color:#51606C!important;}
html[data-theme="light"] .b1-row,
html[data-theme="light"] .b1-editor{background:#FFFFFF!important;border-color:#D2DCE3!important;color:#17212B!important;}
html[data-theme="light"] .checkin-visual-v4 #combatReconcileCard,
html[data-theme="light"] .checkin-visual-v4 .today-context-box{background:#FFFDF4;border-color:#D9BF50;box-shadow:0 0 0 1px rgba(180,142,0,.08) inset;}
html[data-theme="light"] .checkin-visual-v4 #checkinHealthBlock,
html[data-theme="light"] .checkin-visual-v4 .daily-safety-details{background:#FFFFFF;border-color:#D5DEE5;}
html[data-theme="light"] .checkin-visual-v4 #todayCombatSummary,
html[data-theme="light"] .checkin-visual-v4 .today-context-box .session-editor-card,
html[data-theme="light"] .checkin-visual-v4 #checkinLogisticsBlock,
html[data-theme="light"] .checkin-visual-v4 .checkin-pain-box{background:#F5F8FA;border-color:#D4DEE5;}
html[data-theme="light"] .checkin-visual-v4 :is(.today-context-box .mini-title strong,#todayCombatSummary strong,#checkinLogisticsBlock .checkin-block-heading strong,#checkinHealthBlock .checkin-step-head strong,.checkin-pain-box #todayPainEditor:empty::before,.daily-safety-details summary strong){color:#17212B;}
html[data-theme="light"] .checkin-visual-v4 :is(#todayCombatSummary .tiny,#todayCombatSummary span,#todayCombatSummary small,#checkinHealthBlock .checkin-step-head small,.daily-safety-details summary small,.slider-label-row label,#checkinLogisticsBlock .label,.checkin-pain-box .label){color:#5E6C79;}
html[data-theme="light"] .checkin-visual-v4 #toggleTodayOverride,
html[data-theme="light"] .checkin-visual-v4 .daily-safety-details summary b{background:#E8EEF2;border-color:#C9D4DC;color:#25313C;}
html[data-theme="light"] .checkin-visual-v4 .daily-safety-details[open] summary{border-color:#DCE4EA;}
html[data-theme="light"] .checkin-visual-v4 #todayAddSession{background:#E8EEF2!important;border-color:#C9D4DC!important;color:#25313C!important;}
html[data-theme="light"] .bloque1-ayer-v2 .b1-field{color:#647381!important;}
html[data-theme="light"] :is(.pain-severity-box,.weekly-day-card,.set-load-fixed,.compound-set,.weight-context,.discipline-chip span,.feedback-scale button,.swap-option){background:#F6F8FA;border-color:#D1DBE2;color:#25313C;}
html[data-theme="light"] :is(.schedule-help strong,.set-load-fixed strong,.component-group>strong,.feedback-scale button,.swap-option strong){color:#25313C;}
html[data-theme="light"] .discipline-chip input:checked+span{background:#E9F8F0;color:#173527;}

/* Theme completeness: session editors and their generated inner controls. */
html[data-theme="light"] .session-editor-card{
  background:#FFFFFF!important;
  border-color:#D1DBE2!important;
  color:var(--text);
}
html[data-theme="light"] .checkin-visual-v4 .today-context-box .session-editor-card{
  background:#F5F8FA!important;
  border-color:#D4DEE5!important;
}
html[data-theme="light"] .session-number{background:#E8EEF2;border:1px solid #CBD6DE;color:#34424E;}
html[data-theme="light"] .session-editor-head{border-color:#DCE4EA;}

/* Tutorial/onboarding. */
html[data-theme="light"] .tutorial-visual{background:#EAF8F1;border-color:rgba(0,153,82,.28);color:#17613E;}
html[data-theme="light"] .tutorial-modal .muted{color:var(--muted);}

/* History and calendar retain distinct normal, workout, selected and disabled states. */
html[data-theme="light"] .calendar-nav,
html[data-theme="light"] .history-session-toggle,
html[data-theme="light"] .history-context-toggle{
  background:#F1F5F7;
  border-color:#C9D4DC;
  color:#26343F;
}
html[data-theme="light"] :is(.calendar-nav,.history-session-toggle,.history-context-toggle):hover:not(:disabled){background:#E7EDF1;border-color:#B8C6D0;}
html[data-theme="light"] :is(.calendar-nav,.history-session-toggle,.history-context-toggle):focus-visible{outline:3px solid rgba(54,87,111,.18);outline-offset:2px;}
html[data-theme="light"] .calendar-nav:disabled{background:#F5F7F8;color:#98A3AC;border-color:#DEE5EA;opacity:.58;}
html[data-theme="light"] .calendar-day{background:#F7F9FA;border-color:#D7E0E6;color:#34424E;}
html[data-theme="light"] .calendar-day.has-workout{background:#EAF8F1;border-color:#9ACDB2;color:#173D2B;}
html[data-theme="light"] .calendar-day.selected{border-color:#009952;box-shadow:0 0 0 2px rgba(0,153,82,.18);}
html[data-theme="light"] .calendar-day:disabled{background:#F5F7F8;color:#98A3AC;border-color:#E0E6EA;opacity:.58;cursor:not-allowed;}
html[data-theme="light"] .history-session-detail,
html[data-theme="light"] .history-context{background:#F7F9FA;border-color:#D4DEE5;color:var(--text);}
html[data-theme="light"] .history-context-grid>div{background:#FFFFFF;border:1px solid #DCE4EA;}
html[data-theme="light"] .history-context-section,
html[data-theme="light"] .history-context-line{border-color:#DCE4EA;}
html[data-theme="light"] .history-context-grid span,
html[data-theme="light"] .history-context-line span{color:#687785;}
html[data-theme="light"] .history-context-grid strong,
html[data-theme="light"] .history-context-line strong{color:#25333F;}
html[data-theme="light"] .history-reasons{color:#52616E;}

/* Workout/execution and story configuration surfaces. */
html[data-theme="light"] .prescription-strip span{background:#F1F5F7;border-color:#D1DBE2;color:#445361;}
html[data-theme="light"] .component-name-row,
html[data-theme="light"] .family-checks label{color:#445361;}
html[data-theme="light"] .component-set-title{border-color:#DCE4EA;color:#687785;}
html[data-theme="light"] .story-personalize{background:#F7F9FA;border-color:#D1DBE2;color:var(--text);}
html[data-theme="light"] .story-personalize>summary:hover{background:#EDF2F5;}
html[data-theme="light"] .story-personalize>summary:focus-visible{outline:3px solid rgba(54,87,111,.18);outline-offset:-3px;}

/* Check-in actions whose dark declarations intentionally use !important. */
html[data-theme="light"] #editCheckinAfterDecision:not(.hidden),
html[data-theme="light"] #editCheckinAfterDecisionV7:not(.hidden){background:#EDF2F5!important;border-color:#C9D4DC!important;color:#25313C!important;}
html[data-theme="light"] #editCheckinAfterDecision:hover,
html[data-theme="light"] #editCheckinAfterDecisionV7:hover,
html[data-theme="light"] .today-override-actions .today-reset-action:hover{background:#E2EAEE!important;border-color:#AFC0CC!important;color:#17212B!important;}
html[data-theme="light"] #editCheckinAfterDecision:focus-visible,
html[data-theme="light"] #editCheckinAfterDecisionV7:focus-visible,
html[data-theme="light"] .today-override-actions .today-reset-action:focus-visible{outline:3px solid rgba(54,87,111,.18);outline-offset:2px;}
html[data-theme="light"] .today-override-actions .today-reset-action{color:#445361!important;}

/* Appearance selector is shared by both visual systems. */
.appearance-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.appearance-option{display:grid;grid-template-columns:74px minmax(0,1fr) 26px;align-items:center;gap:12px;min-height:92px;padding:13px;border:1px solid var(--border);border-radius:16px;background:var(--card2);color:var(--text);text-align:left;cursor:pointer;}
.appearance-option>span:nth-child(2){min-width:0;}
.appearance-option strong,.appearance-option small{display:block;}
.appearance-option small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35;}
.appearance-option>b{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--border2);border-radius:50%;color:transparent;}
.appearance-option[aria-checked="true"]{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,230,118,.10);}
.appearance-option[aria-checked="true"]>b{background:var(--green);border-color:var(--green);color:#07110B;}
.appearance-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;height:54px;padding:8px;border-radius:11px;border:1px solid rgba(128,145,160,.28);}
.appearance-preview i{display:block;border-radius:5px;}
.appearance-preview i:first-child{grid-column:1/-1;height:10px;}
.appearance-preview-dark{background:#0D0F12;}.appearance-preview-dark i{background:#252C35;}.appearance-preview-dark i:last-child{background:#00E676;}
.appearance-preview-light{background:#F4F7F9;}.appearance-preview-light i{background:#D5DEE5;}.appearance-preview-light i:last-child{background:#00B866;}
@media(max-width:520px){.appearance-options{grid-template-columns:1fr;}.appearance-option{grid-template-columns:72px minmax(0,1fr) 26px;}}
.locale-switch{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.locale-switch button{min-width:64px;white-space:normal;}
.locale-switch button[aria-pressed="true"]{border-color:var(--green);background:rgba(0,230,118,.12);color:var(--text);box-shadow:0 0 0 2px rgba(0,230,118,.08);}
.locale-switch-auth{position:absolute;top:max(12px,env(safe-area-inset-top));right:14px;z-index:2;}
.locale-switch-auth button{min-width:38px;padding:7px 9px;border:1px solid var(--border2);border-radius:999px;background:var(--card2);color:var(--muted);font:800 11px/1 system-ui;cursor:pointer;}
.locale-switch-profile{justify-content:flex-start;}
.locale-switch-profile .btn{width:auto;min-width:112px;}
@media(max-width:520px){.locale-switch-profile{display:grid;grid-template-columns:1fr 1fr;}.locale-switch-profile .btn{width:100%;min-width:0;}}

/* PF/workspace surfaces inherit the same light system without changing logic. */
html[data-theme="light"] #coachWorkspace{--pf-muted:#5E6C79;}
html[data-theme="light"] body[data-training-mode="COACH"] .coach-mode-switch{background:var(--bg);}
html[data-theme="light"] .coach-mode-switch [aria-pressed="true"],
html[data-theme="light"] #coachWorkspace [aria-pressed="true"],
html[data-theme="light"] #coachWorkspace [aria-current="page"]{background:#DDF5E8;color:#173527;}
html[data-theme="light"] #coachWorkspace .coach-athlete-card[data-alert="true"]{background:#FFF8E6;}
html[data-theme="light"] #coachWorkspace .coach-alert{background:#FFF6D8;color:#654F00;border-color:#C7A83B;}
html[data-theme="light"] #coachWorkspace :is(.coach-plan-block,.coach-badge,.coach-chip,.coach-code-box,.coach-link-row,.coach-metrics>div,.coach-editor-block,.coach-diff-group,.coach-adjustment-reason){background:#F4F7F9;}
html[data-theme="light"] #coachWorkspace .coach-draft-status,
html[data-theme="light"] #coachWorkspace .coach-drag-grip,
html[data-theme="light"] #coachWorkspace .coach-version-comparison section{background:#FFFFFF;}
html[data-theme="light"] #coachWorkspace .coach-editor-actions{background:rgba(255,255,255,.97);box-shadow:0 -10px 30px rgba(26,44,58,.12);}
html[data-theme="light"] #coachWorkspace .coach-saved-draft{box-shadow:0 10px 28px rgba(26,44,58,.10);}
html[data-theme="light"] #coachWorkspace .coach-exercise-editor.is-dragging{box-shadow:0 18px 45px rgba(26,44,58,.22);}
html[data-theme="light"] #coachWorkspace .coach-block-actions [data-cr-action^="remove"]{color:#A51E35;border-color:#E3A4AF;background:#FFF0F2;}
html[data-theme="light"] #coachWorkspace .coach-safety-override{background:#FFF6D8;color:#4F4100;}
