.op-main{max-width:640px;margin:auto;padding:4px 16px 110px;display:grid;gap:14px}
.op-msg{text-align:center;color:var(--muted);padding:40px 0}
.op-msg:empty{display:none}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:20px 16px;scroll-margin-top:12px}
.card h2{font-size:21px;letter-spacing:-.3px;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.card>.cta{margin-top:14px}
.muted{color:var(--muted)}
.small{font-size:13px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pill{background:#283114;color:var(--lime);font-size:12px;font-weight:800;padding:5px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.5px}
.ref{font-size:12px;color:var(--muted)}
.status-card h1{font-size:28px;letter-spacing:-.8px;margin:14px 0 6px}
.due{margin-top:14px;background:#232b12;border:1px solid #3d4d16;border-radius:12px;padding:12px 14px;font-weight:700}
.due[hidden]{display:none}

.stepper{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:st;font-size:11px;color:var(--muted);text-align:center}
.stepper li{counter-increment:st;position:relative;padding-top:34px}
.stepper li:before{content:counter(st);position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:26px;border-radius:50%;background:var(--card);border:2px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:12px;color:var(--muted);z-index:1}
.stepper li:after{content:"";position:absolute;top:12px;left:-50%;width:100%;height:2px;background:var(--line)}
.stepper li:first-child:after{display:none}
.stepper li.done:before{content:"✓";background:var(--lime);border-color:var(--lime);color:#111}
.stepper li.done:after,.stepper li.now:after{background:var(--lime)}
.stepper li.now{color:var(--ink);font-weight:800}
.stepper li.now:before{border-color:var(--lime);color:var(--lime);box-shadow:0 0 0 4px #d9fb5726}

.todo{border-color:#5b4a14;background:#211d10}
.todo-item{display:flex;gap:12px;align-items:center;text-decoration:none;padding:12px 0;border-top:1px solid var(--line)}
.todo-item:first-of-type{margin-top:10px}
.todo-item i{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid #ffc46b}
.todo-item.ok i{background:var(--lime);border-color:var(--lime)}
.todo-item.ok i:after{content:"✓";display:grid;place-items:center;height:100%;color:#111;font-style:normal;font-weight:900;font-size:13px}
.todo-item span{display:grid}
.todo-item small{color:var(--muted)}

.num{width:28px;height:28px;border-radius:9px;background:var(--lime);color:#111;display:inline-grid;place-items:center;font-size:15px;font-weight:900;flex:none}
.drop{display:grid;gap:4px;text-align:center;margin-top:14px;padding:26px 16px;border:2px dashed #4a5544;border-radius:16px;background:var(--card);cursor:pointer}
.drop:active{border-color:var(--lime)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop b{font-size:18px;color:var(--lime)}
.drop small{color:var(--muted)}
.drop:focus-within{outline:3px solid var(--lime);outline-offset:2px}
.queue,.file-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
.queue li,.file-list li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;background:var(--card);border-radius:12px;padding:10px 12px;font-size:14px}
.queue li span,.file-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.queue li small,.file-list li small{color:var(--muted);font-size:12px}
.file-list li:before{content:"✓";grid-row:span 2;order:2;color:var(--lime);font-weight:900}
.bar-track{grid-column:1/-1;height:6px;border-radius:9px;background:#2c3229;overflow:hidden;margin-top:6px}
.bar-track i{display:block;height:100%;width:0;background:var(--lime);transition:width .2s}
.queue li.err{background:#2b1715}
.queue li.err small{color:var(--bad)}
.queue button{border:0;background:var(--lime);color:#111;font-weight:800;border-radius:8px;padding:6px 10px}

.brief{display:grid;gap:14px;margin-top:14px}
.brief label,.brief legend{display:grid;gap:6px;font-size:14px;font-weight:700}
.brief legend{margin-bottom:8px;padding:0}
.brief fieldset{border:0;padding:0;margin:0}
.brief small{color:var(--muted);font-weight:500}
.brief input,.brief textarea{font:inherit;font-weight:400;font-size:16px;color:var(--ink);background:var(--card);border:1px solid #3a4137;border-radius:12px;padding:12px;width:100%}
.brief textarea{resize:vertical}
.brief input:focus,.brief textarea:focus{outline:2px solid var(--lime);border-color:transparent}
.brief .missing input,.brief .missing textarea,.brief .missing .chips{box-shadow:0 0 0 2px #ffc46b66;border-radius:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:1px solid #3a4137;background:var(--card);color:var(--ink);border-radius:99px;padding:10px 14px;font-size:14px}
.chips button[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:#111;font-weight:800}
.more summary{cursor:pointer;font-weight:700;color:var(--lime);padding:6px 0}
.more[open]{display:grid;gap:14px}
.save-state{font-size:13px;color:var(--muted);text-align:center;min-height:18px}
.save-state.ok{color:var(--lime)}
.save-state.err{color:var(--bad)}

.videos{display:grid;gap:12px;margin:12px 0}
.videos video{width:100%;max-height:70vh;border-radius:14px;background:#000}
.videos a{font-size:13px;color:var(--lime)}
#review-actions{display:grid;gap:10px}
.changes{display:grid;gap:8px}
.changes label{font-weight:700;font-size:14px}
.changes textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1px solid #3a4137;border-radius:12px;padding:12px}

.timeline{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:0}
.timeline li{position:relative;padding:0 0 14px 22px;font-size:14px}
.timeline li:before{content:"";position:absolute;left:4px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--lime)}
.timeline li:after{content:"";position:absolute;left:7px;top:16px;bottom:0;width:2px;background:var(--line)}
.timeline li:last-child:after{display:none}
.timeline small{display:block;color:var(--muted);font-size:12px}

.wa-fab{position:fixed;z-index:15;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));border-radius:99px;background:#25d366;color:#062b13;font-weight:900;font-size:16px;padding:14px 18px;text-decoration:none;box-shadow:0 10px 30px #0009}

@media(min-width:860px){.op-main{padding-top:16px}.brief{grid-template-columns:1fr 1fr}.brief .wide{grid-column:1/-1}.more[open]{grid-template-columns:1fr 1fr}.more summary{grid-column:1/-1}}
