/* ============================================================
   VIJIN.AI — Regional Intelligence OS · Prototype Design System
   Dark = Strategic Operations Center · Light = Executive Workspace
   Brand: Deep Blue #090454 · Málaga #FD421F · Piki #336AEA
          Mediterranean #17D1C6 · Off-White #FAF6E7
          Aubergine #503259/#765186/#B07CC6 · Minty #52D999 · Gold #FEB602
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@300;400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Montserrat:wght@700;800&display=swap');

/* ---------- brand raw ---------- */
:root{
  --deep-blue:#090454; --malaga:#fd421f; --piki:#336aea; --medi:#17d1c6;
  --offwhite:#faf6e7; --aub:#503259; --aub-1:#765186; --aub-2:#b07cc6;
  --minty:#52d999; --gold:#feb602;
  --r-sm:8px; --r:12px; --r-lg:16px; --r-xl:20px;
  --sidebar-w:248px; --topbar-h:90px;
  --f-ar:'IBM Plex Sans Arabic','IBM Plex Sans',system-ui,sans-serif;
  --f-en:'IBM Plex Sans',system-ui,sans-serif;
  --f-mono:'IBM Plex Mono',monospace;
}

/* ================= DARK THEME (default) ================= */
:root,[data-theme="dark"]{
  --bg-0:#090454; --bg-1:#090454; --bg-2:#090454; --bg-3:#090454; --bg-4:#181551;
  --panel:linear-gradient(180deg,rgba(20,16,72,.5),rgba(11,8,48,.55));
  --panel-2:rgba(7,5,34,.5);
  --panel-3:rgba(123,108,240,.06);
  --line:rgba(157,123,255,.16); --line-2:rgba(120,140,230,.26);
  --grid:rgba(120,140,230,.05);
  --inset:inset 0 1px 0 rgba(255,255,255,.04);
  --t0:#f8f6ff; --t1:#e8e5fa; --t2:#c4c0e6; --t3:#a6a1d2;
  --violet:#7b6cf0; --violet-2:#9d7bff; --violet-deep:#5a47c8;
  --cyan:#17d1c6; --pos:#52d999; --warn:#feb602; --crit:#fd421f;
  --cyan-t:#7fe7e0; --pos-t:#8fe9bf; --warn-t:#ffd166; --crit-t:#ff8b73;
  --head:#ffffff; --shadow:0 10px 34px -18px rgba(0,0,0,.85);
  --topbar-bg:linear-gradient(180deg,rgba(17,16,63,.75),rgba(8,4,33,.5));
  --side-bg:linear-gradient(180deg,rgba(13,11,52,.55),rgba(6,4,28,.55));
  --input-bg:rgba(4,2,15,.55);
}
/* ================= LIGHT THEME ================= */
[data-theme="light"]{
  /* Brand cream #faf6e7 is the approved canvas (--bg-0); every surface
     is rebuilt ASCENDING (lighter → white) so cards still pop above it. */
  --bg-0:#faf6e7; --bg-1:#fbf8ee; --bg-2:#fdfbf4; --bg-3:#fffefb; --bg-4:#ffffff;
  --panel:linear-gradient(180deg,#ffffff,#fcf9f0);
  --panel-2:#fffdf7;
  --panel-3:#fbf7ec;
  --line:rgba(80,50,89,.22); --line-2:rgba(9,4,84,.24);
  --grid:rgba(9,4,84,.05);
  --inset:inset 0 1px 0 rgba(255,255,255,.6);
  --t0:#0a0738; --t1:#211f47; --t2:#4a4767; --t3:#6e6b88;
  --violet:#5a47c8; --violet-2:#6d3f9e; --violet-deep:#503259;
  --cyan:#0a7d75; --pos:#157a4a; --warn:#7a5600; --crit:#d62d13;
  --cyan-t:#076a63; --pos-t:#105f3a; --warn-t:#5e4400; --crit-t:#b3260f;
  --head:#090454; --shadow:0 14px 32px -18px rgba(9,4,84,.3);
  --topbar-bg:linear-gradient(180deg,#ffffff,#fbf8ee);
  --side-bg:linear-gradient(180deg,#fdfaf1,#f8f4e9);
  --input-bg:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{background:var(--bg-0);color:var(--t1);font-family:var(--f-ar);-webkit-font-smoothing:antialiased;overflow:hidden}
[dir="ltr"] body,body[dir="ltr"]{font-family:var(--f-en)}
.mono{font-family:var(--f-mono);font-feature-settings:"tnum" 1;letter-spacing:-.01em}
.en{font-family:var(--f-en)}
.vj-wordmark,.welcome h1 b,.rg-intro h1 b{font-family:"Montserrat","IBM Plex Sans",system-ui,sans-serif!important;font-weight:800;letter-spacing:.01em}
.vjn{font-family:"Montserrat","IBM Plex Sans",system-ui,sans-serif;font-weight:800;letter-spacing:.005em;color:inherit}
a{color:inherit;text-decoration:none}

/* scrollbars */
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:rgba(123,108,240,.22);border-radius:9px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:rgba(123,108,240,.4);background-clip:padding-box}

/* ============ SCALED STAGE ============ */
.stage{position:fixed;inset:0;overflow:hidden;background:var(--bg-0)}
.frame{width:1920px;height:1080px;position:absolute;top:0;left:50%;transform-origin:top center;
  background:var(--bg-1);overflow:hidden;
  display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr 0}
.frame.has-ticker{grid-template-rows:var(--topbar-h) 1fr 40px}

/* ============ TOPBAR ============ */
.topbar{grid-column:1/3;display:flex;align-items:center;gap:16px;padding:0 18px;
  border-bottom:1px solid var(--line);background:var(--topbar-bg);z-index:6}
.logo{display:flex;align-items:center;gap:11px;flex:none}
.logo-img{width:225px;height:150px;max-height:74px;object-fit:contain;object-position:center;display:block}
.logo-l{display:none}
[data-theme="light"] .logo-d{display:none}
[data-theme="light"] .logo-l{display:block}
.logo .mk{width:34px;height:38px;color:var(--malaga)}
.logo .tx .n{font-family:var(--f-en);font-weight:700;font-size:19px;color:var(--head);line-height:1;letter-spacing:.02em}
.logo .tx .s{font-size:10px;color:var(--t2);margin-top:3px}
.logo .tx .s b{color:var(--violet-2);font-weight:600}
.tbsep{width:1px;height:30px;background:var(--line)}
.search{flex:1;max-width:520px;display:flex;align-items:center;gap:10px;height:40px;border:1px solid var(--line-2);
  border-radius:11px;padding:0 14px;background:var(--input-bg);color:var(--t3)}
.search input{flex:1;background:none;border:0;outline:0;color:var(--t1);font-family:var(--f-ar);font-size:13.5px}
.search input::placeholder{color:var(--t3)}
.clock{display:flex;align-items:center;gap:14px;margin-inline-start:auto;flex:none}
.clk{text-align:start;display:flex;flex-direction:column;gap:3px}
.clk-top{display:flex;align-items:center;gap:12px}
.clk .t{font-family:var(--f-mono);font-size:16px;color:var(--head);font-weight:600;line-height:1}
.clk .t .z{font-size:10px;color:var(--t2)}
.clk-world{display:flex;gap:9px}
.clk-world .cw{font-size:9.5px;color:var(--t3);white-space:nowrap}
.clk-world .cw b{font-family:var(--f-mono);color:var(--t1);font-weight:600}
.clk .d{font-size:10px;color:var(--t2);white-space:nowrap}
.tb-actions{display:flex;align-items:center;gap:9px;flex:none}
.notif{position:relative}
.notif .cnt{position:absolute;top:-5px;inset-inline-start:-5px;min-width:17px;height:17px;border-radius:9px;background:var(--crit);
  color:#fff;font-family:var(--f-mono);font-size:10px;font-weight:600;display:grid;place-items:center;padding:0 4px;border:2px solid var(--bg-1)}
.user{display:flex;align-items:center;gap:10px;padding:4px;padding-inline-start:12px;border:1px solid var(--line);border-radius:30px;background:rgba(127,127,200,.04)}
.user .av{width:36px;height:36px;border-radius:50%;flex:none;border:1px solid var(--line-2);
  background:radial-gradient(circle at 50% 35%,var(--aub-2),var(--violet-deep));display:grid;place-items:center;color:#fff;font-weight:600;font-size:14px}
.user .ui b{display:block;color:var(--head);font-size:13px;font-weight:600;line-height:1.2}
.user .ui span{font-size:10.5px;color:var(--violet-2)}

/* ============ SIDEBAR ============ */
.side{grid-column:1/2;grid-row:2/3;border-inline-end:1px solid var(--line);background:var(--side-bg);
  display:flex;flex-direction:column;padding:14px 12px;overflow:hidden;z-index:5}
[dir="rtl"] .side{border-inline-end:0;border-inline-start:1px solid var(--line)}
.side .tier-head{display:flex;align-items:center;gap:10px;padding:8px 8px 14px;border-bottom:1px solid var(--line);margin-bottom:10px}
.side .tier-head .ti{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none;
  background:linear-gradient(135deg,var(--violet),var(--piki));color:#fff}
.side .tier-head .tt b{display:block;color:var(--head);font-size:14.5px;font-weight:600;line-height:1.15}
.side .tier-head .tt span{font-size:10px;color:var(--t3);font-family:var(--f-en);letter-spacing:.04em;text-transform:uppercase}
.nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;margin:0 -4px;padding:0 4px}
.nav .grp{font-family:var(--f-en);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);padding:12px 10px 5px}
.nav a{display:flex;align-items:center;gap:11px;min-height:38px;padding:7px 11px;border-radius:9px;color:var(--t1);position:relative}
.nav a .ni{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;color:var(--t2);background:color-mix(in oklab,var(--t2) 9%,transparent);border:1px solid transparent;transition:.16s}
.nav a .ni svg{width:17px;height:17px}
.nav a .nt{display:flex;flex-direction:column;gap:1px;line-height:1.1;min-width:0}
.nav a .nt b{font-size:13px;font-weight:500;white-space:nowrap}
.nav a .nt span{font-family:var(--f-en);font-size:9px;color:var(--t3);letter-spacing:.02em;white-space:nowrap}
.nav a:hover{background:rgba(123,108,240,.09)}
.nav a:hover .ni{color:var(--cyan);background:color-mix(in oklab,var(--cyan) 14%,transparent);border-color:color-mix(in oklab,var(--cyan) 30%,transparent)}
.nav a.on{background:linear-gradient(90deg,rgba(123,108,240,.22),rgba(123,108,240,.03));color:var(--head)}
[dir="rtl"] .nav a.on{background:linear-gradient(-90deg,rgba(123,108,240,.22),rgba(123,108,240,.03))}
.nav a.on .ni{color:#fff;background:linear-gradient(135deg,var(--violet),var(--violet-2));border-color:transparent;box-shadow:0 4px 12px -3px color-mix(in oklab,var(--violet) 75%,transparent),0 0 0 1px color-mix(in oklab,var(--violet-2) 30%,transparent)}
.nav a.on::before{content:"";position:absolute;inset-inline-start:-12px;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--violet);box-shadow:0 0 10px var(--violet)}
.side .switch{margin-top:10px;border:1px solid var(--line-2);border-radius:11px;padding:10px;background:rgba(123,108,240,.06)}
.side .switch .lab{font-family:var(--f-en);font-size:9px;color:var(--t3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px}
.side .switch .cur{display:flex;align-items:center;gap:8px;height:36px;border-radius:8px;
  background:linear-gradient(100deg,var(--violet-deep),var(--violet));padding:0 12px;color:#fff;font-weight:600;font-size:12.5px}

/* ============ MAIN ============ */
.main{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:column;gap:13px;padding:16px 18px;overflow-y:auto;overflow-x:hidden}
.page-head{display:flex;align-items:flex-end;gap:14px;flex:none}
.page-head .pt h1{margin:0;font-size:28px;font-weight:700;color:var(--head);line-height:1.1;letter-spacing:-.01em}
.page-head .pt .sub{font-size:13px;color:var(--t2);margin-top:5px;font-family:var(--f-en);letter-spacing:.02em}
.page-head .crumbs{font-size:11.5px;color:var(--t3)}
.page-head .ph-actions{margin-inline-start:auto;display:flex;align-items:center;gap:9px}

/* eyebrow / labels */
.eyebrow{font-family:var(--f-en);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3)}

/* ============ PANEL ============ */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--inset),var(--shadow);position:relative;display:flex;flex-direction:column;min-width:0}
.panel-h{display:flex;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid var(--line);flex:none}
.panel-h .ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;background:rgba(123,108,240,.12);border:1px solid var(--line-2);color:var(--violet-2)}
.panel-h .ti{display:flex;flex-direction:column;gap:1px;min-width:0}
.panel-h .ti b{color:var(--head);font-weight:600;font-size:15px;line-height:1.15}
.panel-h .ti span{font-size:10px;letter-spacing:.05em;color:var(--t3);text-transform:uppercase;font-family:var(--f-en)}
.panel-h .sp{margin-inline-start:auto}
.panel-b{padding:15px;flex:1;min-height:0}
.panel-b.flush{padding:0}

.grid{display:grid;gap:13px}

/* ============ BADGES / CHIPS ============ */
.badge{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 9px;border-radius:6px;font-size:11px;font-weight:600;font-family:var(--f-ar);line-height:1;border:1px solid transparent;white-space:nowrap}
.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.b-pos{background:rgba(82,217,153,.13);color:var(--pos-t);border-color:rgba(82,217,153,.3)}
.b-cyan{background:rgba(23,209,198,.13);color:var(--cyan-t);border-color:rgba(23,209,198,.3)}
.b-warn{background:rgba(254,182,2,.13);color:var(--warn-t);border-color:rgba(254,182,2,.32)}
.b-crit{background:rgba(253,66,31,.14);color:var(--crit-t);border-color:rgba(253,66,31,.34)}
.b-violet{background:rgba(123,108,240,.15);color:var(--violet-2);border-color:rgba(123,108,240,.32)}
.b-soon{background:rgba(138,134,184,.12);color:var(--t2);border-color:rgba(138,134,184,.24)}
.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:8px;font-size:12px;font-weight:500;color:var(--t1);border:1px solid var(--line-2);background:rgba(123,108,240,.05);cursor:pointer}
.chip.on{background:rgba(123,108,240,.2);color:var(--head);border-color:transparent}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* topic/media badges inside a chip-row act as multi-select filters */
.chip-row .badge{cursor:pointer;transition:transform .08s,box-shadow .15s,filter .15s}
.chip-row .badge:hover{filter:brightness(1.08)}
.chip-row .badge:active{transform:scale(.94)}
.chip-row .badge.on{box-shadow:0 0 0 2px color-mix(in oklab,var(--cyan,#17d1c6) 60%,transparent);filter:brightness(1.12)}

.delta{font-family:var(--f-mono);font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;gap:3px}
.up{color:var(--pos)} .down{color:var(--crit)}
.live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--pos-t);font-family:var(--f-en)}
.live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pos);box-shadow:0 0 0 0 rgba(82,217,153,.5);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(82,217,153,.5)}70%{box-shadow:0 0 0 7px rgba(82,217,153,0)}100%{box-shadow:0 0 0 0 rgba(82,217,153,0)}}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:9px;border:1px solid var(--line-2);background:rgba(127,127,200,.04);color:var(--t1);font-family:var(--f-ar);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--violet);color:var(--head)}
.btn-primary{background:linear-gradient(100deg,var(--violet-deep),var(--violet) 55%,var(--piki));border-color:transparent;color:#fff;box-shadow:0 10px 26px -12px rgba(123,108,240,.8),var(--inset)}
.btn-primary:hover{color:#fff}
.btn-sm{height:32px;padding:0 12px;font-size:12px}
.icon-btn{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line);background:rgba(127,127,200,.04);color:var(--t2);cursor:pointer;flex:none}
.icon-btn:hover{color:var(--head);border-color:var(--line-2)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:rgba(0,0,0,.12)}
[data-theme="light"] .seg{background:rgba(9,4,84,.04)}
.seg button{border:0;background:transparent;color:var(--t2);font-family:var(--f-en);font-size:12px;font-weight:600;padding:7px 13px;cursor:pointer}
.seg button.on{background:rgba(123,108,240,.22);color:var(--head)}

hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0}

