/* ============================================================================
   Incubate360 v2: Design System
   Palette derived from the official Incubate360 logo:
   deep navy #001854 → violet #6024E4 → blue #1878F0 → cyan #00C0B4
   ========================================================================== */

:root{
  /* brand */
  --navy:#001A44; --navy-2:#00265F; --navy-3:#000E2B; --navy-4:#012B63;
  --violet:#5B21E8; --violet-2:#7443F0; --violet-3:#4816BE;
  --violet-soft:rgba(91,33,232,.10); --violet-soft-2:rgba(91,33,232,.18);
  --blue:#1878F0; --cyan:#00BFB3; --cyan-soft:rgba(0,191,179,.12);

  /* surfaces */
  --canvas:#F5F7FB; --card:#FFFFFF; --card-2:#FBFCFE;
  --ink:#0E1B33; --ink-2:#1E2B45; --muted:#67748E; --muted-2:#93A0B5;
  --border:#E5EAF3; --border-2:#EEF2F8;

  /* status */
  --ok:#0FA971;      --ok-bg:#E6F7F0;   --ok-ink:#087A51;
  --warn:#E8901A;    --warn-bg:#FDF3E3; --warn-ink:#A65E06;
  --danger:#E23D3D;  --danger-bg:#FCEBEB;--danger-ink:#B31E1E;
  --info:#1E6BE0;    --info-bg:#E9F0FD; --info-ink:#14509F;
  --purple:#7C3AED;  --purple-bg:#F2ECFE;--purple-ink:#5B21B6;
  --mut-bg:#F1F4F9;  --mut-ink:#5A6883;

  /* geometry */
  --r:14px; --r-sm:10px; --r-xs:8px; --r-lg:18px;
  --sh:0 1px 2px rgba(13,30,66,.04),0 6px 18px rgba(13,30,66,.06);
  --sh-md:0 2px 6px rgba(13,30,66,.06),0 12px 28px rgba(13,30,66,.09);
  --sh-lg:0 8px 20px rgba(13,30,66,.10),0 28px 64px rgba(13,30,66,.14);
  --sidebar-w:246px; --topbar-h:62px; --content-max:1560px;

  --f-head:'Poppins',system-ui,-apple-system,sans-serif;
  --f-body:'Inter',system-ui,-apple-system,sans-serif;
}

html[data-theme="dark"]{
  --canvas:#0A1120; --card:#111B2E; --card-2:#0E1728;
  --ink:#E8EFFA; --ink-2:#CFDCEE; --muted:#8DA0BC; --muted-2:#6B7D99;
  --border:#22314B; --border-2:#1A2740;
  --ok-bg:rgba(15,169,113,.16); --warn-bg:rgba(232,144,26,.16);
  --danger-bg:rgba(226,61,61,.16); --info-bg:rgba(30,107,224,.18);
  --purple-bg:rgba(124,58,237,.18); --mut-bg:rgba(255,255,255,.06);
  --ok-ink:#3FD6A0; --warn-ink:#F6B44A; --danger-ink:#FF8A8A; --info-ink:#7FB0FF;
  --purple-ink:#C4A9FD; --mut-ink:#9FB0CA;
  --sh:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.34);
  --sh-md:0 2px 8px rgba(0,0,0,.36),0 14px 30px rgba(0,0,0,.42);
}

*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--f-body);font-size:14px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--f-head);margin:0}
a{color:var(--violet);text-decoration:none}

/* ═══════════════ SHELL ═══════════════ */
.v2shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}

