*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--brand-paper);color:var(--brand-ink);font:16px/1.55 var(--font-body)}
header{background:white;border-bottom:1px solid var(--brand-line)}
.top,main{width:min(100% - 40px,920px);margin:auto}
.top,.intro,.form-foot,.controls,.file-actions{display:flex;align-items:center;gap:12px}
.top{min-height:72px;justify-content:space-between}
a{color:var(--brand-accent);text-underline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;background:white;padding:10px;z-index:4}
.skip:focus{top:12px}
main{padding:48px 0 70px}
h1,h2,h3,p,blockquote{margin:0}
h1,h2,h3{line-height:1.18;letter-spacing:-.045em}
h1{font-size:clamp(2.25rem,5vw,3.6rem)}
h2{font-size:clamp(1.75rem,4vw,2.5rem)}
h3{font-size:1.2rem;margin:26px 0 8px}
p,p.hint{color:var(--brand-muted)}
.intro{align-items:flex-start;justify-content:space-between;margin-bottom:30px}
.intro p,.section-head p{max-width:55ch;margin-top:10px}
.file-actions{flex-wrap:wrap;justify-content:flex-end}
button,input,textarea,select{font:inherit}
button{display:inline-block;background:white;border:1px solid var(--brand-line);border-radius:7px;color:var(--brand-ink);font-size:.92rem;font-weight:680;line-height:1.35;min-height:44px;padding:10px 15px;cursor:pointer}
button:hover{border-color:var(--brand-accent);color:var(--brand-accent)}
button:disabled{cursor:default;opacity:.55}
button.primary{background:var(--brand-accent);color:white;border-color:transparent}
button.primary:hover{background:var(--brand-accent-hover)}
:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}
.steps{display:flex;border-bottom:1px solid var(--brand-line);margin:22px 0 20px;overflow:auto}
.steps button{border:0;border-bottom:3px solid transparent;background:none;border-radius:0;flex:1 0 auto}
.steps button[aria-current=step]{border-color:var(--brand-accent);color:var(--brand-accent);background:var(--brand-tint)}
.panel{background:var(--brand-surface);border:1px solid var(--brand-line);border-radius:14px;padding:clamp(20px,4vw,44px);overflow-wrap:anywhere}
.section-head{margin-bottom:25px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
label{display:block;font-weight:700;margin:15px 0 7px}
label small{font-size:.85rem;font-weight:500;color:var(--brand-muted)}
input,textarea,select{display:block;width:100%;margin:5px 0 0;border:1px solid #9ca9bb;border-radius:5px;padding:10px 12px;color:var(--brand-ink);background:#fff;line-height:1.5;font-weight:400}
textarea{resize:vertical}
.hint,details p,.form-foot p{font-size:.91rem;line-height:1.55}
.hint{margin-bottom:8px}
.form-foot{margin-top:23px;flex-wrap:wrap;align-items:center}
.form-foot p{max-width:44ch}
details{border-block:1px solid var(--brand-line);margin:16px 0;padding:12px 0}
summary{cursor:pointer;font-weight:650;color:var(--brand-ink)}
details p,details .controls{margin-top:10px}
#playback,.controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
audio{width:min(100%,450px)}
.lines,.cue-card{padding:0;list-style:none}
.lines li{display:flex;gap:9px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--brand-line)}
.lines label,.check{display:flex;align-items:flex-start;gap:11px;margin:0;font-weight:500;flex:1}
input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin:4px 0 0;accent-color:var(--brand-accent)}
.lines .arrows{display:flex;gap:3px}
.lines button{min-width:36px;min-height:36px;padding:6px}
.cues{display:grid;gap:8px;margin:12px 0}
.cue-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;background:var(--brand-paper);padding:10px;border-radius:7px}
.cue-row label{font-size:.85rem;margin:0}
.cue-row input,.cue-row select{font-size:1rem}
.check{margin-top:18px}
blockquote{font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.45;padding:18px 22px;margin:10px 0 20px;background:var(--brand-tint);border-left:4px solid var(--brand-accent)}
.cue-card{background:var(--brand-tint);padding:18px 30px;list-style:disc;font-size:1.23rem}
.preserve{white-space:pre-line;color:var(--brand-ink)}
.answer-box{border:1px solid var(--brand-line);padding:15px;border-radius:6px}
.answer-box h3{margin:0 0 10px}
.date-label{max-width:260px}
#schedule{margin-bottom:18px}
#status{min-height:1.5rem;margin-top:12px;font-weight:650;color:var(--brand-ink)}
#status[data-error=true]{background:#fff1e9;color:#79390a;padding:12px;border-radius:6px}
.next-product{border-top:1px solid var(--brand-line);margin-top:24px;padding-top:18px}
.next-product a{font-weight:700}
#print-view{display:none}
@media(max-width:650px){.top,main{width:min(100% - 24px,920px)}main{padding-top:24px}.intro{display:block}.file-actions{justify-content:flex-start;margin-top:14px}.two{grid-template-columns:1fr;gap:0}.steps button{padding-inline:8px;font-size:.85rem}.cue-row{grid-template-columns:1fr auto}.cue-row label:first-child{grid-column:1/-1}.lines .arrows{flex-direction:column}.form-foot{align-items:flex-start}}
@media print{body{background:white;color:black}header,.skip,main>:not(#print-view){display:none!important}main{padding:0;width:100%}#print-view{display:block}#print-view ol{font-size:22pt;line-height:1.7}#print-view h1{font-size:22pt}#print-view p{color:black;margin-top:14px}@page{margin:18mm}}

.cue-row label,.cue-row input,.cue-row select{min-width:0;max-width:100%}.coverage{margin:24px 0;border:1px solid var(--brand-line);border-radius:8px;padding:12px 16px}.coverage legend{font-weight:750}.coverage-row{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:8px 0;font-weight:500}.coverage-row select{width:auto;max-width:130px;margin:0;font-size:.9rem}.clear{border:0;background:none;text-decoration:underline;color:var(--brand-muted)}

.top nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.top nav a{font-size:.92rem}.top{gap:14px}#due{border:1px solid var(--brand-line);background:var(--brand-tint);padding:12px 16px;margin:0 0 16px;border-radius:7px}#due button{margin-top:8px}@media(max-width:450px){.top nav{gap:6px 10px}.top nav a{font-size:.8rem}}

.delivery-check h4{margin:1rem 0 .35rem;font-size:1rem}
.delivery-check q{display:block;border-left:3px solid var(--brand-accent);padding:.4rem .8rem;white-space:pre-line;overflow-wrap:anywhere}
.delivery-check select{max-width:100%;min-width:0}
.delivery-tail{margin:.65rem 0}
.delivery-tail strong{font-size:.9rem}
.delivery-tail p{white-space:pre-line}
#role-capture-hint:empty,#role-evidence-hint:empty{display:none}