/* ============ KPI ============ */
.kpis{display:grid;gap:11px}
.kpi{border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;background:var(--panel);position:relative;overflow:hidden}
.kpi .kh{display:flex;align-items:center;gap:8px}
.kpi .kic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(123,108,240,.13);color:var(--violet-2);flex:none}
.kpi .kl{line-height:1.15;min-width:0}
.kpi .kl b{display:block;font-size:11.5px;color:var(--t1);font-weight:600}
.kpi .kl span{font-family:var(--f-en);font-size:8.5px;color:var(--t3);letter-spacing:.03em}
.kpi .kv{font-family:var(--f-mono);font-size:25px;font-weight:600;color:var(--head);margin-top:9px;line-height:1}
.kpi .kf{display:flex;align-items:center;justify-content:space-between;margin-top:7px}
.kpi .spk{height:22px;width:64px}

/* ============ TABLE ============ */
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl th{text-align:start;font-family:var(--f-en);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);font-weight:600;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--t1)}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:rgba(123,108,240,.05)}
.tbl tbody tr{cursor:pointer}
.tbl tbody tr:active{background:color-mix(in oklab,var(--violet,#7b6cf0) 12%,transparent)}
.tbl .who{display:flex;align-items:center;gap:9px}
.tbl .av-sm{width:30px;height:30px;border-radius:8px;flex:none;display:grid;place-items:center;color:#fff;font-weight:600;font-size:12px;background:linear-gradient(135deg,var(--aub-1),var(--violet-deep))}
.tbl .who b{color:var(--head);font-weight:600;display:block;font-size:12.5px}
.tbl .who span{font-size:10.5px;color:var(--t3)}
.tbl .num{font-family:var(--f-mono);color:var(--head)}

/* progress bar */
.pbar{height:7px;border-radius:7px;background:rgba(127,127,200,.12);overflow:hidden;min-width:60px}
.pbar i{display:block;height:100%;border-radius:7px;background:var(--violet)}

/* list items */
.lst{display:flex;flex-direction:column;gap:9px}
.lrow{display:flex;align-items:center;gap:11px}
.lrow .lic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none;background:rgba(123,108,240,.12);color:var(--violet-2)}
.lrow .lx{flex:1;min-width:0}
.lrow .lx b{display:block;color:var(--head);font-size:12.5px;font-weight:600;line-height:1.3}
.lrow .lx span{font-size:11px;color:var(--t2)}
.lrow .lmeta{font-family:var(--f-mono);font-size:11.5px;color:var(--t1);flex:none}

/* timeline */
.tl{display:flex;flex-direction:column;gap:10px}
.tl .ev{display:flex;align-items:center;gap:10px}
.tl .ev .dt{width:9px;height:9px;border-radius:50%;flex:none}
.tl .ev .tm{font-family:var(--f-mono);font-size:11px;color:var(--t2);flex:none}
.tl .ev .ed{flex:1;font-size:12.5px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* national registry (command-center add-on) */
.br-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3);margin:2px 2px 12px}
.br-count{font-family:var(--f-mono);font-size:11px;font-weight:700;color:var(--head);background:var(--panel-3);border:1px solid var(--line);border-radius:7px;padding:3px 9px}
.br-list{display:flex;flex-direction:column;margin-bottom:12px}
.br-row{display:flex;align-items:center;gap:11px;padding:10px 2px;border-block-end:1px solid color-mix(in oklab,var(--line) 60%,transparent)}
.br-row:last-child{border-block-end:0}
.br-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:rgba(123,108,240,.13);color:var(--violet-2)}
.br-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.br-tx b{font-size:13px;font-weight:700;color:var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.br-tx span{font-size:11px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--f-mono)}
.br-row .badge{flex:none}
.br-foot{width:100%;justify-content:center}

/* alert */
.alert{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(253,66,31,.05);border-color:rgba(253,66,31,.22)}
.alert .aic{width:28px;height:28px;border-radius:8px;background:rgba(253,66,31,.14);color:var(--crit-t);display:grid;place-items:center;flex:none}
.alert .atx{flex:1;min-width:0}
.alert .atx b{display:block;font-size:12.5px;color:var(--head);font-weight:500;line-height:1.3}
.alert .atx .at2{font-family:var(--f-mono);font-size:10.5px;color:var(--t2);margin-top:3px}
.alert.warn{background:rgba(254,182,2,.05);border-color:rgba(254,182,2,.22)}
.alert.warn .aic{background:rgba(254,182,2,.14);color:var(--warn-t)}

/* gauges + spark */
.spark{display:flex;align-items:flex-end;gap:2px;height:30px}
.spark i{flex:1;background:linear-gradient(180deg,var(--violet-2),rgba(123,108,240,.25));border-radius:2px 2px 0 0;display:block}
.wave{display:flex;align-items:center;gap:2px;height:48px}
.wave i{flex:1;border-radius:2px;background:linear-gradient(180deg,var(--cyan),rgba(23,209,198,.2))}

.opin{display:flex;flex-direction:column;gap:10px}
.opin .or{display:flex;align-items:center;gap:9px}
.opin .or .pn{font-size:11.5px;color:var(--t1);width:64px;flex:none;display:flex;align-items:center;gap:6px}
.opin .or .pn svg{width:15px;height:15px}
.opin .or .bar{flex:1;height:7px;border-radius:7px;background:rgba(127,127,200,.12);overflow:hidden}
.opin .or .bar i{display:block;height:100%;border-radius:7px}
.opin .or .pv{font-family:var(--f-mono);font-size:11.5px;color:var(--head);width:34px;text-align:end}

/* ============ COPILOT / ADVISOR ============ */
.advisor{border:1px solid rgba(123,108,240,.3);border-radius:var(--r);
  background:radial-gradient(120% 60% at 80% 0%,rgba(123,108,240,.16),transparent 60%),var(--panel);
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 1px rgba(123,108,240,.08),0 20px 50px -30px rgba(123,108,240,.6)}
.adv-h{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);flex:none}
.adv-h .ai{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--violet),var(--piki));display:grid;place-items:center;color:#fff;flex:none;box-shadow:0 0 16px -2px rgba(123,108,240,.8)}
.adv-h .at b{display:block;color:var(--head);font-size:14px;font-weight:600;line-height:1.15}
.adv-h .at span{font-family:var(--f-en);font-size:9.5px;color:var(--t3);letter-spacing:.03em}
.adv-b{padding:14px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1}
.adv-port{display:flex;gap:12px;align-items:center}
.adv-port .pic{width:74px;height:84px;flex:none;border-radius:11px;border:1px solid var(--line-2);background:radial-gradient(circle at 50% 30%,var(--aub-2),var(--violet-deep) 70%,#0a0734);display:grid;place-items:end center;overflow:hidden}
.adv-port .pic svg{width:54px;height:54px;color:rgba(255,255,255,.85)}
.adv-port .pinfo .sa-lbl{display:flex;align-items:center;gap:6px;color:var(--violet-2);font-size:11px;font-weight:600}
.adv-port .pinfo p{margin:7px 0 0;font-size:12.5px;color:var(--t1);line-height:1.65}
.conf{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(82,217,153,.05)}
.conf .ring{width:58px;height:58px;flex:none}
.conf .ci .cl{font-family:var(--f-en);font-size:9.5px;letter-spacing:.05em;color:var(--t3);text-transform:uppercase}
.conf .ci b{display:block;color:var(--head);font-size:14px;margin-top:3px}
.adv-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.adv-col{border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--panel-2)}
.adv-col .ch{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;margin-bottom:8px}
.adv-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.adv-col li{font-size:11px;color:var(--t1);line-height:1.4;display:flex;gap:6px}
.adv-col li::before{content:"";width:5px;height:5px;border-radius:50%;margin-top:5px;flex:none;background:currentColor}
.c-drivers{color:var(--violet-2)} .c-risks{color:var(--crit-t)} .c-recs{color:var(--pos)}
.adv-actions{display:flex;gap:9px}
.adv-actions .btn{flex:1}

/* multimodal */
.thumbs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.thumb{position:relative;overflow:hidden;border-radius:8px;height:54px;border:1px solid var(--line)}
.thumb .play{position:absolute;inset:0;display:grid;place-items:center}
.thumb .play svg{width:22px;height:22px;color:#fff;filter:drop-shadow(0 1px 3px #000)}
.mm-stat{font-family:var(--f-mono);font-size:23px;color:var(--head);font-weight:600;line-height:1}
.mm-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lang-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid var(--line-2);background:rgba(123,108,240,.07)}
.lang-chip .lcd{font-family:var(--f-mono);font-size:11px;font-weight:600}
.lang-chip .lct{font-size:10.5px;color:var(--t1)}

/* map + graph */
.map-svg,.graph-svg{width:100%;height:100%;display:block}
.legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line);margin-top:10px}
.legend .lg{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--t2)}
.legend .lg i{width:14px;height:3px;border-radius:2px;display:block}