/* ---- sidebar ---- */
.v2sb{background:linear-gradient(178deg,var(--navy) 0%,var(--navy-3) 100%);color:#C8D4E8;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden;z-index:40}
.v2sb-brand{padding:16px 16px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.v2sb-brand .logo-chip{background:#fff;border-radius:9px;padding:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px}
.v2sb-brand .logo-chip img{max-height:26px;max-width:26px;width:auto;height:auto;display:block;object-fit:contain}
.v2sb-brand .sb-mark{display:flex;flex-shrink:0}
.v2sb-brand .bt{font-family:var(--f-head);font-weight:700;font-size:15.5px;color:#fff;letter-spacing:-.2px;line-height:1.15}
.v2sb-brand .bs{font-size:10.5px;color:#7E93B4;letter-spacing:.3px;margin-top:1px}
.v2sb-nav{flex:1;overflow-y:auto;padding:4px 10px 10px;scrollbar-width:thin;scrollbar-color:#243B63 transparent}
.v2sb-nav::-webkit-scrollbar{width:5px}
.v2sb-nav::-webkit-scrollbar-thumb{background:#243B63;border-radius:9px}
.v2sb-sec{font-size:9.5px;letter-spacing:1.1px;text-transform:uppercase;padding:14px 10px 6px;font-weight:700;color:#5E729A}
.v2nav{display:flex;align-items:center;gap:11px;width:100%;padding:8.5px 11px;margin:1.5px 0;border:0;
  background:transparent;color:#B6C6DF;font:inherit;font-size:12.9px;font-weight:500;border-radius:9px;
  cursor:pointer;text-align:left;transition:background .13s,color .13s;position:relative}
.v2nav svg{width:17px;height:17px;flex-shrink:0;opacity:.86}
.v2nav span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2nav:hover{background:rgba(255,255,255,.07);color:#fff}
.v2nav.active{background:linear-gradient(94deg,var(--violet) 0%,var(--violet-2) 100%);color:#fff;
  box-shadow:0 4px 12px rgba(91,33,232,.42)}
.v2nav.active svg{opacity:1}
.v2nav .nbadge{background:rgba(255,255,255,.15);color:#fff;font-size:10px;font-weight:700;
  padding:1.5px 6px;border-radius:99px;min-width:19px;text-align:center}
.v2nav.active .nbadge{background:rgba(255,255,255,.26)}
.v2nav .npill{background:var(--cyan);color:#00312D;font-size:9px;font-weight:800;padding:1.5px 5px;border-radius:5px;letter-spacing:.3px;margin-left:auto;flex:0 0 auto;line-height:1.35}
.v2sb-help{margin:10px;padding:13px;border-radius:12px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);flex-shrink:0}
.v2sb-help .hh{font-size:12.5px;font-weight:700;color:#fff;margin-bottom:3px;display:flex;align-items:center;gap:6px}
.v2sb-help .hs{font-size:11px;color:#8FA3C2;line-height:1.45;margin-bottom:9px}
.v2sb-help .hb{display:block;width:100%;padding:7px;border-radius:8px;background:rgba(255,255,255,.12);
  color:#fff;border:0;font:inherit;font-size:11.5px;font-weight:600;cursor:pointer}
.v2sb-help .hb:hover{background:rgba(255,255,255,.2)}

/* ---- main ---- */
.v2main{display:flex;flex-direction:column;min-width:0;background:var(--canvas)}

/* ---- topbar ---- */
.v2tb{height:var(--topbar-h);background:var(--card);border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:12px;padding:0 20px;position:sticky;top:0;z-index:30}
.v2tb-burger{display:none;background:none;border:0;cursor:pointer;color:var(--ink);padding:6px}
.v2search{flex:0 1 400px;position:relative;display:flex;align-items:center}
.v2search svg{position:absolute;left:12px;width:16px;height:16px;color:var(--muted-2);pointer-events:none}
.v2search input{width:100%;height:37px;border:1px solid var(--border);background:var(--card-2);
  border-radius:9px;padding:0 62px 0 36px;font:inherit;font-size:13px;color:var(--ink);outline:none}
.v2search input:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft);background:var(--card)}
.v2search input::placeholder{color:var(--muted-2)}
.v2search .kbd{position:absolute;right:9px;font-size:10.5px;color:var(--muted-2);background:var(--mut-bg);
  border:1px solid var(--border);padding:2px 6px;border-radius:5px;font-weight:600}
.v2tb-sp{flex:1}
.v2tb-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:9px;
  border:1px solid var(--border);background:var(--card);color:var(--ink-2);font:inherit;font-size:12.8px;
  font-weight:600;cursor:pointer;white-space:nowrap;transition:.13s}
.v2tb-btn:hover{background:var(--mut-bg);border-color:var(--muted-2)}
.v2tb-btn.pri{background:linear-gradient(94deg,var(--violet),var(--violet-2));color:#fff;border:0;
  box-shadow:0 3px 10px rgba(91,33,232,.3)}
.v2tb-btn.pri:hover{filter:brightness(1.08)}
.v2tb-ic{width:36px;height:36px;border-radius:9px;border:1px solid var(--border);background:var(--card);
  display:grid;place-items:center;cursor:pointer;color:var(--muted);position:relative;transition:.13s;flex-shrink:0}
.v2tb-ic:hover{background:var(--mut-bg);color:var(--ink)}
.v2tb-ic svg{width:17px;height:17px}
.v2tb-ic .dot{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;
  background:var(--danger);color:#fff;font-size:9.5px;font-weight:800;display:grid;place-items:center;
  border:2px solid var(--card)}
.v2tb-branch{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 11px;border-radius:9px;
  border:1px solid var(--border);background:var(--card);font-size:12.6px;font-weight:600;color:var(--ink-2);cursor:pointer}
.v2tb-branch:hover{background:var(--mut-bg)}
.v2user{display:flex;align-items:center;gap:9px;padding:4px 9px 4px 4px;border-radius:10px;cursor:pointer;
  border:1px solid var(--border);background:var(--card);transition:.13s}
.v2user:hover{background:var(--mut-bg)}
.v2user .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--blue));
  color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700;flex-shrink:0}
.v2user .un{font-size:12.6px;font-weight:700;color:var(--ink);line-height:1.2}
.v2user .ur{font-size:10.5px;color:var(--muted);line-height:1.25}

/* ---- content ---- */
.v2content{flex:1;padding:20px 22px 26px;max-width:var(--content-max);width:100%;margin:0 auto}

/* ═══════════════ PAGE HEAD ═══════════════ */
.ph{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.ph h1{font-size:21px;font-weight:700;letter-spacing:-.4px;display:flex;align-items:center;gap:9px}
.ph h1 .hic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:var(--violet-soft);color:var(--violet)}
.ph h1 .hic svg{width:17px;height:17px}
.ph .sub{font-size:12.9px;color:var(--muted);margin-top:3px}
.ph-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.greet h1{font-size:22.5px}
.greet .sub{font-size:12.5px;color:var(--muted);margin-top:2px}

/* ═══════════════ BUTTONS ═══════════════ */
.b{display:inline-flex;align-items:center;justify-content:center;gap:6.5px;height:36px;padding:0 14px;
  border-radius:9px;border:1px solid var(--border);background:var(--card);color:var(--ink-2);
  font:inherit;font-size:12.8px;font-weight:600;cursor:pointer;transition:.13s;white-space:nowrap}
.b svg{width:15px;height:15px}
.b:hover{background:var(--mut-bg);border-color:var(--muted-2)}
.b.pri{background:linear-gradient(94deg,var(--violet),var(--violet-2));color:#fff;border:0;box-shadow:0 3px 10px rgba(91,33,232,.28)}
.b.pri:hover{filter:brightness(1.08);background:linear-gradient(94deg,var(--violet),var(--violet-2))}
.b.navy{background:var(--navy);color:#fff;border:0}
.b.navy:hover{background:var(--navy-2)}
.b.cyan{background:var(--cyan);color:#00312D;border:0;font-weight:700}
.b.dgr{background:var(--danger);color:#fff;border:0}
.b.sm{height:30px;padding:0 10px;font-size:12px;border-radius:8px}
.b.xs{height:26px;padding:0 8px;font-size:11.4px;border-radius:7px}
.b.lg{height:42px;padding:0 20px;font-size:13.6px;border-radius:10px}
.b.gh{border:0;background:transparent}
.b.gh:hover{background:var(--mut-bg)}
.b:disabled{opacity:.5;cursor:not-allowed}
.b-ic{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--card);
  display:grid;place-items:center;cursor:pointer;color:var(--muted);transition:.13s;flex-shrink:0}
.b-ic:hover{background:var(--violet-soft);color:var(--violet);border-color:var(--violet)}
.b-ic svg{width:15px;height:15px}

/* ═══════════════ KPI TILES ═══════════════ */
.kpis{display:grid;gap:12px;margin-bottom:14px}
.kpis.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.kpis.c6{grid-template-columns:repeat(6,minmax(0,1fr))}
.kpis.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpis.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px;
  display:flex;gap:12px;align-items:flex-start;transition:.15s;position:relative;overflow:hidden}
.kpi.click{cursor:pointer}
.kpi.click:hover{box-shadow:var(--sh-md);transform:translateY(-2px);border-color:var(--violet-soft-2)}
.kpi-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;color:#fff}
.kpi-ic svg{width:19px;height:19px}
.kpi-b{min-width:0;flex:1}
.kpi-l{font-size:11.4px;color:var(--muted);font-weight:600;line-height:1.35;margin-bottom:3px}
.kpi-v{font-size:23px;font-weight:700;font-family:var(--f-head);letter-spacing:-.7px;line-height:1.1;color:var(--ink)}
.kpi-d{font-size:10.8px;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:3px;color:var(--muted)}
/* v3.7.5 (F-051) · `.up` and `.dn` are GOOD and BAD, not up and down. The arrow glyph inside
   still says which way the number moved; the colour says whether that is the way you want it.
   Spending more used to draw a green arrow pointing up. */
.kpi-d .up{color:var(--ok)} .kpi-d .dn{color:var(--danger)} .kpi-d .flat{color:var(--muted)}
.kpi-bar{height:4px;border-radius:99px;background:var(--mut-bg);margin-top:7px;overflow:hidden}
.kpi-bar i{display:block;height:100%;border-radius:99px;background:var(--violet)}

/* icon tints */
.t-violet{background:linear-gradient(135deg,#6D2BF0,#8C5BF5)}
.t-blue{background:linear-gradient(135deg,#1E6BE0,#4A94F5)}
.t-cyan{background:linear-gradient(135deg,#00A99E,#22C9BC)}
.t-green{background:linear-gradient(135deg,#0FA971,#35C98E)}
.t-amber{background:linear-gradient(135deg,#E8901A,#F5B04A)}
.t-red{background:linear-gradient(135deg,#E23D3D,#F26A6A)}
.t-pink{background:linear-gradient(135deg,#DB2777,#F06AA5)}
.t-indigo{background:linear-gradient(135deg,#4338CA,#6D62E8)}
.t-teal{background:linear-gradient(135deg,#0D9488,#2CB8AB)}
.t-navy{background:linear-gradient(135deg,#00265F,#0A4C9E)}
.t-orange{background:linear-gradient(135deg,#EA580C,#FB8B4C)}
.t-slate{background:linear-gradient(135deg,#475569,#74869E)}
.t-purple{background:linear-gradient(135deg,#7C3AED,#A47BF5)}
.t-mut{background:linear-gradient(135deg,#7A8AA5,#9FADC4)}

/* ═══════════════ CARDS & GRID ═══════════════ */
.gr{display:grid;gap:13px;margin-bottom:13px;align-items:start}
.gr.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gr.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gr.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gr.g21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.gr.g12{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.gr.g31{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
.gr.gmain{grid-template-columns:minmax(0,1fr) 320px;align-items:start}
.c{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.c-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px 11px;border-bottom:1px solid var(--border-2)}
.c-h.nb{border-bottom:0;padding-bottom:4px}
.c-t{font-size:13.6px;font-weight:700;font-family:var(--f-head);color:var(--ink);display:flex;align-items:center;gap:7px}
.c-t .n{width:19px;height:19px;border-radius:6px;background:var(--violet-soft);color:var(--violet);
  display:grid;place-items:center;font-size:10.5px;font-weight:800}
.c-s{font-size:11.5px;color:var(--muted);font-weight:500;margin-top:2px}
.c-b{padding:14px 15px;flex:1}
.c-b.np{padding:0}
.c-f{padding:10px 15px;border-top:1px solid var(--border-2);background:var(--card-2)}
.vall{font-size:11.8px;font-weight:600;color:var(--violet);cursor:pointer;display:inline-flex;align-items:center;gap:3px;background:none;border:0;font-family:inherit}
.vall:hover{text-decoration:underline}

/* ═══════════════ TABS ═══════════════ */
.tabs2{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.tabs2::-webkit-scrollbar{display:none}
.tab2{padding:9px 13px;border:0;background:none;font:inherit;font-size:12.9px;font-weight:600;color:var(--muted);
  cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;transition:.13s}
.tab2:hover{color:var(--ink)}
.tab2.active{color:var(--violet);border-bottom-color:var(--violet)}
.tab2 .tc{background:var(--mut-bg);color:var(--mut-ink);font-size:10.3px;font-weight:700;padding:1px 6px;border-radius:99px}
.tab2.active .tc{background:var(--violet-soft);color:var(--violet)}

/* ═══════════════ CHIPS / PILLS ═══════════════ */
.p{display:inline-flex;align-items:center;gap:4px;padding:2.5px 9px;border-radius:99px;font-size:11px;
  font-weight:700;white-space:nowrap;line-height:1.55}
.p-ok{background:var(--ok-bg);color:var(--ok-ink)}
.p-warn{background:var(--warn-bg);color:var(--warn-ink)}
.p-danger{background:var(--danger-bg);color:var(--danger-ink)}
.p-info{background:var(--info-bg);color:var(--info-ink)}
.p-purple{background:var(--purple-bg);color:var(--purple-ink)}
.p-mut{background:var(--mut-bg);color:var(--mut-ink)}
.p-navy{background:rgba(0,26,68,.09);color:var(--navy)}
.p-cyan{background:var(--cyan-soft);color:#00786F}
.p.dot::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.p.sq{border-radius:6px}
.tag{display:inline-flex;align-items:center;padding:2.5px 8px;border-radius:6px;font-size:10.8px;
  font-weight:600;background:var(--mut-bg);color:var(--mut-ink);white-space:nowrap}

/* ═══════════════ TABLE ═══════════════ */
.tw{overflow-x:auto}
table.t2{width:100%;border-collapse:collapse;font-size:12.7px}
table.t2 th{text-align:left;padding:9px 13px;font-size:10.7px;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.5px;background:var(--card-2);border-bottom:1px solid var(--border);white-space:nowrap}
table.t2 td{padding:11px 13px;border-bottom:1px solid var(--border-2);vertical-align:middle;color:var(--ink-2)}
table.t2 tbody tr{transition:background .1s}
table.t2 tbody tr:hover{background:var(--card-2)}
table.t2 tbody tr.click{cursor:pointer}
table.t2 tbody tr:last-child td{border-bottom:0}
table.t2 td.num,table.t2 th.num{text-align:right;font-variant-numeric:tabular-nums}
table.t2 td.act{text-align:right;white-space:nowrap}
.cellu{display:flex;align-items:center;gap:9px;min-width:0}
.cellu .av{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;font-size:11px;
  font-weight:700;color:#fff;flex-shrink:0}
.cellu .av.rd{border-radius:50%}
.cellu .n1{font-weight:650;color:var(--ink);font-size:12.7px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cellu .n2{font-size:11px;color:var(--muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pag{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;
  border-top:1px solid var(--border-2);font-size:12.2px;color:var(--muted);flex-wrap:wrap}
.pag-n{display:flex;gap:4px;align-items:center}
.pag-n button{min-width:29px;height:29px;padding:0 7px;border-radius:7px;border:1px solid var(--border);
  background:var(--card);color:var(--ink-2);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.pag-n button:hover:not(:disabled){background:var(--mut-bg)}
.pag-n button.active{background:var(--violet);color:#fff;border-color:var(--violet)}
.pag-n button:disabled{opacity:.4;cursor:not-allowed}

/* ═══════════════ FILTER BAR ═══════════════ */
.fbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r);padding:11px 13px;margin-bottom:13px}
.fbar .fs{flex:1 1 250px;position:relative;display:flex;align-items:center;min-width:200px}
.fbar .fs svg{position:absolute;left:11px;width:15px;height:15px;color:var(--muted-2);pointer-events:none}
.fbar .fs input{width:100%;height:34px;border:1px solid var(--border);background:var(--card-2);border-radius:8px;
  padding:0 12px 0 33px;font:inherit;font-size:12.6px;color:var(--ink);outline:none}
.fbar .fs input:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}
.sel{height:34px;border:1px solid var(--border);background:var(--card);border-radius:8px;padding:0 30px 0 11px;
  font:inherit;font-size:12.5px;font-weight:500;color:var(--ink-2);cursor:pointer;outline:none;
  appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2367748E' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center;background-size:14px}
.sel:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}
.inp{height:34px;border:1px solid var(--border);background:var(--card);border-radius:8px;padding:0 11px;
  font:inherit;font-size:12.6px;color:var(--ink);outline:none;width:100%}
.inp:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}
textarea.inp{height:auto;padding:9px 11px;resize:vertical;line-height:1.5;font-family:inherit}

/* ═══════════════ METERS / PROGRESS ═══════════════ */
.mtr{height:7px;border-radius:99px;background:var(--mut-bg);overflow:hidden}
.mtr i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--violet-2));transition:width .5s}
.mtr.sm{height:5px}
.mtr.lg{height:9px}
.mtr i.ok{background:linear-gradient(90deg,#0FA971,#35C98E)}
.mtr i.warn{background:linear-gradient(90deg,#E8901A,#F5B04A)}
.mtr i.dgr{background:linear-gradient(90deg,#E23D3D,#F26A6A)}
.mtr i.cyan{background:linear-gradient(90deg,#00A99E,#22C9BC)}
.mtr i.blue{background:linear-gradient(90deg,#1E6BE0,#4A94F5)}
.mrow{margin-bottom:11px}
.mrow:last-child{margin-bottom:0}
.mrow-t{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px;font-size:12.2px}
.mrow-t b{font-weight:650;color:var(--ink)}
.mrow-t span{color:var(--muted);font-size:11.6px;font-variant-numeric:tabular-nums}

/* ═══════════════ LISTS ═══════════════ */
.lst{display:flex;flex-direction:column}
.lrow{display:flex;align-items:center;gap:11px;padding:10px 15px;border-bottom:1px solid var(--border-2);transition:.1s}
.lrow:last-child{border-bottom:0}
.lrow.click{cursor:pointer}
.lrow.click:hover{background:var(--card-2)}
.lrow-b{flex:1;min-width:0}
.lrow-t{font-size:12.7px;font-weight:600;color:var(--ink);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow-s{font-size:11.2px;color:var(--muted);line-height:1.4;margin-top:1px}
.dbadge{width:44px;flex-shrink:0;text-align:center;border-radius:9px;background:var(--violet-soft);padding:5px 3px}
.dbadge .d{font-size:15px;font-weight:800;color:var(--violet);line-height:1;font-family:var(--f-head)}
.dbadge .m{font-size:9.5px;font-weight:700;color:var(--violet);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.feed{display:flex;flex-direction:column;gap:0}
.fitem{display:flex;gap:11px;padding:10px 15px;border-bottom:1px solid var(--border-2);position:relative}
.fitem:last-child{border-bottom:0}
.fdot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}
.fitem-b{flex:1;min-width:0}
.fitem-t{font-size:12.5px;color:var(--ink);line-height:1.45}
.fitem-m{font-size:10.8px;color:var(--muted-2);margin-top:3px}

/* ═══════════════ QUICK ACTIONS ═══════════════ */
.qa{display:grid;gap:8px}
.qa.q2{grid-template-columns:repeat(2,minmax(0,1fr))}
.qa.q3{grid-template-columns:repeat(3,minmax(0,1fr))}
.qa.q4{grid-template-columns:repeat(4,minmax(0,1fr))}
.qab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px;
  border-radius:11px;border:1px solid var(--border);background:var(--card);cursor:pointer;transition:.14s;
  font:inherit;font-size:11.2px;font-weight:600;color:var(--ink-2);text-align:center;line-height:1.3}
.qab:hover{border-color:var(--violet);background:var(--violet-soft);color:var(--violet);transform:translateY(-1px)}
.qab .qi{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff}
.qab .qi svg{width:16px;height:16px}
.qa-row .qab{flex-direction:row;justify-content:flex-start;padding:9px 11px;gap:10px;text-align:left}

/* ═══════════════ CHARTS ═══════════════ */
.chartbox{width:100%;position:relative}
.chartbox svg{display:block;width:100%;height:auto;overflow:visible}
.dlegend{display:flex;flex-direction:column;gap:7px;font-size:11.8px}
.dlegend .li{display:flex;align-items:center;gap:7px}
.dlegend .sw{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.dlegend .ln{flex:1;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlegend .lv{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.donut-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.donut-wrap .dchart{flex:0 0 auto}
.dlegend{flex:1 1 130px;min-width:0}
.spark{height:26px;width:100%}

/* ═══════════════ SPOTLIGHT ═══════════════ */
.spot{background:linear-gradient(100deg,var(--navy) 0%,var(--navy-4) 55%,var(--violet-3) 100%);
  border-radius:var(--r);padding:17px 19px;color:#fff;display:flex;gap:17px;align-items:center;flex-wrap:wrap}
.spot .sav{width:62px;height:62px;border-radius:16px;background:rgba(255,255,255,.14);display:grid;place-items:center;
  font-size:21px;font-weight:800;flex-shrink:0;border:2px solid rgba(255,255,255,.22)}
.spot-b{flex:1;min-width:210px}
.spot-n{font-size:16.5px;font-weight:700;font-family:var(--f-head);display:flex;align-items:center;gap:8px}
.spot-r{font-size:12.2px;color:#B8C9E6;margin-top:2px}
.spot-c{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.spot-c .sc{background:rgba(255,255,255,.15);padding:2.5px 9px;border-radius:99px;font-size:10.8px;font-weight:600}
.spot-st{display:flex;gap:22px;flex-wrap:wrap}
.spot-st .si .v{font-size:19px;font-weight:800;font-family:var(--f-head);line-height:1.1}
.spot-st .si .l{font-size:10.7px;color:#A9BDDE;margin-top:2px}
.spot-a{display:flex;gap:8px;flex-wrap:wrap}
.spot-a .b{background:rgba(255,255,255,.15);border:0;color:#fff}
.spot-a .b:hover{background:rgba(255,255,255,.26)}
.spot-a .b.wt{background:#fff;color:var(--navy)}
.spot-a .b.wt:hover{background:#EEF2FA}

/* ═══════════════ STAT STRIP ═══════════════ */
.strip{display:grid;gap:0;background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.strip .st{padding:14px 16px;border-right:1px solid var(--border-2);text-align:center}
.strip .st:last-child{border-right:0}
.strip .st .v{font-size:20px;font-weight:700;font-family:var(--f-head);color:var(--ink);letter-spacing:-.5px}
.strip .st .l{font-size:11.2px;color:var(--muted);margin-top:3px;font-weight:500}
.ministat{display:flex;align-items:center;gap:10px;padding:11px;border-radius:11px;background:var(--card-2);border:1px solid var(--border-2)}
.ministat .mi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;flex-shrink:0}
.ministat .mi svg{width:16px;height:16px}
.ministat .mv{font-size:17px;font-weight:700;font-family:var(--f-head);line-height:1.1;color:var(--ink)}
.ministat .ml{font-size:10.8px;color:var(--muted);margin-top:1px}

/* ═══════════════ KANBAN ═══════════════ */
.kb{display:grid;grid-template-columns:repeat(4,minmax(118px,1fr));gap:9px;overflow-x:auto;padding-bottom:4px}
.kbc{background:var(--card-2);border:1px solid var(--border-2);border-radius:11px;padding:9px;min-height:130px}
.kbc-h{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;font-weight:700;
  color:var(--ink-2);margin-bottom:8px;padding:0 3px}
.kbc-h .n{background:var(--mut-bg);color:var(--mut-ink);font-size:10px;font-weight:700;padding:1px 6px;border-radius:99px}
.kbi{background:var(--card);border:1px solid var(--border);border-radius:9px;padding:8px 9px;margin-bottom:6px;
  cursor:grab;box-shadow:0 1px 2px rgba(13,30,66,.05)}
.kbi:hover{box-shadow:var(--sh)}
.kbi .t{font-size:11.6px;font-weight:650;color:var(--ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kbi .m{font-size:10.5px;color:var(--muted);margin-top:3px}

/* ═══════════════ EMPTY / SKELETON ═══════════════ */
.emp{text-align:center;padding:34px 20px;color:var(--muted)}
.emp .ei{width:56px;height:56px;border-radius:16px;background:var(--mut-bg);display:grid;place-items:center;
  margin:0 auto 12px;color:var(--muted-2)}
.emp .ei svg{width:26px;height:26px}
.emp h4{font-size:14px;color:var(--ink);margin-bottom:4px}
.emp p{font-size:12.2px;margin:0;line-height:1.55}
.sk{background:linear-gradient(90deg,var(--mut-bg) 25%,var(--border-2) 50%,var(--mut-bg) 75%);
  background-size:200% 100%;animation:shim 1.3s infinite;border-radius:7px;height:13px;margin-bottom:9px}
@keyframes shim{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ═══════════════ MISC ═══════════════ */
.divider{height:1px;background:var(--border-2);margin:13px 0}
.muted{color:var(--muted)}
.small{font-size:11.5px}
.bold{font-weight:700}
.nowrap{white-space:nowrap}
.flexr{display:flex;align-items:center;gap:8px}
.flexb{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mt0{margin-top:0}.mb0{margin-bottom:0}
.v2foot{padding:15px 22px;border-top:1px solid var(--border);display:flex;align-items:center;
  justify-content:space-between;gap:14px;font-size:11.8px;color:var(--muted);flex-wrap:wrap;background:var(--card)}
.v2foot .fb{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.v2foot .fb img{height:19px}
.v2foot a{color:var(--muted)}
.v2foot a:hover{color:var(--violet)}

/* ═══════════════ RESPONSIVE ═══════════════ */
@media(max-width:1500px){ .kpis.c6{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:1360px){
  .kpis.c5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gr.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr.gmain{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1100px){
  .gr.g3,.gr.g21,.gr.g12,.gr.g31{grid-template-columns:minmax(0,1fr)}
  .kb{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .v2shell{grid-template-columns:minmax(0,1fr)}
  .v2sb{position:fixed;left:0;top:0;width:var(--sidebar-w);transform:translateX(-102%);transition:transform .22s}
  .v2sb.open{transform:none;box-shadow:var(--sh-lg)}
  .v2tb-burger{display:grid;place-items:center}
  .kpis.c5,.kpis.c6,.kpis.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gr.g2{grid-template-columns:minmax(0,1fr)}
  .v2content{padding:15px 13px 22px}
  .v2search{flex:1}
  .v2user .un,.v2user .ur{display:none}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  .kpis.c5,.kpis.c6,.kpis.c4,.kpis.c3{grid-template-columns:minmax(0,1fr)}
  .kb{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.v2sb,.v2tb,.tabs2,.ph-act{display:none}.v2shell{grid-template-columns:minmax(0,1fr)}}

/* ── v2 portals ── */
.flexw{display:flex;flex-wrap:wrap;gap:6px}
.c.warnbox{border-color:#F6C7C7;background:linear-gradient(180deg,#FEF4F4,#fff)}
html[data-theme=dark] .c.warnbox{border-color:#5B2530;background:linear-gradient(180deg,#2A1620,#152238)}
.c.okbox{border-color:#B9E7D3;background:linear-gradient(180deg,#F1FBF6,#fff)}
html[data-theme=dark] .c.okbox{border-color:#1E5140;background:linear-gradient(180deg,#122A24,#152238)}

/* ── v2: chat surfaces (comms + Feedy) ── */
.chat-msgs{display:flex;flex-direction:column;gap:12px;background:var(--canvas)}
.msg{display:flex;gap:9px;align-items:flex-start;max-width:78%}
.msg.mine{margin-left:auto;flex-direction:row-reverse}
.msg-bubble{background:var(--card);border:1px solid var(--border);border-radius:14px;border-top-left-radius:5px;
  padding:9px 13px;font-size:13.2px;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word}
.msg.mine .msg-bubble{background:var(--navy);border-color:var(--navy);color:#fff;border-top-left-radius:14px;border-top-right-radius:5px}
.msg-bubble.thinking{color:var(--muted);font-style:italic}
.msg-meta{font-size:10.6px;color:var(--muted);margin-top:4px;padding:0 4px}
.msg.mine .msg-meta{text-align:right}
.msg.deleted .msg-bubble{border-style:dashed;color:var(--muted);font-style:italic;background:transparent}
.feedy-cites{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.cite-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);background:var(--card);
  border-radius:99px;padding:3px 9px;font-size:11px;font-weight:600;color:var(--violet);cursor:pointer;transition:.14s}
.cite-chip:hover{background:var(--violet-soft);border-color:var(--violet)}
.sugg-chip{border:1px solid var(--border);background:var(--card);border-radius:99px;padding:6px 11px;
  font-size:11.7px;color:var(--ink);cursor:pointer;text-align:left;transition:.14s;line-height:1.4}
.sugg-chip:hover{background:var(--violet-soft);border-color:var(--violet);color:var(--violet)}
.c.dashed{border-style:dashed;background:transparent}

/* selects rendered with the .inp class need room for descenders + the caret */
select.inp{height:38px;line-height:1.5;padding:0 32px 0 11px;appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2367748E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center}
html[data-theme=dark] select.inp{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238FA1BC' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center}

/* ── v2 report designer + automation builder ── */
.fchip{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 11px;font-size:11.4px;
  font-weight:600;cursor:pointer;border:1px solid transparent;transition:.14s;line-height:1.35}
.fchip:hover{transform:translateY(-1px)}
.fchip.fc-measure{background:var(--violet-soft);color:var(--violet);border-color:rgba(91,33,232,.24)}
.fchip.fc-dim{background:rgba(0,191,179,.13);color:#0A857C;border-color:rgba(0,191,179,.30)}
.fchip.fc-date{background:rgba(24,120,240,.12);color:var(--info);border-color:rgba(24,120,240,.26)}
html[data-theme=dark] .fchip.fc-dim{color:#4FD6CC}
html[data-theme=dark] .fchip.fc-measure{color:#B49BFF;border-color:rgba(140,110,255,.4)}
.drop-zone{min-height:44px;border:1.5px dashed var(--border);border-radius:11px;padding:8px 10px;
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--canvas)}
.dz-hint{font-size:11.6px;color:var(--muted)}

/* ── row actions (Edit · workflow · Delete on every table row) ── */
.rowacts{display:flex;gap:3px;justify-content:flex-end;align-items:center;opacity:.55;transition:opacity .14s}
tr:hover .rowacts,.rowacts:focus-within{opacity:1}
.b-ic.danger:hover{background:#FEF0F0;border-color:#F3C2C2;color:var(--danger)}
html[data-theme=dark] .b-ic.danger:hover{background:#3A1B23;border-color:#6A2B36;color:#FF8C8C}
.wfbtn{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--border);
  background:var(--card);border-radius:11px;padding:11px 13px;margin-bottom:8px;cursor:pointer;
  font-size:13px;font-weight:600;color:var(--ink);transition:.14s}
.wfbtn:hover{border-color:var(--violet);background:var(--violet-soft)}
.wfbtn:disabled{opacity:.5;cursor:default}
.wfto{margin-left:auto;font-size:11.2px;font-weight:500;color:var(--muted);font-family:monospace}

/* ── pictures: logos, faces, galleries ── */
.imgav{display:inline-flex;overflow:hidden;border-radius:50%;flex-shrink:0;background:var(--mut-bg);
  border:1px solid var(--border)}
.imgav.sq{border-radius:9px}
.imgav img{width:100%;height:100%;object-fit:cover;display:block}
.imgframe{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  border:1.5px dashed var(--border);border-radius:12px;background:var(--canvas);overflow:hidden}
.imgframe.round{border-radius:50%}
.imgframe img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.imgframe.round img{object-fit:cover}
.imgph{color:var(--muted-2);display:flex}
.imgph-t{font-size:10.6px;color:var(--muted);text-align:center;padding:0 8px;line-height:1.35}
.gal{display:flex;flex-wrap:wrap;gap:9px}
.galitem{position:relative;width:112px;height:82px;border-radius:11px;overflow:hidden;border:1px solid var(--border);background:var(--mut-bg)}
.galitem img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.galx{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:none;
  background:rgba(14,27,51,.72);color:#fff;font-size:11px;line-height:1;cursor:pointer;display:none}
.galitem:hover .galx{display:block}
.galadd{width:112px;height:82px;border-radius:11px;border:1.5px dashed var(--border);background:var(--canvas);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);cursor:pointer;transition:.14s}
.galadd:hover{border-color:var(--violet);color:var(--violet);background:var(--violet-soft)}

/* ── money forms: keep it obvious which way the money is going ── */
.moneyhead{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;margin-bottom:14px;border:1px solid var(--border)}
.moneyhead.in{background:rgba(15,169,113,.07);border-color:rgba(15,169,113,.25)}
.moneyhead.out{background:rgba(232,144,26,.08);border-color:rgba(232,144,26,.26)}
.moneyhead b{font-size:13.6px;color:var(--ink)}
.backlink{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;
  color:var(--violet);font-size:12.4px;font-weight:600;padding:0;margin-bottom:10px}
.backlink:hover{text-decoration:underline}
.simplerow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;
  border-bottom:1px solid var(--border-2);font-size:12.8px}
.simplerow:last-child{border-bottom:none}
.simplerow span{color:var(--muted)}
.simplerow.total{border-top:2px solid var(--border);border-bottom:none;margin-top:4px;padding-top:10px;font-size:14px}
.simplerow.total span{color:var(--ink);font-weight:700}

/* ═══════════ v2.1 · Accounts Room: big, plain, low-effort ═══════════ */
.doarow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 15px}
@media(max-width:900px){.doarow{grid-template-columns:minmax(0,1fr)}}
.dobtn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px 18px;border-radius:14px;
  border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;transition:.16s;font:inherit;position:relative;overflow:hidden}
.dobtn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,26,68,.10)}
.dobtn:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px}
.dobtn.inn:before{background:var(--cyan)} .dobtn.out:before{background:var(--violet)} .dobtn.bill:before{background:var(--blue)}
.dobtn .doic{display:flex;margin-bottom:4px}
.dobtn.inn .doic{color:var(--cyan)} .dobtn.out .doic{color:var(--violet)} .dobtn.bill .doic{color:var(--blue)}
.dobtn .dol{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.2px}
.dobtn .dos{font-size:12.2px;color:var(--muted);line-height:1.45}

.acc-bigrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:760px){.acc-bigrow{grid-template-columns:minmax(0,1fr)}}
.acc-big{background:var(--canvas);border-radius:12px;padding:14px 16px}
.acc-big .l{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:5px}
.acc-big .v{font-size:23px;font-weight:750;letter-spacing:-.6px;color:var(--ink)}
.acc-big.ok .v{color:var(--ok)} .acc-big.bad .v{color:var(--violet)}

.acc-hint{display:flex;gap:8px;align-items:flex-start;background:#F0F4FF;border:1px solid #DCE5FA;border-radius:11px;
  padding:11px 13px;margin:12px 0;font-size:12.6px;color:#334;line-height:1.55}
.acc-hint>span:first-child{color:var(--blue);display:flex;flex-shrink:0;margin-top:1px}
.acc-foot{display:flex;justify-content:space-between;align-items:center;font-size:14px}

.agebar{display:flex;height:26px;border-radius:8px;overflow:hidden;background:var(--canvas)}
.agebar i{display:block;transition:.2s}
.agekey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
@media(max-width:860px){.agekey{grid-template-columns:repeat(2,minmax(0,1fr))}}
.agekey .ak{display:flex;gap:8px;align-items:flex-start}
.agekey .ak i{width:10px;height:10px;border-radius:3px;flex-shrink:0;margin-top:3px}
.agekey .akl{font-size:11.6px;color:var(--muted);line-height:1.35}
.agekey .akv{font-size:13.5px;font-weight:700;color:var(--ink)}

.fold{border-bottom:1px solid var(--line)}
.fold:last-child{border-bottom:0}
.fold-h{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:.12s}
.fold-h:hover{background:var(--canvas)}
.fold-c{display:flex;color:var(--muted);transition:transform .16s;flex-shrink:0}
.fold-r{display:flex;align-items:center;gap:10px;flex-shrink:0}

.repgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:760px){.repgrid{grid-template-columns:minmax(0,1fr)}}
.repcard{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 20px;border-radius:13px;
  border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;transition:.16s;font:inherit}
.repcard:hover{border-color:var(--violet);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,26,68,.09)}
.repcard .repic{display:flex;color:var(--violet);margin-bottom:5px}
.repcard .repl{font-size:15.5px;font-weight:700;color:var(--ink)}
.repcard .reps{font-size:12.2px;color:var(--muted);line-height:1.5}

/* two plain buttons instead of a second row of tabs */
.subpick{display:flex;gap:9px;margin:0 0 14px;flex-wrap:wrap}
.subpick .sp{display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:10px;border:1px solid var(--line);
  background:var(--card);cursor:pointer;font:inherit;font-size:13.4px;font-weight:600;color:var(--muted);transition:.14s}
.subpick .sp:hover{color:var(--ink);border-color:#C9D4EA}
.subpick .sp.on{background:var(--navy);border-color:var(--navy);color:#fff}
.subpick .sp span:first-child{display:flex}
.foldacts{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px 4px;background:var(--canvas)}

/* ═══════════════════ v3 · the Startup Founder portal ═══════════════════
   Its own look inside the same design system: softer, roomier, and built around
   a to-do list rather than a wall of charts. */
.f-greet{margin:0 0 18px}
.f-greet h1{font-size:26px;font-weight:750;letter-spacing:-.6px;color:var(--ink);margin:0 0 4px;font-family:var(--f-head)}
.f-greet .sub{font-size:14px;color:var(--muted)}

.f-hero{display:flex;align-items:center;gap:16px;margin:0 0 16px}
.f-hero-l{display:flex;align-items:center;gap:15px;min-width:0}
.f-logo{width:58px;height:58px;border-radius:15px;overflow:hidden;flex-shrink:0;display:grid;place-items:center;background:#fff;border:1px solid var(--line)}
.f-logo img{width:100%;height:100%;object-fit:contain}
.f-logo.plc{background:linear-gradient(135deg,var(--violet),var(--blue));color:#fff;font-size:24px;font-weight:750}
.f-hero h1{font-size:23px;font-weight:750;letter-spacing:-.5px;margin:0;font-family:var(--f-head);color:var(--ink)}
.f-hero-sub{font-size:13.4px;color:var(--muted);margin-top:2px}
.f-hero-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}

.f-rail{display:flex;flex-direction:column;gap:13px}

.f-todo{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);transition:.12s}
.f-todo:last-child{border-bottom:0}
.f-todo:hover{background:var(--canvas)}
.f-todo.hot{box-shadow:inset 3px 0 0 var(--danger)}
.f-todo.f-done{opacity:.6}
.f-todo.f-done b{text-decoration:line-through}
.f-todo-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}
.f-clear{display:flex;align-items:center;gap:14px;padding:26px 20px;color:var(--ok)}
.f-clear b{color:var(--ink);font-size:15px}

.f-rings{display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.f-ring{display:flex;align-items:center;gap:12px}
.f-ring-l{font-size:13.5px;font-weight:650;color:var(--ink)}
.f-ring-s{font-size:12px;color:var(--muted)}
.f-missing{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px}

.f-nudge{background:linear-gradient(135deg,var(--navy),#26208C);color:#fff;border-radius:14px;padding:17px 18px}
.f-nudge-k{font-size:10.6px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;opacity:.72;margin-bottom:5px}
.f-nudge b{font-size:15.5px;display:block;margin-bottom:4px}
.f-nudge .small{opacity:.82;line-height:1.5;margin-bottom:12px;font-size:12.6px;display:block}
.f-nudge .b{background:#fff;color:var(--navy);border-color:#fff}

.f-session{display:flex;gap:12px;align-items:center}
.f-session-row{display:flex;gap:13px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.f-session-row:last-child{border-bottom:0}

.lockchip{display:inline-flex;align-items:center;gap:4px;margin-left:7px;padding:2px 7px;border-radius:20px;
  background:var(--canvas);border:1px solid var(--line);font-size:10.4px;font-weight:600;color:var(--muted);vertical-align:middle}
.field .inp:disabled{background:var(--canvas);color:var(--muted);cursor:not-allowed}
.inp.bad{border-color:var(--danger)!important;background:#FFF6F6}
.f-fielderr{font-size:11.8px;color:var(--danger);margin-top:4px;font-weight:600}
.f-err{display:flex;gap:9px;align-items:flex-start;background:#FFF3F3;border:1px solid #F6D4D4;border-radius:11px;
  padding:11px 13px;margin:0 0 13px;font-size:13px;color:#8A1F1F}
.f-err>span:first-child{color:var(--danger);display:flex;flex-shrink:0}

.f-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:11px;padding:14px 16px}
.f-person{display:flex;gap:11px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.f-person-av{width:40px;height:40px;border-radius:11px;object-fit:cover;flex-shrink:0}
.f-person-av.plc{display:grid;place-items:center;background:var(--violet);color:#fff;font-size:13.5px;font-weight:700}
.f-deptlist{display:flex;flex-direction:column}

.f-stagebar{display:flex;flex-direction:column;gap:11px;flex:1;min-width:240px}
.f-stage-t{display:flex;justify-content:space-between;font-size:12.6px;margin-bottom:4px}
.f-stage.now .f-stage-t b{color:var(--violet)}
.f-ms{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.f-ms:last-child{border-bottom:0}
.f-ms.done b{text-decoration:line-through;color:var(--muted)}
.f-ms-tick{background:none;border:0;cursor:pointer;color:#C9D4EA;display:flex;padding:0;flex-shrink:0}
.f-ms.done .f-ms-tick{color:var(--ok)}
.f-ms-tick:hover{color:var(--violet)}

.f-steps{display:flex;gap:6px;overflow-x:auto;padding:0 0 14px;scrollbar-width:none}
.f-steps::-webkit-scrollbar{display:none}
.f-step{display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:22px;border:1px solid var(--line);
  background:var(--card);cursor:pointer;font:inherit;font-size:12.6px;font-weight:600;color:var(--muted);white-space:nowrap;transition:.14s}
.f-step:hover{border-color:#C9D4EA;color:var(--ink)}
.f-step.now{background:var(--navy);border-color:var(--navy);color:#fff}
.f-step.done{border-color:var(--ok);color:var(--ok)}
.f-step-n{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:10.6px;
  background:var(--canvas);color:var(--muted);flex-shrink:0}
.f-step.now .f-step-n{background:rgba(255,255,255,.22);color:#fff}
.f-step.done .f-step-n{background:var(--ok);color:#fff}
.f-wizfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;flex-wrap:wrap}
.f-rupee{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}
.f-rupee>span{padding:0 10px;color:var(--muted);font-weight:650;background:var(--canvas);align-self:stretch;display:flex;align-items:center}
.f-rupee .inp{border:0;border-radius:0}
.f-was{font-size:11.5px;color:var(--muted)}
.f-derived{background:var(--canvas);border-radius:12px;padding:13px 15px;margin-top:12px}
.f-derived-t{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:8px}
.f-derived-r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.f-derived-r>div{display:flex;flex-direction:column}
.f-derived-r span{font-size:11.8px;color:var(--muted)}
.f-derived-r b{font-size:16px;color:var(--ink)}
.f-idgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.f-idgrid>div{display:flex;flex-direction:column;background:var(--canvas);border-radius:10px;padding:10px 12px}
.f-idgrid span{font-size:11.6px;color:var(--muted)}
.f-idgrid b{font-size:13.6px;color:var(--ink)}
.f-auto{background:#F0F4FF;border:1px solid #DCE5FA;border-radius:12px;padding:14px 15px;margin-top:14px}
.f-auto-t{display:flex;align-items:center;gap:7px;color:var(--blue);margin-bottom:10px}
.f-auto-r{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:11px;margin-bottom:8px}
.f-auto-r>div{display:flex;flex-direction:column}
.f-auto-r b{font-size:19px;color:var(--ink)}
.f-auto-r span{font-size:11.4px;color:var(--muted)}
.f-agree{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;user-select:none}
.f-agree input{width:16px;height:16px;cursor:pointer}

.f-payhead{display:flex;gap:26px;background:var(--canvas);border-radius:11px;padding:13px 15px;margin-bottom:13px}
.f-payhead>div{display:flex;flex-direction:column}
.f-payhead span{font-size:11.7px;color:var(--muted)}
.f-payhead b{font-size:18px;color:var(--ink)}

.f-mentors{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:11px;padding:14px 16px}
.f-mentor{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--card)}
.f-mentor-av{width:44px;height:44px;border-radius:12px;object-fit:cover;flex-shrink:0}
.f-mentor-av.plc{display:grid;place-items:center;background:var(--cyan);color:#fff;font-weight:700;font-size:14px}
.f-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}

.f-plan{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}
.f-plan-k{font-size:10.8px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--violet);margin-bottom:4px}
.f-plan-main b{font-size:19px;color:var(--ink);display:block}
.f-plan-nums{display:flex;gap:24px}
.f-plan-nums>div{display:flex;flex-direction:column}
.f-plan-nums span{font-size:11.6px;color:var(--muted)}
.f-plan-nums b{font-size:16px;color:var(--ink)}
.f-empty-cta{display:flex;gap:16px;align-items:center;color:var(--violet);flex-wrap:wrap}
.f-empty-cta b{color:var(--ink);font-size:15px;display:block;margin-bottom:3px}
.f-amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;padding:14px 16px}
.f-amen-c{display:flex;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.f-amen-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--canvas);color:var(--violet);flex-shrink:0}

.f-event{display:flex;gap:13px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.f-event:last-child{border-bottom:0}
.f-offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;padding:14px 16px}
.f-offer{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--card);display:flex;flex-direction:column;gap:9px}
.f-offer-h{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.f-offer-h b{font-size:15.5px;color:var(--ink)}
.f-offer-n{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:10px;background:var(--canvas);border-radius:10px;padding:11px 12px}
.f-offer-n>div{display:flex;flex-direction:column}
.f-offer-n span{font-size:11.2px;color:var(--muted)}
.f-offer-n b{font-size:14.6px;color:var(--ink)}

.f-checklist{display:flex;flex-direction:column}
.f-check{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.f-check:last-child{border-bottom:0}
.f-check-ic{color:#C9D4EA;display:flex;flex-shrink:0}
.f-check.done .f-check-ic{color:var(--ok)}
.f-sign{border:2px dashed var(--line);border-radius:12px;background:#fff;width:100%;height:auto;touch-action:none;cursor:crosshair;display:block}

@media(max-width:900px){
  .f-derived-r{grid-template-columns:minmax(0,1fr)}
  .f-plan-nums{gap:16px}
  .f-wizfoot{flex-direction:column;align-items:stretch}
  .f-rings{gap:16px}
}

.f-ring-svg{display:flex;flex-shrink:0}

/* the filter banner that appears when a KPI tile is clicked */
.viewbar{display:flex;align-items:center;gap:9px;background:#F0F4FF;border:1px solid #DCE5FA;border-radius:11px;
  padding:9px 14px;margin:0 0 13px;font-size:13px}
.viewbar>span:first-child{color:var(--blue);display:flex}
.viewbar b{color:var(--ink)}
.vclear{margin-left:auto;background:none;border:0;color:var(--violet);font:inherit;font-size:12.6px;
  font-weight:650;cursor:pointer;padding:0}
.vclear:hover{text-decoration:underline}

/* ── where the startups are (state spread) ───────────────────────────── */
.mtr i.t-violet{background:linear-gradient(90deg,#6D2BF0,#8C5BF5)}
.mtr i.t-blue{background:linear-gradient(90deg,#1E6BE0,#4A94F5)}
.mtr i.t-cyan{background:linear-gradient(90deg,#00A99E,#22C9BC)}
.mtr i.t-green{background:linear-gradient(90deg,#0FA971,#35C98E)}
.mtr i.t-amber{background:linear-gradient(90deg,#E8901A,#F5B04A)}
.mtr i.t-pink{background:linear-gradient(90deg,#DB2777,#F06AA5)}
.mtr i.t-mut{background:linear-gradient(90deg,#9AA6BC,#B9C2D4)}
.zchip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:99px;
  border:1px solid var(--border);background:var(--card);font-size:11px;color:var(--muted);line-height:1.5}
.zchip i{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.zchip b{color:var(--ink);font-size:11.4px}

/* v3.7.5 (F-058) · the heading over the board-question strip. It has to read as a second group,
   not as more of the same fifteen tiles above it. */
.cc-board-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:16px 0 9px;
  padding-top:14px;border-top:1px solid var(--border-2)}
.cc-board-h b{font-size:13.6px;color:var(--ink)}
.cc-board-h span{font-size:11.8px;color:var(--muted);line-height:1.6}

/* v3.7.5 (F-021) · the one line the Command Center shows when nothing is waiting. A queue you
   have emptied should feel emptied, so it takes a line rather than a card. */
.cc-clear{display:flex;align-items:center;gap:9px;margin:0 0 13px;padding:10px 14px;border-radius:11px;
  background:var(--ok-soft,var(--card-2));color:var(--ink-2);font-size:12.8px;font-weight:600;
  border:1px solid var(--border-2)}
.cc-clear span:first-child{display:flex;color:var(--ok,#1FA98C)}

/* ── masonry: cards keep their own height, no dead space under short ones ── */
.msn{display:grid;grid-auto-rows:6px;column-gap:13px;grid-auto-flow:row dense;margin-bottom:13px}
.msn>*{align-self:start;min-width:0}
.msn>.w2{grid-column:span 2}
.msn>.w3{grid-column:span 3}
@media(min-width:1300px){.msn{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px) and (max-width:1299px){.msn{grid-template-columns:repeat(2,minmax(0,1fr));}
  .msn>.w3{grid-column:span 2}}
@media(max-width:899px){.msn{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;row-gap:13px}
  .msn>*{grid-row:auto!important}
  .msn>.w2,.msn>.w3{grid-column:span 1}}

/* ── the vendor's mirror: watching a centre through that centre's own screens ───────────── */
.mirror{position:sticky;top:0;z-index:45;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:8px 20px;background:linear-gradient(90deg,#7A1FA2,#B02A8F 60%,#C2410C);
  color:#fff;font-size:12.4px;box-shadow:0 2px 10px rgba(0,0,0,.16)}
.mirror .mi{display:flex;align-items:center;gap:8px;min-width:0}
.mirror b{font-weight:750}
.mirror .msub{opacity:.86;font-size:11.4px}
.mirror .mro{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;
  background:rgba(255,255,255,.18);font-size:10.8px;letter-spacing:.4px;text-transform:uppercase;font-weight:700}
.mirror .mout{margin-left:auto;background:#fff;color:#7A1FA2;border:0;border-radius:8px;
  padding:6px 13px;font-size:12.2px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px}
.mirror .mout:hover{background:#F3E8FF}
/* v3.7.8 (F-162): supervised edit mode. Watching is purple and says read only; CHANGING is
   orange, because the one thing a person must never do is mistake one for the other. */
.mirror.editing{background:linear-gradient(90deg,#B45309,#C2410C 55%,#9A3412);
  animation:supPulse 3.2s ease-in-out infinite}
.mirror.editing .mout{color:#9A3412}
.mirror.editing .mout:hover{background:#FFEDD5}
@keyframes supPulse{0%,100%{box-shadow:0 2px 10px rgba(0,0,0,.16)}50%{box-shadow:0 2px 18px rgba(194,65,12,.55)}}
@media (prefers-reduced-motion:reduce){.mirror.editing{animation:none}}
.v2shell.mirroring .v2sb{top:0}

/* ── the app's own Back, in the topbar. Says where it goes, not just an arrow. ── */
.v2tb-back{display:flex;align-items:center;gap:7px;flex-shrink:0;height:36px;padding:0 13px 0 10px;
  border:1px solid var(--border);background:var(--card);color:var(--ink-2);border-radius:9px;
  font-size:12.6px;font-weight:600;font-family:inherit;cursor:pointer;max-width:230px;
  transition:background .13s,border-color .13s,color .13s}
.v2tb-back:hover{background:var(--violet-soft);border-color:var(--violet-soft-2);color:var(--violet)}
.v2tb-back:active{transform:translateY(1px)}
.v2tb-back svg{width:16px;height:16px;flex:none}
.v2tb-back .rlabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.v2tb-back{padding:0 9px;max-width:none}.v2tb-back .rlabel{display:none}}

/* the second, quieter link under "Ask Feedy" in the sidebar help card */
.v2sb-help .hb2{display:block;width:100%;margin-top:6px;padding:5px;border:0;background:none;
  color:#9FB2D0;font-size:11px;font-family:inherit;cursor:pointer;border-radius:7px}
.v2sb-help .hb2:hover{color:#fff;background:rgba(255,255,255,.08)}

/* ── Central Communication: starting a conversation ──
   The audience picker and the people picker for the Announcement and New Message dialogs. */
.cmw-lede{display:flex;gap:9px;align-items:flex-start;background:var(--violet-soft,#F1ECFE);
  border:1px solid var(--violet-soft-2,#DCCFFA);border-radius:11px;padding:10px 12px;
  font-size:12.3px;line-height:1.55;color:var(--ink-2);margin-bottom:14px}
.cmw-lede>span:first-child{color:var(--violet);display:flex;flex:none;margin-top:1px}
.cmw-warn{display:flex;gap:9px;align-items:flex-start;background:#FFF3F3;border:1px solid #F6D4D4;
  border-radius:11px;padding:10px 12px;font-size:12.6px;line-height:1.5;color:#7A1F1F;margin-bottom:13px}
.cmw-warn>span:first-child{color:var(--danger);display:flex;flex:none;margin-top:1px}
.cmw-aud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cmw-a{text-align:left;padding:10px 12px;border-radius:11px;cursor:pointer;font:inherit;
  border:1.5px solid var(--border);background:var(--card);color:var(--ink)}
.cmw-a b{display:block;font-size:12.8px}
.cmw-a span{display:block;font-size:11.2px;color:var(--muted);margin-top:2px;line-height:1.45}
.cmw-a:hover{border-color:var(--violet-soft-2,#DCCFFA)}
.cmw-a.on{border-color:var(--violet);background:var(--violet-soft,#F1ECFE)}
.cmw-a.on b{color:var(--violet)}
.cmw-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;
  border:1px solid var(--border);border-radius:11px;padding:11px}
.cmw-chk{display:flex;align-items:center;gap:7px;font-size:12.4px;cursor:pointer}
.cmw-count{font-size:11.2px;color:var(--muted);text-align:right;margin-top:5px}
.cmw-people{max-height:250px;overflow:auto;border:1px solid var(--border);border-radius:11px;margin-top:9px}
.cmw-p{display:flex;align-items:center;gap:10px;padding:8px 11px;cursor:pointer;
  border-bottom:1px solid var(--border-2)}
.cmw-p:last-child{border-bottom:0}
.cmw-p:hover{background:var(--canvas)}
.cmw-p b{display:block;font-size:12.8px}
.cmw-p span{display:block;font-size:11.2px;color:var(--muted)}
.cmw-picked{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;min-height:26px;align-items:center}
.cmw-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 6px 4px 10px;border-radius:99px;
  font-size:11.8px;font-weight:600;background:var(--violet-soft,#F1ECFE);color:var(--violet)}
.cmw-tag button{border:0;background:none;cursor:pointer;color:inherit;display:flex;padding:2px;
  border-radius:50%;opacity:.7}
.cmw-tag button:hover{opacity:1;background:rgba(91,33,232,.14)}
.cmw-none{font-size:12px;color:var(--muted);padding:12px}
@media(max-width:620px){.cmw-aud{grid-template-columns:minmax(0,1fr)}.cmw-roles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── dark mode: surfaces that were painted a hard white ──
   A control with `background:#fff` keeps its white in dark mode while its `var(--ink)` text
   turns near-white, so the label disappears. The three big Accounts buttons were the worst of
   these. Anything left below is a deliberate white that also needs its own dark answer. */
html[data-theme="dark"] .inp.bad{background:rgba(226,61,61,.14)}
html[data-theme="dark"] .f-err{background:rgba(226,61,61,.13);border-color:rgba(226,61,61,.34);color:#FFC9C9}
html[data-theme="dark"] .cmw-warn{background:rgba(226,61,61,.13);border-color:rgba(226,61,61,.34);color:#FFC9C9}
html[data-theme="dark"] .f-sign{background:var(--card-2)}
html[data-theme="dark"] .f-logo{background:var(--card-2)}

/* ───────── v3.7.5 · sitting 22 (F-181) · the email setup screen ─────────
   Owned by v2.css because it lives inside the Settings module, which v2.css draws. Every class
   is prefixed `set-` so no other stylesheet can reach it (the rule from section 1.13). */
.set-mailsays{padding:11px 13px;border-radius:10px;border:1px solid var(--line);font-size:12.5px;line-height:1.55;margin-bottom:12px}
.set-mailsays.ok{border-color:rgba(0,191,179,.5)}
.set-mailsays.warn{border-color:rgba(245,166,35,.5)}
.set-mailsays.bad{border-color:rgba(229,72,77,.55)}
.set-steps{margin:0 0 14px 18px;padding:0;font-size:12.5px}
.set-steps li{margin-bottom:8px;line-height:1.5}
.set-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.set-choice{text-align:left;padding:12px 13px;border-radius:11px;border:1px solid var(--line);background:var(--card);cursor:pointer;display:block}
.set-choice b{display:block;margin-bottom:5px;line-height:1.35}
.set-choice:hover{border-color:var(--teal-dark)}
.set-choice.on{border-color:var(--teal-dark);box-shadow:inset 0 0 0 1px var(--teal-dark)}
.set-why{padding:10px 13px;border-radius:10px;background:var(--violet-soft);font-size:12.5px;line-height:1.55;margin:14px 0 10px}
.set-code{display:inline-block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;background:var(--bg2,var(--card));border:1px solid var(--line);border-radius:6px;padding:2px 6px;overflow-wrap:anywhere}
.set-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:10px 0 12px}
.set-form label{display:block;font-size:11.5px;color:var(--mut);font-weight:600}
.set-form label .inp{width:100%;margin-top:4px}
@media (max-width:1080px){.set-choices,.set-form{grid-template-columns:minmax(0,1fr)}}

/* ───────── v3.7.5 · sitting 23 (F-082 to F-090) · the GFR 12-A form dialog ─────────
   Prefixed `v8-` so nothing else can reach it, same rule as cw-, v4-, v5- and v7-. */
.v8-uc{font-size:12.5px}
.v8-head{margin-bottom:12px}
.v8-sub{display:block;font-size:11.5px;color:var(--mut);margin-top:3px}
.v8-h{margin:18px 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
.v8-cols{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:12px}
.v8-col{display:flex;gap:10px;padding:7px 11px;border-bottom:1px solid var(--line);align-items:baseline}
.v8-col:last-child{border-bottom:none}
.v8-col.tot{background:var(--bg2,var(--card));font-weight:700}
.v8-coln{width:18px;color:var(--mut);font-size:11px}
.v8-coll{flex:1;min-width:0}
.v8-colv{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:110px}
.v8-f{display:block;margin-bottom:11px}
.v8-fl{display:block;font-size:11.5px;color:var(--mut);font-weight:600;margin-bottom:4px}
.v8-fh{display:block;font-size:11px;color:var(--mut);margin-top:4px;line-height:1.45}
.v8-f .inp{width:100%}
.v8-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.v8-note{font-size:11.5px;color:var(--mut);line-height:1.5;margin-bottom:10px}
.v8-warn{font-size:11.8px;line-height:1.5;padding:9px 11px;border-radius:9px;border:1px solid rgba(245,166,35,.5);margin-bottom:10px}
.v8-soe{width:100%;border-collapse:collapse;font-size:11.8px;margin-bottom:10px}
.v8-soe th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);border-bottom:1px solid var(--line);padding:5px 6px}
.v8-soe td{padding:5px 6px;border-bottom:1px dashed var(--line)}
.v8-soe td.num,.v8-soe th.num{text-align:right;font-variant-numeric:tabular-nums}
.v8-soe td.bad{color:var(--danger);font-weight:700}
@media (max-width:900px){.v8-two{grid-template-columns:minmax(0,1fr)}}

/* ── v3.7.10 · the Settings search box, which replaced a grid of nine cards whose forty-five
   rows all carried a chevron and none of which was clickable. A person looking for one setting
   types two letters and gets the answer, which is what the grid was pretending to do. ── */
.v8s-find { margin: 0 0 14px; }
.v8s-hit { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; max-width: 380px; text-align: left; background: var(--card);
  border: 1px solid var(--border); border-top: none; padding: 9px 12px; cursor: pointer;
  font: inherit; color: var(--ink); }
.v8s-hit:first-of-type { border-top: 1px solid var(--border); border-radius: 10px 10px 0 0; }
.v8s-hit:last-of-type { border-radius: 0 0 10px 10px; }
.v8s-hit:hover { background: var(--violet-soft); }
.v8s-hit-n { font-size: 12.8px; font-weight: 600; }
.v8s-hit-t { font-size: 11.4px; color: var(--muted); flex: 0 0 auto; }
.v8s-says { font-size: 12.6px; color: var(--muted); line-height: 1.6; margin: -6px 0 14px; }
