/* NeoKollect theme: navy frame, teal for actions (same family as the NK Field app).
   Loaded after app.css and portal.css; it maps their colour names to the new palette and
   restyles shared controls. New components live in nk.css. */
:root{
  --navy:#0F2A4A; --navy-2:#173A63; --navy-3:#24507F; --on-navy:#FFFFFF; --on-navy-soft:#B8C6D8;
  --teal:#0E9F9A; --teal-d:#0B7F7B; --teal-l:#E3F6F5;
  --paper:#EEF2F6; --card:#FFFFFF; --band:#F4F7FA; --sunk:#F1F5F9; --hover:#E9F7F6;
  --ink:#14202E; --ink-soft:#64748B; --dim:#94A3B8; --rule:#E2E8F0; --rule-2:#CBD5E1;
  --recovered:#15803D; --good-l:#DCFCE7; --overdue:#C2410C; --bad-l:#FFEDD5; --warn:#B45309; --warn-l:#FEF3C7;
  --info:#1D4ED8; --info-l:#DBEAFE; --unreached:#E2E8F0;
  --neon:#0E9F9A; --neon-2:#0B7F7B; /* legacy names now point at teal */
  --shadow:0 1px 2px rgba(15,42,74,.06),0 8px 24px rgba(15,42,74,.08);
  --sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --navy:#0B1F38; --navy-2:#132F52; --navy-3:#1E4570; --on-navy-soft:#94A3B8;
  --teal:#2CC2BC; --teal-d:#5AD6D0; --teal-l:#0F2E33;
  --paper:#0A1424; --card:#111E31; --band:#13233A; --sunk:#16263D; --hover:#132F38;
  --ink:#E6EDF5; --ink-soft:#94A3B8; --dim:#64748B; --rule:#1F2F46; --rule-2:#2A3D58;
  --recovered:#4ADE80; --good-l:#11281A; --overdue:#FB923C; --bad-l:#2E1A0D; --warn:#F2A23A; --warn-l:#2B210E;
  --info:#93C5FD; --info-l:#14203A; --unreached:#1F2F46; --neon:#2CC2BC; --neon-2:#5AD6D0;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); color-scheme:dark}}
:root[data-theme="dark"]{
  --navy:#0B1F38; --navy-2:#132F52; --navy-3:#1E4570; --on-navy-soft:#94A3B8;
  --teal:#2CC2BC; --teal-d:#5AD6D0; --teal-l:#0F2E33;
  --paper:#0A1424; --card:#111E31; --band:#13233A; --sunk:#16263D; --hover:#132F38;
  --ink:#E6EDF5; --ink-soft:#94A3B8; --dim:#64748B; --rule:#1F2F46; --rule-2:#2A3D58;
  --recovered:#4ADE80; --good-l:#11281A; --overdue:#FB923C; --bad-l:#2E1A0D; --warn:#F2A23A; --warn-l:#2B210E;
  --info:#93C5FD; --info-l:#14203A; --unreached:#1F2F46; --neon:#2CC2BC; --neon-2:#5AD6D0;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); color-scheme:dark}

body,.portal{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,.mark,.total .v,.sc b,.detail h3{font-family:var(--sans)!important;font-weight:800;letter-spacing:-.02em;font-variation-settings:normal}
h1{font-size:clamp(1.5rem,2.4vw,1.9rem)}
.num,.mono,code,.ledger td.r{font-variant-numeric:tabular-nums}
.mono,code{font-family:var(--mono)}
a{text-decoration-color:var(--rule-2)} a:hover{text-decoration-color:var(--teal)}

/* surfaces used by existing pages */
.card,.review,.attention-row,.enrich-row,.panel,.act,.detail,.empty{background:var(--card)!important;border:1px solid var(--rule)!important;border-radius:14px}
.review-head{background:var(--band)!important;border-radius:14px 14px 0 0}
.enrich-row{border-left:3px solid var(--teal)!important}
.attention-row.calm,.empty{border-style:dashed!important}
.ledger{background:var(--card);border-radius:12px}
.ledger tbody tr:nth-child(odd){background:transparent}
.ledger tbody tr:hover{background:var(--hover)}
.ledger thead th{border-bottom:1px solid var(--rule);color:var(--ink-soft);font-weight:600;font-size:12.5px;background:var(--band)}
.ledger td,.ledger th{border-color:var(--rule)}
.totals{border-top-color:var(--ink)}

/* controls */
button,.btn{background:var(--teal)!important;color:#fff!important;border:1px solid var(--teal)!important;border-radius:9px!important;font-weight:600;font-family:var(--sans)}
button:hover,.btn:hover{background:var(--teal-d)!important;border-color:var(--teal-d)!important}
:root[data-theme="dark"] button,:root[data-theme="dark"] .btn{color:#0A1424!important}
button.ghost,.btn.ghost{background:transparent!important;color:var(--ink)!important;border-color:var(--rule-2)!important}
button.ghost:hover,.btn.ghost:hover{background:var(--sunk)!important}
button.reject{background:transparent!important;color:var(--overdue)!important;border-color:var(--overdue)!important}
button.reject:hover{background:var(--overdue)!important;color:#fff!important}
input,select,textarea{background:var(--card);color:var(--ink);border:1px solid var(--rule-2);border-radius:9px;font-family:var(--sans)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 25%,transparent)}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.tag{border-radius:999px;background:var(--card);border-color:var(--rule)}
.tag.tier-firm{border-color:var(--warn);color:var(--warn)}
.verdict-maybe{color:var(--warn)}
.flash{border-left:3px solid var(--teal);background:var(--teal-l);border-radius:0 10px 10px 0}
.flash.bad{border-left-color:var(--overdue);background:var(--bad-l)}
.reach-fill{background:var(--teal)}
.stages-bar li.now .dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 35%,transparent)}

/* client and borrower portals keep a light top bar in the client's colours */
.p-top{background:var(--card);border-bottom:1px solid var(--rule)}
.p-nav a.on{color:var(--ink);box-shadow:0 2px 0 var(--teal)}
.portal .mark span{color:var(--teal)}

/* theme toggle */
.theme-toggle{width:36px!important;height:36px!important;padding:0!important;display:inline-grid;place-items:center;
  background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--rule)!important;border-radius:9px!important}
.theme-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.theme-toggle .moon,[data-theme="dark"] .theme-toggle .sun{display:none}
[data-theme="dark"] .theme-toggle .moon{display:block}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