/* ticker */
.ticker{grid-column:1/3;grid-row:3/4;display:flex;align-items:center;border-top:1px solid var(--line);background:var(--side-bg);overflow:hidden;z-index:5}
.ticker .tk-lab{display:flex;align-items:center;gap:8px;padding:0 16px;height:100%;background:linear-gradient(100deg,var(--crit),#c5331a);color:#fff;font-weight:700;font-size:13px;flex:none}
.ticker .tk-items{display:flex;align-items:center;gap:34px;padding:0 18px;font-size:12.5px;color:var(--t1);white-space:nowrap;overflow:hidden;flex:1}
.ticker .tk-items .it{display:flex;align-items:center;gap:9px}
.ticker .tk-items .it .tt{font-family:var(--f-mono);color:var(--violet-2);font-size:11px}
.ticker .tk-items .it .dt{width:6px;height:6px;border-radius:50%;background:var(--cyan);flex:none}

/* gridbg */
.gridbg{background-image:radial-gradient(var(--grid) 1px,transparent 1px);background-size:24px 24px}
.kbd{font-family:var(--f-mono);font-size:11px;color:var(--t2);border:1px solid var(--line);border-radius:5px;padding:2px 6px;background:rgba(0,0,0,.18)}
[data-theme="light"] .kbd{background:rgba(9,4,84,.04)}

/* empty/coming soon overlay for soon tiers */
.soon-veil{position:absolute;inset:0;backdrop-filter:blur(2px);background:rgba(4,3,14,.4);display:grid;place-items:center;z-index:9;border-radius:14px}
[data-theme="light"] .soon-veil{background:rgba(244,240,226,.5)}
.soon-card{text-align:center;padding:30px 40px;border:1px solid var(--line-2);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}
.soon-card .sb{display:inline-flex;margin-bottom:14px}
.soon-card h2{margin:0;color:var(--head);font-size:24px}
.soon-card p{color:var(--t2);font-size:13px;margin:8px 0 0}

/* ============ LOGIN ============ */
.login-wrap,.idx-wrap{position:fixed;inset:0;overflow:hidden;background:var(--bg-0)}
.frame-l{width:1920px;height:1080px;position:absolute;top:50%;left:50%;transform-origin:center;
  background:var(--bg-1);overflow:hidden;border-radius:14px;box-shadow:0 40px 120px -30px #000;display:flex}
.hero{width:760px;flex:none;position:relative;overflow:hidden;background:radial-gradient(120% 90% at 20% 0%,#161152 0%,#0a0733 42%,#05031a 100%)}
/* Unify the two login panels: make the hero transparent so it shows the SAME
   frame-l base as the (transparent) auth panel — navy in dark, cream in light —
   and it now carries the same auth-grid + auth-deco waves. Left == right. */
.login-wrap .hero{background:transparent!important}
/* Single-page unified background: one full-width deco/grid layer on the frame,
   both panels transparent so there's no vertical seam down the middle. */
.frame-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.frame-bg .auth-grid,.frame-bg .auth-deco{position:absolute;inset:0}
.login-wrap .hero,.login-wrap .auth{background:transparent!important}
[data-theme="light"] .login-wrap .hero,[data-theme="light"] .login-wrap .auth{background:transparent!important}
/* The hero panel: dark gradient + light text in DARK mode (default).
   In LIGHT mode it becomes a light lavender panel with dark text so it
   matches the rest of the light theme — light stays light, dark stays dark. */
[data-theme="light"] .hero{background:radial-gradient(90% 70% at 80% 0%,rgba(123,108,240,.1),transparent 60%),radial-gradient(var(--grid) 1px,transparent 1px),var(--bg-1);background-size:auto,24px 24px,auto;background-position:0 0,0 0,0 0}
[data-theme="light"] .hero .stars,
[data-theme="light"] .hero .constellation,
[data-theme="light"] .hero .earth,
[data-theme="light"] .hero .citylights{display:none}
[data-theme="light"] .hero .h-title{color:#1a1452}
[data-theme="light"] .hero .h-sub{color:#3a3768}
[data-theme="light"] .hero .stat{background:transparent}
[data-theme="light"] .hero .stat .v{color:#1a1452}
[data-theme="light"] .hero .stat .l{color:#4a4767}
[data-theme="light"] .hero .stat .ic{background:color-mix(in oklab,#17d1c6 14%,transparent);border-color:color-mix(in oklab,#17d1c6 42%,transparent);color:#0a9e94;box-shadow:0 0 16px -5px color-mix(in oklab,#17d1c6 60%,transparent)}
[data-theme="light"] .hero .stats{background:transparent;border-color:transparent}
[data-theme="light"] .hero .sh-ic{color:color-mix(in oklab,var(--c),#0a0738 38%)}
[data-theme="light"] .hero .sh-ic{filter:drop-shadow(0 3px 9px color-mix(in oklab,var(--c) 40%,transparent))}
[data-theme="light"] .hero .plat-lbl{color:#4a4767}
[data-theme="light"] .hero .plat{background:transparent;border-color:transparent}
[data-theme="light"] .hero .plat span:last-child{color:#6e6b88}
[data-theme="light"] .hero .hero-foot .tag{color:#1a1452}
[data-theme="light"] .hero .hero-foot .cp{color:#6e6b88}
/* login credential input: the wizard hardcodes a dark fill — clean it up in light mode */
[data-theme="light"] .signin-card .input,[data-theme="light"] .login-wrap .input{background:var(--input-bg);border-color:var(--line-2)}
.hero .stars{position:absolute;inset:0;opacity:.85;background-image:radial-gradient(1.4px 1.4px at 12% 18%,rgba(255,255,255,.9),transparent),radial-gradient(1.2px 1.2px at 38% 9%,rgba(199,210,254,.85),transparent),radial-gradient(1.6px 1.6px at 66% 14%,rgba(255,255,255,.7),transparent),radial-gradient(1.1px 1.1px at 82% 26%,rgba(176,124,198,.8),transparent),radial-gradient(1.3px 1.3px at 24% 34%,rgba(255,255,255,.55),transparent),radial-gradient(1.1px 1.1px at 54% 40%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 90% 48%,rgba(199,210,254,.6),transparent)}
.hero .constellation{position:absolute;inset:0;opacity:.4}
.hero .earth{position:absolute;left:-280px;bottom:-560px;width:1320px;height:1320px;border-radius:50%;background:radial-gradient(60% 60% at 64% 30%,rgba(51,106,234,.35),transparent 70%),radial-gradient(120% 120% at 40% 30%,#0a1a55 0%,#06103a 46%,#050a24 70%);box-shadow:inset 60px 30px 160px -40px rgba(125,140,255,.5),0 0 200px -20px rgba(51,106,234,.45)}
.hero .citylights{position:absolute;left:-280px;bottom:-560px;width:1320px;height:1320px;border-radius:50%;background-image:radial-gradient(2px 2px at 58% 30%,rgba(254,182,2,.95),transparent),radial-gradient(1.6px 1.6px at 61% 33%,rgba(253,120,31,.9),transparent),radial-gradient(2.2px 2.2px at 55% 27%,rgba(254,182,2,.8),transparent),radial-gradient(1.8px 1.8px at 63% 28%,rgba(255,200,90,.85),transparent),radial-gradient(1.5px 1.5px at 57% 35%,rgba(253,90,31,.8),transparent),radial-gradient(2px 2px at 52% 32%,rgba(255,170,60,.8),transparent);mix-blend-mode:screen}
.hero-in{position:relative;z-index:3;display:flex;flex-direction:column;height:100%;padding:46px 50px}
.brand{display:flex;align-items:center;gap:16px}
.brand .mk{color:var(--malaga)}
.brand .wd .nm{font-family:var(--f-en);font-weight:700;font-size:28px;letter-spacing:.02em;color:#fff;line-height:1}
.brand .wd .ar{font-size:14px;color:var(--violet-2);font-weight:600;margin-top:3px}
.brand .wd .en2{font-family:var(--f-en);font-size:9px;letter-spacing:.4em;color:var(--t2);text-transform:uppercase;margin-top:3px}
.hero-mid{margin-top:auto;margin-bottom:auto}
.hero-eyebrow{font-size:18px;font-weight:700;letter-spacing:.005em;color:var(--cyan);margin-bottom:16px;max-width:640px;line-height:1.55}
[data-theme="light"] .hero .hero-eyebrow{color:#1577a8}
.h-title{font-size:50px;line-height:1.22;font-weight:700;color:#fff;letter-spacing:-.01em;max-width:600px}
.h-title b{background:linear-gradient(90deg,var(--violet-2),var(--aub-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.h-sub{margin-top:18px;font-size:17px;line-height:1.8;color:var(--t1);max-width:560px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px;background:transparent;border:0}
.stat{background:transparent;padding:14px 8px;text-align:center}
.stat .ic{width:42px;height:42px;margin:0 auto 11px;border-radius:50%;display:grid;place-items:center;background:color-mix(in oklab,var(--cyan) 13%,transparent);border:1px solid color-mix(in oklab,var(--cyan) 40%,transparent);color:var(--cyan);box-shadow:0 0 18px -4px color-mix(in oklab,var(--cyan) 60%,transparent)}
.stat-holo{position:relative;width:84px;height:78px;margin:0 auto 8px}
.sh-ic{position:absolute;top:2px;left:50%;transform:translateX(-50%);width:42px;height:42px;z-index:3;color:var(--c);filter:drop-shadow(0 4px 11px color-mix(in oklab,var(--c) 60%,transparent)) drop-shadow(0 0 18px color-mix(in oklab,var(--c) 48%,transparent))}
.sh-ic svg{width:42px;height:42px}
.sh-refl{position:absolute;top:48px;left:50%;transform:translateX(-50%) scaleY(-.5);width:42px;height:42px;z-index:1;color:var(--c);opacity:.18;-webkit-mask-image:linear-gradient(#000,transparent 75%);mask-image:linear-gradient(#000,transparent 75%)}
.sh-refl svg{width:42px;height:42px}
.sh-floor{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:74px;height:21px;border-radius:50%;z-index:0;background:radial-gradient(closest-side,color-mix(in oklab,var(--c) 48%,transparent),transparent 72%);filter:blur(2px)}
.sh-ring{position:absolute;left:50%;transform:translateX(-50%);border-radius:50%;z-index:2;pointer-events:none}
.sh-ring.r1{bottom:11px;width:48px;height:13px;border:1.3px solid color-mix(in oklab,var(--c) 60%,transparent);opacity:.64}
.sh-ring.r2{bottom:6px;width:74px;height:20px;border:1.3px solid color-mix(in oklab,var(--c) 40%,transparent);opacity:.3}
.stat .v{font-size:24px;font-weight:600;color:#fff;line-height:1}
.stat .l{font-size:12px;color:var(--t2);margin-top:6px;line-height:1.4}
.plat-lbl{font-size:13px;color:var(--t2);margin:26px 0 12px}
.plats{display:flex;gap:9px}
.plat{position:relative;flex:1;height:62px;border-radius:11px;border:1px solid transparent;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:transform .18s}
.plat::before{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);width:46px;height:13px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in oklab,var(--cyan) 48%,transparent),transparent);filter:blur(4px);z-index:0;pointer-events:none}
.plat:hover{transform:translateY(-3px);box-shadow:0 0 22px -6px color-mix(in oklab,var(--cyan) 55%,transparent)}
.plat span:last-child{font-family:var(--f-en);font-size:8.5px;color:var(--t3)}
.hero-foot{margin-top:26px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px}
.vj-legal-bar{display:flex;flex-wrap:wrap;align-items:center;gap:7px 22px}
.vj-legal-bar a{color:var(--t2);text-decoration:none;font-size:12px;font-weight:600;position:relative}
.vj-legal-bar a:hover{color:var(--head)}
.vj-legal-bar a:not(:last-child)::after{content:"";position:absolute;inset-inline-end:-12px;top:50%;transform:translateY(-50%);width:3px;height:3px;border-radius:50%;background:var(--t3)}
.rg-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px}
.idx-foot{flex-wrap:wrap;gap:10px 18px}
.hero-foot .tag{font-size:14px;font-weight:600;color:#fff}
.hero-foot .cp{font-family:var(--f-en);font-size:11px;color:var(--t3)}
.auth{flex:1;position:relative;background:radial-gradient(90% 70% at 80% 0%,rgba(22,17,82,.5),transparent 60%),var(--bg-1);padding:40px 56px;display:flex;flex-direction:column}
[data-theme="light"] .auth{background:radial-gradient(90% 70% at 80% 0%,rgba(123,108,240,.1),transparent 60%),var(--bg-1)}
[data-theme="light"] .auth-deco{opacity:.5;filter:saturate(1.2)}
.auth-grid{position:absolute;inset:0;opacity:.5}
.auth-deco{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;-webkit-mask-image:radial-gradient(100% 62% at 50% 46%,transparent 28%,#000 74%);mask-image:radial-gradient(100% 62% at 50% 46%,transparent 28%,#000 74%)}
.auth-deco svg{position:absolute;inset:0;width:100%;height:100%}
.auth-in{position:relative;z-index:2;display:flex;flex-direction:column;height:100%}
.login-logo{width:225px;height:150px;object-fit:contain;object-position:center;display:block}
.idx-logo{width:225px;height:150px;object-fit:contain;object-position:center;display:block}
.login-logo.logo-l,.idx-logo.logo-l{display:none}
[data-theme="light"] .login-logo.logo-d,[data-theme="light"] .idx-logo.logo-d{display:none}
[data-theme="light"] .login-logo.logo-l,[data-theme="light"] .idx-logo.logo-l{display:block}

/* Nafath app store badges: colored (transparent, NO white box) in light mode,
   WHITE in dark mode. Source PNGs are colored-on-transparent. */
.store-badge{height:36px;border-radius:8px;object-fit:contain;filter:brightness(0) invert(1)}
[data-theme="light"] .store-badge{filter:none}
/* Nafath logo chip: WHITE background in BOTH light and dark modes (teal logo) */
.si-ic.si-ic-nafath{background:#fff;padding:5px}

/* ===== LOGIN — access gateway wizard ===== */
#wiz{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:18px}
.wiz-rail{display:flex;align-items:center;gap:0;margin-bottom:20px;flex:none;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
.wstep{display:flex;align-items:center;gap:9px;flex:none}
.wstep .wn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-family:var(--f-mono);font-size:13px;font-weight:700;background:var(--panel-3);border:1px solid var(--line-2);color:var(--t3)}
.wstep .wl{font-size:13px;color:var(--t3);white-space:nowrap}
.wstep.on .wn{background:linear-gradient(165deg,var(--violet),var(--violet-deep));border-color:transparent;color:#fff;box-shadow:0 6px 16px -6px var(--violet)}
.wstep.on .wl{color:var(--head);font-weight:600}
.wstep.done .wn{background:rgba(82,217,153,.16);border-color:transparent;color:var(--pos)}
.wstep.done .wl{color:var(--t2)}
.wsep{flex:1;height:1px;background:var(--line-2);margin:0 10px;min-width:12px}
.wiz-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}
.wiz-back{align-self:flex-start;margin-top:16px;display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--t2);font-family:inherit;font-size:13.5px;cursor:pointer;padding:6px 2px}
.wiz-back:hover{color:var(--violet-2)}
.wiz-back.il{align-self:auto;margin:0}
[dir="rtl"] .wiz-back svg,[dir="rtl"] .wiz-actions svg,[dir="rtl"] .sub-card>svg,[dir="rtl"] .rf-arr svg{transform:scaleX(-1)}
.wiz-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.wiz-actions .btn-primary{margin-inline-start:auto}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cat-card{position:relative;border:1px solid var(--line);border-radius:14px;padding:16px 13px;background:var(--panel-2);display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:.16s;font-family:inherit;min-height:150px}
.cat-card:hover{border-color:var(--violet);transform:translateY(-2px);box-shadow:0 12px 26px -16px var(--violet)}
.cat-card.soft{opacity:.85}
.cat-card .cic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:10px;background:rgba(123,108,240,.12);border:1px solid var(--line-2);color:var(--violet-2)}
.cat-card .ct{color:var(--head);font-size:15.5px;font-weight:700}
.cat-card .cd{color:var(--t3);font-size:11.5px;line-height:1.45;margin-top:5px}
.sub-list{display:flex;flex-direction:column;gap:10px}
.sub-card{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:13px;padding:15px 16px;background:var(--panel-2);cursor:pointer;transition:.16s;font-family:inherit;text-align:start;color:var(--t2)}
.sub-card:hover{border-color:var(--violet);background:var(--panel-3)}
.sub-card .sub-x{flex:1;min-width:0}
.sub-card .sub-x b{display:block;color:var(--head);font-size:15px;font-weight:600}
.sub-card .sub-x span{font-size:12px;color:var(--t3);line-height:1.4}
.scope-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:5px 10px;border-radius:8px;white-space:nowrap}
.scope-badge.b-crit{background:rgba(253,66,31,.14);color:var(--crit-t)}
.scope-badge.b-violet{background:rgba(123,108,240,.14);color:var(--violet-2)}
.scope-badge.b-cyan{background:rgba(23,209,198,.14);color:var(--cyan)}
.scope-badge.b-warn{background:rgba(254,182,2,.14);color:var(--warn-t)}
.scope-badge.b-pos{background:rgba(82,217,153,.14);color:var(--pos)}
.org-search{margin-bottom:12px}
.org-list{display:flex;flex-direction:column;gap:9px}
.org-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:var(--panel-2);cursor:pointer;transition:.16s;font-family:inherit;text-align:start}
.org-row:hover{border-color:var(--violet)}
.org-row.on{border-color:var(--violet);background:rgba(123,108,240,.08)}
.org-row .ox{flex:1}.org-row .ox b{display:block;color:var(--head);font-size:14px}.org-row .ox span{font-size:11.5px;color:var(--pos)}
.org-tick,.pl-tick{width:24px;height:24px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;flex:none}
.req-note{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--warn-t);background:rgba(254,182,2,.1);border:1px solid rgba(254,182,2,.25);border-radius:11px;padding:12px 14px;margin-bottom:14px}
.req-grid{display:flex;flex-direction:column;gap:14px}
.req-flow{margin-top:16px;border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--panel-2)}
.req-flow .rf-h{font-size:12.5px;font-weight:700;color:var(--head);margin-bottom:11px}
.rf-states{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.rf-state{font-size:11.5px;padding:5px 10px;border-radius:8px;background:var(--panel-3);border:1px solid var(--line);color:var(--t2);white-space:nowrap}
.rf-state.on{background:linear-gradient(165deg,var(--violet),var(--violet-deep));border-color:transparent;color:#fff}
.rf-arr{display:inline-flex;color:var(--t3)}
.proof-list{display:flex;flex-direction:column;gap:10px}
.proof-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:var(--panel-2)}
.proof-row .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(123,108,240,.12);color:var(--violet-2);flex:none}
.proof-row .px{flex:1}.proof-row .px b{color:var(--head);font-size:13.5px}
.up-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--violet-2);border:1px solid var(--line-2);border-radius:9px;padding:7px 12px;background:var(--panel-3);cursor:pointer}
.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.plan-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:var(--panel-2);cursor:pointer;transition:.16s;font-family:inherit;text-align:start;border-top:3px solid var(--pc,var(--violet))}
.plan-card.t-cyan{--pc:var(--cyan)}.plan-card.t-violet{--pc:var(--violet-2)}.plan-card.t-warn{--pc:var(--warn)}.plan-card.t-crit{--pc:var(--crit)}
.plan-card:hover{border-color:var(--violet)}
.plan-card.on{box-shadow:0 0 0 2px var(--violet);border-color:transparent}
.plan-card .pl-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.plan-card .pl-h b{color:var(--head);font-size:15px;font-weight:700}
.plan-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.plan-card li{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t2)}
.plan-card li svg{color:var(--pos);flex:none}
.confirm-card{border:1px solid var(--line);border-radius:14px;background:var(--panel-2);overflow:hidden;margin-bottom:14px}
.cf-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}
.cf-row .cf-k{font-size:13px;color:var(--t3)}.cf-row .cf-v{font-size:14px;color:var(--head);font-weight:600}
.cf-scope{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(123,108,240,.07)}
.cf-scope .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(123,108,240,.14);color:var(--violet-2);flex:none}
.cf-scope b{display:block;color:var(--head);font-size:13.5px}.cf-scope span{font-size:12px;color:var(--t3)}
/* ===== Government Entities portal ===== */
.ent-portal{overflow-y:auto}
.ent-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:8px 0 20px}
.ek{position:relative;overflow:hidden;text-align:center;border:1px solid color-mix(in oklab,var(--c,var(--violet)) 22%,var(--line));border-radius:14px;padding:18px 16px;background:linear-gradient(165deg,color-mix(in srgb,var(--c,var(--violet)) 8%,transparent),color-mix(in srgb,var(--panel-2) 60%,transparent));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .16s ease,box-shadow .16s ease}
.ek::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--c,var(--violet)) 75%,transparent),transparent);opacity:.65}
.ek:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px color-mix(in oklab,var(--c,var(--violet)) 55%,#000)}
.ek-ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:color-mix(in oklab,var(--c) 14%,transparent);border:1px solid color-mix(in oklab,var(--c) 42%,transparent);color:var(--c);box-shadow:0 0 18px -5px color-mix(in oklab,var(--c) 65%,transparent),inset 0 0 12px -7px color-mix(in oklab,var(--c) 60%,transparent)}
.ek-v{font-family:var(--f-mono);font-size:24px;font-weight:700;color:var(--head);line-height:1}
.ek-l{font-size:12.5px;color:var(--t2);margin-top:6px;font-weight:500}
.ent-filters{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:16px}
.ent-regions{padding-top:12px;margin-top:-6px;border-top:1px dashed var(--line);gap:7px}
.ent-regions .rg-lbl{font-size:12px;color:var(--t3);font-weight:700;margin-inline-end:2px}
.rg-chip{height:30px;padding:0 12px;font-size:12.5px;border-radius:9px}
.rg-chip.on{color:var(--head);border-color:transparent;box-shadow:0 0 0 1px var(--cyan);background:linear-gradient(180deg,rgba(23,209,198,.24),rgba(23,209,198,.08))}
.ent-empty{padding:46px 20px;text-align:center;color:var(--t3);font-size:14px;border:1px dashed var(--line);border-radius:14px;background:var(--panel-2)}
/* ---- Jurisdiction-based dashboard ---- */
.juris-banner{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:12px 16px;background:linear-gradient(100deg,rgba(123,108,240,.1),transparent 62%),var(--panel-2);margin:13px 0}
.juris-scope{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:var(--head)}
.juris-scope .jdot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 8px currentColor}
.juris-banner .jcol{display:flex;flex-direction:column;gap:2px}
.juris-tag{font-size:10.5px;color:var(--t3);font-weight:600;letter-spacing:.2px}
.juris-val{font-size:13px;color:var(--t1);font-weight:600}
.juris-sep{width:1px;height:30px;background:var(--line)}
.juris-warn{margin-inline-start:auto;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--crit-t);background:rgba(253,66,31,.1);border:1px solid rgba(253,66,31,.3);border-radius:9px;padding:7px 12px}
.juris-ok{margin-inline-start:auto;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--pos);background:rgba(82,217,153,.1);border:1px solid rgba(82,217,153,.28);border-radius:9px;padding:7px 12px}
.ebrief{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.eb-card{border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:var(--panel);display:flex;flex-direction:column;gap:7px;min-height:98px}
.eb-h{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--t3);font-weight:600}
.eb-v{font-size:18px;font-weight:700;font-family:var(--f-mono);line-height:1}
.eb-d{font-size:12px;color:var(--t2);line-height:1.5}
.btree{display:flex;flex-direction:column;gap:8px}
.bt-main{display:flex;align-items:center;gap:11px;border:1px solid var(--violet);border-radius:12px;padding:11px 13px;background:linear-gradient(180deg,rgba(123,108,240,.16),rgba(123,108,240,.05))}
.bt-row{display:grid;grid-template-columns:1.5fr repeat(3,72px);align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:9px 13px;background:var(--panel-2);transition:.15s}
.bt-row:hover{border-color:var(--line-2);background:var(--panel)}
.bt-row .bn{display:flex;align-items:center;gap:9px;color:var(--violet-2)}
.bt-mini{font-family:var(--f-mono);font-size:13px;font-weight:700}
.bt-lbl{font-size:9.5px;color:var(--t3);margin-top:2px}
.scope-line{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--t1)}
.scope-line.ok{color:var(--t1)}
.scope-line.off{color:var(--t2)}
.scope-line.crit{color:var(--crit-t)}
.ent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ent-card{border:1px solid var(--line);border-radius:16px;background:var(--panel-2);padding:16px;display:flex;flex-direction:column;gap:13px;transition:.16s}
.ent-card:hover{border-color:var(--violet);box-shadow:0 16px 34px -20px var(--violet)}
.ec-top{display:flex;align-items:center;gap:12px}
.ec-id{flex:1;min-width:0}
.ec-id b{display:block;color:var(--head);font-size:16px;font-weight:700}
.ec-id span{font-size:12px;color:var(--t3)}
.ec-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11.5px;color:var(--t3)}
.ec-plan{color:var(--warn-t);border:1px solid var(--line);border-radius:7px;padding:3px 8px}
.ec-upd{margin-inline-start:auto;font-family:var(--f-mono)}
.ec-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden}
.em{background:var(--panel-3);padding:10px 6px;text-align:center}
[data-theme="light"] .em{background:#fff}
.emv{font-family:var(--f-mono);font-size:15px;font-weight:700;color:var(--head);line-height:1}
.eml{font-size:9.5px;color:var(--t3);margin-top:5px}
.ec-enter{justify-content:center;width:100%}
.ent-ctrl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.ent-ctrl .seg-lbl{font-size:12px;color:var(--t3);font-weight:600}
.ent-sort button,.ent-view button{font-size:12px}
.attn-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--crit);box-shadow:0 0 7px var(--crit);vertical-align:middle}
/* locked sovereign entity card */
.ent-card.ent-locked{border-color:color-mix(in oklab,var(--crit) 38%,var(--line));background:linear-gradient(180deg,rgba(253,66,31,.06),var(--panel-2))}
.ent-card.ent-locked:hover{transform:none;box-shadow:none;border-color:color-mix(in oklab,var(--crit) 50%,var(--line))}
.ec-locked-btn{justify-content:center;width:100%;color:var(--crit-t);background:rgba(253,66,31,.1);border:1px solid color-mix(in oklab,var(--crit) 40%,var(--line));cursor:not-allowed}
.ent-card.ent-locked .actor-av{position:relative}
.ent-card.ent-locked .ec-top::after{content:"";position:absolute}
/* sector benchmark bars */
.bench{display:flex;flex-direction:column;gap:14px}
.bench-row{display:flex;align-items:center;gap:12px}
.bench-row .bl{width:120px;font-size:13px;color:var(--t1);flex:none}
.bench-row .btrack{flex:1;height:10px;border-radius:8px;background:rgba(127,127,200,.14);position:relative;overflow:visible}
.bench-row .btrack i{display:block;height:100%;border-radius:8px}
.bench-row .bavg{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--head);opacity:.7;border-radius:2px}
.bench-row .bv{width:34px;text-align:end;font-family:var(--f-mono);font-size:13px;font-weight:700;flex:none}
.bench-row .bavgv{width:64px;font-size:10.5px;color:var(--t3);flex:none}
/* entity-scope banner inside workspace */
.scope-bar{display:flex;align-items:center;gap:11px;margin:-4px 0 14px;padding:10px 16px;border-radius:12px;font-size:13px;color:var(--t1);
  border:1px solid color-mix(in oklab,var(--violet) 35%,var(--line));background:linear-gradient(100deg,rgba(123,108,240,.14),rgba(123,108,240,.04))}
.scope-bar svg{color:var(--violet-2);flex:none}
.scope-bar b{color:var(--head)}
.scope-bar .sb-sep{width:1px;height:16px;background:var(--line-2)}
.scope-bar .sb-tag{font-family:var(--f-en);font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--violet-2);border:1px solid var(--line-2);border-radius:6px;padding:3px 8px}
.scope-bar .sb-switch{margin-inline-start:auto;font-size:12.5px;color:var(--violet-2);text-decoration:none;border:1px solid var(--line-2);border-radius:8px;padding:6px 12px}
.scope-bar .sb-switch:hover{background:rgba(123,108,240,.12)}
/* step-5 auth + MFA + Nafath */
.auth-block{margin-top:14px}
.auth-block .ab-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--head);margin-bottom:11px}
.mfa-methods{display:flex;flex-direction:column;gap:9px}
.mfa-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel-2);cursor:pointer;transition:.16s;font-family:inherit;text-align:start;width:100%}
.mfa-card:hover{border-color:var(--violet)}
.mfa-card.on{border-color:var(--violet);background:rgba(123,108,240,.08)}
.mfa-card .mc-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(123,108,240,.12);color:var(--violet-2);flex:none}
.mfa-card .mc-x{flex:1;min-width:0}.mfa-card .mc-x b{display:block;color:var(--head);font-size:13.5px}.mfa-card .mc-x span{font-size:11.5px;color:var(--t3)}
.mfa-card .mc-rd{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);flex:none;transition:.16s}
.mfa-card.on .mc-rd{border-color:var(--violet);background:radial-gradient(circle at center,var(--violet) 0 5px,transparent 5px)}
.nafath{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.nafath-wait{margin-top:12px;display:flex;align-items:center;gap:14px;border:1px solid rgba(82,217,153,.3);border-radius:13px;padding:14px 16px;background:rgba(82,217,153,.08)}
.nafath-wait .nf-num{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-family:var(--f-mono);font-size:24px;font-weight:700;color:#fff;background:linear-gradient(165deg,var(--pos),#1f9d63);flex:none}
.nafath-wait .nf-tx{flex:1}.nafath-wait .nf-tx b{display:block;color:var(--head);font-size:13.5px}.nafath-wait .nf-tx span{font-size:12px;color:var(--t2)}
.nafath-wait .nf-spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line-2);border-top-color:var(--pos);animation:nfspin .9s linear infinite;flex:none}
@keyframes nfspin{to{transform:rotate(360deg)}}
.otp-wrap{margin-top:14px}
.otp-wrap label{display:block;font-size:12.5px;color:var(--t2);margin-bottom:9px}
.otp{display:flex;gap:9px;direction:ltr}
.otp-box{width:44px;height:52px;border-radius:11px;border:1px solid var(--line-2);background:var(--panel-2)}
.otp-box:first-child{border-color:var(--violet);box-shadow:0 0 0 2px rgba(123,108,240,.2)}
.otp-note{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--pos);margin-top:9px}
.cta.soft{opacity:.6}
.top-ctl{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.welcome{margin-top:24px}
.welcome h1{font-size:34px;font-weight:700;color:var(--head);line-height:1.2}
.welcome h1 b{color:var(--violet-2);font-family:var(--f-en)}
.welcome p{font-size:15px;color:var(--t2);margin-top:8px}
.sec-h{display:flex;align-items:center;gap:10px;margin:24px 0 14px}
.sec-h b{color:var(--head);font-size:16px;font-weight:600;white-space:nowrap}
.sec-h .ln{flex:1;height:1px;background:var(--line)}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tier{position:relative;border:1px solid var(--line);border-radius:13px;padding:16px 14px;background:var(--panel-2);min-height:142px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:.15s}
.tier .tic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:9px;background:rgba(123,108,240,.1);border:1px solid var(--line-2);color:var(--violet-2)}
.tier .tt{color:var(--head);font-size:15.5px;font-weight:600}
.tier .td{font-size:11px;color:var(--t2);margin-top:5px;line-height:1.45}
.tier .radio{position:absolute;top:13px;inset-inline-end:13px;width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2)}
.tier .soonbadge{position:absolute;top:12px;inset-inline-end:12px}
.tier.active{border-color:transparent;background:linear-gradient(180deg,rgba(123,108,240,.22),rgba(90,71,200,.06));box-shadow:0 0 0 1px var(--violet),0 18px 40px -20px rgba(123,108,240,.9)}
.tier.active .tic{background:linear-gradient(135deg,var(--violet),var(--piki));color:#fff;border-color:transparent}
.tier.active .radio{border-color:var(--violet);background:radial-gradient(circle,#fff 32%,var(--violet) 36%)}
.tier.sel-2{border-color:rgba(123,108,240,.5);background:rgba(123,108,240,.07)}
.tier.soon{opacity:.6}
.basic{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld label{display:block;font-size:13px;color:var(--t1);margin-bottom:8px;font-weight:500}
.input{display:flex;align-items:center;gap:10px;height:48px;border:1px solid var(--line-2);border-radius:11px;padding:0 14px;background:var(--input-bg);color:var(--t3)}
.input .ph{color:var(--t3);font-size:14px}
.cta{margin-top:18px;height:52px;font-size:16px;border-radius:13px;width:100%}
.terms{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:13px;font-size:12.5px;color:var(--t3)}
.terms a{color:var(--violet-2)}
.feat-row{margin-top:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:22px;border-top:1px solid var(--line)}
.feat{display:flex;align-items:flex-start;gap:10px}
.feat>div{min-width:0}
.feat .fic{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;background:rgba(23,209,198,.08);border:1px solid rgba(23,209,198,.2);color:var(--cyan)}
.feat .fic.pos{background:rgba(82,217,153,.08);border-color:rgba(82,217,153,.2);color:var(--pos)}
.feat .fic.violet{background:rgba(123,108,240,.1);border-color:var(--line-2);color:var(--violet-2)}
.feat .fic.warn{background:rgba(254,182,2,.08);border-color:rgba(254,182,2,.2);color:var(--gold)}
.feat b{display:block;color:var(--head);font-size:12.5px;font-weight:600;line-height:1.35;white-space:nowrap}
.feat span{font-size:11px;color:var(--t2);line-height:1.35}

/* ============ INDEX / CHANNELS ============ */
.frame-l.idx{padding:0;display:block;overflow-y:auto;top:0;transform-origin:top center;border-radius:0;box-shadow:none}
.idx-bg{position:absolute;inset:0;background:radial-gradient(80% 50% at 80% -10%,rgba(123,108,240,.16),transparent 60%),radial-gradient(60% 40% at 10% 110%,rgba(23,209,198,.1),transparent 60%);pointer-events:none}
.idx-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:28px 56px;border-bottom:1px solid var(--line)}
.idx-head .brand .wd .nm{font-size:24px}
.idx-head .brand .wd .ar{font-size:12.5px}
.idx-ctl{display:flex;align-items:center;gap:10px}
.idx-hero{position:relative;z-index:2;padding:48px 56px 24px;text-align:center}
.idx-hero h1{font-size:46px;font-weight:700;color:var(--head);margin:14px 0 0;line-height:1.18}
.idx-hero h1 b{color:var(--violet-2)}
.idx-hero p{font-size:16px;color:var(--t2);max-width:720px;margin:14px auto 0;line-height:1.7}
.ent-portal .idx-hero p{max-width:none;white-space:nowrap}
@media(max-width:1180px){.ent-portal .idx-hero p{white-space:normal;max-width:760px}}
.idx-hero .eyebrow{font-size:12px;letter-spacing:.3em}
.channels{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:18px 56px 30px;max-width:1500px;margin:0 auto}
.ch-card{position:relative;border:1px solid transparent;border-radius:18px;padding:24px;background:linear-gradient(165deg,color-mix(in srgb,var(--c) 9%,transparent),color-mix(in srgb,var(--panel-2) 38%,transparent)) padding-box,linear-gradient(150deg,color-mix(in oklab,var(--c) 44%,transparent),color-mix(in srgb,var(--line) 70%,transparent) 58%) border-box;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:12px;min-height:280px;transition:.18s}
.ch-card.active:hover{transform:translateY(-4px);box-shadow:0 26px 56px -28px color-mix(in oklab,var(--c) 50%,#000)}
.ch-card.soon{opacity:.66}
.ch-top{display:flex;align-items:flex-start;justify-content:space-between}
.ch-holo{position:relative;width:96px;height:90px;flex:none;margin:-2px 0 -4px}
.ch-holo-ic{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:50px;height:50px;z-index:3;color:var(--c);filter:drop-shadow(0 4px 12px color-mix(in oklab,var(--c) 60%,transparent)) drop-shadow(0 0 20px color-mix(in oklab,var(--c) 45%,transparent))}
.ch-holo-ic svg{width:50px;height:50px}
.ch-holo-refl{position:absolute;top:56px;left:50%;transform:translateX(-50%) scaleY(-.5);width:50px;height:50px;z-index:1;color:var(--c);opacity:.16;-webkit-mask-image:linear-gradient(#000,transparent 75%);mask-image:linear-gradient(#000,transparent 75%)}
.ch-holo-refl svg{width:50px;height:50px}
.ch-holo-floor{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:86px;height:24px;border-radius:50%;z-index:0;background:radial-gradient(closest-side,color-mix(in oklab,var(--c) 46%,transparent),transparent 72%);filter:blur(2px)}
.ch-holo-ring{position:absolute;left:50%;transform:translateX(-50%);border-radius:50%;z-index:2;pointer-events:none}
.ch-holo-ring.r1{bottom:12px;width:56px;height:15px;border:1.3px solid color-mix(in oklab,var(--c) 60%,transparent);opacity:.62}
.ch-holo-ring.r2{bottom:6px;width:86px;height:23px;border:1.3px solid color-mix(in oklab,var(--c) 40%,transparent);opacity:.28}
.ch-nm{font-size:24px;font-weight:700;color:var(--head);line-height:1.1}
.ch-en{font-family:var(--f-en);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);margin-top:-6px}
.ch-desc{font-size:13.5px;color:var(--t2);line-height:1.6;flex:1}
.ch-feats{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ch-feat{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--t1)}
.ch-feat svg{color:var(--c);flex:none}
.ch-cta{margin-top:6px;display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--c)}
.ch-card.soon .ch-cta{color:var(--t3)}
.idx-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 56px;border-top:1px solid var(--line);font-size:12px;color:var(--t3)}

/* ===== INDEX — immersive splash scene (matches the boot loader) ===== */
/* Force the dark splash palette on this entry page regardless of the
   global theme — scoped to the subtree so the toggle still drives the app. */
.idx-wrap.idx-immersive{
  --bg-0:#04030e;--bg-1:#090454;
  --panel:linear-gradient(180deg,rgba(26,20,86,.55),rgba(11,8,48,.6));
  --panel-2:rgba(7,5,34,.5);--panel-3:rgba(123,108,240,.06);
  --line:rgba(157,123,255,.18);--line-2:rgba(120,140,230,.28);--grid:rgba(120,140,230,.06);
  --t0:#f8f6ff;--t1:#e8e5fa;--t2:#c4c0e6;--t3:#a6a1d2;--head:#ffffff;
  --violet:#7b6cf0;--violet-2:#9d7bff;--cyan:#17d1c6;
  background:#04030e;
}
.idx-immersive .frame-l.idx{background:radial-gradient(130% 95% at 50% -6%,#160f52 0%,#0a0734 48%,#04030e 100%)}
/* white-text logo on the dark scene even when global theme is light */
.idx-immersive .idx-logo.logo-d{display:block}
.idx-immersive .idx-logo.logo-l{display:none}
/* Directory portals (entities · companies · private · agencies · individuals) honor LIGHT mode.
   The immersive shell hard-locks dark; re-theme it to cream when light is active — scoped to
   .ent-portal so the splash/login hero stays intentionally dark. */
[data-theme="light"] .ent-portal{
  --bg-0:#faf6e7;--bg-1:#fbf8ee;--panel:linear-gradient(180deg,#ffffff,#fcf9f0);--panel-2:#fffdf7;--panel-3:#fbf7ec;
  --line:rgba(80,50,89,.22);--line-2:rgba(9,4,84,.24);--grid:rgba(9,4,84,.05);
  --t0:#0a0738;--t1:#211f47;--t2:#4a4767;--t3:#6e6b88;--head:#090454;
  --violet:#5a47c8;--violet-2:#6d3f9e;--cyan:#0a7d75;--pos:#157a4a;--warn:#7a5600;--crit:#d62d13;
}
[data-theme="light"] .idx-immersive .frame-l.idx.ent-portal{background:radial-gradient(130% 95% at 50% -6%,#fffefb 0%,#fbf8ee 52%,#faf6e7 100%)}
[data-theme="light"] .idx-wrap.idx-immersive:has(.ent-portal){background:#faf6e7}
[data-theme="light"] .ent-portal .idx-logo.logo-d{display:none}
[data-theme="light"] .ent-portal .idx-logo.logo-l{display:block}

.idx-immersive .idx-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.idx-scene{position:absolute;inset:0;overflow:hidden;perspective:640px}
.idx-aura{position:absolute;inset:0;background:
  radial-gradient(620px 460px at 22% 14%,rgba(157,123,255,.30),transparent 60%),
  radial-gradient(560px 420px at 82% 6%,rgba(23,209,198,.16),transparent 60%),
  radial-gradient(680px 520px at 58% 112%,rgba(123,108,240,.20),transparent 62%);
  animation:idxAura 9s ease-in-out infinite alternate}
.idx-deco{position:absolute;inset:0;pointer-events:none}
.idx-deco-svg{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:radial-gradient(125% 92% at 50% 40%,transparent 18%,#000 72%);mask-image:radial-gradient(125% 92% at 50% 40%,transparent 18%,#000 72%)}
@keyframes idxAura{0%{opacity:.7;transform:scale(1)}100%{opacity:1;transform:scale(1.06)}}
.idx-floor{position:absolute;left:-45%;right:-45%;bottom:-20%;height:64%;margin:auto;
  background-image:linear-gradient(rgba(123,108,240,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(23,209,198,.15) 1px,transparent 1px);
  background-size:56px 56px;transform:rotateX(76deg);transform-origin:50% 100%;
  animation:idxFloor 2.6s linear infinite;
  -webkit-mask-image:radial-gradient(66% 82% at 50% 100%,#000,transparent);mask-image:radial-gradient(66% 82% at 50% 100%,#000,transparent)}
@keyframes idxFloor{to{background-position:0 56px,56px 0}}
.idx-dot{position:absolute;bottom:-14px;border-radius:50%;animation:idxRise linear infinite;opacity:0}
@keyframes idxRise{0%{transform:translateY(0);opacity:0}10%{opacity:.7}100%{transform:translateY(-1180px);opacity:0}}

/* glassy dark cards floating over the scene */
.idx-immersive .ch-card{box-shadow:0 22px 50px -34px rgba(0,0,0,.8)}
.idx-immersive .ch-card.active:hover{box-shadow:0 26px 60px -26px color-mix(in oklab,var(--c) 55%,#000),0 0 0 1px color-mix(in oklab,var(--c) 36%,transparent) inset}
.idx-immersive .idx-hero h1 b{text-shadow:0 2px 30px rgba(157,123,255,.5)}

@media(prefers-reduced-motion:reduce){.idx-aura,.idx-floor,.idx-dot{animation:none}}

/* ============================================================
   SHARED BRAND BACKDROP — echoes the boot loading screen.
   Drop <div class="vj-scene"><div class="vj-aura"></div>
   <div class="vj-floor"></div> …vj-dot… </div> behind any dark
   entry/portal page to unify them with the splash aesthetic.
   ============================================================ */
.vj-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;perspective:680px}
.vj-aura{position:absolute;inset:0;background:radial-gradient(640px 470px at 22% 12%,rgba(157,123,255,.30),transparent 60%),radial-gradient(580px 430px at 82% 4%,rgba(23,209,198,.16),transparent 60%),radial-gradient(700px 540px at 58% 114%,rgba(123,108,240,.20),transparent 62%);animation:vjAura 9s ease-in-out infinite alternate}
@keyframes vjAura{0%{opacity:.7;transform:scale(1)}100%{opacity:1;transform:scale(1.06)}}
.vj-floor{position:absolute;left:-45%;right:-45%;bottom:-22%;height:58%;margin:auto;background-image:linear-gradient(rgba(123,108,240,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(23,209,198,.15) 1px,transparent 1px);background-size:56px 56px;transform:rotateX(77deg);transform-origin:50% 100%;animation:vjFloor 2.8s linear infinite;-webkit-mask-image:radial-gradient(66% 82% at 50% 100%,#000,transparent);mask-image:radial-gradient(66% 82% at 50% 100%,#000,transparent)}
@keyframes vjFloor{to{background-position:0 56px,56px 0}}
.vj-dot{position:absolute;bottom:-14px;border-radius:50%;animation:vjRise linear infinite;opacity:0}
@keyframes vjRise{0%{transform:translateY(0);opacity:0}10%{opacity:.7}100%{transform:translateY(-1180px);opacity:0}}
@media(prefers-reduced-motion:reduce){.vj-aura,.vj-floor,.vj-dot{animation:none}}

/* ============================================================
   V2 — Command-center elevation
   ============================================================ */

/* classification + command context strip */
.classbar{display:flex;align-items:center;gap:0;flex:none;min-height:46px;border:1px solid color-mix(in oklab,var(--violet) 34%,var(--line));border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px rgba(123,108,240,.07) inset, 0 8px 26px -18px rgba(123,108,240,.6);
  background:linear-gradient(100deg,rgba(123,108,240,.2),rgba(123,108,240,.05) 60%,transparent),var(--panel-2)}
.classbar .cbx{display:flex;align-items:center;gap:10px;padding:0 18px;height:46px;border-inline-end:1px solid color-mix(in oklab,var(--violet) 22%,var(--line));white-space:nowrap}
.classbar .cbx:last-child{border-inline-end:0}
.classbar .cbx.sp{margin-inline-start:auto}
.classbar .cl{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-en);font-size:11.5px;font-weight:700;letter-spacing:.13em;color:var(--violet-2)}
.classbar .cl::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--violet);box-shadow:0 0 9px var(--violet)}
.classbar .ck{font-family:var(--f-en);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-t)}
.classbar .cv{font-size:14px;color:var(--head);font-weight:800}
.classbar .cv.mono{font-family:var(--f-mono)}
.classbar .dotp{width:8px;height:8px;border-radius:50%;flex:none}

/* zone band label */
.zone{display:flex;align-items:center;gap:12px;flex:none;margin-top:4px}
.zone .zix{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(123,108,240,.13);border:1px solid var(--line-2);color:var(--violet-2);flex:none}
.zone .zt{display:flex;flex-direction:column;gap:1px;line-height:1.1}
.zone .zt b{color:var(--head);font-size:13.5px;font-weight:600}
.zone .zt span{font-family:var(--f-en);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--violet-2)}
.zone .zl{flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
[dir="rtl"] .zone .zl{background:linear-gradient(-90deg,var(--line-2),transparent)}
.zone .zn{font-family:var(--f-mono);font-size:10.5px;color:var(--t3);letter-spacing:.03em;white-space:nowrap}

/* panel code id chip */
.pcode{font-family:var(--f-mono);font-size:10px;color:var(--t3);letter-spacing:.04em;padding:3px 7px;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.16)}
[data-theme="light"] .pcode{background:rgba(9,4,84,.04)}

/* map + graph polish — always a dark "tactical display" framed by the panel
   (keeps the rich geo/graph rendering legible in BOTH light & dark themes) */
.geo-foot{font-family:var(--f-mono);font-size:10px;color:var(--t3);letter-spacing:.04em}
.map-svg,.graph-svg{border-radius:9px;
  background:radial-gradient(130% 100% at 28% 0%,#100c40 0%,#0a0830 55%,#06041f 100%);
  box-shadow:inset 0 0 0 1px rgba(157,123,255,.12),inset 0 18px 50px -30px rgba(0,0,0,.9)}
.graph-svg{filter:drop-shadow(0 0 1px rgba(123,108,240,.25))}

/* strategic officer emblem */
.adv-port .pic{position:relative}
.adv-port .pic .emblem{width:74px;height:84px}
.adv-port .pic::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 3px);mix-blend-mode:overlay;pointer-events:none}

/* multimodal workspace */
.mm-ws .panel-b{display:flex;flex-direction:column;gap:11px}
.mm-ws .det{position:relative}
.mm-src{position:absolute;top:5px;inset-inline-start:5px;display:inline-flex;align-items:center;gap:4px;font-size:8.5px;font-weight:700;color:#fff;background:rgba(6,4,28,.62);border:1px solid rgba(255,255,255,.16);border-radius:5px;padding:2px 6px;z-index:3;max-width:88%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mm-src svg{flex:none}
.mm-cap{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--t3);margin-top:2px}
.mm-cap svg{color:var(--violet-2);flex:none}
.scenes .scene{position:relative}
.mm-scene-d{position:absolute;bottom:5px;inset-inline-start:5px;font-size:8.5px;font-weight:600;color:#fff;background:rgba(6,4,28,.62);border-radius:4px;padding:2px 6px;z-index:3}
.mm-top{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.mm-top .mm-stat{font-family:var(--f-mono);font-size:26px;font-weight:600;color:var(--head);line-height:1}
.mm-top .mm-sub{font-size:10px;color:var(--t3);text-align:end;line-height:1.4}
.mm-viz{border:1px solid var(--line);border-radius:9px;background:var(--panel-2);padding:10px;min-height:120px}
.mm-foot{display:flex;flex-wrap:wrap;gap:6px}
.mm-foot .badge{height:19px}
/* text entity stream */
.ent{display:flex;align-items:center;gap:8px}
.ent+.ent{margin-top:8px}
.ent .et{font-size:11.5px;color:var(--t1);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent .eb{height:5px;border-radius:5px;background:rgba(127,127,200,.14);width:56px;overflow:hidden;flex:none}
.ent .eb i{display:block;height:100%;border-radius:5px}
.ent .ev2{font-family:var(--f-mono);font-size:10px;color:var(--t2);width:30px;text-align:end;flex:none}
/* image detection grid */
.det-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.det{position:relative;height:38px;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.det .box{position:absolute;border:1px solid var(--cyan);border-radius:2px;box-shadow:0 0 6px rgba(23,209,198,.4)}
.det .tag{position:absolute;inset-inline-start:2px;bottom:2px;font-family:var(--f-mono);font-size:7px;background:var(--cyan);color:#04030e;padding:0 3px;border-radius:2px;letter-spacing:.02em}
/* video scenes */
.scenes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.scene{position:relative;height:48px;border-radius:6px;overflow:hidden;border:1px solid var(--line);display:grid;place-items:center;color:#fff}
.scene .tc{position:absolute;inset-inline-end:3px;bottom:3px;font-family:var(--f-mono);font-size:7px;color:#fff;background:rgba(0,0,0,.6);padding:0 3px;border-radius:2px}
.scrub{margin-top:9px;height:4px;border-radius:4px;background:rgba(127,127,200,.16);position:relative}
.scrub i{position:absolute;top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;background:var(--violet-2);box-shadow:0 0 8px var(--violet)}
/* audio transcript */
.transcript{font-size:11px;color:var(--t2);line-height:1.55;border-inline-start:2px solid var(--cyan);padding-inline-start:9px}

/* ============================================================
   EVIDENCE-FIRST — drill-down link + slide-out dossier
   ============================================================ */
.intel{cursor:pointer;border-bottom:1px dashed color-mix(in oklab,var(--violet-2) 55%,transparent);transition:.15s;display:inline-flex;align-items:center;gap:4px}
.intel:hover{color:var(--violet-2);border-bottom-color:var(--violet-2)}
.intel .intel-i{opacity:0;transform:translateY(1px);transition:.15s;color:var(--violet-2)}
.intel:hover .intel-i{opacity:1}
.intel.block{display:flex;width:100%}
/* full-width evidence buttons already carry their own search icon + label —
   suppress the redundant intel magnifier so only ONE icon shows (incl. hover) */
.intel.block .intel-i{display:none}
.intel:has(svg:not(.intel-i)) .intel-i{display:none}

.ev-drawer{position:fixed;inset:0;z-index:120;pointer-events:none}
.ev-drawer .ev-scrim{position:absolute;inset:0;background:rgba(4,3,18,.55);opacity:0;transition:.28s;backdrop-filter:blur(2px)}
.ev-drawer.open{pointer-events:auto}
.ev-drawer.open .ev-scrim{opacity:1}
.ev-panel{position:absolute;inset-block:0;inset-inline-end:0;width:520px;max-width:94vw;background:var(--panel);border-inline-start:1px solid var(--line-2);
  box-shadow:-30px 0 80px -40px rgba(0,0,0,.7);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}
[dir="ltr"] .ev-panel{transform:translateX(100%)}
[dir="rtl"] .ev-panel{transform:translateX(-100%)}
.ev-drawer.open .ev-panel{transform:translateX(0)}
.ev-hd{padding:16px 20px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.ev-class{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-en);font-size:9.5px;font-weight:700;letter-spacing:.13em;color:var(--warn-t);margin-bottom:10px}
[lang="ar"] .ev-class{font-family:var(--f-ar);letter-spacing:0}
.ev-class::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--gold);box-shadow:0 0 7px var(--gold)}
.ev-x{position:absolute;top:14px;inset-inline-end:16px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--t2);display:grid;place-items:center;cursor:pointer;transition:.15s}
.ev-x:hover{background:var(--panel-3);color:var(--head)}
.ev-title{display:flex;align-items:flex-start;gap:10px}
.ev-tdot{width:9px;height:9px;border-radius:50%;margin-top:7px;flex:none;box-shadow:0 0 8px currentColor}
.ev-title h3{margin:0;font-size:18px;font-weight:700;color:var(--head);line-height:1.3}
.ev-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.ev-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--t2);border:1px solid var(--line);border-radius:7px;padding:4px 9px;background:var(--panel-3)}
.ev-chip i{width:7px;height:7px;border-radius:50%}
.ev-chip b{color:var(--head)}
.ev-conf b{color:var(--pos)}
.ev-body{flex:1;overflow-y:auto;padding:6px 20px 16px}
.ev-seg{padding:15px 0 4px;border-top:1px solid var(--line)}
.ev-seg:first-child{border-top:0}
.ev-seg-h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--head);letter-spacing:.01em;margin-bottom:11px}
.ev-si{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:rgba(123,108,240,.13);color:var(--violet-2);flex:none}
.ev-p{font-size:13px;line-height:1.65;color:var(--t1);margin:0 0 4px}
.ev-factors{display:flex;flex-direction:column;gap:9px}
.ev-fac{display:flex;align-items:center;gap:10px}
.ev-fl{flex:1;font-size:12px;color:var(--t1)}
.ev-fb{width:90px;height:6px;border-radius:6px;background:rgba(127,127,200,.14);overflow:hidden;flex:none}
.ev-fb i{display:block;height:100%;border-radius:6px}
.ev-fv{font-family:var(--f-mono);font-size:11px;color:var(--t2);width:34px;text-align:end;flex:none}
.ev-actors,.ev-posts{display:flex;flex-direction:column;gap:8px}
.ev-actor{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.ev-ax{flex:1;min-width:0}
.ev-ax b{display:block;font-size:12.5px;color:var(--head)}
.ev-ax span{font-size:10.5px;color:var(--t3)}
.ev-post{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.ev-post-h{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.ev-post-h b{font-size:12px;color:var(--head)}
.ev-post-t{margin-inline-start:auto;font-family:var(--f-mono);font-size:10px;color:var(--t3)}
.ev-post p{margin:0 0 8px;font-size:12.5px;line-height:1.55;color:var(--t1)}
.ev-post-m{display:flex;gap:13px;font-family:var(--f-mono);font-size:10.5px;color:var(--t3)}
.ev-media{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
.ev-mtile{height:62px;border-radius:9px;border:1px solid var(--line);position:relative;overflow:hidden}
.ev-mtag{position:absolute;inset-inline-start:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;font-size:9.5px;color:#fff;background:rgba(0,0,0,.5);padding:2px 6px;border-radius:5px}
.ev-tl{display:flex;flex-direction:column;gap:0}
.ev-tlrow{display:flex;align-items:center;gap:11px;padding:7px 0;position:relative}
.ev-tldot{width:9px;height:9px;border-radius:50%;flex:none;z-index:1;box-shadow:0 0 0 3px var(--panel)}
.ev-tlrow:not(:last-child)::before{content:"";position:absolute;inset-inline-start:4px;top:16px;bottom:-6px;width:1px;background:var(--line-2)}
.ev-tlt{font-family:var(--f-mono);font-size:11px;color:var(--t3);width:42px;flex:none}
.ev-tld{font-size:12.5px;color:var(--t1)}
.ev-impact{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.ev-imp{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--panel-2);text-align:center}
.ev-imp-v{font-family:var(--f-mono);font-size:20px;font-weight:700;line-height:1}
.ev-imp-l{font-size:10.5px;color:var(--t3);margin-top:6px}
.ev-recs{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:9px}
.ev-recs li{font-size:12.5px;line-height:1.5;color:var(--t1)}
.ev-recs li::marker{color:var(--violet-2);font-weight:700}
.ev-sources{display:none}
.ev-sources span{border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-family:var(--f-en);color:var(--t2)}
.ev-foot{padding:13px 20px;border-top:1px solid var(--line);background:var(--panel-2);display:flex;gap:9px}
.ev-foot .btn{flex:1;justify-content:center}

/* ============================================================
   EXECUTIVE DECISION CENTER — decision cards
   ============================================================ */
.dgrid{display:grid;gap:13px}
.dcard{position:relative;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:var(--inset),var(--shadow);padding:0;overflow:hidden;display:flex;flex-direction:column}
.dcard .dc-rail{position:absolute;inset-block:0;inset-inline-start:0;width:4px}
.dcard.t-pos .dc-rail{background:linear-gradient(var(--pos),transparent)}
.dcard.t-crit .dc-rail{background:linear-gradient(var(--crit),transparent)}
.dcard.t-warn .dc-rail{background:linear-gradient(var(--warn),transparent)}
.dcard.t-violet .dc-rail{background:linear-gradient(var(--violet),transparent)}
.dc-h{display:flex;align-items:center;gap:10px;padding:14px 16px 0}
.dc-kicker{font-family:var(--f-en);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
[lang="ar"] .dc-kicker{font-family:var(--f-ar);letter-spacing:.02em;text-transform:none}
.dcard.t-pos .dc-kicker{color:var(--pos-t)}
.dcard.t-crit .dc-kicker{color:var(--crit-t)}
.dcard.t-warn .dc-kicker{color:var(--warn-t)}
.dcard.t-violet .dc-kicker{color:var(--violet-2)}
.dc-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;margin-inline-start:auto}
.dcard.t-pos .dc-ic{background:rgba(82,217,153,.14);color:var(--pos)}
.dcard.t-crit .dc-ic{background:rgba(253,66,31,.14);color:var(--crit-t)}
.dcard.t-warn .dc-ic{background:rgba(254,182,2,.14);color:var(--warn-t)}
.dcard.t-violet .dc-ic{background:rgba(123,108,240,.14);color:var(--violet-2)}
.dc-title{padding:8px 16px 0;font-size:16.5px;font-weight:700;color:var(--head);line-height:1.32}
.dc-desc{padding:8px 16px 0;font-size:12.5px;line-height:1.6;color:var(--t2)}
.dc-stats{display:flex;gap:8px;padding:13px 16px 0}
.dc-stat{flex:1;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:var(--panel-2)}
.dc-stat .v{font-family:var(--f-mono);font-size:17px;font-weight:700;color:var(--head);line-height:1}
.dc-stat .l{font-size:9.5px;color:var(--t3);margin-top:5px}
.dc-foot{margin-top:auto;display:flex;align-items:center;gap:9px;padding:13px 16px;border-top:1px solid var(--line);margin-top:14px}
.dc-conf{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--t3)}
.dc-conf b{font-family:var(--f-mono);color:var(--head)}
.dc-act{margin-inline-start:auto}
.dc-rec{padding:11px 16px 0;display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--t1);line-height:1.5}
.dc-rec .ri{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;flex:none;background:rgba(123,108,240,.14);color:var(--violet-2);margin-top:1px}

/* platform source-identity tile (source indicator only) */
.plat-badge{display:inline-grid;place-items:center;border-radius:8px;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.actor-av{display:inline-grid;place-items:center;flex:none;border:1px solid var(--line-2)}
.flag-tile{display:inline-grid;place-items:center;flex:none;overflow:hidden;border:1px solid var(--line-2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}

/* ---- internal screen transitions ---- */
/* transform-only (never animates opacity to 0) so content is always visible
   even if the animation is paused/throttled by the browser */
@keyframes pageIn{from{transform:translateY(12px)}to{transform:none}}
.main.page-in{animation:pageIn .3s cubic-bezier(.4,0,.2,1)}
.app.page-out{opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease}
/* nav item hover/active polish for transitions */
.nav a{transition:background .16s,color .16s,box-shadow .16s}

/* single-language: keep secondary labels in the active language's font */
[lang="ar"] .panel-h .ti span,
[lang="ar"] .page-head .pt .sub,
[lang="ar"] .nav .grp,
[lang="ar"] .classbar .ck,
[lang="ar"] .zone .zt span,
[lang="ar"] .zone .zn,
[lang="ar"] .kpi .kl span,
[lang="ar"] .eyebrow{font-family:var(--f-ar);text-transform:none;letter-spacing:.01em}


/* ============================================================
   VIJIN.AI — Intelligence Center premium components (shared across all screens)
   Cinematic forensic workspace · signature Genuine Influence Score
   Larger type scale · strict grid · 2050 command-center depth
   ============================================================ */

.iic{--iic-fz:14.5px;font-size:var(--iic-fz)}
.iic .zone{margin-top:6px}

/* ---- scope switcher (geo) ---- */
.geo-scopes{display:flex;gap:10px;flex:none}
.geo-scope{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border-radius:13px;cursor:pointer;
  font-family:inherit;font-size:15px;font-weight:600;color:var(--t2);
  border:1px solid var(--line-2);background:var(--panel-2);transition:.16s}
.geo-scope svg{opacity:.7}
.geo-scope:hover{color:var(--head);border-color:var(--violet)}
.geo-scope.on{color:#fff;border-color:transparent;
  background:linear-gradient(165deg,var(--violet),var(--violet-deep));
  box-shadow:0 8px 22px -10px var(--violet),inset 0 0 0 1px rgba(255,255,255,.14)}
.geo-scope.on svg{opacity:1}

/* ---- command ribbon (compact KPI strip) ---- */
.iic-ribbon{display:grid;grid-template-columns:repeat(7,1fr);gap:11px}
/* ---- emotion & sentiment ---- */
.emo-legend{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center}
.emo-legend .el{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--t2)}
.emo-legend .el i{width:11px;height:11px;border-radius:3px}
.emo-legend .el b{color:var(--head);font-family:var(--f-mono)}
.cls-stack{display:flex;height:36px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.cls-stack .cls-seg{display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;font-weight:700;color:#04030e;min-width:0}
.cls-rows{display:flex;flex-direction:column;gap:9px}
.cls-row{display:flex;align-items:center;gap:10px}
.cls-row .cc{width:34px;text-align:center;font-family:var(--f-mono);font-size:10px;font-weight:700;color:#04030e;border-radius:6px;padding:3px 0;flex:none}
.cls-row .cn{flex:1;font-size:13px;color:var(--t1)}
.cls-row .cb{width:90px;height:6px;border-radius:6px;background:rgba(127,127,200,.14);overflow:hidden;flex:none}
.cls-row .cb i{display:block;height:100%;border-radius:6px}
.cls-row .cv{font-family:var(--f-mono);font-size:12.5px;color:var(--head);width:34px;text-align:end;flex:none;font-weight:600}
.seg-mini{display:inline-flex;height:7px;border-radius:5px;overflow:hidden;width:90px;flex:none;gap:1px}
.seg-mini i{display:block;height:100%}
.lexgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lexcard{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel-2);border-top:3px solid var(--ec)}
.lexcard .lh{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--head);margin-bottom:9px}
.lexcard .lh i{width:11px;height:11px;border-radius:50%}
.lexcard .lw{display:flex;flex-wrap:wrap;gap:5px}
.lexcard .lw span{font-size:11.5px;color:var(--t2);background:var(--panel-3);border:1px solid var(--line);border-radius:6px;padding:2px 8px}
/* ---- reports export + settings ---- */
.exp-row{display:inline-flex;gap:5px}
.exp-btn{font-family:var(--f-mono);font-size:10.5px;font-weight:700;color:var(--t2);border:1px solid var(--line-2);background:var(--panel-2);border-radius:7px;padding:5px 9px;cursor:pointer;transition:.15s;letter-spacing:.03em}
.exp-btn:hover{color:var(--head);border-color:var(--violet);background:rgba(123,108,240,.1)}
.set-list{display:flex;flex-direction:column}
.set-row{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--line)}
.set-row:last-child{border-bottom:0}
.set-row .sx{flex:1;min-width:0}
.set-row .sx b{display:block;font-size:14px;color:var(--head);font-weight:600}
.set-row .sx span{font-size:12px;color:var(--t3)}
.set-val{color:var(--t3);display:inline-flex}
[dir="rtl"] .set-val svg{transform:scaleX(-1)}
.set-toggle{width:42px;height:24px;border-radius:13px;background:rgba(127,127,200,.2);position:relative;flex:none;transition:.18s;cursor:pointer;border:1px solid var(--line-2)}
.set-toggle i{position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:var(--t2);transition:.18s}
.set-toggle.on{background:linear-gradient(180deg,var(--violet),var(--violet-deep));border-color:transparent}
.set-toggle.on i{inset-inline-start:20px;background:#fff}

/* instant click feedback so every control visibly responds */
.btn,.tier-chip,.seg button,.exp-btn,.br-foot,.intel,.dt-go,.icon-btn,.ico-btn,[role="button"]{transition:transform .08s ease, filter .12s ease}
.btn:active,.tier-chip:active,.seg button:active,.exp-btn:active,.br-foot:active,.intel:active,.dt-go:active,.icon-btn:active,.ico-btn:active,[role="button"]:active,button:active{transform:scale(.95);filter:brightness(1.12)}
.dtable tbody tr{transition:background .12s ease}
.dtable tbody tr:active{background:color-mix(in oklab,var(--violet,#7b6cf0) 12%,transparent)}

/* ---- toast (control feedback) ---- */
#vj-toast-host{position:fixed;inset-block-start:74px;inset-inline-start:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.vj-toast{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;color:#fff;
  background:linear-gradient(165deg,var(--violet),var(--violet-deep));border:1px solid rgba(255,255,255,.16);
  box-shadow:0 16px 44px -12px rgba(0,0,0,.7);opacity:0;transform:translateY(-12px) scale(.96);transition:.3s cubic-bezier(.4,0,.2,1)}
.vj-toast.show{opacity:1;transform:none}
.vj-toast svg{flex:none}
/* generic row-detail drawer */
.vjd-drawer{position:fixed;inset:0;z-index:9998;visibility:hidden}
.vjd-drawer.open{visibility:visible}
.vjd-scrim{position:absolute;inset:0;background:rgba(4,3,22,.74);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .28s}
.vjd-drawer.open .vjd-scrim{opacity:1}
.vjd-panel{position:absolute;inset-block:0;inset-inline-end:0;width:min(420px,92vw);display:flex;flex-direction:column;
  background-color:#0b0838;background-image:linear-gradient(180deg,#0e0a40,#0a0734);
  border-inline-start:1px solid color-mix(in oklab,var(--violet,#7b6cf0) 34%,var(--line));
  box-shadow:-30px 0 70px -28px rgba(0,0,0,.85);transition:transform .3s cubic-bezier(.4,0,.2,1)}
[dir="ltr"] .vjd-panel{transform:translateX(100%)}
[dir="rtl"] .vjd-panel{transform:translateX(-100%)}
.vjd-drawer.open .vjd-panel{transform:translateX(0)}
html[data-theme="light"] .vjd-panel{background-color:#fffdf7;background-image:linear-gradient(180deg,#fffefa,#f7f3e7)}
.vjd-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-block-end:1px solid var(--line)}
.vjd-head b{font-size:16px;color:var(--head)}
.vjd-x{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--t2);cursor:pointer;font-size:14px;line-height:1}
.vjd-x:hover{background:color-mix(in oklab,var(--violet,#7b6cf0) 14%,transparent);color:var(--head)}
.vjd-body{padding:18px 20px;overflow:auto}
.vjd-kicker{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--violet-2,#9d7bff);margin-block-end:5px}
.vjd-item{font-size:16px;font-weight:700;color:var(--head);line-height:1.4;margin-block-end:18px}
.vjd-kvs{display:flex;flex-direction:column;gap:0;margin-block-end:16px}
.vjd-kv{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-block-end:1px solid color-mix(in oklab,var(--line) 60%,transparent);font-size:13px}
.vjd-kv:last-child{border-block-end:0}
.vjd-kv span{color:var(--t3)}
.vjd-kv b{color:var(--t1);font-weight:700}
.vjd-note{font-size:11.5px;color:var(--t3);line-height:1.6;border-block-start:1px dashed var(--line);padding-block-start:12px}
/* action-drawer content (report / rules / schedule / export) */
.vjd-meta{font-size:12px;color:var(--t3);margin-block-end:16px;font-family:var(--f-mono)}
.vjd-sec{font-size:13px;font-weight:700;color:var(--head);margin:4px 0 10px}
.vjd-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column}
.vjd-list li{position:relative;padding:10px 22px 10px 0;font-size:13px;color:var(--t1);border-block-end:1px solid color-mix(in oklab,var(--line) 60%,transparent)}
[dir="ltr"] .vjd-list li{padding:10px 0 10px 22px}
.vjd-list li:last-child{border-block-end:0}
.vjd-list li::before{content:"";position:absolute;inset-inline-start:4px;top:15px;width:8px;height:8px;border-radius:50%;border:2px solid var(--cyan,#17d1c6)}
.vjd-rules{display:flex;flex-direction:column;margin-block-end:16px}
.vjd-rule{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-block-end:1px solid color-mix(in oklab,var(--line) 60%,transparent);font-size:13px;color:var(--t1);cursor:pointer}
.vjd-rule:last-child{border-block-end:0}
.vjd-sw{width:34px;height:19px;border-radius:999px;background:var(--line);position:relative;flex:none;transition:.18s}
.vjd-sw::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2.5px;inset-inline-start:2.5px;transition:.18s}
.vjd-sw.on{background:var(--cyan,#17d1c6)}
.vjd-sw.on::after{inset-inline-start:17.5px}
.vjd-seg{display:flex;gap:7px;margin-block-end:16px}
.vjd-segb{flex:1;height:38px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--t2);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.vjd-segb.on{background:color-mix(in oklab,var(--cyan,#17d1c6) 16%,transparent);color:var(--head);border-color:color-mix(in oklab,var(--cyan,#17d1c6) 50%,transparent)}
.vjd-acts{display:flex;gap:9px;margin-block:6px 16px}
.vjd-acts.col{flex-direction:column}
.vjd-act{flex:1;height:42px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--t1);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.vjd-form{display:flex;flex-direction:column;gap:12px;margin-block-end:16px}
.vjd-fld{display:flex;flex-direction:column;gap:6px}
.vjd-fld span{font-size:12px;color:var(--t2)}
.vjd-input{height:40px;border-radius:10px;border:1px solid var(--line);background:color-mix(in oklab,var(--cyan,#17d1c6) 4%,transparent);color:var(--t1);font-family:inherit;font-size:13.5px;padding:0 12px;outline:none}
.vjd-input:focus{border-color:color-mix(in oklab,var(--cyan,#17d1c6) 55%,transparent)}
.vjd-act:hover{background:color-mix(in oklab,var(--cyan,#17d1c6) 12%,transparent)}
.vjd-act.primary{background:linear-gradient(135deg,color-mix(in oklab,var(--cyan,#17d1c6) 80%,#000),color-mix(in oklab,#2a6fdb 78%,#000));color:#fff;border-color:transparent}
/* live-control affordances */
.seg button{cursor:pointer}
.set-toggle{cursor:pointer}
.tier-chip{user-select:none}
.rib{position:relative;border:1px solid var(--line);border-radius:14px;padding:13px 14px;overflow:hidden;
  background:linear-gradient(160deg,rgba(123,108,240,.07),transparent 70%),var(--panel)}
.rib::after{content:"";position:absolute;inset-inline-end:-30px;top:-30px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,var(--rc,rgba(123,108,240,.18)),transparent 70%)}
.rib .rh{display:flex;align-items:center;gap:8px;position:relative;z-index:1}
.rib .ric{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--rb,rgba(123,108,240,.14));color:var(--rcol,var(--violet-2))}
.rib .rl{font-size:12.5px;color:var(--t2);font-weight:500;line-height:1.3}
.rib .rv{font-family:var(--f-mono);font-size:27px;font-weight:700;color:var(--head);line-height:1;margin-top:12px;letter-spacing:-.02em}
.rib .rf{display:flex;align-items:center;justify-content:space-between;margin-top:9px}
.rib .rd{font-size:11.5px;font-weight:600}
.rib .rd.up{color:var(--pos)} .rib .rd.dn{color:var(--crit-t)}

/* ---- HERO: signature score + forensics + vitals ---- */
.iic-hero{display:grid;grid-template-columns:392px 1fr 340px;gap:13px;align-items:stretch}
.glass{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  background:linear-gradient(165deg,rgba(123,108,240,.09),rgba(11,8,48,.2) 60%),var(--panel);box-shadow:var(--inset),var(--shadow)}
[data-theme="light"] .glass{background:linear-gradient(165deg,rgba(123,108,240,.06),#fff 60%),var(--panel)}
.glass-h{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.glass-h .gt{font-size:12px;letter-spacing:.04em;color:var(--t2);font-weight:600}
.glass-h .gt b{display:block;color:var(--head);font-size:15.5px;letter-spacing:0;margin-bottom:2px}

/* signature card */
.sig-id{display:flex;align-items:center;gap:13px;padding:16px 18px 0}
.sig-av{width:62px;height:62px;border-radius:18px;flex:none;display:grid;place-items:center;color:#fff;font-size:26px;font-weight:700;
  box-shadow:0 10px 28px -12px rgba(123,108,240,.7),inset 0 0 0 1px rgba(255,255,255,.18)}
.sig-meta{min-width:0;flex:1}
.sig-meta .nm{display:flex;align-items:center;gap:8px}
.sig-meta .nm b{font-size:19px;color:var(--head);font-weight:700}
.sig-meta .vrf{width:19px;height:19px;border-radius:50%;background:var(--cyan);display:grid;place-items:center;flex:none}
.sig-meta .hd{font-family:var(--f-mono);font-size:12.5px;color:var(--violet-2);margin-top:3px}
.sig-meta .loc{font-size:12px;color:var(--t3);margin-top:4px;display:flex;align-items:center;gap:6px}
.sig-gauge{display:flex;flex-direction:column;align-items:center;padding:8px 18px 4px}
.sig-gauge .cap{font-size:13px;color:var(--t2);font-weight:600;margin-top:2px;text-align:center}
.sig-gauge .cap b{display:block;color:var(--head);font-size:14.5px;margin-bottom:2px}
.sig-decomp{padding:6px 18px 18px;display:flex;flex-direction:column;gap:11px}
.decomp-row{display:flex;align-items:center;gap:11px}
.decomp-row .dl{flex:1;font-size:13px;color:var(--t1)}
.decomp-row .dbar{width:120px;height:7px;border-radius:7px;background:rgba(127,127,200,.14);overflow:hidden;flex:none}
.decomp-row .dbar i{display:block;height:100%;border-radius:7px}
.decomp-row .dv{font-family:var(--f-mono);font-size:13px;color:var(--head);width:30px;text-align:end;flex:none;font-weight:600}

/* forensic authenticity */
.forensic-body{padding:18px;display:flex;flex-direction:column;gap:16px;height:100%}
.auth-stack{display:flex;height:34px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.auth-stack .seg{display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;font-weight:700;color:#04030e;min-width:0}
.auth-legend{display:flex;flex-wrap:wrap;gap:14px}
.auth-legend .al{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--t2)}
.auth-legend .al i{width:11px;height:11px;border-radius:3px}
.auth-legend .al b{color:var(--head);font-family:var(--f-mono)}
.forensic-grid{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:center;flex:1}
.radar-wrap{display:grid;place-items:center}
.fp-list{display:flex;flex-direction:column;gap:10px}
.fp-row{display:flex;align-items:center;gap:11px}
.fp-row .fpi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}
.fp-row .fpl{flex:1;font-size:13px;color:var(--t1)}
.fp-row .fpb{width:84px;height:6px;border-radius:6px;background:rgba(127,127,200,.14);overflow:hidden;flex:none}
.fp-row .fpb i{display:block;height:100%;border-radius:6px}
.fp-row .fpv{font-family:var(--f-mono);font-size:12.5px;color:var(--head);width:42px;text-align:end;flex:none;font-weight:600}

/* vitals */
.glass:has(.vitals){display:flex;flex-direction:column}
.glass:has(.vitals) .vitals{flex:1 1 auto}
.vitals{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-radius:0 0 18px 18px;overflow:hidden;grid-auto-rows:minmax(78px,1fr)}
.vital{background:var(--panel-2);padding:13px 14px;display:flex;flex-direction:column;justify-content:center;min-width:0}
[data-theme="light"] .vital{background:#fff}
.vital .vv{font-family:var(--f-mono);font-size:20px;font-weight:700;color:var(--head);line-height:1.05;letter-spacing:-.01em}
.vital .vl{font-size:11.5px;color:var(--t3);margin-top:6px;line-height:1.35}

/* ---- DISCOVERY ---- */
.disc-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);margin-bottom:13px}
.disc-bar .seg-lbl{font-size:12px;color:var(--t3);font-weight:600;margin-inline-end:4px}
.tier-chip{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 17px;border-radius:10px;font-size:16px;font-weight:600;
  border:1px solid var(--line-2);background:rgba(123,108,240,.05);color:var(--t1);cursor:pointer;transition:.15s}
.tier-chip.on{background:linear-gradient(180deg,rgba(123,108,240,.28),rgba(123,108,240,.12));color:var(--head);border-color:transparent;box-shadow:0 0 0 1px var(--violet)}
.tier-chip .dot{width:7px;height:7px;border-radius:50%}
.disc-search{margin-inline-start:auto;display:flex;align-items:center;gap:9px;height:38px;border:1px solid var(--line-2);border-radius:11px;padding:0 14px;background:var(--input-bg,rgba(0,0,0,.12));min-width:260px;color:var(--t3)}
.disc-search svg{flex:none;color:var(--t3);opacity:.85}
.disc-search input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--t1);font-family:inherit;font-size:13.5px}

/* rich results table */
.dtable{width:100%;border-collapse:separate;border-spacing:0}
.dtable thead th{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--t3);font-weight:600;text-align:start;padding:0 14px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
[lang="ar"] .dtable thead th{text-transform:none;letter-spacing:0;font-size:13px}
.dtable tbody tr{transition:.12s;cursor:pointer}
.dtable tbody tr:hover{background:color-mix(in oklab,var(--violet) 9%,transparent)}
.dtable tbody td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:13.5px;color:var(--t1)}
.dt-who{display:flex;align-items:center;gap:11px}
.dt-av{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:700}
.dt-who b{font-size:14.5px;color:var(--head);font-weight:600;display:block}
.dt-who span{font-family:var(--f-mono);font-size:11.5px;color:var(--t3)}
.dt-plat{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--t1)}
.dt-gis{display:inline-flex;align-items:center;gap:9px}
.dt-gis .gnum{font-family:var(--f-mono);font-size:17px;font-weight:700}
.dt-gis .gmini{width:46px;height:5px;border-radius:5px;background:rgba(127,127,200,.16);overflow:hidden}
.dt-gis .gmini i{display:block;height:100%;border-radius:5px}
.dt-eng{font-family:var(--f-mono);font-size:13.5px;color:var(--pos)}
.dt-fr{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:8px}
.dt-fr.safe{background:rgba(82,217,153,.13);color:var(--pos-t)}
.dt-fr.medium{background:rgba(254,182,2,.13);color:var(--warn-t)}
.dt-fr.risk{background:rgba(253,66,31,.14);color:var(--crit-t)}
.dt-go{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line);color:var(--t2);background:transparent}
tr:hover .dt-go{border-color:var(--violet);color:var(--violet-2)}

/* analysis cards */
.geo-rows{display:flex;flex-direction:column;gap:13px}
.geo-row{display:flex;align-items:center;gap:12px}
.geo-row .gcode{width:30px;font-family:var(--f-mono);font-size:12px;color:var(--t3);font-weight:600}
.geo-row .gname{flex:1;font-size:14px;color:var(--t1)}
.geo-row .gtrack{width:140px;height:9px;border-radius:9px;background:rgba(127,127,200,.13);overflow:hidden;flex:none}
.geo-row .gtrack i{display:block;height:100%;border-radius:9px}
.geo-row .gpct{font-family:var(--f-mono);font-size:14px;color:var(--head);width:42px;text-align:end;flex:none;font-weight:600}

.qual-curve{display:flex;align-items:flex-end;gap:8px;height:128px;padding-top:6px}
.qual-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;height:100%;justify-content:flex-end}
.qual-bar .qb{width:100%;border-radius:9px 9px 4px 4px;min-height:6px;position:relative;transition:.4s}
.qual-bar .qv{font-family:var(--f-mono);font-size:13px;font-weight:700;color:var(--head)}
.qual-bar .ql{font-size:11.5px;color:var(--t3);text-align:center;line-height:1.25}

/* cross-platform identity */
.identity{display:flex;flex-direction:column;gap:10px}
.id-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.id-row .idx{flex:1;min-width:0}
.id-row .idx b{font-size:14px;color:var(--head);display:block}
.id-row .idx span{font-family:var(--f-mono);font-size:11.5px;color:var(--t3)}
.id-row .idf{font-family:var(--f-mono);font-size:13.5px;color:var(--t1);font-weight:600}

/* lookalike */
.look{display:flex;flex-direction:column;gap:10px}
.look-row{display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.look-row .lav{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;color:#fff;font-weight:700}
.look-row .lx{flex:1}
.look-row .lx b{font-size:14px;color:var(--head);display:block}
.look-row .lx span{font-size:12px;color:var(--t3)}
.look-row .lmatch{text-align:end}
.look-row .lmatch .pct{font-family:var(--f-mono);font-size:16px;font-weight:700;color:var(--cyan)}
.look-row .lmatch .ml{font-size:10.5px;color:var(--t3)}

/* content cards */
.content-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.cc{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel-2)}
.cc .cimg{height:96px;position:relative;display:grid;place-items:center;color:#fff}
.cc .cplat{position:absolute;top:8px;inset-inline-start:8px}
.cc .cbody{padding:11px 12px}
.cc .cbody b{font-size:13.5px;color:var(--head);font-weight:600;display:block;line-height:1.35}
.cc .cmetrics{display:flex;gap:13px;margin-top:9px;font-family:var(--f-mono);font-size:11.5px;color:var(--t3)}
.cc .cmetrics span{display:inline-flex;align-items:center;gap:4px}

/* ============ POSTURE SYNTHESIS (leadership AI assessment) ============ */
.ps{display:flex;flex-direction:column;gap:13px}
.ps-lead{font-size:14px;line-height:1.78;color:var(--t1);margin:0}
.ps-h{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--violet-2);margin:0 0 9px}
.ps-h svg{color:var(--violet-2)}
.ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:1100px){.ps-grid{grid-template-columns:1fr}}
.ps-col{min-width:0}
.ps-sigs{display:flex;flex-direction:column;gap:7px}
.ps-sig{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.ps-sig-ev{cursor:pointer;transition:border-color .15s,background .15s}
.ps-sig-ev:hover{border-color:color-mix(in oklab,var(--violet) 50%,var(--line));background:var(--panel-3)}
.ps-dot{width:8px;height:8px;border-radius:50%;flex:none}
.ps-sx{flex:1;min-width:0}
.ps-sx b{font-size:13px;font-weight:600;color:var(--t1);line-height:1.4}
.ps-met{font-family:var(--f-mono);font-size:12.5px;font-weight:700;flex:none}
.ps-ev-i{color:var(--violet-2);flex:none;opacity:.7}
.ps-rec{border-top:1px solid var(--line);padding-top:12px}
.ps-recs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:psr}
.ps-rec-li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t1)}
.ps-pri{flex:none;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:7px;letter-spacing:.02em}
.ps-rec-tx{flex:1;line-height:1.5}
.ps-sla{flex:none;display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:11px;color:var(--t3);white-space:nowrap}
.ps-sla svg{color:var(--t3)}
.ps-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.ps-conf{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--t2);white-space:nowrap}
.ps-conf svg{color:var(--violet-2)}
.ps-conf b{font-family:var(--f-mono);color:var(--head);font-weight:700}

/* read-only command-view pill (replaces action buttons) */
.ro-pill{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--violet-2);background:color-mix(in oklab,var(--violet) 12%,transparent);border:1px solid color-mix(in oklab,var(--violet) 34%,var(--line))}
.ro-pill svg{color:var(--violet-2)}

/* ============ RELATIONSHIP WEB ============ */
.rel-hub{display:flex;justify-content:center;padding:6px 0 2px}
.rel-center{display:inline-flex;align-items:center;gap:9px;font-size:15px;color:var(--head);background:color-mix(in oklab,var(--violet) 16%,transparent);border:1px solid color-mix(in oklab,var(--violet) 40%,var(--line));border-radius:12px;padding:10px 18px}
.rel-center svg{color:var(--violet-2)}
.rel-chain{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.rel-step{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:9px;border:1px solid var(--line)}
.rel-arrow{color:var(--t3);display:inline-flex}
.rel-arrow svg{transform:scaleX(-1)}
[dir="ltr"] .rel-arrow svg{transform:none}

/* ============ REPORT / ALERT TYPE CATALOG ============ */
.rtype-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:11px}
.rtype{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);transition:border-color .15s,transform .15s;cursor:pointer}
.rtype:hover{border-color:color-mix(in oklab,var(--violet) 45%,var(--line));transform:translateY(-2px)}
.rtype-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:none}
.rtype-x{flex:1;min-width:0}
.rtype-x b{display:block;font-size:13.5px;color:var(--head);font-weight:600}
.rtype-x span{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.rtype-go{color:var(--t3);flex:none;display:inline-flex}
[dir="ltr"] .rtype-go svg{transform:scaleX(-1)}
