: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; } }
.fwd { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; margin:.15rem 0 .25rem; }

:root { --pend-bg:#f3e8ff; --pend-ink:#7e22ce; }
@media (prefers-color-scheme: dark) { :root { --pend-bg:#3b0764; --pend-ink:#d8b4fe; } }
.badge-pend{background:var(--pend-bg);color:var(--pend-ink);}
.pendform { padding:.75rem 1.25rem; }
.pendform select { width:auto; margin:0; }

/* Dashboard stage cards (same as settlements) */
.stages { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin:0 0 1rem }
@media (max-width:640px) { .stages { grid-template-columns:repeat(2,1fr) } }
.stage { position:relative; display:flex; flex-direction:column; gap:.1rem; padding:.85rem .95rem .8rem;
  background:var(--card); border:1px solid var(--line); border-top:4px solid var(--acc); border-radius:12px;
  color:var(--ink); text-decoration:none; transition:transform .12s, box-shadow .12s, background .12s }
.stage:hover { text-decoration:none; transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.18) }
.stage .step { position:absolute; top:.7rem; right:.8rem; width:1.5rem; height:1.5rem; border-radius:50%;
  display:grid; place-items:center; font-size:11px; font-weight:700; color:var(--acc); border:1.5px solid var(--acc); opacity:.8 }
.stage .n { font-size:30px; font-weight:800; line-height:1.1; color:var(--acc) }
.stage .st { font-weight:700; font-size:14px; padding-right:1.6rem }
.stage .who { font-size:12px; color:var(--muted) }
.stage.empty .n { opacity:.35 }
.stage.active { background:color-mix(in srgb, var(--acc) 14%, var(--card)); border-color:var(--acc);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--acc) 55%, transparent) }
.acc-amber { --acc:#f59e0b } .acc-blue { --acc:#3b82f6 } .acc-violet { --acc:#8b5cf6 }
.acc-orange { --acc:#f97316 } .acc-green { --acc:#22c55e } .acc-grey { --acc:#94a3b8 } .acc-teal { --acc:#14b8a6 }
.listbar { margin:0 0 1rem; font-size:13px }
.listbar a.on { font-weight:700; text-decoration:underline }
.listbar .exportbtn { margin-left:auto; font-size:13px; padding:.35rem .75rem }
.stack { display:flex; flex-direction:column; gap:.6rem; text-align:start; max-width:340px; margin:0 auto }
.partner-access { margin-top:1.5rem }
.mono { font-family:monospace; }
hr { border:none; border-top:1px solid var(--line); margin:1.25rem 0 }

/* Fees calculator */
.fees h2 { font-size:16px; margin:0 0 .3rem }
.fees .fgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin:.5rem 0 }
@media (max-width:640px) { .fees .fgrid { grid-template-columns:1fr } }
.fees label { display:flex; flex-direction:column; gap:.2rem; font-size:13px }
.fees .chk { flex-direction:row; align-items:center; gap:.4rem }
.fees .result { font-size:17px; font-weight:700; margin:.6rem 0 .2rem; direction:rtl }
.fees .warn { color:var(--wait-ink); background:var(--wait-bg); padding:.4rem .6rem; border-radius:8px }

/* case fields filled from Zoho */
.from-zoho input[readonly]{background:#f3f4f6;color:#374151}
#zoho-preview .card{padding:.6rem .8rem;margin:0}
