:root {
  --bg: #f4f5f7; --card: #fff; --ink: #1c2230; --muted: #6b7280; --line: #e5e7eb;
  --primary: #2563eb; --primary-ink: #fff;
  --ok-bg: #e7f6ec; --ok-ink: #1a7f43; --no-bg: #fdecec; --no-ink: #b42318;
  --wait-bg: #fef6e6; --wait-ink: #a15c07; --done-bg: #eef1f4; --done-ink: #445;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#0f1420; --card:#171d2b; --ink:#e6e9ef; --muted:#9aa4b2; --line:#2a3242;
    --primary:#3b82f6; --ok-bg:#12351f; --ok-ink:#4ade80; --no-bg:#3a1414; --no-ink:#f87171;
    --wait-bg:#3a2c0d; --wait-ink:#fbbf24; --done-bg:#20283a; --done-ink:#aab3c2;
  }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
  font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.error { color: var(--no-ink); background: var(--no-bg); padding:.5rem .75rem; border-radius:8px; }

.topbar { display:flex; align-items:center; justify-content:space-between;
  padding:.75rem 1.25rem; background:var(--card); border-bottom:1px solid var(--line); }
.brand { font-weight:700; color:var(--ink); }
.brand span { color: var(--primary); }
.topbar nav { display:flex; align-items:center; gap:1rem; }
.who { color:var(--muted); font-size:13px; }

.wrap { max-width: 920px; margin: 1.5rem auto; padding: 0 1rem; }
h1 { font-size: 1.5rem; margin:.2rem 0 1rem; }
h2 { font-size: 1.05rem; margin:0 0 .75rem; }

.card { background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:1.25rem; margin-bottom:1rem; }
.card.center { text-align:center; max-width:420px; margin:4rem auto; }
.cols { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:700px){ .cols{ grid-template-columns:1fr; } }

.btn { display:inline-block; padding:.55rem .9rem; border-radius:8px; border:1px solid var(--line);
  background:var(--card); color:var(--ink); cursor:pointer; font-size:14px; }
.btn:hover { text-decoration:none; border-color:var(--muted); }
.btn-primary { background:var(--primary); color:var(--primary-ink); border-color:var(--primary); }
.btn-google { background:#fff; color:#222; border:1px solid #dadce0; font-weight:600; margin-top:1rem; }

.grid { width:100%; border-collapse:collapse; background:var(--card);
  border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.grid th,.grid td { text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--line); }
.grid th { font-size:12px; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); }
.grid tbody tr { cursor:pointer; }
.grid tbody tr:hover { background:rgba(37,99,235,.06); }

.badge { display:inline-block; padding:.2rem .55rem; border-radius:999px; font-size:12px; font-weight:600; }
.badge-ok{background:var(--ok-bg);color:var(--ok-ink);} .badge-no{background:var(--no-bg);color:var(--no-ink);}
.badge-wait{background:var(--wait-bg);color:var(--wait-ink);} .badge-done{background:var(--done-bg);color:var(--done-ink);}

form label { display:block; margin:.5rem 0; font-size:13px; color:var(--muted); }
form input, form select, form textarea { display:block; width:100%; margin-top:.25rem;
  padding:.5rem .6rem; border:1px solid var(--line); border-radius:8px; background:var(--bg);
  color:var(--ink); font-size:14px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
@media (max-width:600px){ .grid2{ grid-template-columns:1fr; } }
.row { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.row input { width:auto; flex:1; }
.toggles .chk { flex:1; }
.actions { margin-top:1rem; display:flex; gap:.5rem; }
.lookup { background:var(--bg); border:1px dashed var(--line); border-radius:8px; padding:.75rem; margin-bottom:1rem; }
.hidden { display:none; }

dl.kv { display:grid; grid-template-columns:auto 1fr; gap:.35rem 1rem; margin:0; }
dl.kv dt { color:var(--muted); }
dl.kv dd { margin:0; }
.linkbox { width:100%; font-family:monospace; font-size:12px; padding:.5rem; margin:.4rem 0 .75rem;
  border:1px solid var(--line); border-radius:6px; background:var(--bg); color:var(--ink); }

ul.docs { list-style:none; padding:0; margin:.25rem 0; }
ul.docs li { padding:.4rem 0; border-bottom:1px solid var(--line); display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; }
ul.docs li:last-child { border-bottom:none; }
.linkbtn { background:none; border:none; color:var(--no-ink); cursor:pointer; font-size:12px; padding:0; text-decoration:underline; font-family:inherit; }
input[type=file] { border:1px dashed var(--line); border-radius:8px; padding:.4rem .5rem; background:var(--bg); color:var(--ink); font-size:13px; flex:1; }

ul.thread { list-style:none; padding:0; margin:.25rem 0; display:flex; flex-direction:column; gap:.6rem; }
ul.thread li { padding:.55rem .75rem; border-radius:10px; max-width:88%; }
ul.thread li.from-us { background:var(--wait-bg); align-self:flex-start; }
ul.thread li.from-ashim { background:var(--done-bg); align-self:flex-end; }
ul.thread .who { margin-bottom:.2rem; }

/* ---- filings additions ---- */
:root { --info-bg:#e8f0fe; --info-ink:#1a56db; }
@media (prefers-color-scheme: dark) { :root { --info-bg:#172554; --info-ink:#93c5fd; } }
.badge-info{background:var(--info-bg);color:var(--info-ink);}
h3 { font-size:.95rem; margin:1rem 0 .4rem; }
.pre { white-space:pre-wrap; }
.instr { background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:.75rem; }
.late { color:var(--no-ink); font-weight:600; }
.okbox { background:var(--ok-bg); color:var(--ok-ink); border-color:transparent; font-weight:600; }
.tabs { display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:1rem; }
.tabs a { padding:.35rem .75rem; border-radius:999px; border:1px solid var(--line); background:var(--card); color:var(--ink); font-size:13px; }
.tabs a.on { background:var(--primary); color:var(--primary-ink); border-color:var(--primary); }
.tabs a:hover { text-decoration:none; }
.tablewrap { overflow-x:auto; }
ul.thread li.from-agent { background:var(--done-bg); align-self:flex-end; }
.ar { font-weight:400; color:var(--muted); }
input[type=file] { display:block; width:100%; }
@media (max-width:600px){ .topbar{ flex-wrap:wrap; gap:.5rem; } .topbar nav{ gap:.6rem; flex-wrap:wrap; } .wrap{ padding:0 16px; } }
