:root{--bg:#0b0f19;--panel:#111827;--panel2:#172033;--text:#f8fafc;--muted:#9ca3af;--line:#293246;--accent:#f59e0b;--accent2:#fbbf24;--good:#22c55e;--warn:#f97316;--bad:#ef4444;--blue:#38bdf8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#070a11,#0b0f19 24%,#0b0f19);color:var(--text)}
.app-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:28px 5vw 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,15,25,.96);backdrop-filter:blur(12px);z-index:10}.app-header h1{margin:4px 0 6px;font-size:clamp(1.65rem,4vw,2.6rem)}.app-header p{margin:0;color:var(--muted);max-width:800px}.eyebrow{font-size:.78rem;letter-spacing:.18em;color:var(--accent2);font-weight:800}.header-actions{display:flex;align-items:center;gap:10px}.version-pill{padding:7px 10px;border:1px solid #46516a;border-radius:999px;color:var(--muted);font-size:.8rem;font-weight:800}
.layout{width:min(1280px,94vw);margin:24px auto 60px;display:grid;gap:18px}.panel{background:rgba(17,24,39,.92);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 18px 40px rgba(0,0,0,.18)}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.section-head h2{margin:0 0 5px}.section-head p{margin:0;color:var(--muted);max-width:850px}.section-note{color:var(--muted);margin:10px 0 14px;line-height:1.5}
.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.measurement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.measurement-card,.performance-card{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:12px}.measurement-card small,.performance-card small{display:block;color:var(--muted);line-height:1.35;margin-top:5px}.measurement-card .row{display:grid;grid-template-columns:1fr 86px;gap:8px;margin-top:8px}.performance-card .rating-row{display:grid;grid-template-columns:1fr 52px;gap:10px;align-items:center;margin-top:10px}.rating-badge{display:flex;align-items:center;justify-content:center;height:42px;border:1px solid #46516a;border-radius:10px;background:#0d1422;font-weight:900;color:var(--accent2)}
label{font-weight:700;font-size:.92rem}input,select{width:100%;margin-top:7px;padding:11px 12px;border-radius:10px;border:1px solid #35405a;background:#0d1422;color:var(--text);font:inherit}input[type=range]{padding:0;border:0;background:transparent}input:focus,select:focus{outline:2px solid rgba(245,158,11,.45);border-color:var(--accent)}
button{font:inherit;font-weight:800;border-radius:10px;padding:10px 14px;cursor:pointer}.primary{border:0;background:var(--accent);color:#17120a}.secondary{background:transparent;color:var(--text);border:1px solid #46516a}.link-btn{background:none;color:var(--accent2);border:0;padding:10px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hidden{display:none!important}
.empty-state{padding:40px 20px;text-align:center;color:var(--muted);border:1px dashed #39445b;border-radius:14px}.summary-card{background:linear-gradient(135deg,#172033,#101827);border:1px solid #3b475f;padding:18px;border-radius:16px;margin-bottom:14px}.summary-card h3{margin:0 0 6px;font-size:1.5rem}.summary-card p{margin:4px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{font-size:.83rem;padding:7px 10px;border-radius:999px;background:#0d1422;border:1px solid #35405a}.chip.accent{border-color:#8a5c08;color:#ffd98a}.chip.good{border-color:#1f6c3a;color:#86efac}.chip.warn{border-color:#8a4915;color:#fdba74}
.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 4px}.metric-card{background:#0e1625;border:1px solid #313c54;border-radius:12px;padding:12px}.metric-card .metric-label{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.metric-card .metric-value{font-size:1.05rem;font-weight:900;margin-top:4px}.metric-card .metric-note{font-size:.78rem;color:var(--muted);margin-top:3px}
details{border-top:1px solid var(--line);padding:14px 0}summary{font-weight:850;cursor:pointer;font-size:1.04rem}.table-wrap{overflow:auto;margin-top:12px}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:#dbe5f4;font-size:.86rem}td{color:#e8edf5}.muted{color:var(--muted)}
.tendency,.setup-card,.exercise-card,.priority-card,.program-day,.program-block{margin-top:12px;background:#0e1625;border:1px solid #313c54;border-radius:13px;padding:14px}.tendency h4,.setup-card h4,.exercise-card h4,.priority-card h4,.program-day h3,.program-block h4{margin:0 0 6px}.tendency p,.setup-card p,.exercise-card p,.priority-card p,.program-day p,.program-block p{margin:5px 0;color:#d9e0ea;line-height:1.5}.confidence{font-size:.78rem;color:var(--muted)}
.goal-tabs{display:flex;gap:8px;overflow:auto;padding:10px 0 8px}.goal-tab{white-space:nowrap;background:#0d1422;border:1px solid #35405a;color:#dce3ec}.goal-tab.active{background:var(--accent);border-color:var(--accent);color:#17120a}.exercise-score{font-weight:900;color:var(--accent2)}.exercise-rank{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.score-pill{border:1px solid #35405a;border-radius:9px;padding:8px;background:#0b1320}.score-pill span{display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase}.score-pill strong{font-size:.95rem}.exercise-card ul{margin:8px 0 0 19px;color:#d7dee8}.exercise-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.exercise-meta span{font-size:.76rem;padding:5px 7px;border-radius:7px;background:#141e2e;border:1px solid #2d3a51;color:#b9c4d4}.library-controls{margin-top:10px}.compact-grid{margin-bottom:8px!important}.notice{margin-top:12px;padding:14px;border-radius:12px;background:#121926;border:1px solid #3c465d;color:#d6dde8;line-height:1.55}
.priority-card{display:grid;grid-template-columns:minmax(180px,.8fr) 1fr;gap:16px;align-items:start}.priority-meter{height:9px;background:#202b3f;border-radius:999px;overflow:hidden;margin-top:9px}.priority-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px}.priority-rank{font-size:.76rem;color:var(--muted)}
.program-toolbar{display:flex;justify-content:flex-end;margin-top:8px}.program-day{padding:16px}.program-day-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.day-badge{font-size:.75rem;color:#17120a;background:var(--accent2);padding:6px 8px;border-radius:8px;font-weight:900}.program-block{background:#111b2c}.program-exercises{display:grid;gap:8px;margin-top:9px}.program-exercise{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(160px,.6fr) 2fr;gap:12px;border-top:1px solid #26334a;padding-top:9px}.program-exercise:first-child{border-top:0;padding-top:0}.program-exercise .name{font-weight:850}.program-exercise .rx{color:var(--accent2);font-weight:750}.program-exercise .coach{color:#cfd7e4;font-size:.88rem;line-height:1.45}
.saved-list{display:grid;gap:10px}.saved-item{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#0e1625;border:1px solid #313c54;border-radius:12px;padding:12px}.saved-item .meta{color:var(--muted);font-size:.85rem}.saved-actions{display:flex;gap:8px}.small-btn{padding:7px 10px;font-size:.82rem;background:transparent;color:#fff;border:1px solid #46516a}footer{text-align:center;color:#768196;padding:10px 20px 40px}
@media(max-width:980px){.measurement-grid,.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:1fr 1fr}.program-exercise{grid-template-columns:1fr}.priority-card{grid-template-columns:1fr}}
@media(max-width:650px){.measurement-grid,.performance-grid,.grid.two,.grid.three,.metric-strip{grid-template-columns:1fr}.panel{padding:16px}.app-header{padding:22px 4vw 14px;position:static}.section-head{flex-direction:column}.saved-item{align-items:flex-start;flex-direction:column}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-day-head{flex-direction:column}.exercise-rank{flex-direction:column}.header-actions{align-self:stretch;justify-content:flex-end}}


/* v0.3 sport / contrast programming */
.demand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0 18px}.demand-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.demand-item strong{color:var(--accent)}.context-card{padding:4px 0}.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:10px 0 16px}.method-card{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.method-card.featured{border-color:var(--accent);box-shadow:0 0 0 1px rgba(255,255,255,.03)}.method-card span{font-size:.86rem;color:var(--muted)}.iso-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.iso-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}.contrast-block{border-color:rgba(250,204,21,.36);background:linear-gradient(180deg,rgba(250,204,21,.055),rgba(255,255,255,.018))}.contrast-rest{font-size:.85rem;color:var(--muted);margin:-2px 0 10px}.sequence-tag{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#111;font-size:.75rem;font-weight:800}.why-program{padding:14px 16px;margin-bottom:14px;border-left:4px solid var(--accent);background:rgba(255,255,255,.03);border-radius:10px}.why-program h3{margin:0 0 6px}.score-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:760px){.iso-grid{grid-template-columns:1fr}.score-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.5 methodology governance + rationale drawer */
.rationale-btn{margin-top:10px;background:transparent;border:1px solid #8a5c08;color:#ffd98a;padding:8px 10px;font-size:.82rem}.program-exercise .rationale-btn{display:block;margin-top:7px;width:max-content}.rationale-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:30}.rationale-drawer{position:fixed;top:0;right:0;height:100vh;width:min(620px,92vw);background:#0b111d;border-left:1px solid #3c465d;z-index:31;transform:translateX(105%);transition:transform .22s ease;overflow:auto;box-shadow:-24px 0 60px rgba(0,0,0,.4)}.rationale-drawer.open{transform:translateX(0)}.rationale-drawer-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;background:rgba(11,17,29,.97);border-bottom:1px solid var(--line);z-index:1}.rationale-drawer-head h2{margin:3px 0 0}.rationale-body{padding:18px 20px 40px}.rationale-body section{padding:14px 0;border-bottom:1px solid var(--line)}.rationale-body section h3{margin:0 0 7px}.rationale-body section h4{margin:12px 0 5px}.rationale-body section p{line-height:1.55;color:#d7dee8}.rationale-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.rationale-summary>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#101827}.rationale-summary span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}.rationale-summary strong{display:block;margin-top:4px;font-size:1.1rem}.speed-roadmap{display:grid;gap:8px}.speed-roadmap>div{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px}.speed-roadmap span{color:var(--muted)}.decision-trace{display:grid;gap:8px}.decision-trace>div{padding:10px;border-left:3px solid var(--accent);background:#101827;border-radius:8px}.decision-trace>div>span{font-size:.75rem;text-transform:uppercase;color:var(--accent2);font-weight:800}.decision-trace p{margin:4px 0 0}.brain-audit{margin:12px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#0e1625}.brain-audit.pass{border-color:#245b3c}.brain-audit.fail{border-color:#7f1d1d}.brain-audit h3{margin:0 0 6px}.brain-audit details{border:0;padding:8px 0 0}.brain-audit ul{margin:7px 0 0 18px}.brain-audit .confidence{margin-top:8px}
@media(max-width:650px){.rationale-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.speed-roadmap>div{grid-template-columns:1fr}.rationale-drawer{width:96vw}}

/* v0.8 role-specific clarity + intelligence pipeline */
.header-actions-stack{flex-direction:column;align-items:flex-end}.header-meta{display:flex;align-items:center;gap:10px}.role-switch{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#0d1422}.role-btn{padding:8px 10px;border:0;background:transparent;color:var(--muted);font-size:.8rem}.role-btn.active{background:var(--accent);color:#17120a}.universal-panel{padding-top:18px;padding-bottom:18px}.role-hero{display:flex;justify-content:space-between;gap:18px;align-items:center}.role-hero h2{margin:3px 0 4px;font-size:1.65rem}.role-hero p{margin:0;color:var(--muted)}.role-score{min-width:150px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#0d1422;text-align:right}.role-score span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}.role-score strong{display:block;margin-top:5px;color:var(--accent2);font-size:1.05rem}.role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.role-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#0e1625}.role-card span{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.role-card strong{display:block;margin-top:5px}.role-card p{font-size:.82rem;color:var(--muted);line-height:1.45;margin:7px 0 0}.role-alert{padding:10px 12px;border-radius:10px;margin-bottom:12px;font-weight:800}.role-alert.danger,.stale-notice{border:1px solid #7f1d1d;background:#301319;color:#fecaca}.stale-notice{margin-top:12px;padding:10px 12px;border-radius:10px}.analysis-stale #programOutput{opacity:.6}.test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.pipeline-health{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.chip.danger{border-color:#7f1d1d;color:#fecaca}.pipeline-list{display:grid;gap:8px;margin-top:10px}.pipeline-stage{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#0e1625}.pipeline-stage.pass{border-left:3px solid var(--good)}.pipeline-stage.warn,.pipeline-stage.partial,.pipeline-stage.foundation{border-left:3px solid var(--warn)}.pipeline-stage.fail{border-left:3px solid var(--bad)}.pipeline-num{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#172033;font-weight:900;color:var(--accent2)}.pipeline-head{display:flex;justify-content:space-between;gap:10px}.pipeline-head span{font-size:.78rem;color:var(--muted)}.pipeline-main p{margin:4px 0;color:#d9e0ea;line-height:1.45}.pipeline-main details{border:0;padding:6px 0 0}.pipeline-main ul{margin:6px 0 0 18px}.data-score{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.data-score>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#0e1625}.data-score span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}.data-score strong{display:block;margin-top:5px;font-size:1.25rem}.good-notice{border-color:#245b3c}.quick-note,.athlete-focus{padding:14px 16px;border-left:4px solid var(--accent);background:#101827;border-radius:10px;margin-bottom:14px}.athlete-focus h3{margin:0 0 5px}.athlete-focus p{margin:0;color:#d7dee8}.simple-day{margin-top:14px;border:1px solid var(--line);border-radius:15px;background:#0e1625;padding:15px}.simple-day-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.simple-day-head h3{margin:0}.simple-day-head span{font-size:.76rem;background:var(--accent2);color:#17120a;border-radius:8px;padding:6px 8px;font-weight:900}.day-focus{color:var(--muted);margin:5px 0 12px}.simple-block{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.simple-block:first-of-type{border-top:0}.simple-block h4{margin:0 0 8px}.coach-exercise,.athlete-exercise{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr) 1.2fr;gap:12px;padding:10px 0;border-top:1px solid #26334a}.coach-exercise:first-of-type,.athlete-exercise:first-of-type{border-top:0}.simple-rx{color:var(--accent2);font-weight:800}.simple-cue{color:#cfd7e4;font-size:.88rem;line-height:1.4}.rationale-btn.compact{margin:0 0 0 8px;padding:5px 8px;font-size:.72rem}.athlete-ex-name{display:flex;align-items:flex-start;gap:4px}.stale-block{border-color:#7f1d1d;color:#fecaca}.athlete-day{background:linear-gradient(180deg,#101827,#0d1524)}
body[data-role="athlete"] .app-header p{max-width:560px}body[data-role="athlete"] .universal-panel,body[data-role="coach"] .universal-panel{border-color:#35405a}
@media(max-width:980px){.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-exercise,.athlete-exercise{grid-template-columns:1fr}.header-actions-stack{align-items:stretch}.role-switch{overflow:auto}}
@media(max-width:650px){.role-switch{width:100%;display:grid;grid-template-columns:1fr}.header-actions-stack{width:100%}.header-meta{justify-content:flex-end}.role-hero{align-items:flex-start;flex-direction:column}.role-score{text-align:left;width:100%}.role-grid,.test-grid,.data-score{grid-template-columns:1fr}.pipeline-head{flex-direction:column}.pipeline-stage{grid-template-columns:32px 1fr}.rationale-btn.compact{margin-left:0;margin-top:6px}.athlete-ex-name{display:block}}
.test-date-label{display:block;margin-top:8px;font-size:.76rem;color:var(--muted)}.test-date-label input{margin-top:5px;padding:8px 9px}.data-score{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.data-score{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.data-score{grid-template-columns:1fr}}

/* adaptive progression + retest */
.compact-head{align-items:flex-start;margin-bottom:12px}.adaptive-list{display:grid;gap:10px;margin-top:12px}.adaptive-card{border:1px solid var(--line,#d8dee8);border-radius:12px;padding:12px;background:var(--card,#fff)}.adaptive-card>div:first-child{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.adaptive-card span,.adaptive-card small{display:block;color:var(--muted,#667085);margin-top:4px}.adaptive-card p{margin:8px 0;font-weight:650}.progress-table table{width:100%;border-collapse:collapse}.progress-table th,.progress-table td{padding:10px;border-bottom:1px solid var(--line,#e5e7eb);text-align:left}.progress-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667085)}
.dose-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:10px}.dose-map{border:1px solid var(--line,#d8dee8);border-radius:12px;padding:12px}.dose-map>strong{display:block;margin-bottom:8px}.dose-map>div{display:grid;grid-template-columns:58px 1fr;gap:8px;padding:7px 0;border-top:1px solid var(--line,#e5e7eb)}.dose-map span{font-size:.78rem;font-weight:700;color:var(--muted,#667085)}.dose-map p{margin:0;font-size:.9rem}.subhead{margin-top:18px}

/* v1.0 session-response layer */
.session-grid{margin-bottom:12px}.full-label{display:block;margin-top:8px}.full-label input{width:100%}.session-summary{margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--card)}.session-summary>strong{display:inline-block;margin-right:10px}.session-summary>span{font-size:.82rem;color:var(--muted)}.session-summary p{margin:7px 0 0}.session-summary.reduce{border-color:#7f1d1d;background:rgba(127,29,29,.15)}.session-summary.hold{border-color:#92400e;background:rgba(146,64,14,.12)}.session-summary.planned{border-color:#14532d;background:rgba(20,83,45,.12)}.danger-notice{border-color:#7f1d1d!important;background:rgba(127,29,29,.12)!important}

/* v1.1 exercise-response intelligence */
.log-result-btn{margin-left:6px;background:#13263a;color:#9ddcff;border:1px solid #27516f}.log-result-btn.compact{padding:5px 8px;font-size:.72rem}.exercise-gate{margin-top:7px;padding:7px 9px;border-radius:8px;background:#101827;border:1px solid var(--line);font-size:.78rem;color:#d6dde8}.exercise-gate.reduce,.exercise-gate.review{border-color:#7f1d1d;color:#fecaca}.exercise-gate.hold,.exercise-gate.extend_rest{border-color:#92400e;color:#fed7aa}.exercise-log-plan{padding:12px 14px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:#101827;line-height:1.5}.exercise-log-plan span{color:var(--muted);font-size:.85rem}.exercise-log-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.exercise-log-header,.exercise-log-row{display:grid;grid-template-columns:92px repeat(7,minmax(74px,1fr));gap:6px;min-width:760px;align-items:end;padding:8px}.exercise-log-header{background:#0d1422;color:var(--muted);font-size:.72rem;text-transform:uppercase;font-weight:800}.exercise-log-row{border-top:1px solid var(--line)}.exercise-log-row label{font-size:.72rem;color:var(--muted)}.exercise-log-row input,.exercise-log-row select{padding:8px;margin-top:4px}.set-check{display:flex!important;align-items:center;gap:7px;padding-bottom:8px;color:var(--text)!important;font-weight:800}.set-check input{width:auto;margin:0}.exercise-log-drawer{width:min(900px,96vw)}.response-summary-head{display:flex;justify-content:space-between;gap:12px;margin:12px 0}.response-summary-head span{display:block;color:var(--muted);font-size:.84rem;margin-top:4px}.response-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px}.response-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:#0e1625}.response-card.reduce,.response-card.review{border-left:3px solid var(--bad)}.response-card.hold,.response-card.extend_rest{border-left:3px solid var(--warn)}.response-card.planned{border-left:3px solid var(--good)}.response-card-head{display:flex;justify-content:space-between;gap:10px}.response-card-head span{font-size:.75rem;color:var(--accent2);font-weight:800}.response-card p{font-size:.86rem;line-height:1.45;color:#d7dee8}.response-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.response-metrics span{padding:7px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:.75rem}.response-metrics strong{display:block;color:var(--text);margin-top:2px}.stage-rec,.retest-rec{margin-top:9px;padding:9px;border-radius:9px;background:#101827;border:1px solid var(--line)}.stage-rec strong,.stage-rec span{display:block}.stage-rec span{color:var(--muted);font-size:.78rem;margin-top:3px}.retest-rec{border-color:#245b3c;color:#86efac;font-weight:800;font-size:.82rem}
@media(max-width:650px){.log-result-btn.compact{margin-left:0;margin-top:6px}.response-metrics{grid-template-columns:1fr}}

/* v1.1 response next-action clarity */
.next-action{margin:.55rem 0 .7rem;padding:.55rem .65rem;border-radius:.55rem;background:rgba(255,255,255,.055);font-size:.86rem;line-height:1.35}
.next-action strong{display:inline-block;margin-right:.25rem}

/* v1.2 closed-loop block adaptation */
.block-intelligence .next-block-hero{margin:12px 0;padding:16px;border:1px solid #3b475f;border-radius:14px;background:linear-gradient(135deg,#101827,#0e1625)}
.next-block-hero span{display:block;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}.next-block-hero strong{display:block;font-size:1.25rem;margin:4px 0;color:var(--accent2)}.next-block-hero p{margin:6px 0 0;line-height:1.5}
.emphasis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.emphasis-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#0e1625}.emphasis-grid span,.emphasis-grid small{display:block;color:var(--muted);font-size:.75rem}.emphasis-grid strong{display:block;margin:5px 0;font-size:.95rem}
.candidate-list{display:grid;gap:7px;margin-top:8px}.candidate-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#0e1625}.candidate-list span{font-size:.78rem;color:var(--muted)}
.compact-actions{align-items:center}.compact-actions .muted{font-size:.8rem;max-width:760px}.decision-history{display:grid;gap:8px;margin-top:8px}.decision-history>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#0e1625}.decision-history span{display:block;color:var(--muted);font-size:.76rem;margin-top:3px}.decision-history p{margin:6px 0 0;color:#d7dee8;font-size:.84rem;line-height:1.4}.small-block-action{white-space:nowrap}
@media(max-width:650px){.candidate-list>div{flex-direction:column}.compact-actions{align-items:stretch}.small-block-action{width:100%}}

/* v1.3.1 verified data capture + integrity hardening */
.capture-center{margin:4px 0 18px;padding:16px;border:1px solid #37445d;border-radius:15px;background:linear-gradient(135deg,#0d1524,#101827)}
.capture-center h3,.photo-workspace h3{margin:0 0 4px}.capture-actions{display:flex;gap:8px;flex-wrap:wrap}.capture-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.capture-status-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#0b1320}.capture-status-card span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}.capture-status-card strong{display:block;margin:4px 0;color:var(--accent2);font-size:1.05rem}.capture-status-card small{display:block;color:var(--muted);line-height:1.35}.capture-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.76rem}.capture-chip,.measurement-meta-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;border:1px solid var(--line);font-weight:800;font-size:.7rem}.capture-chip.verified,.measurement-meta-badge.verified{border-color:#245b3c;color:#86efac;background:rgba(20,83,45,.18)}.capture-chip.review,.measurement-meta-badge.review{border-color:#92400e;color:#fed7aa;background:rgba(146,64,14,.16)}.capture-chip.missing,.measurement-meta-badge.missing{color:#cbd5e1;background:#101827}.measurement-card{position:relative}.measurement-meta{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-top:10px;padding-top:9px;border-top:1px solid #2a354a}.measurement-meta-info{min-width:0}.measurement-meta-info small{display:block!important;margin:2px 0 0;color:var(--muted);white-space:normal}.measurement-verify-btn{padding:6px 8px;font-size:.7rem;white-space:nowrap}.test-provenance{margin-top:8px;color:var(--muted);font-size:.72rem;line-height:1.4}
.capture-drawer{width:min(1080px,98vw)}.test-session-drawer{width:min(760px,96vw)}.capture-instructions{padding:12px 14px;border:1px solid #3a465d;border-radius:12px;background:#0e1625;line-height:1.5;margin-bottom:14px}.photo-view-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.photo-view-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#0e1625}.photo-view-card.required{border-top:3px solid var(--accent)}.photo-view-card.loaded{border-color:#245b3c}.photo-view-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.photo-view-head strong{font-size:.92rem}.photo-view-head span{font-size:.68rem;text-transform:uppercase;color:var(--muted)}.photo-view-card input{display:none}.photo-view-actions{display:flex;gap:6px;margin-top:9px}.photo-view-actions button,.photo-upload-label{display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;border-radius:8px;border:1px solid #46516a;background:#101827;color:var(--text);font-size:.75rem;font-weight:800;cursor:pointer}.photo-view-card small{display:block;color:var(--muted);margin-top:7px;line-height:1.35}.photo-workspace{padding:14px;border:1px solid var(--line);border-radius:14px;background:#0d1422;margin-bottom:18px}.photo-quality{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.photo-quality label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#101827;font-size:.76rem;color:#d7dee8}.photo-quality input{width:auto;margin:0}.capture-toolbar{display:flex;gap:8px;flex-wrap:wrap}.capture-message{margin:10px 0;padding:10px 12px;border-radius:9px;background:#101827;color:#d7dee8;border-left:3px solid var(--blue);font-size:.84rem}.photo-canvas-wrap{display:flex;align-items:center;justify-content:center;overflow:auto;min-height:320px;border:1px dashed #3b475f;border-radius:12px;background:#070b12}.photo-canvas-wrap canvas{display:block;width:100%;max-width:900px;min-width:0;height:auto;cursor:crosshair}.proposal-list{display:grid;gap:9px}.proposal-card{display:grid;grid-template-columns:minmax(170px,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0e1625}.proposal-main strong{display:block}.proposal-main span{display:block;color:var(--accent2);margin-top:3px;font-weight:800}.proposal-main small{display:block;color:var(--muted);margin-top:4px;line-height:1.4}.proposal-confidence{text-align:right}.proposal-confidence span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase}.proposal-confidence strong{font-size:1.05rem}.proposal-actions{display:flex;gap:6px;flex-wrap:wrap}.proposal-actions button{padding:7px 9px;font-size:.73rem}.test-attempt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.test-preview{height:100%;min-height:65px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#101827;color:#d7dee8;line-height:1.45}.test-preview strong{color:var(--accent2)}
@media(max-width:980px){.capture-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-card{grid-template-columns:1fr auto}.proposal-actions{grid-column:1/-1}}
@media(max-width:650px){.capture-status-grid,.photo-view-grid,.test-attempt-grid{grid-template-columns:1fr}.capture-actions{width:100%}.capture-actions button{flex:1}.proposal-card{grid-template-columns:1fr}.proposal-confidence{text-align:left}.photo-canvas-wrap{min-height:240px}}

/* v1.4 JW-S1.0 structural standard + goal evidence architecture */
.protocol-banner{margin:10px 0 14px;padding:12px 14px;border:1px solid #3b4b67;border-left:4px solid var(--accent2);border-radius:12px;background:#0d1727;line-height:1.5}.protocol-banner strong{color:var(--accent2)}
.protocol-details{margin:10px 0 14px;border:1px solid var(--line);border-radius:12px;background:#0c1421;padding:10px 12px}.protocol-details summary{cursor:pointer;font-weight:800}.protocol-details p{margin:8px 0;color:#d7dee8;line-height:1.5}
.measurement-standard-code{display:inline-block;margin:0 0 5px;color:var(--accent2);font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.bilateral-entry{margin-top:10px;padding:10px;border:1px solid #2f3c52;border-radius:11px;background:#0b1320}.bilateral-entry>summary{cursor:pointer;font-size:.78rem;font-weight:800;color:#d7dee8}.bilateral-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}.bilateral-side{padding:9px;border:1px solid var(--line);border-radius:9px;background:#101827}.bilateral-side label{margin:0}.bilateral-side .measurement-meta{margin-top:7px;padding-top:7px}.bilateral-meta,.bilateral-summary{margin-top:7px;color:var(--muted);font-size:.72rem;line-height:1.4}.bilateral-summary.warn{color:#fdba74}.bilateral-summary.danger{color:#fca5a5}.bilateral-summary.good{color:#86efac}
.structural-audit-card,.goal-evidence-card{margin:10px 0;padding:14px;border:1px solid #37445d;border-radius:14px;background:#0d1524}.structural-audit-card details,.goal-evidence-card details{margin-top:10px}.evidence-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.evidence-col{padding:11px;border:1px solid var(--line);border-radius:11px;background:#0b1320}.evidence-col h4{margin:0 0 7px;font-size:.78rem;text-transform:uppercase;color:var(--muted)}.evidence-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.04)}.evidence-item:last-child{border-bottom:0}.evidence-item .available{color:#86efac}.evidence-item .missing{color:#94a3b8}.evidence-gap{margin-top:10px;padding:10px 12px;border-left:3px solid #d97706;background:rgba(146,64,14,.13);border-radius:8px;color:#fed7aa;font-size:.82rem;line-height:1.45}.confidence-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.confidence-strip>div{padding:9px;border:1px solid var(--line);border-radius:9px;background:#0b1320}.confidence-strip span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase}.confidence-strip strong{display:block;margin-top:3px;color:var(--accent2)}
@media(max-width:700px){.bilateral-grid,.evidence-columns,.confidence-strip{grid-template-columns:1fr}.protocol-banner,.protocol-details,.structural-audit-card,.goal-evidence-card{min-width:0;overflow-wrap:anywhere}.bilateral-entry{min-width:0}.evidence-item{align-items:flex-start}.evidence-item span:first-child{min-width:0;overflow-wrap:anywhere}}

/* v2.0 production shell */
.auth-locked > .app-header,.auth-locked > main,.auth-locked > footer,.auth-locked > .rationale-backdrop,.auth-locked > .rationale-drawer{filter:blur(2px);pointer-events:none;user-select:none}
.auth-gate{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(7,10,18,.92);backdrop-filter:blur(12px)}
.auth-gate.hidden{display:none}.auth-card{width:min(520px,100%);max-height:92vh;overflow:auto;background:#111827;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.auth-card h1{margin:.25rem 0 .35rem}.auth-card label{display:grid;gap:6px;margin:12px 0}.auth-card input,.auth-card select{width:100%}.auth-tabs{display:flex;gap:8px;margin:18px 0}.auth-tab{flex:1}.auth-tab.active{border-color:var(--accent,#9ee64d);box-shadow:inset 0 0 0 1px var(--accent,#9ee64d)}
.auth-form{display:grid;gap:8px}.auth-warning,.auth-error,.setup-box{margin-top:14px;padding:14px;border-radius:14px}.auth-warning{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4)}.auth-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4)}.setup-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.header-actions-stack{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.header-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.cloud-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid rgba(255,255,255,.1)}.cloud-pill.online{background:rgba(34,197,94,.12);color:#86efac}.cloud-pill.connecting{background:rgba(59,130,246,.12);color:#93c5fd}.cloud-pill.warn{background:rgba(245,158,11,.12);color:#fcd34d}.cloud-pill.offline{background:rgba(239,68,68,.12);color:#fca5a5}
.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px}.admin-card.wide{grid-column:1/-1}.admin-card h3{margin-top:0}.admin-card label{display:grid;gap:5px;margin:9px 0}.invite-result{display:flex;gap:8px;margin-top:10px}.invite-result input{flex:1;min-width:0}.member-list,.audit-list{display:grid;gap:8px}.member-row,.audit-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}.member-row>div:first-child{display:grid;gap:3px}.member-row span,.audit-row span{font-size:.8rem;color:var(--muted,#9ca3af)}.audit-row{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(220px,1fr);align-items:start}.audit-row p{grid-column:1/-1;margin:0;color:var(--muted,#9ca3af)}
.link-btn{background:transparent;border:0;text-decoration:underline;padding:8px;color:inherit;cursor:pointer}.role-btn:disabled{opacity:.75;cursor:default}.hidden{display:none!important}
@media(max-width:900px){.admin-grid{grid-template-columns:1fr 1fr}.admin-card.wide{grid-column:1/-1}.header-actions-stack{align-items:stretch}.header-meta{justify-content:flex-start}}
@media(max-width:600px){.admin-grid{grid-template-columns:1fr}.admin-card.wide{grid-column:auto}.auth-card{padding:18px;border-radius:18px}.invite-result{flex-direction:column}.member-row{align-items:flex-start;flex-direction:column}.audit-row{grid-template-columns:1fr}.role-switch{display:none}.app-header{gap:14px}.header-actions-stack{width:100%}}
