:root { --bg:#f6f7f9; --card:#fff; --ink:#1f2430; --muted:#6b7280; --line:#e4e7eb;
  --blue:#2563eb; --green:#16a34a; --amber:#d97706; --red:#dc2626; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--ink); }
header { background:var(--card); border-bottom:1px solid var(--line); padding:0 20px;
  display:flex; align-items:center; gap:18px; height:54px; position:sticky; top:0; z-index:5; }
header .brand { font-weight:700; }
header nav a { color:var(--ink); text-decoration:none; margin-right:14px; }
header nav a:hover { color:var(--blue); }
header .spacer { flex:1; }
header .who { color:var(--muted); font-size:13px; }
main { max-width:1080px; margin:22px auto; padding:0 20px; }
h1 { font-size:20px; margin:0 0 16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px;
  padding:16px 18px; margin-bottom:14px; }
.row { display:flex; gap:16px; flex-wrap:wrap; }
.muted { color:var(--muted); }
.badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; font-weight:600; }
.badge.NEEDS_ACK { background:#fef3c7; color:#92400e; }
.badge.NEEDS_REVIEW { background:#fee2e2; color:#991b1b; }
.badge.READY { background:#dcfce7; color:#166534; }
.flags span { display:inline-block; background:#eef2ff; color:#3730a3; border-radius:6px;
  padding:1px 7px; font-size:12px; margin:2px 4px 2px 0; }
.flags span.hard { background:#fee2e2; color:#991b1b; }
label { font-size:13px; color:var(--muted); display:block; margin-bottom:3px; }
input[type=text], input[type=password], input[type=date], select {
  padding:7px 9px; border:1px solid var(--line); border-radius:7px; font-size:14px; width:100%; }
button, .btn { background:var(--blue); color:#fff; border:0; border-radius:7px;
  padding:8px 13px; font-size:14px; cursor:pointer; text-decoration:none; display:inline-block; }
button.green { background:var(--green); }
button.ghost { background:#fff; color:var(--ink); border:1px solid var(--line); }
button:hover { filter:brightness(1.05); }
table { width:100%; border-collapse:collapse; font-size:14px; }
th, td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.03em; }
.ocr { font:12px/1.45 ui-monospace,Menlo,monospace; background:#f3f4f6; border-radius:7px;
  padding:8px 10px; max-height:160px; overflow:auto; white-space:pre-wrap; color:#374151; }
.inline { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; }
.inline > div { min-width:130px; }
details summary { cursor:pointer; color:var(--blue); font-size:13px; margin-top:8px; }
.login-wrap { max-width:340px; margin:9vh auto; }
.err { background:#fee2e2; color:#991b1b; padding:8px 10px; border-radius:7px; margin-bottom:12px; }
.empty { text-align:center; color:var(--muted); padding:40px; }
