/* Staff dashboard. Same colours, fonts and status styles as the client portal prototype. */
:root{
  --navy:#0b1c2c;--navy2:#1e3049;--amber:#e89a1c;--paper:#f8f7f4;--card:#ffffff;
  --ink:#0b1c2c;--muted:#5b6675;--line:#dfe2e6;--soft:#f1efe8;--onnavy:#c9d1db;
  --blue:#2f6fb3;--blue-t:#e7f0fa;--blue-d:#123f6e;
  --purple:#5b51b8;--purple-t:#eeedfb;--purple-d:#332a85;
  --gold:#d08a12;--gold-t:#fbf0dc;--gold-d:#6b4300;
  --teal:#18866a;--teal-t:#e1f4ee;--teal-d:#08493a;
  --ok:#3b6d11;--ok-t:#eaf3de;--chk:#8a5a0b;--chk-t:#faeeda;--bad:#a32d2d;--bad-t:#fcebeb;--todo:#a9a69c;
  --f-display:"Archivo",system-ui,sans-serif;--f-body:"Public Sans",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5}
.wrap{max-width:1080px;margin:0 auto;padding-inline:16px}
.narrow{max-width:440px}
header{background:var(--navy);color:#fff}
header .wrap{display:flex;align-items:center;gap:16px;padding-block:14px;flex-wrap:wrap}
.eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.brand{font-family:var(--f-display);font-weight:700;font-size:18px}
nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}
nav a{color:var(--onnavy);text-decoration:none;font-size:14px;padding:6px 10px;border-radius:6px}
nav a[aria-current=page]{background:var(--navy2);color:#fff}
.who{font-size:13px;color:var(--onnavy)}
main .wrap{padding-block:20px 48px}
h1{font-family:var(--f-display);font-weight:700;font-size:24px;line-height:1.2;margin:0 0 4px}
h2{font-family:var(--f-display);font-weight:600;font-size:18px;margin:0}
.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--f-mono);font-size:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.stack{display:grid;gap:12px}
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
.btn{font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:8px;border:1.5px solid var(--navy);background:var(--card);color:var(--navy);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn:hover{background:var(--soft)}
.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy2)}
.btn.ghost{border-color:transparent;padding-inline:6px;color:var(--muted);font-weight:500;text-decoration:underline}
.btn.danger{border-color:var(--bad);color:var(--bad)}
.btn.sm{font-size:12px;padding:4px 10px}
.btn:disabled{opacity:.5;cursor:default}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.fld{display:grid;gap:5px;min-width:0}
.fld>span{font-size:13px;font-weight:600}
.fld small{font-size:12px;color:var(--muted);font-weight:400}
input[type=text],input[type=email],input[type=tel],input[type=month],input[type=date],input[type=number],input[type=password],input[type=search],select,textarea{font:inherit;font-size:15px;width:100%;padding:8px 10px;border:1px solid #c9ced5;border-radius:8px;background:#fff;color:var(--ink)}
textarea{min-height:80px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.grid2{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid #c9ced5;background:#fff;color:var(--ink);cursor:pointer}
.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.checks{display:grid;gap:6px}
.checks label{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:5px 8px;border-radius:8px;border:1px solid var(--line);cursor:pointer}
.err{color:var(--bad);font-size:13px}
.notice{border-radius:10px;padding:10px 12px;font-size:14px}
.n-bad{background:var(--bad-t);color:var(--bad)}.n-warn{background:var(--chk-t);color:var(--chk)}.n-info{background:var(--blue-t);color:var(--blue-d)}.n-ok{background:var(--ok-t);color:var(--ok)}
.pill{font-size:12px;font-weight:500;padding:2px 10px;border-radius:999px;white-space:nowrap;display:inline-block}
.p-done{background:var(--ok-t);color:var(--ok)}.p-checking{background:var(--chk-t);color:var(--chk)}.p-todo{background:var(--soft);color:var(--muted)}.p-attention{background:var(--bad-t);color:var(--bad)}.p-not_applicable{background:var(--soft);color:var(--muted)}
.st{width:22px;height:22px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center}
.st svg{width:13px;height:13px}
.s-todo{border:2px solid var(--todo)}.s-done{background:var(--ok);color:#fff}.s-checking{background:var(--chk-t);color:var(--chk)}.s-attention{background:var(--bad-t);color:var(--bad)}.s-not_applicable{background:var(--soft);color:var(--muted);font-weight:600;font-size:12px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px;border-bottom:1px solid var(--line)}
td{padding:10px 8px;border-bottom:1px solid #efede7;vertical-align:middle}
tr.click{cursor:pointer}tr.click:hover td{background:#fbfaf7}
.prog{height:6px;background:var(--soft);border-radius:3px;overflow:hidden;min-width:80px}
.prog i{display:block;height:100%;background:var(--amber)}
.tablewrap{overflow-x:auto}
.sec{border-left:3px solid var(--c);padding-left:14px;margin:22px 0 8px}
.sec h2{color:var(--cd)}
.item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:8px 0}
.item.is-bad{border-color:#efc5c5}
.item.hidden-cond{opacity:.6;border-style:dashed}
.item.removed{opacity:.5;border-style:dashed}
.row{display:flex;gap:12px;align-items:flex-start}
.row>.txt{flex:1;min-width:0}
.ititle{font-weight:600}
.iline{font-size:13px;color:var(--muted)}
.l-bad{color:var(--bad);font-weight:500}
.files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.file{font-family:var(--f-mono);font-size:12px;background:var(--soft);border-radius:6px;padding:2px 8px;display:inline-flex;gap:6px;align-items:center}
.file button{background:none;border:none;padding:0;font:inherit;color:var(--blue-d);text-decoration:underline;cursor:pointer}
.panel{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;display:grid;gap:12px}
.drop{border:1.5px dashed #b9bfc7;border-radius:10px;padding:14px;text-align:center;font-size:13px;color:var(--muted);cursor:pointer;position:relative}
.drop.over{border-color:var(--amber);background:var(--gold-t)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.slot{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #efede7;flex-wrap:wrap}
.slot:first-of-type{border-top:none}
.staffnote{font-size:12px;color:var(--purple-d);background:var(--purple-t);border-radius:6px;padding:4px 8px;margin-top:6px}
.list-entry{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:10px}
.log{font-size:13px}
.log li{padding:4px 0;border-bottom:1px solid #efede7;list-style:none}
.log ul{padding:0;margin:0}
.linkbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.linkbox input{font-family:var(--f-mono);font-size:12px;flex:1;min-width:220px}
.mbar{height:10px;background:var(--gold-t);border-radius:5px;overflow:hidden;margin:6px 0 4px}
.mbar i{display:block;height:100%;background:var(--gold)}
.job{border:1px solid var(--line);border-radius:12px;background:var(--card);margin:8px 0;overflow:hidden}
.jhead{display:flex;gap:10px;align-items:center;padding:10px 14px;background:#fbfaf7;flex-wrap:wrap}
.jstep{padding:10px 14px;border-top:1px solid #efede7}
.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:50;max-width:calc(100% - 32px)}
.toast.bad{background:var(--bad)}
dialog{border:none;border-radius:14px;padding:0;max-width:520px;width:calc(100% - 32px)}
dialog::backdrop{background:rgba(11,28,44,.55)}
dialog form{padding:18px;display:grid;gap:12px}
.qr{background:#fff;padding:8px;border:1px solid var(--line);border-radius:10px;width:200px;height:200px}
.qr img{width:100%;height:100%}
@media (max-width:640px){
  .item>.row{flex-wrap:wrap}
  .item>.row>.bar{width:100%;justify-content:flex-start;padding-left:34px}
  .jhead .btn{margin-left:auto}
}
/* AI document checks (Phase 3) */
.filelist{display:grid;gap:8px;margin-top:6px}
.filerow{display:grid;gap:4px}
.filerow .file{justify-self:start}
.aicheck{font-size:12px;border-left:3px solid var(--purple-t);padding:2px 0 2px 8px}
.aiproblems{margin:4px 0 0;padding-left:18px;color:var(--bad)}
.aifacts{display:grid;grid-template-columns:max-content 1fr;gap:2px 10px;margin:6px 0}
.aifacts dt{color:var(--muted)}.aifacts dd{margin:0}
/* Reminder email preview (Phase 4a) */
.emailpreview{width:100%;height:min(60vh,560px);border:1px solid var(--line);border-radius:8px;background:#f8f7f4}
dialog.wide{max-width:720px}
.dlgbody{padding:18px}
