:root{--ink:#13140F;--paper:#F4F1EA;--card:#FBF9F4;--line:#DDD6C8;--copper:#C9A45C;--copper2:#E7C47A;--moss:#4F6B4A;--brick:#A8442A;--muted:#6B675C;
  --serif:'Fraunces',Georgia,serif;--sans:'Be Vietnam Pro',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans)}
a{color:var(--moss)}
.wrap{max-width:1040px;margin:0 auto;padding:0 18px}
.top{background:var(--ink);color:var(--paper);padding:26px 0 22px;border-bottom:3px solid var(--copper)}
.top .row{display:flex;gap:16px;justify-content:space-between;align-items:flex-end;flex-wrap:wrap}
.eyebrow{font:500 11px/1 var(--mono);letter-spacing:.14em;color:var(--copper2)}
h1{font:600 clamp(26px,5vw,40px)/1.1 var(--serif);margin:8px 0 6px}
.sub{margin:0;color:#CFC9BB;max-width:620px}
.badge{font:500 12px var(--mono);padding:6px 10px;border:1px solid var(--copper);border-radius:999px;color:var(--copper2);white-space:nowrap}
.badge.ok{border-color:#7FA078;color:#B8D4B1}.badge.bad{border-color:var(--brick);color:#F0B2A0}
.steps{display:flex;gap:6px;list-style:none;padding:0;margin:20px 0 6px;flex-wrap:wrap}
.steps li{font:500 12px var(--mono);padding:6px 10px;border-radius:6px;background:#E9E3D6;color:var(--muted)}
.steps li.done{background:var(--moss);color:#fff}.steps li.active{background:var(--ink);color:var(--copper2)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin:14px 0}
h2{font:600 21px/1.3 var(--serif);margin:0 0 10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--copper);color:var(--ink);font:600 13px var(--mono)}
.muted{color:var(--muted)}.small-t{font-size:13px}.t-ink{color:var(--muted);font-family:var(--sans);font-size:15px;font-weight:500}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:#3B3A33}
input,select,textarea{font:15px var(--sans);padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--copper);border-color:var(--copper)}
input[type=range]{padding:0}input[type=checkbox]{width:auto}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px;margin-top:10px}
.full{grid-column:1/-1}.mt{margin-top:12px}.mb{margin-bottom:8px}
.row-form{display:flex;gap:8px;flex-wrap:wrap}.row-form input[type=url]{flex:1 1 280px}.row-form .small{width:90px;flex:0 0 90px}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.btn{font:600 14px var(--sans);border-radius:8px;padding:10px 16px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.btn.primary{background:var(--ink);color:var(--copper2)}.btn.primary:hover{background:#2a2b24}
.btn.ghost{border-color:var(--line);background:#fff}.btn.danger{border-color:var(--brick);color:var(--brick)}
.btn.big{padding:13px 22px;font-size:16px}.btn:disabled{opacity:.45;cursor:not-allowed}
.tabs{display:flex;gap:4px;margin-bottom:10px}.tab{font:500 13px var(--sans);padding:7px 12px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer}
.tab.active{background:var(--ink);color:var(--copper2);border-color:var(--ink)}
.msg{min-height:1.2em;margin:8px 0 0;font-size:14px}.msg.err{color:var(--brick)}.msg.ok{color:var(--moss)}
code{font-family:var(--mono);font-size:13px;background:#EFE9DC;padding:1px 5px;border-radius:4px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:10px;margin:10px 0}
.kpi{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.kpi b{display:block;font:600 22px var(--serif);font-variant-numeric:tabular-nums}.kpi span{font:500 11px var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.alert{border-left:3px solid var(--copper);background:#F6EEDB;padding:8px 12px;border-radius:6px;margin:6px 0;font-size:14px}.alert.bad{border-color:var(--brick);background:#F7E4DD}.alert.good{border-color:var(--moss);background:#E6EEE3}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;max-height:460px}
.tbl{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
.tbl th{position:sticky;top:0;background:#EFE9DC;text-align:left;font:600 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;padding:8px}
.tbl td{padding:8px;border-top:1px solid #EEE8DC;vertical-align:top}.tbl .r{text-align:right;font-variant-numeric:tabular-nums}
.tbl .fl{color:var(--muted);max-width:380px}.tbl .fl div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st{font:500 11px var(--mono);padding:2px 7px;border-radius:999px;background:#EEE;white-space:nowrap}.st.done{background:#DCE8D8;color:#2f4a2b}.st.failed{background:#F3D6CC;color:var(--brick)}.st.submitted{background:#F4E7C6}
.listen{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0}.listen input{flex:1 1 240px}.listen audio{flex:1 1 260px;height:36px}
.ack{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;background:#F6EEDB;padding:12px;border-radius:8px;border:1px solid #E7D7AE;font-size:14px}
.ack input{margin-top:3px;transform:scale(1.2)}
.quote{font:500 13px var(--mono);color:var(--muted);margin-top:10px}
.state{font-size:14px}.progress{height:10px;background:#E9E3D6;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--moss),var(--copper));transition:width .4s}
.foot{color:var(--muted);font-size:12px;padding:20px 18px 40px;font-family:var(--mono)}
.recent{margin-top:12px;font-size:13px}.recent a{cursor:pointer}
@media (max-width:560px){.card{padding:15px}.tbl .fl{max-width:180px}}
[hidden]{display:none!important}
