/* Tapsiera demo platform */
@font-face{font-family:"Plex Arabic";src:url(fonts/plex-arabic-arabic-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"Plex Arabic";src:url(fonts/plex-arabic-arabic-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"Plex Arabic";src:url(fonts/plex-arabic-arabic-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"Plex Arabic";src:url(fonts/plex-arabic-latin-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212}
@font-face{font-family:"Plex Arabic";src:url(fonts/plex-arabic-latin-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212}
@font-face{font-family:"Plex Arabic";src:url(fonts/plex-arabic-latin-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212}

:root{
  /* Tapsiera brand — navy sampled from the official logo PDF: rgb(12,29,57) = #0C1D39 */
  --navy:#0C1D39;
  /* v7 surfaces: soft canvas, white cards, navy sidebar */
  --bg:#F4F6FA;--bg2:#EBEFF5;--card:#FFFFFF;--card2:#F8FAFC;--line:#E3E8EF;--line2:#EEF1F6;
  --text:#0E1A2E;--text2:#33415C;--muted:#64748B;--faint:#94A3B8;
  --brand:#0C1D39;--brand2:#1A3366;--brand-soft:#E8EEF8;--brand-ink:#0C1D39;--on-brand:#FFFFFF;
  --accent:#0A6EBD;--accent2:#085A9C;--accent-soft:#E6F1FB;--on-accent:#FFFFFF;
  --good:#12805C;--good-soft:#E3F4EC;--warn:#B45309;--warn-soft:#FDF1E1;--bad:#C2410C;--bad-soft:#FDEBE4;--info:#5B4FD0;--info-soft:#EFEDFC;
  --c1:#0C1D39;--c2:#2C8BD6;--c3:#C98A1B;--c4:#9E5BD6;
  --heat-hi:10,110,189;
  --shade:rgba(12,29,57,.04);--grid:#EDF0F5;
  --shadow:0 1px 2px rgba(12,29,57,.04),0 2px 6px -2px rgba(12,29,57,.06);
  --shadow-h:0 2px 4px rgba(12,29,57,.04),0 12px 28px -10px rgba(12,29,57,.18);
  --shadow2:0 18px 44px -12px rgba(12,29,57,.28);
  --r:16px;--r2:12px;
  /* sidebar + bottom bar */
  --side:#0C1D39;--side2:#11264A;--side-line:rgba(255,255,255,.08);--side-text:rgba(255,255,255,.74);--side-mute:rgba(255,255,255,.5);--side-hover:rgba(255,255,255,.06);--side-on:rgba(61,155,234,.2);--side-ind:#3D9BEA;
  /* hero */
  --hero1:#0C1D39;--hero2:#163566;--hero-glow:rgba(61,155,234,.45);
  color-scheme:light;
}
[data-theme=dark]{
  /* v7 dark: canvas, a darker sidebar and lifted cards stay distinct; brand navy/azure harmonised */
  --bg:#0B1220;--bg2:#121B2E;--card:#111A2D;--card2:#152037;--line:#1E2A42;--line2:#18233A;
  --text:#E8EDF7;--text2:#BAC5DA;--muted:#8794AF;--faint:#5C6884;
  --brand:#8FB0F2;--brand2:#ABC4F6;--brand-soft:rgba(143,176,242,.13);--brand-ink:#C9D8F9;--on-brand:#0C1D39;
  --accent:#5AABEF;--accent2:#7CBDF3;--accent-soft:rgba(90,171,239,.13);--on-accent:#06111F;
  --good:#3DD68C;--good-soft:rgba(61,214,140,.11);--warn:#F5B544;--warn-soft:rgba(245,181,68,.12);--bad:#FB8A5E;--bad-soft:rgba(251,138,94,.12);--info:#A79BFF;--info-soft:rgba(167,155,255,.12);
  --c1:#8FB0F2;--c2:#49A6F2;--c3:#E3A93A;--c4:#C08BF0;
  --heat-hi:73,166,242;
  --shade:rgba(255,255,255,.03);--grid:#1A253B;
  --shadow:0 1px 0 rgba(255,255,255,.025) inset,0 1px 2px rgba(0,0,0,.35),0 6px 16px -8px rgba(0,0,0,.5);
  --shadow-h:0 1px 0 rgba(255,255,255,.04) inset,0 16px 32px -12px rgba(0,0,0,.7);
  --shadow2:0 20px 48px -12px rgba(0,0,0,.7);
  --side:#070C17;--side2:#0C1426;--side-line:rgba(255,255,255,.06);--side-text:rgba(232,237,247,.72);--side-mute:rgba(232,237,247,.45);--side-hover:rgba(255,255,255,.05);--side-on:rgba(90,171,239,.16);--side-ind:#5AABEF;
  --hero1:#13274D;--hero2:#0F1C38;--hero-glow:rgba(90,171,239,.35);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:"Plex Arabic","IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--brand)}
.num,.kpi .v,.money,td.n,th.n{font-variant-numeric:tabular-nums}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
svg{display:block}

/* ---------- login ---------- */
.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.login-art{background:radial-gradient(900px 520px at 85% -10%,rgba(73,140,230,.38) 0,transparent 62%),radial-gradient(700px 420px at 0% 110%,rgba(62,198,228,.16) 0,transparent 60%),linear-gradient(160deg,#060E1F,#0C1D39 55%,#132A52);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-art h2{font-size:34px;line-height:1.35;margin:0 0 14px;font-weight:700;max-width:520px}
.login-art p{opacity:.85;max-width:480px;margin:0;font-size:16px}
.login-art .mini{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 20px;max-width:420px;backdrop-filter:blur(6px)}
.login-art .mini .l{font-size:13px;opacity:.8}.login-art .mini .v{font-size:30px;font-weight:700;margin-top:2px}
.login-art .mini .rows{margin-top:10px;display:grid;gap:6px;font-size:13px}
.login-art .mini .rows div{display:flex;justify-content:space-between;gap:12px;opacity:.92}
.login-form{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--card)}
.login-box{width:100%;max-width:380px}
.login-box h1{font-size:26px;margin:24px 0 6px}
.login-box .sub{color:var(--muted);margin:0 0 26px}
.field{display:block;margin-bottom:14px}
.field span{display:block;font-size:13px;color:var(--text2);margin-bottom:6px;font-weight:500}
.input{width:100%;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:0 14px;outline:none;transition:border .15s}
.input:focus{border-color:var(--brand);background:var(--card)}
.login-box .btn-xl{width:100%;height:50px;font-size:16px;margin-top:6px}
.login-box .or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12px;margin:18px 0}
.login-box .or:before,.login-box .or:after{content:"";flex:1;height:1px;background:var(--line)}
.login-top{display:flex;justify-content:space-between;align-items:center}
.login-foot{margin-top:28px;font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ---------- shell ---------- */
.app{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;background:var(--card);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px 14px;overflow-y:auto}
.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px;text-decoration:none;color:var(--text)}
.brand .logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--brand),var(--brand2));display:grid;place-items:center;color:#fff;flex:none;box-shadow:0 4px 12px -4px rgba(12,29,57,.5)}
.brand b{font-size:18px;letter-spacing:-.2px}
.brand small{display:block;font-size:11.5px;color:var(--muted);line-height:1.2;margin-top:1px}
.tenant{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;background:var(--bg)}
.tenant .av{width:30px;height:30px;border-radius:8px;background:#6B3E1F;color:#F8E7D2;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.tenant div{min-width:0}.tenant b{font-size:13.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant small{font-size:11.5px;color:var(--muted)}
.nav-g{font-size:11.5px;color:var(--faint);font-weight:500;padding:14px 10px 6px;letter-spacing:.2px}
.nav a{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:9px;color:var(--text2);text-decoration:none;font-size:14.2px;font-weight:500;margin-bottom:1px;transition:background .12s,color .12s}
.nav a svg{width:18px;height:18px;flex:none;color:var(--muted)}
.nav a:hover{background:var(--bg2)}
.nav a.on{background:var(--brand-soft);color:var(--brand-ink)}
.nav a.on svg{color:var(--brand)}
.nav a .pill{margin-inline-start:auto;font-size:11px;background:var(--accent-soft);color:var(--accent);padding:0 7px;border-radius:99px;font-weight:700}
.nav a .live{margin-inline-start:auto;width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}
.side-foot{margin-top:auto;padding-top:14px}
.upsell{border:1px solid var(--line);border-radius:12px;padding:12px;font-size:12.5px;color:var(--muted);background:linear-gradient(180deg,var(--brand-soft),transparent)}
.upsell b{color:var(--text);display:block;font-size:13px;margin-bottom:2px}

.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;gap:10px}
.top h1{font-size:18px;margin:0;font-weight:700;white-space:nowrap}
.top .crumb{color:var(--muted);font-size:12.5px;line-height:1.2}
.top .tt{min-width:0;margin-inline-end:auto}
.top .dc{display:contents}
.demo-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding:2px 9px;border-radius:99px;white-space:nowrap}
.demo-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.sel{position:relative;display:inline-flex;align-items:center}
.sel select{appearance:none;-webkit-appearance:none;height:36px;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:0 12px;padding-inline-end:30px;font-size:13.5px;font-weight:500;cursor:pointer;box-shadow:var(--shadow)}
.sel:after{content:"";position:absolute;inset-inline-end:12px;top:50%;width:7px;height:7px;border:solid var(--muted);border-width:0 1.6px 1.6px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;color:var(--text2);box-shadow:var(--shadow);position:relative;flex:none}
.icon-btn svg{width:17px;height:17px}
.icon-btn .dot{position:absolute;top:7px;inset-inline-end:8px;width:7px;height:7px;border-radius:50%;background:var(--bad);border:2px solid var(--card)}
.lang-btn{font-size:12.5px;font-weight:700;width:auto;padding:0 10px}
.me{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#C98A1B,#8C5A10);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.page{padding:24px 28px 48px;max-width:1360px;width:100%;margin:0 auto}
.page-in{animation:fade .28s ease}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.ph h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.2px}
.ph p{margin:2px 0 0;color:var(--muted);font-size:14px}

/* ---------- primitives ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px;min-width:0}
.card h3{margin:0;font-size:15px;font-weight:700}
.card .ch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.card .ch p{margin:2px 0 0;color:var(--muted);font-size:12.8px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.g-21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.g-12{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.mt{margin-top:16px}.mt2{margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:600;font-size:13.5px;cursor:pointer;color:var(--text);text-decoration:none;white-space:nowrap;transition:transform .08s,background .15s,border .15s}
.btn:active{transform:scale(.98)}
.btn svg{width:16px;height:16px}
.btn-p{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.btn-p:hover{background:var(--brand2)}
[data-theme=dark] .btn-p{color:var(--on-brand)}
.btn-s{height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}
.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--brand)}
.btn-ok{background:var(--good-soft);border-color:transparent;color:var(--good)}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--bg2);color:var(--text2);white-space:nowrap}
.chip.good{background:var(--good-soft);color:var(--good)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.brand{background:var(--brand-soft);color:var(--brand-ink)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.gold{background:var(--accent-soft);color:var(--accent)}
.est{font-size:11px;font-weight:600;color:var(--info);background:var(--info-soft);padding:1px 8px;border-radius:99px;white-space:nowrap}
.seg{display:inline-flex;background:var(--bg2);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:transparent;padding:5px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}
.seg button.on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}
.muted{color:var(--muted)}.small{font-size:12.8px}.tiny{font-size:11.8px}
.up{color:var(--good)}.down{color:var(--bad)}
.delta{font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:3px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:5px;vertical-align:-1px}
.legend i.ln{height:3px;border-radius:2px;vertical-align:3px;width:14px}
.legend i.dash{height:0;border-top:2px dashed;width:14px;vertical-align:3px;background:none!important}

/* charts */
.chart{width:100%;height:auto;overflow:visible;direction:ltr}
.donut,.gauge,.spark{direction:ltr}
.chart .grid{stroke:var(--grid);stroke-width:1}
.chart .axis{font-size:11px;fill:var(--faint);font-family:inherit}
.chart .band{fill:var(--good-soft);stroke:none}
.chart .bandlbl{font-size:11px;fill:var(--good);font-weight:600}
.chart .cband{fill:var(--brand);opacity:.24}
.chart .mark{font-size:10.5px;font-weight:700}
.spark{width:100%;height:36px}
.gauge{width:100%;max-width:300px;margin:0 auto}
.gtrack{fill:none;stroke:var(--bg2);stroke-width:16;stroke-linecap:round}
.garc{fill:none;stroke-width:16;stroke-linecap:round;transition:d .6s ease,stroke .3s}
.donut{width:132px;height:132px;flex:none}
.donut .dc1{font-size:17px;font-weight:700;fill:var(--text)}.donut .dc2{font-size:9.5px;fill:var(--muted)}

/* KPI */
.kpi{display:flex;flex-direction:column;gap:2px;padding:16px 18px}
.kpi .l{font-size:12.8px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:6px}
.kpi .v{font-size:25px;font-weight:700;letter-spacing:-.4px;line-height:1.25}
.kpi .v small{font-size:13px;font-weight:500;color:var(--muted);margin-inline-start:3px}
.kpi .f{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.kpi .spark{margin-top:6px}
.kpi.live{background:linear-gradient(180deg,var(--brand-soft),var(--card) 70%)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--good);display:inline-block;position:relative}
.pulse:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--good);opacity:0;animation:pulse 1.8s infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.6);opacity:0}}

/* opportunity hero */
.opp{padding:0;overflow:hidden}
.opp-h{padding:22px 24px 18px;background:radial-gradient(800px 240px at 100% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),linear-gradient(180deg,var(--accent-soft),transparent);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap}
[dir=ltr] .opp-h{background:radial-gradient(800px 240px at 0 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),linear-gradient(180deg,var(--accent-soft),transparent)}
.opp-h .l{font-size:14px;color:var(--text2);font-weight:600;display:flex;gap:8px;align-items:center}
.opp-h .v{font-size:40px;font-weight:700;letter-spacing:-1px;line-height:1.15;margin-top:4px;color:var(--text)}
.opp-h .v small{font-size:17px;color:var(--muted);font-weight:600}
.opp-h .s{color:var(--muted);font-size:13px;margin-top:2px}
.stack{display:flex;height:10px;border-radius:99px;overflow:hidden;margin-top:12px;background:var(--bg2);min-width:240px}
.stack span{display:block;height:100%}
.opp-list{display:grid}
.opp-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 24px;border-bottom:1px solid var(--line2)}
.opp-row:last-child{border-bottom:0}
.opp-row .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center}
.opp-row .ic svg{width:19px;height:19px}
.opp-row .t{font-weight:600;font-size:14.3px;line-height:1.45}
.opp-row .d{font-size:12.8px;color:var(--muted);line-height:1.5}
.opp-row .m{font-weight:700;font-size:16px;white-space:nowrap;text-align:end}
.opp-row .m small{display:block;font-size:11px;color:var(--muted);font-weight:500}
.how{grid-column:2 / -1;font-size:12.5px;background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:10px 12px;color:var(--text2);display:none;line-height:1.75}
.how.open{display:block}
.how code,.formula code{font-family:inherit;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);padding:0 6px;border-radius:5px}
.linkish{background:none;border:0;padding:0;color:var(--brand);font-size:12.5px;font-weight:600;cursor:pointer}

.saved{display:flex;flex-direction:column;gap:10px}
.saved .big{font-size:34px;font-weight:700;letter-spacing:-.8px;color:var(--good);line-height:1.2}
.saved .roi{display:flex;gap:10px;flex-wrap:wrap}
.saved .roi div{flex:1;min-width:110px;background:var(--bg);border-radius:10px;padding:10px 12px}
.saved .roi b{display:block;font-size:17px}
.saved .roi span{font-size:12px;color:var(--muted)}

/* formula box */
.formula{background:linear-gradient(180deg,var(--bg),var(--bg2));border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.9}
.formula .eq{font-weight:700;font-size:14.5px;color:var(--text)}
.formula .calc{font-variant-numeric:tabular-nums;color:var(--text2)}
.formula .res{font-weight:700;color:var(--accent);font-size:18px}

/* tables */
.tbl-wrap{overflow-x:auto;margin:0 -20px;padding:0 20px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{font-size:12px;color:var(--muted);font-weight:600;text-align:start;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid var(--line2);vertical-align:middle}
tr:last-child td{border-bottom:0}
td.n,th.n{text-align:end;white-space:nowrap}
.rank{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--bg2)}
.rank.r1{background:var(--accent-soft);color:var(--accent)}
.bar-in{height:6px;border-radius:99px;background:var(--bg2);overflow:hidden;min-width:60px}
.bar-in span{display:block;height:100%;border-radius:99px;background:var(--brand)}

/* heatmap */
.heat{display:grid;gap:3px;font-size:11px;min-width:640px}
.heat .hl{color:var(--faint);text-align:center;font-size:10.5px}
.heat .rl{color:var(--muted);font-weight:600;font-size:12px;display:flex;align-items:center;white-space:nowrap}
.heat .c{height:30px;border-radius:5px;display:grid;place-items:center;font-weight:600;font-size:10.5px;color:var(--text);cursor:default}
.heat-scroll{overflow-x:auto;margin:0 -20px;padding:0 20px 4px}
.scale{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.scale span{width:120px;height:8px;border-radius:99px}

/* funnel */
.funnel{display:grid;gap:10px}
.fstep{display:grid;grid-template-columns:120px minmax(0,1fr) 80px;gap:12px;align-items:center}
.fstep .lab{font-size:13px;font-weight:600}
.fstep .lab small{display:block;color:var(--muted);font-weight:500;font-size:11.5px}
.fbar{height:38px;border-radius:9px;display:flex;align-items:center;padding:0 12px;color:#fff;font-weight:700;font-size:14px;min-width:84px}
.fstep .rate{font-size:12.5px;color:var(--muted);text-align:end}
.fstep .rate b{display:block;color:var(--text);font-size:15px}

/* live */
.live-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px}
.gauge-card{text-align:center;position:relative}
.gauge-num{margin-top:-62px;font-size:44px;font-weight:700;letter-spacing:-1px;line-height:1}
.gauge-num small{font-size:16px;color:var(--muted);font-weight:500}
.gauge-sub{color:var(--muted);font-size:13px;margin-top:6px}
.counters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.counter{background:var(--bg);border-radius:12px;padding:12px}
.counter .l{font-size:12px;color:var(--muted)}
.counter .v{font-size:24px;font-weight:700;transition:color .4s}
.counter .v.flash{color:var(--brand)}
.alert-banner{display:flex;gap:14px;align-items:center;padding:14px 18px;border-radius:14px;background:var(--bad-soft);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);margin-bottom:16px;flex-wrap:wrap}
.alert-banner .ic{width:38px;height:38px;border-radius:10px;background:var(--bad);color:#fff;display:grid;place-items:center;flex:none}
.alert-banner .ic svg{width:19px;height:19px}
.alert-banner .tx{flex:1;min-width:220px}
.alert-banner b{display:block;font-size:14.5px}
.alert-banner span{font-size:13px;color:var(--text2)}
.alert-banner.done{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 30%,transparent)}
.alert-banner.done .ic{background:var(--good)}
.door{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line2)}
.door:last-child{border-bottom:0}
.door .nm{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}
.door .ct{font-size:13px;color:var(--muted);text-align:end}
.door .ct b{color:var(--text);font-size:15px}
.feed{display:grid;gap:0;max-height:300px;overflow:hidden}
.feed div{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line2);animation:slide .35s ease}
@keyframes slide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ev-in{color:var(--good);font-weight:700}.ev-out{color:var(--muted);font-weight:700}

/* staffing */
.sched{display:grid;grid-template-columns:76px repeat(6,minmax(64px,1fr));gap:4px;font-size:12.5px;min-width:560px}
.sched .h{color:var(--muted);font-size:11.5px;text-align:center;padding:4px 0}
.sched .d{font-weight:600;display:flex;align-items:center}
.sched .c{border-radius:8px;padding:6px 4px;text-align:center;background:var(--bg);font-weight:700;font-size:15px;line-height:1.2}
.sched .c small{display:block;font-size:10.5px;font-weight:600}
.sched .c.upc{background:var(--bad-soft);color:var(--bad)}
.sched .c.dnc{background:var(--info-soft);color:var(--info)}
.stat{display:flex;flex-direction:column;gap:2px}
.stat .l{font-size:12.8px;color:var(--muted)}
.stat .v{font-size:24px;font-weight:700;letter-spacing:-.4px}
.stat .s{font-size:12.5px;color:var(--muted)}

/* forecast */
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.day{border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:var(--card);font-size:12px}
.day .dn{color:var(--muted);font-weight:600;display:flex;justify-content:space-between;gap:4px}
.day .dv{font-size:17px;font-weight:700;margin-top:2px}
.day .tag{display:inline-block;margin-top:3px;font-size:10.5px;font-weight:700;padding:0 6px;border-radius:99px}
.day.wk{background:var(--bg)}
.sim{display:grid;gap:18px}
.slider label{display:flex;justify-content:space-between;font-weight:600;font-size:13.5px;margin-bottom:6px}
.slider label b{color:var(--brand)}
input[type=range]{width:100%;accent-color:var(--brand)}
.sim-out{border-radius:14px;padding:16px 18px;background:var(--bg);border:1px solid var(--line)}
.sim-out .v{font-size:30px;font-weight:700;letter-spacing:-.6px}
.sim-out .rows{display:grid;gap:4px;font-size:13px;margin-top:8px;color:var(--text2)}
.sim-out .rows div{display:flex;justify-content:space-between;gap:10px}

/* audience */
.hbar{display:grid;grid-template-columns:64px minmax(0,1fr) 46px;gap:10px;align-items:center;font-size:13px;margin-bottom:9px}
.hbar .t{height:22px;background:var(--bg2);border-radius:6px;overflow:hidden}
.hbar .t span{display:block;height:100%;border-radius:6px;background:var(--brand)}
.hbar b{text-align:end;font-variant-numeric:tabular-nums}
.don-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.don-leg{display:grid;gap:8px;font-size:13.5px;flex:1;min-width:140px}
.don-leg div{display:flex;justify-content:space-between;gap:10px}
.don-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:7px}

/* chat */
.chat{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:calc(100vh - 190px);min-height:520px;padding:0;overflow:hidden}
.msgs{overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.msg{max-width:min(620px,86%);padding:12px 15px;border-radius:16px;font-size:14.3px;line-height:1.75}
.msg.u{align-self:flex-start;background:var(--brand);color:var(--on-brand);border-start-start-radius:5px}
.msg.a{align-self:flex-end;background:var(--bg);border:1px solid var(--line);border-start-end-radius:5px}
[dir=ltr] .msg.u{align-self:flex-end;border-start-start-radius:16px;border-start-end-radius:5px}
[dir=ltr] .msg.a{align-self:flex-start;border-start-end-radius:16px;border-start-start-radius:5px}
.msg.a .who{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--brand);font-weight:700;margin-bottom:4px}
.msg.a .mini{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px 6px;margin:10px 0 6px}
.msg.a ul{margin:6px 0;padding-inline-start:18px}
.msg.a .act{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.typing{display:inline-flex;gap:4px;padding:4px 2px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--faint);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.composer{min-width:0;border-top:1px solid var(--line);padding:12px 14px;background:var(--card)}
.sugs{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}
.sugs::-webkit-scrollbar{display:none}
.sug{flex:none;border:1px solid var(--line);background:var(--bg);border-radius:99px;padding:6px 13px;font-size:13px;cursor:pointer;font-weight:500;white-space:nowrap}
.sug:hover{border-color:var(--brand);color:var(--brand)}
.comp-row{display:flex;gap:8px}
.comp-row .input{height:44px}

/* alerts + whatsapp */
.rule{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line2)}
.rule:last-child{border-bottom:0}
.rule .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--bg2);color:var(--text2)}
.rule .ic svg{width:18px;height:18px}
.rule b{font-size:14px;display:block}
.rule span{font-size:12.5px;color:var(--muted)}
.tog{width:40px;height:23px;border-radius:99px;background:var(--line);border:0;position:relative;cursor:pointer;flex:none;transition:background .2s}
.tog:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:inset-inline-start .2s}
.tog.on{background:var(--brand)}
.tog.on:after{inset-inline-start:20px}
.phone{width:100%;max-width:340px;margin:0 auto;border-radius:34px;background:#0B141A;padding:10px;box-shadow:var(--shadow2)}
.phone-in{border-radius:26px;overflow:hidden;background:#EFE7DE}
.wa-top{background:#075E54;color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px}
.wa-top .av{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#0C1D39;flex:none}
.wa-top .av.tp svg{width:21px;height:21px}
.wa-top .av.cafe{background:#6B3E1F;color:#F8E7D2;font-weight:700;font-size:15px}
.wa-top b{font-size:14px;display:block;line-height:1.2}.wa-top small{font-size:11px;opacity:.8}
.wa-body{padding:14px 12px 18px;min-height:420px;background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:14px 14px}
.wa-msg{background:#fff;color:#111;border-radius:10px;border-start-start-radius:2px;padding:9px 11px;font-size:13px;line-height:1.75;box-shadow:0 1px .5px rgba(0,0,0,.13);max-width:94%}
.wa-msg .tm{text-align:end;font-size:10.5px;color:#667781;margin-top:2px}
.wa-day{text-align:center;margin-bottom:10px}
.wa-day span{background:#E1F2FB;color:#54656F;font-size:11px;padding:3px 10px;border-radius:7px}
.log{display:grid}
.log div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line2);font-size:13px}
.log div:last-child{border-bottom:0}

/* devices */
.hb{display:flex;gap:2px;align-items:flex-end;height:22px}
.hb i{width:3px;border-radius:2px;background:var(--good);height:100%;opacity:.85}
.hb i.miss{background:var(--line);height:40%}
.st{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px}
.st:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st.on{color:var(--good)}.st.off{color:var(--bad)}

/* billing */
.plan{display:flex;flex-direction:column;gap:10px}
.plan .pn{display:flex;justify-content:space-between;align-items:center;gap:10px}
.plan .pr{font-size:26px;font-weight:700}
.plan .pr small{font-size:13px;color:var(--muted);font-weight:500}
.plan ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:13px;color:var(--text2)}
.plan li{display:flex;gap:8px;align-items:center}
.plan li svg{width:15px;height:15px;color:var(--good);flex:none}
.pay{display:flex;align-items:center;gap:12px}
.mada{width:46px;height:30px;border-radius:6px;background:linear-gradient(135deg,#1d3a8a,#2563eb);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:.5px}

/* toast, sheet */
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--text);color:var(--card);padding:11px 18px;border-radius:12px;font-size:13.5px;font-weight:500;box-shadow:var(--shadow2);opacity:0;pointer-events:none;transition:all .25s;z-index:100;max-width:calc(100vw - 32px);display:flex;gap:8px;align-items:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast svg{width:16px;height:16px;color:var(--good)}
.bnav{display:none}
.sheet-bg{position:fixed;inset:0;background:rgba(10,14,19,.45);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s}
.sheet-bg.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;inset-inline:0;bottom:0;background:var(--card);border-radius:20px 20px 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));z-index:61;transform:translateY(105%);transition:transform .25s ease;max-height:82vh;overflow-y:auto}
.sheet.open{transform:none;visibility:visible}
.sheet{visibility:hidden}
@media (min-width:981px){.sheet,.sheet-bg{display:none}}
.sheet .grab{width:40px;height:4px;border-radius:9px;background:var(--line);margin:4px auto 12px}
.sheet .grid-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sheet .grid-nav a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:12px;background:var(--bg);text-decoration:none;color:var(--text2);font-size:12.5px;font-weight:600;text-align:center}
.sheet .grid-nav a svg{width:20px;height:20px;color:var(--brand)}
.sheet .grid-nav a.on{background:var(--brand-soft);color:var(--brand-ink)}
.mfilters{display:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){
  .app{grid-template-columns:minmax(0,1fr)}
  .side{display:none}
  .top{padding:10px 16px;gap:8px}
  .top .desk{display:none}
  .page{padding:16px 16px 100px}
  .mfilters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
  .mfilters .sel{flex:1;min-width:0}.mfilters .sel select{width:100%}
  .g2,.g3,.g-21,.g-12,.live-wrap{grid-template-columns:minmax(0,1fr)}
  .g5,.g4,.keep2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g5>:last-child:nth-child(odd){grid-column:span 2}
  .bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;inset-inline:0;z-index:50;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .bnav a,.bnav button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.8px;font-weight:600;color:var(--muted);text-decoration:none;background:none;border:0;padding:4px 0;cursor:pointer}
  .bnav svg{width:21px;height:21px}
  .bnav .on{color:var(--brand)}
  .login{grid-template-columns:1fr}
  .login-art{padding:28px 22px;min-height:auto;gap:22px}
  .login-art h2{font-size:24px}
  .chat{height:calc(100vh - 230px)}
  .toast{bottom:84px}
}
@media (max-width:560px){
  body{font-size:14.5px}
  .card{padding:15px 15px;border-radius:13px}
  .tbl-wrap,.heat-scroll{margin:0 -15px;padding:0 15px}
  .ph h2{font-size:19px}
  .kpi{padding:13px 14px}.kpi .v{font-size:21px}
  .opp-h{padding:18px 16px 14px}.opp-h .v{font-size:32px}
  .opp-row{grid-template-columns:36px minmax(0,1fr) auto;padding:13px 16px;gap:10px}
  .opp-row .ic{width:36px;height:36px}
  .opp-row .btn{grid-column:2 / -1;justify-self:start}
  .how{grid-column:1 / -1}
  .days{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fstep{grid-template-columns:86px minmax(0,1fr) 62px;gap:8px}
  .counters{gap:6px}.counter{padding:10px}.counter .v{font-size:20px}
  .top h1{font-size:16px}
  .top .crumb{display:none}
  .stack{min-width:0;width:100%}
  .msg{max-width:92%}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.starters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px;max-width:720px}
.starter{display:flex;gap:10px;align-items:center;text-align:start;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:14px;cursor:pointer;font-weight:600;font-size:14px;color:var(--text);transition:border .15s,transform .1s}
.starter:hover{border-color:var(--brand);transform:translateY(-1px)}
.starter svg{width:20px;height:20px;color:var(--brand);flex:none}
@media (max-width:560px){.starters{grid-template-columns:1fr}}

/* ---------- v2: integrations, manual entry, setup, modals ---------- */
.home-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none;margin-top:12px}
.home-link svg{width:14px;height:14px}
.home-link:hover{color:var(--brand)}
.side-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:10px}
.side-links .home-link{margin:4px 11px 0}
.plus-btn{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.plus-btn:hover{background:var(--brand2)}
[data-theme=dark] .plus-btn{color:#06201c}
.sbtns{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}
.dangerish{color:var(--bad)}
.warn-t{color:var(--warn)}
.chip svg{width:13px;height:13px}
a.chip{text-decoration:none}
/* sources */
.src-g{margin-top:26px}
.src-gh{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.src-gh h3{margin:0;font-size:16px}
.g-note{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text2);background:var(--accent-soft);border-radius:10px;padding:9px 12px;margin:0 0 12px}
.g-note svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--accent)}
.src-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.src{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.src.is-on{border-color:color-mix(in srgb,var(--good) 35%,var(--line))}
.src-h{display:flex;gap:12px;align-items:center}
.src-n{display:flex;flex-direction:column;gap:2px;min-width:0}
.src-n b{font-size:14.5px;line-height:1.35}
.lg{--lg:#475467;width:40px;height:40px;border-radius:11px;flex:none;display:inline-grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:.2px;color:var(--lg);background:color-mix(in srgb,var(--lg) 13%,transparent);border:1px solid color-mix(in srgb,var(--lg) 28%,transparent);direction:ltr;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
[data-theme=dark] .lg{color:color-mix(in srgb,var(--lg) 55%,#fff)}
.lg.big{width:52px;height:52px;border-radius:14px;font-size:16px}
.lg svg{width:26px;height:26px}
.brand-lg{--lg:var(--brand);background:#0C1D39;color:#fff;border-color:#0C1D39}
[data-theme=dark] .brand-lg{background:#0C1D39;color:#fff;border-color:rgba(255,255,255,.18)}
.brand-lg svg{width:28px;height:28px}
.sst{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.sst:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--faint)}
.sst.on{color:var(--good)}.sst.on:before{background:var(--good)}
.sst.file{color:var(--accent)}.sst.file:before{background:var(--accent)}
.src-d{margin:0;font-size:13px;color:var(--text2)}
.src-f{margin:0;font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:flex-start;line-height:1.6}
.src-f svg{width:14px;height:14px;flex:none;margin-top:3px;color:var(--brand)}
.note-l{color:var(--accent);font-weight:600}
.src-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--line2);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.int-v{font-size:34px;font-weight:700;line-height:1.2;margin:2px 0 8px}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qa{display:flex;gap:12px;align-items:center;text-align:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);cursor:pointer;color:var(--text);text-decoration:none;width:100%;font:inherit;transition:border .15s,background .15s}
.qa:hover{border-color:var(--brand);background:var(--brand-soft)}
.qa b{display:block;font-size:13.5px}
.qa small{display:block;font-size:12px;color:var(--muted);line-height:1.5}
.qa-ic{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none}
.qa-ic svg{width:18px;height:18px}
.qa-list{display:grid;gap:8px}
/* completeness */
.cm-top{display:flex;align-items:center;gap:14px;margin:4px 0 12px}
.cm-top b{font-size:26px;line-height:1}
.cm-bar{flex:1;height:9px;border-radius:99px;background:var(--bg2);overflow:hidden}
.cm-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--brand2))}
.cm-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.cm-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);min-width:0}
.cm-ic{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--bg2);color:var(--muted)}
.cm-ic svg{width:14px;height:14px}
.cm-row.on .cm-ic{background:var(--good-soft);color:var(--good)}
.cm-t{display:flex;flex-direction:column;min-width:0;flex:1}
.cm-t b{font-size:13.5px}
.cm-t .tiny{line-height:1.5}
/* reminder */
.remind{display:flex;align-items:center;gap:12px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);border-radius:12px;padding:11px 14px;margin-bottom:14px}
.remind .ic{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn);display:grid;place-items:center;flex:none}
.remind .ic svg{width:18px;height:18px}
.remind div{flex:1;display:flex;flex-direction:column;min-width:0}
.remind b{font-size:14px}
.remind span{font-size:12.5px;color:var(--text2)}
.rem-tog{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text2);margin-top:4px}
.tag-m{display:inline-block;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:1px 8px;border-radius:99px;white-space:nowrap}
.note-c{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log-t td{white-space:nowrap}
.pay-s{color:var(--text2)}
/* campaigns */
.camp-c{text-align:start;cursor:pointer;font:inherit;color:inherit}
.camp-t{display:flex;justify-content:space-between;gap:8px;align-items:center}
.camp-src{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.plan-i{padding:10px 0;border-bottom:1px solid var(--line2);cursor:pointer;border-radius:8px}
.plan-i.on{background:var(--brand-soft);padding-inline:10px}
.plan-i:focus-visible{outline:2px solid var(--brand)}
/* setup */
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.sfld{display:flex;flex-direction:column;gap:4px;min-width:0}
.sl{font-size:13px;font-weight:600}
.sin{position:relative;display:block}
.sin .input{padding-inline-end:70px;font-weight:600;font-size:15px}
.sin em{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:12px;color:var(--muted);pointer-events:none}
.sfld small{font-size:11.5px;color:var(--muted);line-height:1.5}
.input.sm{height:36px;padding:0 10px;font-size:14px}
select.input{padding-inline-end:28px}
.stbl td{padding:8px 10px}
.stbl .input.sm{min-width:84px}
.shb{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg)}
.shr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px}
.shr .input{width:76px;flex:none;text-align:center}
.shr em{font-style:normal}
.set-res .v{font-size:28px;font-weight:700;margin:2px 0}
.set-res .rows{display:grid;gap:4px;margin-top:10px;font-size:13px}
.set-res .rows div{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line2);padding-bottom:4px}
.set-actions{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px;padding:12px 16px;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow2)}
/* modal */
body.m-open{overflow:hidden}
.mbg{position:fixed;inset:0;background:rgba(10,14,19,.48);z-index:90;animation:fade .15s ease}
.modal{position:fixed;z-index:91;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:min(88vh,860px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow2);animation:mpop .18s ease}
@keyframes mpop{from{opacity:0;transform:translate(-50%,-47%)}to{opacity:1;transform:translate(-50%,-50%)}}
.m-h{display:flex;align-items:center;gap:10px;padding:16px 18px 10px}
.m-h h3{margin:0;font-size:17px;flex:1;line-height:1.4}
.m-b{padding:4px 18px 16px;overflow-y:auto;overscroll-behavior:contain}
.m-f{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line2);background:var(--bg);border-radius:0 0 18px 18px}
.m-f .btn{height:40px}
.m-pair{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 14px}
.m-pair.start{justify-content:flex-start}
.m-dots{display:flex;gap:5px}
.m-dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}
.m-dots i:nth-child(2){background:var(--faint)}
.oauth{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--bg)}
.oauth-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.oauth-top .lg{width:30px;height:30px;font-size:11px;border-radius:8px}
.scopes{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:5px;font-size:13px}
.scopes li{display:flex;gap:8px;align-items:flex-start}
.scopes svg{width:15px;height:15px;color:var(--good);flex:none;margin-top:3px}
.map-r{display:grid;grid-template-columns:70px 18px 1fr;align-items:center;gap:8px;margin-top:6px;font-size:13px}
.m-demo{margin:12px 0 0}
.m-load{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0 26px}
.spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.m-done{text-align:center;padding:4px 6px 10px}
.m-done .ok-ic{width:46px;height:46px;border-radius:50%;background:var(--good-soft);color:var(--good);display:inline-grid;place-items:center;margin-bottom:8px}
.m-done .ok-ic svg{width:24px;height:24px}
.m-done b{display:block;font-size:16px}
.m-done p{margin:6px 0 0;font-size:13.5px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:13.5px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:500}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.fgrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 10px;margin-top:8px}
.modal .field{margin-bottom:12px}
.modal .field>span{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:var(--text2)}
.modal .input{height:42px}
.modal .input.sm{height:36px}
.input.ta{height:auto;padding:9px 12px;resize:vertical;line-height:1.6}
input[type=date].input{text-align:start}
.opt{border:1px dashed var(--line);border-radius:12px;padding:8px 12px;margin-bottom:12px}
.opt summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--brand)}
.hgrid{border:1px solid var(--line);border-radius:12px;padding:6px 10px;max-height:300px;overflow-y:auto;margin-bottom:12px}
.hg-h,.hg-r{display:grid;grid-template-columns:90px 1fr 1fr;gap:8px;align-items:center}
.hg-h{font-size:11.5px;color:var(--muted);font-weight:600;padding:4px 0;position:sticky;top:0;background:var(--card)}
.hg-r{padding:3px 0;font-size:12.5px}
.prev{background:var(--brand-soft);border-radius:12px;padding:10px 12px}
.prev:empty{display:none}
.prev-g{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px}
.prev-g div{display:flex;flex-direction:column}
.prev-g span{font-size:11.5px;color:var(--muted)}
.prev-g b{font-size:15px}
.chk-row{display:flex;gap:8px;flex-wrap:wrap}
.chk{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;padding:6px 12px;cursor:pointer;font-size:13px;background:var(--bg)}
.chk:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}
[data-theme=dark] .chk:has(input:checked){color:var(--brand)}
.chk input{accent-color:var(--brand);margin:0}
.fmt-box{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.fmt-box code{display:block;font-size:12.5px;margin:4px 0;word-break:break-word}
.up-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.up-btn{cursor:pointer}
.csv-t td,.csv-t th{padding:7px 8px;font-size:12.5px}
.bad-r td{color:var(--muted)}
/* chart tap tooltip */
.ctip{position:absolute;z-index:95;pointer-events:none;background:var(--text);color:var(--card);font-size:12.5px;line-height:1.55;padding:7px 11px;border-radius:10px;box-shadow:var(--shadow2);opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s;max-width:240px}
.ctip.show{opacity:1;transform:none}
.ctip b{display:block;font-size:12px;opacity:.75;font-weight:600}
svg.chart,svg.donut,.heat .c{cursor:pointer;-webkit-tap-highlight-color:transparent}
@media (max-width:1180px){.src-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){
.top .plus-btn{display:inline-grid}
.cm-list{grid-template-columns:1fr}
}
@media (max-width:600px){
.src-grid,.qa-grid,.sgrid{grid-template-columns:1fr}
.modal{top:auto;bottom:0;left:0;transform:none;width:100%;max-height:92vh;border-radius:20px 20px 0 0;animation:msheet .22s ease}
@keyframes msheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.m-f{border-radius:0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
.m-f .btn{flex:1}
.prev-g{grid-template-columns:1fr 1fr}
.fgrid3{grid-template-columns:1fr 1fr 1fr}
.remind{flex-wrap:wrap}
.remind .btn{width:100%}
.set-actions .btn{flex:1}
.int-v{font-size:28px}
}

.top h1 .ts{display:none}
@media (max-width:600px){.top h1 .tl{display:none}.top h1 .ts{display:inline}}
[dir=rtl] .sin .input{padding-left:78px;padding-right:12px;text-align:right}
[dir=ltr] .sin .input{padding-right:78px;padding-left:12px;text-align:left}
.sin em{inset-inline-end:auto;left:12px}
[dir=ltr] .sin em{left:auto;right:12px}

@media (min-width:981px) and (max-height:980px){.nav a{padding:6px 10px;font-size:13.8px}.nav-g{padding:9px 10px 3px}.tenant{margin-bottom:8px;padding:8px}.upsell{display:none}.side-links{margin-top:6px}}

@media (max-width:980px){.set-actions{bottom:calc(70px + env(safe-area-inset-bottom))}}

/* ---------- v3: extra income ---------- */
.rv-sw button{display:inline-flex;align-items:center;gap:6px}
.rv-sw svg{width:15px;height:15px}
.rv-hero{flex-wrap:wrap;gap:18px}
.rv-hs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1;max-width:520px;min-width:260px}
.rv-hs div{background:var(--bg);border:1px solid var(--line2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-hs b{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}
.rv-hs span{font-size:12px;color:var(--muted);line-height:1.45}
.rv-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:12.8px}
.rv-legend a{display:inline-flex;align-items:center;gap:6px;color:var(--text2);text-decoration:none}
.rv-legend a:hover{color:var(--text)}
.rv-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.rv-legend b{font-variant-numeric:tabular-nums;color:var(--text)}
.rv-card{display:flex;flex-direction:column;gap:12px;scroll-margin-top:84px}
.rv-top{display:flex;gap:12px;align-items:flex-start}
.rv-top .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
.rv-top .ic svg{width:20px;height:20px}
.rv-tt{flex:1;min-width:0}
.rv-tt h3{margin:0;font-size:15.5px}
.rv-tt p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.65}
.rv-num{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rv-num>.ltr{font-size:30px;font-weight:700;letter-spacing:-.6px;color:var(--good);font-variant-numeric:tabular-nums}
.rv-num small{font-size:13px;color:var(--muted)}
.rv-stat{margin-inline-start:auto;font-size:12.5px;font-weight:600;color:var(--text2);background:var(--bg2);border-radius:99px;padding:3px 10px}
.rv-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;background:var(--brand-soft);color:var(--brand-ink);border-radius:10px;padding:7px 11px}
.rv-share svg{width:16px;height:16px;flex:none}
.rv-share .muted{font-size:12px;color:var(--brand-ink);opacity:.75}
.rv-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.rv-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.rv-f>span:first-child{font-size:12px;font-weight:600;color:var(--text2);line-height:1.4;min-height:2.8em;display:flex;align-items:flex-end}
.rv-in{position:relative;display:block}
.rv-in .input{height:38px;font-weight:600;font-size:14.5px;width:100%;text-align:start}
[dir=rtl] .rv-in .input{padding-left:58px;padding-right:10px;text-align:right}
[dir=ltr] .rv-in .input{padding-right:58px;padding-left:10px;text-align:left}
.rv-in em{position:absolute;top:50%;transform:translateY(-50%);font-style:normal;font-size:11.5px;color:var(--muted);pointer-events:none;max-width:52px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
[dir=rtl] .rv-in em{left:10px}
[dir=ltr] .rv-in em{right:10px}
.rv-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto}
.rv-acts .linkish{margin-inline-start:auto}
.rv-how .formula{display:flex;flex-direction:column;gap:6px}
.rv-how .formula .eq{font-size:13.5px}
.rv-how .formula .calc{font-size:13px;word-break:break-word}
.rv-how .formula .res{font-size:16px}
.rv-how .formula p{margin:2px 0 0}
.ltr-n{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;white-space:nowrap}
[dir=rtl] .formula .ltr-n{text-align:right}
.rv-rep-wrap{border-style:solid;padding:0;background:none}
.rv-paper{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow2);display:flex;flex-direction:column;gap:12px;color:var(--text)}
.rv-paper-h{display:flex;gap:10px;align-items:center}
.rv-paper-h .logo{width:32px;height:32px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;flex:none}
.rv-paper-h .logo svg{width:18px;height:18px}
.rv-paper-h div{flex:1;min-width:0}
.rv-paper-h b{display:block;font-size:14px}
.rv-paper-h small{font-size:12px;color:var(--muted)}
.rv-paper-k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rv-paper-k div{background:var(--bg);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}
.rv-paper-k b{font-size:17px}
.rv-paper-k span{font-size:11.5px;color:var(--muted)}
.rv-paper .btn{align-self:flex-start}
.rv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rv-g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rv-h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text2);display:flex;gap:6px;align-items:center}
.rv-proof,.rv-kiosk,#rv-wa{scroll-margin-top:84px}
.rv-heat{min-width:720px}
.rv-heat .c{font-size:10px}
.rv-tbl td,.rv-tbl th{white-space:nowrap}
.rv-phone{max-width:300px}
.rv-wa-body{min-height:250px}
.rv-wa-body .wa-msg{margin-bottom:8px}
.rv-unsub{font-size:11.5px!important;color:#667781!important}
.rv-note{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.rv-note>svg{width:22px;height:22px;color:var(--brand);flex:none;margin-top:2px}
.rv-note>div{flex:1;min-width:220px}
.rv-note p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.7}
.rv-mini{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;background:linear-gradient(135deg,var(--accent-soft),var(--card) 70%)}
.rv-mini .ic{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.rv-mini .ic svg{width:22px;height:22px}
.rv-mini-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-mini-t .l{font-size:13px;font-weight:600;color:var(--text2);display:flex;gap:6px;align-items:center}
.rv-mini-t .l .pill{font-size:10.5px;background:var(--accent);color:#fff;border-radius:99px;padding:1px 7px}
.rv-mini-t .v{font-size:24px;font-weight:700;letter-spacing:-.4px}
.rv-mini-t .v small{font-size:13px;color:var(--muted);font-weight:500}
.rv-mini-t .s{font-size:12.5px;color:var(--muted)}
.rv-mall-login{width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.rv-mall-login small{font-size:12px;color:var(--muted);font-weight:500}
@media (max-width:1100px){.rv-g3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.rv-hs{max-width:none;min-width:0;width:100%}.rv-g3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .rv-sw{width:100%}.rv-sw button{flex:1;justify-content:center;padding:7px 8px;font-size:12.5px}
  .rv-hs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rv-hs div{padding:8px}.rv-hs b{font-size:16px}.rv-hs span{font-size:11px}
  .rv-num>.ltr{font-size:26px}.rv-stat{margin-inline-start:0}
  .rv-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rv-kpis{gap:10px}
  .rv-mini{flex-wrap:wrap}.rv-mini .btn{width:100%;justify-content:center}
  .rv-acts .linkish{margin-inline-start:0;width:100%;text-align:start}
}
@media (max-width:600px){.rv-sw .desk{display:none}}

/* ---------- Tapsiera brand (official logo) ---------- */
[data-theme=dark] .fbar{color:#0C1D39}
[data-theme=dark] .rv-mini-t .l .pill{color:#0C1D39}
[data-theme=dark] .tog.on:after{background:#0C1D39}
.tp-logo{display:block;direction:ltr;height:auto;flex:none}
.tp-logo path{fill:currentColor}
.lockup{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-decoration:none;color:var(--brand)}
[data-theme=dark] .lockup{color:#FFFFFF}
.lockup .lk-row{display:flex;align-items:center;gap:10px}
.lockup .tp-logo{width:118px}
.lockup .lk-rule{width:1px;height:20px;background:currentColor;opacity:.28;flex:none}
.lockup .lk-ar{font-family:"Plex Arabic","IBM Plex Sans Arabic",sans-serif;font-weight:700;font-size:19px;line-height:1;letter-spacing:0;padding-bottom:3px;white-space:nowrap}
.lockup small{display:block;font-size:11.5px;color:var(--muted);line-height:1.25;font-weight:500}
.side .lockup{padding:6px 8px 18px}
.login-art .lockup{color:#fff}
.login-art .lockup .tp-logo{width:156px}
.login-art .lockup .lk-rule{height:26px;opacity:.35}
.login-art .lockup .lk-ar{font-size:25px}
.login-art .lockup small{color:rgba(255,255,255,.78);font-size:13px}
.mlogo{display:none;color:var(--brand);flex:none;text-decoration:none}
[data-theme=dark] .mlogo{color:#fff}
.mlogo .tp-logo{width:28px}
.sheet-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 4px 12px;color:var(--brand)}
[data-theme=dark] .sheet-brand{color:#fff}
.sheet-brand .tp-logo{width:104px}
.sheet-brand .lk-ar{font-weight:700;font-size:16px}
.rv-paper-h .rp-logo{color:#0C1D39;flex:none;display:flex;align-items:center;gap:8px;padding-inline-end:12px;border-inline-end:1px solid var(--line)}
[data-theme=dark] .rv-paper-h .rp-logo{color:#fff}
.rv-paper-h .rp-logo .tp-logo{width:92px}
.rep-brand{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:14px;border-radius:10px;background:var(--brand-soft);color:var(--brand-ink);font-size:12.5px;font-weight:600}
.rep-brand .tp-logo{width:96px;color:var(--brand)}
[data-theme=dark] .rep-brand .tp-logo{color:#fff}
.rep-brand .sep{width:1px;height:16px;background:currentColor;opacity:.25}
.boot{min-height:100vh;display:grid;place-items:center;color:#0C1D39}
.boot img{width:180px;height:auto;opacity:.9}
@media (max-width:980px){.mlogo{display:flex;align-items:center}}
.login-mark{display:block;width:44px;margin-top:30px;color:var(--brand)}
[data-theme=dark] .login-mark{color:#fff}
.login-mark .tp-logo{width:44px}
.login-mark + h1{margin-top:14px}
@media (max-width:980px){.login-mark{display:none}.login-mark + h1{margin-top:24px}}
@media (max-width:600px){.mlogo .tp-logo{width:24px}.top{gap:6px}.top .demo-badge{padding:2px 8px;font-size:10.5px;gap:4px}.top h1{font-size:15.5px}}
@media (max-width:400px){.top .demo-badge:before{display:none}}

/* ---------- v5: grouped menu, floating tabs, assistant side panel ---------- */
:root{--sidew:240px;--aiw:372px}
.app{grid-template-columns:var(--sidew) minmax(0,1fr) var(--aiw)}
.app.ai-col{--aiw:60px}
.main{container:main / inline-size}
.sticky-head{position:sticky;top:0;z-index:20}
.sticky-head .top{position:relative}
/* main menu: 5 items, the active group opens its sections underneath */
.nav>a{padding:10px 12px;font-size:14.8px;margin-bottom:3px;font-weight:600}
.nav>a svg{width:19px;height:19px}
.nav a .nav-n{margin-inline-start:auto;font-size:11px;color:var(--faint);font-weight:600;min-width:20px;height:20px;border-radius:99px;display:grid;place-items:center;background:var(--bg2)}
.nav a.on .nav-n{background:var(--card);color:var(--brand-ink)}
.nav-sub{position:relative;margin:0 0 8px;padding-inline-start:22px}
.nav-sub:before{content:"";position:absolute;inset-inline-start:21px;top:4px;bottom:4px;width:1.5px;background:var(--line);border-radius:2px}
.nav-sub a{position:relative;font-size:13.2px;padding:6px 12px;margin:0;margin-inline-start:6px;color:var(--muted);font-weight:500;border-radius:8px}
.nav-sub a.on{background:transparent;color:var(--brand-ink);font-weight:700}
.nav-sub a.on:before{content:"";position:absolute;inset-inline-start:-7.5px;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--brand)}
.nav-sub a:hover{background:var(--bg2)}
/* floating tabs */
.tabbar{padding:10px 28px 2px;pointer-events:none}
.tabs{pointer-events:auto;display:inline-flex;max-width:100%;gap:3px;padding:4px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border:1px solid var(--line);border-radius:999px;box-shadow:0 1px 2px rgba(12,29,57,.05),0 8px 22px -12px rgba(12,29,57,.28);overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;border-radius:999px;font-size:13.8px;font-weight:600;color:var(--text2);text-decoration:none;white-space:nowrap;flex:none;transition:background .15s,color .15s}
.tab svg{width:16px;height:16px;color:var(--muted);flex:none}
.tab:hover{background:var(--bg2);color:var(--text)}
.tab.on{background:var(--navy);color:#fff;box-shadow:0 4px 12px -5px rgba(12,29,57,.6)}
.tab.on svg{color:#fff}
.tab:focus-visible{outline-offset:-2px;border-radius:999px}
[data-theme=dark] .tab.on{background:var(--brand);color:var(--on-brand)}
[data-theme=dark] .tab.on svg{color:var(--on-brand)}
[data-theme=dark] .tabs{box-shadow:0 8px 22px -12px rgba(0,0,0,.7)}
.page{padding-top:18px}
/* overview */
.ph-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.live-pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 13px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--text2);font-size:13px;font-weight:600;text-decoration:none;box-shadow:var(--shadow)}
.live-pill b{color:var(--text);font-variant-numeric:tabular-nums}
.kpi4{margin-bottom:0}
.remind{margin-bottom:16px}
.ov-side{display:grid;gap:16px;align-content:start;min-width:0}
.ov-side .rv-mini{margin-top:0;flex-wrap:wrap}
.ov-side .rv-mini .btn{width:100%;justify-content:center}
.ov-side .cmpl{margin:0}
.ov-more{margin-top:32px}
.sec-h{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:var(--muted);font-size:13px;font-weight:600}
.sec-h:after{content:"";flex:1;height:1px;background:var(--line)}
/* assistant panel */
.ai{position:sticky;top:0;height:100vh;height:100dvh;background:var(--card);border-inline-start:1px solid var(--line);display:flex;flex-direction:column;min-width:0;z-index:30}
.ai-rail{display:none}
.ai-box{display:flex;flex-direction:column;height:100%;min-height:0}
.ai-h{display:flex;align-items:center;gap:10px;padding:13px 14px 12px;border-bottom:1px solid var(--line)}
.ai-ic{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#0C1D39,#1F3D78);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 4px 12px -5px rgba(12,29,57,.6);transition:transform .15s}
.ai-ic svg{width:18px;height:18px}
.ai-ht{flex:1;min-width:0}.ai-ht b{display:block;font-size:14.5px;line-height:1.3}.ai-ht small{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-h .icon-btn{width:32px;height:32px;box-shadow:none}
.ai-h .ai-x{display:none}
[dir=ltr] .ai-min svg{transform:scaleX(-1)}
.ai-msgs{flex:1;min-height:0;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:12px;background:var(--bg);overscroll-behavior:contain}
.ai .msg{max-width:100%;font-size:13.8px;line-height:1.75;padding:11px 13px}
.ai .msg.u{max-width:88%}
.ai .msg.a{background:var(--card);align-self:stretch}
.ai .msg.a .mini{background:var(--bg);padding:10px 10px 6px}
.ai .msg.a ul{padding-inline-start:16px}
.ai .msg .act{margin-top:10px}
.ai-start{display:grid;gap:8px}
.ai-ctx{font-size:12px;color:var(--muted);margin:2px 2px 0}
.ai .starter{padding:11px 12px;font-size:13.5px;border-radius:12px}
.ai-comp{border-top:1px solid var(--line);padding:10px 12px 12px;background:var(--card)}
.ai .sugs{padding-bottom:8px;margin-inline:-2px}
.ai .sug{font-size:12.5px;padding:5px 11px}
.ai .comp-row .btn{height:44px;width:46px;padding:0;flex:none}
.fb-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fb-list .sug{white-space:normal;text-align:start}
.ai-bars .hbar{grid-template-columns:minmax(0,118px) minmax(0,1fr) 50px;font-size:12px;margin-bottom:7px;gap:8px}
.ai-bars .hbar>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-bars .hbar .t{height:14px}
/* collapsed: a slim rail */
.app.ai-col .ai-box{display:none}
.app.ai-col .ai-rail{display:flex;flex-direction:column;align-items:center;padding:14px 0;height:100%}
.ai-rail-btn{display:flex;flex-direction:column;align-items:center;gap:12px;border:0;background:none;cursor:pointer;color:var(--text2);padding:6px;border-radius:12px}
.ai-rail-btn:hover .ai-ic{transform:scale(1.06)}
.ai-rail-t{writing-mode:vertical-rl;font-size:13px;font-weight:600;letter-spacing:.2px}
.ai-fab,.ai-bg{display:none}
.sheet-h{font-size:12px;color:var(--muted);font-weight:600;margin:2px 4px 8px}
.sheet .grid-nav button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:12px;background:var(--brand-soft);border:0;color:var(--brand-ink);font-size:12.5px;font-weight:700;text-align:center;cursor:pointer}
.sheet .grid-nav button svg{width:20px;height:20px;color:var(--brand)}
.sheet-links{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.sheet-links a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}
.sheet-links a svg{width:16px;height:16px}
/* the page area adapts to its own width (the assistant panel takes room) */
@container main (max-width:1040px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}.src-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-g3{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-g3>:last-child{grid-column:1 / -1}}
@container main (max-width:900px){.rv-g3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container main (max-width:760px){.g-21,.g-12,.g3,.ov-g3{grid-template-columns:minmax(0,1fr)}.ov-g3>:last-child{grid-column:auto}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* tablet: the assistant becomes a floating button + drawer */
@media (max-width:1279px){
  .app{grid-template-columns:var(--sidew) minmax(0,1fr)}
  .ai{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(400px,100vw);height:auto;z-index:70;box-shadow:var(--shadow2);transform:translateX(105%);transition:transform .26s ease,visibility .26s;visibility:hidden;border-inline-start:1px solid var(--line)}
  [dir=rtl] .ai{transform:translateX(-105%)}
  .app.ai-sheet .ai{transform:none;visibility:visible}
  .app.ai-col .ai-box{display:flex}.app.ai-col .ai-rail{display:none}
  .ai-h .ai-min{display:none}.ai-h .ai-x{display:grid}
  .ai-bg{display:block;position:fixed;inset:0;background:rgba(10,14,19,.45);z-index:69;opacity:0;pointer-events:none;transition:opacity .2s}
  .app.ai-sheet .ai-bg{opacity:1;pointer-events:auto}
  .ai-fab{display:inline-flex;position:fixed;bottom:22px;inset-inline-end:22px;z-index:45;align-items:center;gap:8px;height:50px;padding:0 18px 0 16px;border-radius:99px;border:0;background:var(--navy);color:#fff;font-weight:700;font-size:14.5px;box-shadow:0 10px 26px -8px rgba(12,29,57,.6);cursor:pointer}
  [data-theme=dark] .ai-fab{background:var(--brand);color:var(--on-brand)}
  .ai-fab svg{width:20px;height:20px}
  .app.ai-sheet .ai-fab{opacity:0;pointer-events:none}
}
@media (max-width:980px){
  .app{grid-template-columns:minmax(0,1fr)}
  .ai{width:100%;inset-inline:0;top:0;bottom:0;transform:translateY(102%)!important;border:0;border-radius:0}
  .app.ai-sheet .ai{transform:none!important}
  .ai-h{padding-top:calc(12px + env(safe-area-inset-top))}
  .ai-comp{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .ai-fab{bottom:calc(74px + env(safe-area-inset-bottom));inset-inline-end:14px;height:46px;padding:0 15px 0 13px;font-size:14px}
  .tabbar{padding:8px 12px 2px}
  .tab{height:34px;padding:0 13px;font-size:13.2px}
  .tab svg{width:15px;height:15px}
  .page{padding-top:14px}
  .ph-acts{width:100%}
  .live-pill{flex:1;justify-content:center}
  .ask-btn{display:none}
  .ov-more{margin-top:24px}
  body.ai-lock{overflow:hidden}
}

.opp-rest{display:none}.opp-rest.open{display:block}
.opp-more{display:block;width:100%;border:0;border-top:1px solid var(--line);background:none;padding:11px 16px;font-weight:600;font-size:13px;color:var(--brand);cursor:pointer;text-align:center}
.opp-more:hover{background:var(--bg2)}
.grid.ov-top{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@container main (max-width:860px){.grid.ov-top{grid-template-columns:minmax(0,1fr)}.ov-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@container main (max-width:620px){.ov-side{grid-template-columns:minmax(0,1fr)}}

.top .crumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.ov-side .cmpl .ch{flex-wrap:wrap}
@container main (min-width:761px) and (max-width:940px){.g-21{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.g-12{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}}
.ov-side .cm-list{grid-template-columns:minmax(0,1fr)}

/* ===================== v6: onboarding wizard ===================== */
.wz-shade{z-index:94}
.wz{position:fixed;z-index:95;top:50%;left:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 32px));max-height:min(92vh,820px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow2);overflow:hidden;animation:fade .18s ease}
.wz-h{display:flex;align-items:center;gap:12px;padding:16px 20px 6px}
.wz-logo{width:38px;height:38px;border-radius:11px;background:var(--navy);color:#fff;display:grid;place-items:center;flex:none}
.wz-logo .tp-logo{width:24px;height:24px}
.wz-ht{flex:1;min-width:0}.wz-ht b{display:block;font-size:17px}.wz-ht small{color:var(--muted);font-size:12.5px}
.wz-skip{border:0;background:none;color:var(--muted);font-weight:600;font-size:13px;cursor:pointer;padding:8px 6px;border-radius:8px;text-decoration:underline;text-underline-offset:3px}
.wz-skip:hover{color:var(--text)}
.wz-dots{display:flex;gap:6px;padding:6px 20px 0}
.wz-dots i{height:5px;flex:1;border-radius:99px;background:var(--line);transition:background .25s}
.wz-dots i.done{background:var(--good)}.wz-dots i.on{background:var(--brand)}
.wz-b{padding:14px 20px 8px;overflow:auto;position:relative;min-height:330px}
.wz-q{margin:4px 0 4px;font-size:20px;font-weight:700}
.wz-sub{margin:0 0 14px;color:var(--muted);font-size:14px}
.wz-pos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wz-opt,.wz-alt{display:flex;align-items:center;gap:12px;text-align:start;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer;position:relative;transition:border-color .15s,box-shadow .15s,transform .1s}
.wz-opt:hover,.wz-alt:hover{border-color:var(--brand)}
.wz-opt:active{transform:scale(.99)}
.wz-opt b,.wz-alt b{display:block;font-size:15px}.wz-opt small,.wz-alt small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4}
.wz-opt.on,.wz-alt.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.wz-opt.wa{grid-column:1 / -1;background:color-mix(in srgb,#25D366 6%,var(--card))}
.wz-opt .lg svg{width:22px;height:22px}
.wz-ck{margin-inline-start:auto;width:22px;height:22px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;opacity:0;flex:none}
.wz-ck svg{width:14px;height:14px}
.wz-opt.on .wz-ck,.wz-alt.on .wz-ck{opacity:1}
.wz-conn{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:10px 0 4px}
.wz-ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;text-align:start;font-size:14px;max-width:440px}
.wz-ul li{display:flex;gap:8px;align-items:flex-start}.wz-ul svg{width:16px;height:16px;color:var(--good);flex:none;margin-top:4px}
.btn-lg{height:48px;padding:0 24px;font-size:15.5px;border-radius:12px;min-width:220px}
.oa-bg{position:fixed;inset:0;background:rgba(10,14,19,.5);display:grid;place-items:center;padding:16px;animation:fade .15s ease;z-index:97;overflow:auto}
.oa-win{width:min(400px,100%);background:#fff;color:#101828;border-radius:14px;box-shadow:0 24px 60px -12px rgba(0,0,0,.5);overflow:hidden;animation:pop .2s ease}
.oa-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#F2F4F7;border-bottom:1px solid #E4E7EC;font-size:12px;color:#475467}
.oa-bar i{width:9px;height:9px;border-radius:50%;background:#D0D5DD}.oa-bar i:first-child{background:#F97066}.oa-bar i:nth-child(2){background:#FDB022}.oa-bar i:nth-child(3){background:#32D583}
.oa-bar span{display:flex;align-items:center;gap:5px;margin-inline-start:8px;font-weight:600}.oa-bar svg{width:13px;height:13px;color:#039855}
.oa-body{padding:14px 18px 16px;text-align:center}
.oa-t{display:block;font-size:16.5px;margin-bottom:10px}
.oa-acc{display:flex;align-items:center;gap:8px;justify-content:center;font-size:13px;background:#F9FAFB;border:1px solid #EAECF0;border-radius:10px;padding:8px 10px;margin-bottom:10px}
.oa-acc svg{width:16px;height:16px;color:#667085}
.oa-win .scopes{text-align:start;margin-bottom:8px}.oa-win .tiny.muted{color:#667085}
.oa-act{display:flex;gap:8px;margin-top:12px}.oa-act .btn{flex:1;height:42px}
.oa-act .btn-p{background:var(--lg);border-color:var(--lg);color:#fff}
.oa-act .btn:not(.btn-p){background:#fff;color:#344054;border-color:#D0D5DD}
.oa-win .m-load .spin{border-color:#EAECF0;border-top-color:#0C1D39}
.m-dots.ok i{background:var(--good)}
.wz-done{text-align:center;padding:6px 4px}
.wz-done .ok-ic{width:50px;height:50px;border-radius:50%;background:var(--good-soft);color:var(--good);display:inline-grid;place-items:center;margin-bottom:6px}
.wz-done .ok-ic svg{width:26px;height:26px}.wz-done>b{display:block;font-size:17px}.wz-done p{margin:6px 0 0;font-size:14px}
.sst.big{font-size:15px;padding:4px 12px;border-radius:99px;background:var(--good-soft)}
.wz-wa{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--bg)}
.wz-wa-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.wz-wa-h b{display:block}.wz-wa-h small{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.wa-ic{width:40px;height:40px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;flex:none}.wa-ic svg{width:22px;height:22px}
.wz-wa .field{margin-bottom:10px}.wz-wa .input{height:46px;font-size:16px;background:var(--card);text-align:left;direction:ltr}
.btn-wa{width:100%;height:46px;background:#128C4A;border-color:#128C4A;color:#fff}.btn-wa:hover{background:#0E7A40}
[data-theme=dark] .btn-wa{background:#25D366;border-color:#25D366;color:#06281A}
.wz-bub{display:flex;gap:8px;align-items:flex-end;justify-content:center;margin:14px auto 6px;max-width:360px}
.wz-bub>span:last-child{background:#fff;color:#111B21;border-radius:10px;border-start-start-radius:3px;padding:8px 11px;font-size:13.5px;text-align:start;box-shadow:0 1px 1px rgba(0,0,0,.1);border:1px solid #E9EDEF}
.wa-av{width:40px;height:40px;border-radius:50%;background:#fff;color:#0C1D39;display:grid;place-items:center;flex:none;border:1px solid rgba(0,0,0,.06)}
.wa-av .tp-logo{width:24px;height:24px}.wa-av.sm{width:28px;height:28px}.wa-av.sm .tp-logo{width:17px;height:17px}
.wz-alts{display:grid;gap:10px}
.wz-alt .chip{font-style:normal;margin-inline-start:6px;vertical-align:1px}
.wz-note{display:flex;gap:8px;align-items:center;color:var(--good);margin:12px 0 0}.wz-note svg{width:16px;height:16px}
.wz-def{display:flex;gap:8px;align-items:center;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:13.5px;padding:9px 12px;border-radius:10px;margin:8px 0 14px}
.wz-def svg{width:16px;height:16px;flex:none}
.wz-fs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:10px}
.wz-f>span:first-child{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:6px}
.wz-f small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.wz-f .input{height:48px;font-size:17px}
.wz-f-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px 16px;border-top:1px solid var(--line);background:var(--card)}
.wz-f-row .btn{height:44px;padding:0 20px;font-size:14.5px}
.wz-f-row .btn-p{min-width:150px}
.wz-f-row .btn[disabled]{opacity:.45;cursor:not-allowed}
.ph-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}
@media (max-width:600px){
  .wz{top:0;left:0;transform:none;width:100%;height:100%;height:100dvh;max-height:none;border-radius:0;border:0}
  .wz-h{padding-top:calc(14px + env(safe-area-inset-top))}
  .wz-b{flex:1;padding:12px 16px 8px}
  .wz-q{font-size:19px}
  .wz-pos{grid-template-columns:minmax(0,1fr)}
  .wz-opt{padding:11px 12px}
  .wz-fs{grid-template-columns:minmax(0,1fr);gap:10px}
  .wz-f-row{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
  .wz-f-row .btn-p{flex:1}
  .btn-lg{width:100%}
}

/* ===================== v6: WhatsApp chat ===================== */
.wa-wrap{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:20px;align-items:start}
.wa-phone{--wa-bg:#EFEAE2;--wa-in:#FFFFFF;--wa-out:#D9FDD3;--wa-ink:#111B21;--wa-mut:#667781;--wa-head:#008069;
  display:flex;flex-direction:column;height:min(720px,calc(100vh - 170px));min-height:520px;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow2);background:var(--wa-bg);position:sticky;top:76px}
[data-theme=dark] .wa-phone{--wa-bg:#0B141A;--wa-in:#202C33;--wa-out:#005C4B;--wa-ink:#E9EDEF;--wa-mut:#8696A0;--wa-head:#202C33}
.wa-head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--wa-head);color:#fff}
.wa-ht{flex:1;min-width:0}.wa-ht b{display:flex;align-items:center;gap:5px;font-size:15.5px}.wa-ht small{display:block;font-size:12px;opacity:.85}
.wa-ver{width:15px;height:15px;border-radius:50%;background:#25D366;color:#fff;display:inline-grid;place-items:center}.wa-ver svg{width:10px;height:10px;stroke-width:3}
.wa-hbtn{border:0;background:none;color:#fff;opacity:.85;width:36px;height:36px;border-radius:50%;cursor:pointer;display:grid;place-items:center}.wa-hbtn:hover{background:rgba(255,255,255,.12)}.wa-hbtn svg{width:18px;height:18px}
.wa-body{flex:1;overflow-y:auto;padding:10px 12px 14px;display:flex;flex-direction:column;gap:4px;
  background-image:radial-gradient(rgba(0,0,0,.035) 1.2px,transparent 1.3px),radial-gradient(rgba(0,0,0,.025) 1px,transparent 1.1px);background-size:22px 22px,15px 15px;background-position:0 0,7px 9px}
[data-theme=dark] .wa-body{background-image:radial-gradient(rgba(255,255,255,.03) 1.2px,transparent 1.3px)}
.wa-sec{align-self:center;background:#FFEECD;color:#54656F;font-size:11.5px;border-radius:8px;padding:4px 10px;margin:2px 0 6px;text-align:center}
[data-theme=dark] .wa-sec{background:#182229;color:#FFD279}
.wa-day{align-self:center;margin:8px 0 4px}.wa-day span{display:inline-block;background:var(--wa-in);color:var(--wa-mut);font-size:12px;padding:3px 10px;border-radius:8px;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.wa-m{display:flex;flex-direction:column;max-width:86%;margin-top:2px}
.wa-m.wa-bot{align-self:flex-start}.wa-m.wa-me{align-self:flex-end}
.wa-bub{position:relative;background:var(--wa-in);color:var(--wa-ink);border-radius:10px;padding:7px 10px 18px;font-size:14px;line-height:1.55;box-shadow:0 1px .5px rgba(11,20,26,.13);min-width:96px;overflow-wrap:anywhere}
.wa-m.wa-bot .wa-bub{border-start-start-radius:3px}
.wa-m.wa-me .wa-bub{background:var(--wa-out);border-start-end-radius:3px}
.wa-t{position:absolute;bottom:3px;inset-inline-end:8px;font-size:11px;color:var(--wa-mut);white-space:nowrap}
.wa-ticks{color:#53BDEB;letter-spacing:-3px;margin-inline-start:2px}
.wa-hint{color:var(--wa-mut);font-size:12.5px}
.wa-warn{display:inline-block;margin-top:4px;color:#B45309;font-size:12.5px}
[data-theme=dark] .wa-warn{color:#F5A524}
.wa-ex{display:inline-block;font-size:11px;font-weight:700;background:#FFF4D6;color:#8A5A00;border-radius:6px;padding:0 6px;margin-inline-start:4px}
[data-theme=dark] .wa-ex{background:rgba(245,165,36,.18);color:#F5C66B}
.wa-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;margin:6px 0;font-size:13px}
.wa-kv dt{color:var(--wa-mut)}.wa-kv dd{margin:0}
.wa-card{margin:-2px 0 0}.wa-card-h{font-weight:700;margin-bottom:2px}
.wa-btns{display:flex;flex-direction:column;gap:2px;margin-top:2px}
.wa-btn{display:block;text-align:center;background:var(--wa-in);color:#008069;border:0;border-radius:8px;padding:8px 10px;font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:0 1px .5px rgba(11,20,26,.13);text-decoration:none}
[data-theme=dark] .wa-btn{color:#00A884}
.wa-btn:hover{filter:brightness(.97)}
.wa-btns.used .wa-btn[disabled]{opacity:.55;cursor:default}
.wa-bub.img{padding:3px 3px 3px;overflow:hidden}
.wa-bub.img img{display:block;width:220px;height:auto;border-radius:8px}
.wa-bub.img .wa-t{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);bottom:7px}
.wa-scan{position:absolute;inset:3px;border-radius:8px;background:linear-gradient(180deg,transparent 0,rgba(37,211,102,.0) 40%,rgba(37,211,102,.45) 50%,rgba(37,211,102,0) 60%,transparent 100%);background-size:100% 200%;animation:scan 1.1s linear infinite;pointer-events:none}
@keyframes scan{from{background-position:0 100%}to{background-position:0 -100%}}
.wa-read{display:inline-flex;align-items:center;gap:8px}.wa-read .spin{width:16px;height:16px;border-width:2px;border-top-color:#008069}
.wa-comp{display:flex;align-items:center;gap:6px;padding:8px;background:var(--wa-bg);border-top:1px solid rgba(0,0,0,.04)}
[data-theme=dark] .wa-comp{background:#202C33}
.wa-cam{width:42px;height:42px;border-radius:50%;border:0;background:var(--wa-in);font-size:19px;cursor:pointer;flex:none;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.wa-in{flex:1;min-width:0;height:42px;border-radius:21px;border:0;background:var(--wa-in);color:var(--wa-ink);padding:0 16px;font-size:15px;outline:none;box-shadow:0 1px .5px rgba(11,20,26,.13)}
[data-theme=dark] .wa-in{background:#2A3942}
.wa-in:focus{box-shadow:0 0 0 2px #00A884}
.wa-send{width:44px;height:44px;border-radius:50%;border:0;background:#00A884;color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.wa-send svg{width:19px;height:19px}[dir=rtl] .wa-send svg{transform:scaleX(-1)}
.wa-side{display:grid;gap:16px;min-width:0}
.wa-steps{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.wa-steps li{display:flex;gap:12px;align-items:flex-start}.wa-steps b{display:block;font-size:14.5px}.wa-steps small{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.wa-n{width:28px;height:28px;border-radius:50%;background:#25D366;color:#fff;font-weight:700;display:grid;place-items:center;flex:none;font-size:13.5px}
[data-theme=dark] .wa-n{color:#06281A}
.wa-exs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.wa-ex-b{border:1px solid var(--line);background:var(--bg);border-radius:99px;padding:7px 13px;font-size:13.5px;cursor:pointer;text-align:start;color:var(--text)}
.wa-ex-b:hover{border-color:#25D366;background:color-mix(in srgb,#25D366 8%,var(--card))}
.wa-rec{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.wa-rec li{display:flex;align-items:center;gap:10px}.wa-rec li>span:nth-child(2){flex:1;min-width:0}.wa-rec b{display:block;font-size:14px}.wa-rec small{color:var(--muted);font-size:12.5px}
.wa-set .rem-tog{margin:0}
.wa-int{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;border-color:color-mix(in srgb,#25D366 35%,var(--line));background:color-mix(in srgb,#25D366 5%,var(--card))}
.wa-int-ic{width:46px;height:46px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;flex:none}.wa-int-ic svg{width:24px;height:24px}
.wa-int-t{flex:1;min-width:240px}.wa-int-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wa-int-h b{font-size:16px}
.wa-int-t p{margin:4px 0 0;color:var(--text2);font-size:13.5px}
.wa-int-act{display:flex;gap:8px;flex-wrap:wrap}
@container main (max-width:820px){.wa-wrap{grid-template-columns:minmax(0,1fr)}.wa-phone{position:relative;top:0;max-width:520px;width:100%;margin-inline:auto}}
@media (max-width:600px){
  .wa-phone{height:calc(100dvh - 268px);min-height:440px;border-radius:16px}
  .wa-wrap{gap:14px}
  .wa-m{max-width:90%}
  .wa-int-act{width:100%}.wa-int-act .btn{flex:1}
}

/* ===================== v6: v5 rough spots ===================== */
/* 1440 with the assistant open: keep the opportunities card and its side column side by side */
@media (min-width:1280px) and (max-width:1599px){:root{--sidew:228px;--aiw:344px}}
@container main (max-width:860px) and (min-width:741px){.grid.ov-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.ov-side{grid-template-columns:minmax(0,1fr)}}
/* phone: the floating "اسأل" button never sits on top of the last content, and steps aside while scrolling down */
@media (max-width:980px){
  .page{padding-bottom:calc(140px + env(safe-area-inset-bottom))}
  .ai-fab{transition:transform .22s ease,opacity .22s ease}
  .ai-fab.away{transform:translateY(calc(100% + 90px));opacity:0;pointer-events:none}
}

.wz-done .ltr,.wa-set .ltr{white-space:nowrap;display:inline-block}
@media (max-width:980px){.app:has(.wa-phone) .ai-fab{display:none}.page:has(.wa-phone) .mfilters{display:none}}
@media (max-width:600px){.page:has(.wa-phone) .ph p{display:none}.page:has(.wa-phone) .ph{margin-bottom:10px;gap:8px}.page:has(.wa-phone) .page-in{padding-top:0}}

/* =====================================================================
   v7 — design system layer: navy sidebar, soft canvas, today hero,
   outcome leads, theme switch. Loaded last; overrides earlier layers.
   ===================================================================== */
html{background:var(--bg)}
body{font-size:15px;letter-spacing:0}
::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}
.ltr,.money,.num{font-variant-numeric:tabular-nums}

/* theme switching: cross-fade via View Transitions, else a short colour transition */
::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
html.theme-fade *,html.theme-fade *:before,html.theme-fade *:after{transition:background-color .4s ease,border-color .4s ease,color .4s ease,fill .4s ease,stroke .4s ease,box-shadow .4s ease!important}

/* ---------- boot skeleton (first paint, before JS) ---------- */
.boot{min-height:100vh;display:grid;grid-template-columns:var(--sidew,240px) 1fr;background:var(--bg)}
.boot .bk-side{background:var(--side);padding:22px 18px;display:flex;flex-direction:column;gap:14px}
.boot .bk-side img{width:120px;height:auto;filter:brightness(0) invert(1);opacity:.92;margin-bottom:12px}
.boot .bk-main{padding:28px;display:grid;gap:16px;align-content:start;max-width:1200px}
.bk{border-radius:12px;background:linear-gradient(90deg,var(--bg2) 0,color-mix(in srgb,var(--bg2) 55%,var(--card)) 40%,var(--bg2) 80%);background-size:300% 100%;animation:shimmer 1.4s linear infinite}
.bk-side .bk{background:linear-gradient(90deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.12) 40%,rgba(255,255,255,.06) 80%);background-size:300% 100%;height:34px}
.bk.h1{height:30px;width:40%}.bk.hero{height:220px;border-radius:20px}.bk.row{height:120px}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-200% 0}}
@media (max-width:980px){.boot{grid-template-columns:1fr}.boot .bk-side{display:none}.boot .bk-main{padding:18px}}

/* ---------- shell ---------- */
:root{--sidew:248px}
.app{background:var(--bg)}
.side{background:var(--side);background-image:radial-gradient(420px 260px at 100% 0,rgba(61,155,234,.14),transparent 70%),linear-gradient(180deg,var(--side),var(--side2));border-inline-end:0;padding:22px 16px 16px;color:var(--side-text);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
[dir=ltr] .side{background-image:radial-gradient(420px 260px at 0 0,rgba(61,155,234,.14),transparent 70%),linear-gradient(180deg,var(--side),var(--side2))}
.side .lockup{color:#fff;padding:0 8px 2px}
.side .lockup small{color:var(--side-mute)}
.side .lockup .tp-logo{width:112px}
.side .tenant{margin:18px 0 16px;background:rgba(255,255,255,.05);border:1px solid var(--side-line);border-radius:14px;padding:10px 12px;position:relative}
.side .tenant b{color:#fff}.side .tenant small{color:var(--side-mute)}
.side .tenant .av{border-radius:10px;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.tn-live{margin-inline-start:auto;display:grid;place-items:center;width:18px}
.side .nav a{color:var(--side-text);font-size:14.4px;padding:9px 12px;border-radius:11px;margin-bottom:2px;position:relative;transition:background .15s,color .15s}
.side .nav a svg{color:var(--side-mute);width:19px;height:19px;transition:color .15s}
.side .nav a:hover{background:var(--side-hover);color:#fff}
.side .nav a:hover svg{color:#fff}
.side .nav>a.on{background:var(--side-on);color:#fff;box-shadow:inset 0 0 0 1px rgba(120,185,255,.14)}
.side .nav>a.on svg{color:#7CC0FA}
.side .nav>a.on:before{content:"";position:absolute;inset-inline-start:-16px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--side-ind);box-shadow:0 0 12px var(--side-ind)}
[dir=rtl] .side .nav>a.on:before{border-radius:4px 0 0 4px}
.side .nav a .pill{background:rgba(61,155,234,.2);color:#A9D4FA;font-weight:700}
.side .nav a .nav-n{margin-inline-start:auto;font-size:11px;min-width:20px;height:20px;border-radius:99px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:var(--side-mute);font-weight:700}
.side .nav a .live{box-shadow:0 0 0 3px rgba(61,214,140,.18);background:#3DD68C}
.side .nav-sub{margin:2px 0 10px}
.side .nav-sub:before{background:rgba(255,255,255,.1)}
.side .nav-sub a{color:var(--side-mute);font-size:13.4px;padding:6px 12px}
.side .nav-sub a:hover{background:var(--side-hover);color:#fff}
.side .nav-sub a.on{color:#fff;background:transparent;font-weight:700}
.side .nav-sub a.on:before{background:var(--side-ind)}
.side-foot{padding-top:16px;display:grid;gap:12px}
.side-prefs{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--side-line)}
.side .upsell{background:transparent;border:0;padding:0 8px;color:var(--side-mute);font-size:12px;line-height:1.6}
.side .upsell b{color:var(--side-text);display:flex;align-items:center;gap:6px;font-size:12.5px}
.side .upsell b svg{width:14px;height:14px;color:#7CC0FA}
.side-links{flex-direction:row;justify-content:space-between;margin:0;padding:10px 8px 0;border-top:1px solid var(--side-line)}
.side-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--side-mute);text-decoration:none;padding:4px 0}
.side-link svg{width:15px;height:15px}
.side-link:hover{color:#fff}
.lang-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:99px;border:1px solid var(--side-line);background:rgba(255,255,255,.05);color:var(--side-text);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.lang-pill svg{width:15px;height:15px}
.lang-pill:hover{background:rgba(255,255,255,.1);color:#fff}

/* ---------- theme switch ---------- */
.theme-switch{display:inline-flex;align-items:center;gap:10px;border:0;background:none;padding:2px;cursor:pointer;color:var(--side-text);font-size:12.5px;font-weight:600;border-radius:99px}
.ts-track{position:relative;width:52px;height:28px;border-radius:99px;background:linear-gradient(180deg,#9FD0FA,#5AABEF);box-shadow:inset 0 1px 2px rgba(0,0,0,.18);transition:background .35s ease;flex:none}
[data-theme=dark] .ts-track{background:linear-gradient(180deg,#1C2A4A,#2A3F6E)}
.ts-thumb{position:absolute;top:3px;inset-inline-start:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);display:grid;place-items:center;transition:transform .38s cubic-bezier(.5,1.6,.4,1),background .3s}
[data-theme=dark] .ts-thumb{transform:translateX(24px);background:#E7EEFF}
[dir=rtl][data-theme=dark] .ts-thumb{transform:translateX(-24px)}
.ts-ic{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .3s ease,transform .45s cubic-bezier(.4,0,.2,1)}
.ts-ic svg{width:14px;height:14px}
.ts-sun{color:#E8A317}.ts-moon{color:#2A3F6E;opacity:0;transform:rotate(-90deg) scale(.5)}
[data-theme=dark] .ts-sun{opacity:0;transform:rotate(90deg) scale(.5)}
[data-theme=dark] .ts-moon{opacity:1;transform:none}
.ts-l{position:relative;display:inline-grid;white-space:nowrap}
.ts-l>span{grid-area:1/1;transition:opacity .3s}
.ts-l-dark{opacity:0}
[data-theme=dark] .ts-l-dark{opacity:1}[data-theme=dark] .ts-l-light{opacity:0}
.theme-switch:hover .ts-thumb{box-shadow:0 2px 10px rgba(0,0,0,.3),0 0 0 4px rgba(255,255,255,.12)}
.theme-switch:focus-visible{outline:2px solid var(--side-ind);outline-offset:3px}
.theme-switch.compact .ts-track{width:48px;height:28px;box-shadow:inset 0 0 0 1px var(--line),inset 0 1px 2px rgba(0,0,0,.12)}
[data-theme=dark] .theme-switch.compact .ts-thumb{transform:translateX(20px)}
[dir=rtl][data-theme=dark] .theme-switch.compact .ts-thumb{transform:translateX(-20px)}
.mob-only{display:none}

/* ---------- top bar ---------- */
.sticky-head{background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px)}
.top{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;padding:16px 32px 10px;gap:10px}
.top h1{font-size:20px;letter-spacing:-.2px}
.top .crumb{font-size:12.5px;color:var(--muted);margin-bottom:2px}
.top .icon-btn,.top .sel select{border-color:var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:12px;height:38px}
.top .icon-btn{width:38px}
.top .icon-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent)}
.demo-badge{background:var(--accent-soft);border-color:transparent}
.me{width:38px;height:38px;box-shadow:0 0 0 3px var(--card),0 0 0 4px var(--line)}
.tabbar{padding:4px 32px 6px}
.tabs{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px}
.tab{color:var(--muted)}
.tab:hover{background:var(--bg2);color:var(--text)}
[data-theme=dark] .tab.on{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 14px -6px rgba(90,171,239,.7)}
[data-theme=dark] .tab.on svg{color:var(--on-accent)}

/* ---------- page + primitives ---------- */
.page{padding:20px 32px 56px;max-width:1280px}
.page-in{animation:fade .35s cubic-bezier(.2,.7,.2,1)}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ph{margin-bottom:16px}
.ph h2{font-size:24px;letter-spacing:-.3px}
.ph p{font-size:14.5px}
.card{border-radius:var(--r);border-color:var(--line);box-shadow:var(--shadow);padding:20px 22px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
a.card:hover,button.card:hover{box-shadow:var(--shadow-h);transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}
.card h3{font-size:15.5px;letter-spacing:-.1px}
.card .ch{margin-bottom:14px}
.card .ch p{font-size:13px}
.grid{gap:16px}
.btn{height:38px;border-radius:11px;font-size:13.8px;box-shadow:var(--shadow);transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}
.btn:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.btn:active{transform:scale(.97)}
.btn-p{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px rgba(10,110,189,.2),0 6px 14px -6px rgba(10,110,189,.55)}
.btn-p:hover{background:var(--accent2);border-color:var(--accent2)}
[data-theme=dark] .btn-p{color:var(--on-accent)}
.btn-s{height:32px;border-radius:9px;font-size:12.8px}
.btn-ghost{box-shadow:none;color:var(--accent)}
.btn-ok{box-shadow:none}
.chip{border-radius:99px}
.chip-soft{background:var(--bg2);color:var(--muted);font-weight:600}
.chip-soft svg{width:13px;height:13px;color:var(--accent)}
.seg{background:var(--bg2);border-radius:12px;padding:4px}
.seg button{border-radius:9px;transition:background .15s,color .15s}
.seg button.on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}
[data-theme=dark] .seg button.on{background:var(--card2)}
.sec-h{font-size:13.5px;color:var(--muted);margin:0 0 14px}
.mt2{margin-top:28px}
.flash{animation:flash 1.5s ease}
@keyframes flash{0%,100%{box-shadow:var(--shadow)}25%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent),var(--shadow-h)}}
.fl{transition:transform .2s}
[dir=ltr] .fl{transform:scaleX(-1)}
.toast{background:#0C1D39;color:#fff;border-radius:14px;padding:12px 18px;box-shadow:var(--shadow2)}
[data-theme=dark] .toast{background:#E8EDF7;color:#0C1D39}

/* charts */
.chart .grid{stroke:var(--grid);stroke-dasharray:2 4}
.chart .axis{fill:var(--faint);font-size:11px}

/* ---------- greeting ---------- */
.greet{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 18px}
.greet h2{margin:0;font-size:26px;font-weight:700;letter-spacing:-.4px;line-height:1.3}
.greet p{margin:2px 0 0;color:var(--muted);font-size:14.5px}
.ask-btn{background:var(--card);border-color:var(--line);color:var(--text)}
.ask-btn svg{color:var(--accent)}

/* ---------- today hero ---------- */
.hero-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;padding:30px 32px;border-radius:22px;color:#fff;
  background:radial-gradient(560px 300px at 8% 0%,var(--hero-glow),transparent 65%),radial-gradient(500px 260px at 100% 120%,rgba(143,176,242,.22),transparent 60%),linear-gradient(135deg,var(--hero1),var(--hero2));
  box-shadow:0 1px 2px rgba(12,29,57,.15),0 24px 48px -24px rgba(12,29,57,.55)}
[data-theme=dark] .hero-card{box-shadow:0 0 0 1px rgba(143,176,242,.14),0 24px 48px -24px rgba(0,0,0,.8)}
.hero-card:after{content:"";position:absolute;inset:0;background:url("brand/tapsiera-icon-white.svg") no-repeat;background-size:280px;background-position:-60px 130%;opacity:.05;pointer-events:none}
[dir=ltr] .hero-card:after{background-position:calc(100% + 60px) 130%}
.hc-main{position:relative;z-index:1;display:flex;flex-direction:column;min-width:0}
.hc-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.78)}
.hc-eyebrow svg{width:16px;height:16px;color:#8FD0FF}
.hc-num{font-size:56px;font-weight:700;letter-spacing:-1.6px;line-height:1.1;margin:8px 0 4px;font-variant-numeric:tabular-nums}
.hc-num small{font-size:18px;font-weight:600;letter-spacing:0;color:rgba(255,255,255,.7)}
.hc-say{margin:6px 0 0;font-size:16px;line-height:1.75;color:rgba(255,255,255,.86);max-width:560px}
.hc-say b{color:#fff;font-weight:700}
.hc-plus{display:inline-block;font-weight:700;font-size:13.5px;color:#9EF0C4;background:rgba(61,214,140,.16);padding:0 9px;border-radius:99px;margin-inline-start:4px}
.hc-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.btn-hero{background:#fff;color:#0C1D39;border-color:#fff;height:44px;padding:0 18px;border-radius:12px;font-size:14.5px;box-shadow:0 8px 20px -8px rgba(0,0,0,.45)}
.btn-hero svg{color:var(--accent)}
.btn-hero:hover{background:#F1F6FD;border-color:#F1F6FD;color:#0C1D39}
.btn-hero-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22);height:44px;padding:0 16px;border-radius:12px;font-size:14.5px;box-shadow:none}
.btn-hero-ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}
.hc-saved{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:18px;font-size:13px;color:rgba(255,255,255,.78);text-decoration:none;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:background .15s}
.hc-saved:hover{background:rgba(255,255,255,.12)}
.hc-saved svg{width:15px;height:15px;color:#7EE2B0}
.hc-saved b{color:#fff}
.hc-today{position:relative;z-index:1;align-self:stretch;display:flex;flex-direction:column;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:20px 22px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ht-h{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.82)}
.ht-h .pulse{background:#3DD68C}.ht-h .pulse:after{border-color:#3DD68C}
.ht-clock{margin-inline-start:auto;font-size:12.5px;color:rgba(255,255,255,.6);font-weight:500}
.ht-big{font-size:36px;font-weight:700;letter-spacing:-.8px;margin-top:10px;line-height:1.15}
.ht-big small{font-size:14px;font-weight:600;color:rgba(255,255,255,.66);letter-spacing:0}
.ht-cmp{font-size:13px;font-weight:600;margin-top:4px}
.ht-cmp.up{color:#8CEBB9}.ht-cmp.down{color:#FFB59A}
.ht-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:18px}
.ht-rows>*{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06);text-decoration:none;color:inherit;min-width:0}
.ht-rows a:hover{background:rgba(255,255,255,.11)}
.ht-rows span{font-size:11.8px;color:rgba(255,255,255,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ht-rows b{font-size:18px;font-weight:700}

/* ---------- decisions card ---------- */
.decisions{padding:0;overflow:hidden}
.decisions>.ch{padding:20px 22px 6px;margin:0}
.decisions>.ch p b{color:var(--text)}
.opp-row{padding:15px 22px;border-bottom-color:var(--line2);transition:background .15s}
.opp-row:hover{background:var(--card2)}
.opp-row .ic{border-radius:12px}
.opp-row .t{font-size:14.6px}
.opp-row .m{font-size:17px;color:var(--good)}
.opp-row .m small{color:var(--muted)}
.opp-more{border:0;background:var(--card2);width:100%;padding:12px;font-weight:600;color:var(--accent);cursor:pointer;border-top:1px solid var(--line2);font-size:13.5px}
.opp-more:hover{background:var(--bg2)}

/* ---------- outcome lead (top of every page) ---------- */
.lead{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:0 0 18px;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}
.lead:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:var(--tone)}
.lead p{margin:0;flex:1;min-width:0;font-size:15.5px;line-height:1.7;font-weight:500;color:var(--text)}
.lead p b{color:var(--tone-ink,var(--tone));font-weight:700}
.lead-sub{display:block;font-size:13px;color:var(--muted);font-weight:500}
.lead-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--tone-soft);color:var(--tone)}
.lead-ic svg{width:20px;height:20px}
.lead .btn{flex:none}
.lead-warn{--tone:var(--warn);--tone-soft:var(--warn-soft)}
.lead-good{--tone:var(--good);--tone-soft:var(--good-soft)}
.lead-bad{--tone:var(--bad);--tone-soft:var(--bad-soft)}
.lead-info{--tone:var(--accent);--tone-soft:var(--accent-soft)}

/* overview misc */
.ov-top{margin-top:20px}
.kpi{padding:18px 20px}
.kpi .l{font-size:13px}
.kpi .v{font-size:26px;letter-spacing:-.5px}
.rv-mini{background:var(--card);background-image:radial-gradient(260px 120px at 100% 0,var(--accent-soft),transparent 70%)}
[dir=ltr] .rv-mini{background-image:radial-gradient(260px 120px at 0 0,var(--accent-soft),transparent 70%)}
.remind{border-radius:14px;background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 22%,transparent)}
details.ov-more{margin-top:28px}
details.ov-more>summary{list-style:none;cursor:pointer;user-select:none;border-radius:10px;padding:6px 0}
details.ov-more>summary::-webkit-details-marker{display:none}
.sec-sum small{font-weight:500;color:var(--faint);font-size:12.5px}
.sec-sum .sum-chev{width:18px;height:18px;transform:rotate(-90deg);transition:transform .25s;order:3;color:var(--muted)}
details[open]>.sec-sum .sum-chev{transform:rotate(90deg)}
.sec-sum:after{order:2}

/* assistant rail */
.ai{background:var(--card);border-inline-start:1px solid var(--line)}
.app.ai-col .ai{background:var(--card)}
.ai-ic{background:linear-gradient(145deg,#0A6EBD,#0C1D39)}
.ai-msgs{background:var(--bg)}

/* sheet (phone "more") */
.sheet-prefs{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 12px;border-radius:14px;background:var(--bg)}
.sheet-prefs .theme-switch{color:var(--text2)}
.sheet-prefs .lang-pill{color:var(--text2);border-color:var(--line);background:var(--card)}

/* ---------- tablet / phone ---------- */
@media (max-width:1180px){.hero-card{grid-template-columns:minmax(0,1fr);gap:20px}.ht-rows{margin-top:16px}}
@container main (max-width:860px){.hero-card{grid-template-columns:minmax(0,1fr);gap:20px}}
@media (max-width:980px){
  .mob-only{display:inline-flex}
  .sticky-head{background:color-mix(in srgb,var(--bg) 86%,transparent)}
  .top{padding:12px 16px 8px}
  .tabbar{padding:4px 12px 6px}
  .page{padding:14px 16px calc(110px + env(safe-area-inset-bottom))}
  .mlogo{color:var(--brand)}
  [data-theme=dark] .mlogo{color:#fff}
  .bnav{background:var(--side);border-top:0;box-shadow:0 -8px 24px -12px rgba(12,29,57,.45);padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}
  .bnav a,.bnav button{color:var(--side-mute);font-size:11px;gap:3px;position:relative;padding:4px 0 2px;border-radius:12px}
  .bnav svg{width:22px;height:22px;padding:0;transition:transform .2s}
  .bnav .on{color:#fff}
  .bnav .on svg{color:#7CC0FA}
  .bnav .on:before{content:"";position:absolute;top:-1px;width:44px;height:30px;border-radius:99px;background:var(--side-on);z-index:-1}
  .bnav a,.bnav button{z-index:0}
  .bnav a:active svg,.bnav button:active svg{transform:scale(.9)}
  .ai-fab{background:var(--accent);box-shadow:0 10px 24px -10px rgba(10,110,189,.8)}
  .hero-card{padding:22px 20px;border-radius:20px}
  .hc-num{font-size:44px}
}
@media (max-width:560px){
  .card{padding:16px;border-radius:14px}
  .greet{margin:2px 0 14px}
  .greet h2{font-size:21px}
  .greet p{font-size:13.5px}
  .hero-card{padding:20px 18px;gap:16px;margin-inline:-2px}
  .hc-num{font-size:40px;letter-spacing:-1px}
  .hc-num small{font-size:15px}
  .hc-say{font-size:14.5px;line-height:1.7}
  .hc-acts{margin-top:16px}
  .hc-acts .btn{flex:1;height:44px;padding:0 12px}
  .hc-saved{font-size:12px;margin-top:14px}
  .hc-today{padding:16px}
  .ht-big{font-size:30px}
  .ht-rows{gap:6px}
  .ht-rows>*{padding:8px 9px}
  .ht-rows b{font-size:16px}
  .lead{flex-wrap:wrap;padding:14px;gap:12px}
  .lead p{font-size:14.5px;flex:1 1 200px}
  .lead .btn{width:100%;height:42px}
  .lead-ic{width:36px;height:36px}
  .decisions>.ch{padding:16px 16px 4px}
  .opp-row{padding:13px 16px}
  .ph h2{font-size:21px}
  .top h1{font-size:17px}
}
@media (max-width:400px){.ht-rows{grid-template-columns:repeat(3,minmax(0,1fr))}.ht-rows span{font-size:11px}}

/* v7 fixes after first look */
.top .plus-btn{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 14px -6px rgba(10,110,189,.6)}
.top .plus-btn:hover{background:var(--accent2);color:#fff}
[data-theme=dark] .top .plus-btn{color:var(--on-accent)}
.ht-rows span.k{font-size:11.8px;color:rgba(255,255,255,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ht-rows span:not(.k){font-size:inherit;color:inherit;overflow:visible}
.side-prefs .theme-switch{min-width:0}
.side-links{gap:8px}
.side-link{white-space:nowrap}
.ov-remind:empty{display:none}
.ov-remind .remind{margin:16px 0 0}
/* the overview's completeness card shows only what is still missing */
.ov-side .cm-row.on{display:none}
.ov-side .cmpl .cm-list{gap:0 18px}
#sched,#hours-card,#decisions,#saved,#rv-calc{scroll-margin-top:150px}
@media (max-width:980px){#sched,#hours-card,#decisions,#saved{scroll-margin-top:120px}}
.login-top .theme-switch{align-self:center}
.login-top>span{align-items:center}
.hc-x{display:inline-flex;align-items:center;gap:4px;margin-inline-start:4px;padding-inline-start:9px;border-inline-start:1px solid rgba(255,255,255,.2)}
@media (max-width:560px){.hc-saved{font-size:12px;padding:5px 10px}}
@media (max-width:1180px){.ht-rows{margin-top:0;padding-top:14px}}
.hc-saved{display:inline-block;line-height:1.7;max-width:100%}
.hc-saved svg{display:inline-block;vertical-align:-3px;margin-inline-end:6px}
.hc-x{display:inline;margin-inline-start:6px}

/* ===================== Wave 1 (wave1.js) ===================== */
:root{--prayer:rgba(143,176,242,.30);--prayer-soft:rgba(143,176,242,.16);--prayer-ink:#3D63B8;--prayer-solid:#C7D7F8;--prayer-soft-solid:#E3EBFB;--tint:#8FB0F2;--io-in:#E6EDFC;--io-in-ink:#24407A}
[data-theme=dark]{--prayer:rgba(143,176,242,.22);--prayer-soft:rgba(143,176,242,.11);--prayer-ink:#A9C2F5;--prayer-solid:#3A4C73;--prayer-soft-solid:#26324C;--io-in:rgba(143,176,242,.16);--io-in-ink:#C9D8F9}
.ltr-n{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;white-space:nowrap}
.w1-ex{display:inline-flex;align-items:center;font-size:11px;font-weight:600;line-height:1.5;padding:0 7px;border-radius:99px;color:var(--muted);background:var(--card2);border:1px dashed var(--line);white-space:nowrap;vertical-align:1px}
.w1-soon{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:1px 8px;border-radius:99px;color:var(--accent);background:var(--accent-soft);white-space:nowrap}
.w1-ph-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.w1-tsw{display:inline-flex;align-items:center;gap:8px}
.w1-tsw-l{font-size:12px;color:var(--muted);font-weight:600}
.w1-say{margin:0;font-size:15px;line-height:1.8;color:var(--text)}
.w1-say.sm{font-size:14px;line-height:1.75}
.w1-say b{font-weight:700}
.w1-mt8{margin-top:8px}
.w1-hint{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:6px}
.w1-kic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--brand-soft);color:var(--brand-ink)}
.w1-kic svg{width:17px;height:17px}
.w1-kic.sm{width:26px;height:26px;border-radius:8px}
.w1-kic.sm svg{width:14px;height:14px}
.w1-kic.wa{background:rgba(37,211,102,.14);color:#169C4B}
[data-theme=dark] .w1-kic.wa{color:#3DDC84}
/* --- structure tree --- */
.w1-sgrid{align-items:start}
.w1-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.w1-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-inline-end:6px;vertical-align:-2px}
.w1-legend i.o{background:var(--accent)}
.w1-legend i.i{background:var(--io-in);border:1.5px dashed var(--tint)}
.w1-tree{display:flex;flex-direction:column;gap:4px}
.w1-kids{position:relative;display:flex;flex-direction:column;gap:4px}
.w1-row{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:7px 10px;padding-inline-start:calc(6px + var(--d) * 24px);border-radius:12px;border:1px solid transparent;background:transparent;transition:background .15s,border-color .15s}
.w1-row:before{content:"";position:absolute;inset-inline-start:calc(var(--d) * 24px - 6px);top:-4px;bottom:50%;width:12px;border-inline-start:1.5px solid var(--line);border-bottom:1.5px solid var(--line);border-end-start-radius:8px;display:var(--guide,block)}
.w1-row[aria-level="1"]:before{display:none}
.w1-row:hover{background:var(--card2)}
.w1-row.is-sel{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.w1-row.flag-bad{border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:color-mix(in srgb,var(--bad-soft) 70%,transparent)}
.w1-row.flag-warn:not(.is-sel){border-color:color-mix(in srgb,var(--warn) 25%,transparent)}
.w1-row.dragging{opacity:.45}
.w1-row.drop-ok{outline:2px solid var(--accent);outline-offset:1px;background:var(--accent-soft)}
.w1-row.drop-no{outline:2px dashed color-mix(in srgb,var(--bad) 60%,transparent);outline-offset:1px}
.w1-grip{color:var(--faint);cursor:grab;display:grid;place-items:center}
.w1-grip svg{width:15px;height:15px}
.w1-main{display:flex;align-items:center;gap:10px;min-width:0;background:none;border:0;padding:0;text-align:start;cursor:pointer;color:inherit;font:inherit}
.w1-nm{display:flex;flex-direction:column;min-width:0}
.w1-nm b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w1-nm small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w1-kind{font-weight:600}
.w1-row.k-organization .w1-kic{background:var(--navy);color:#fff}
[data-theme=dark] .w1-row.k-organization .w1-kic{background:var(--brand);color:var(--on-brand)}
.w1-row.k-site .w1-kic{background:var(--accent-soft);color:var(--accent)}
.w1-row.k-zone .w1-kic{background:var(--io-in);color:var(--io-in-ink)}
.w1-row.k-entrance .w1-kic{width:28px;height:28px;background:var(--card2);color:var(--text2);border:1px solid var(--line)}
.w1-row.k-entrance .w1-nm b{font-weight:600;font-size:13.5px}
.w1-door{display:flex;align-items:center;gap:8px}
.w1-io{padding:2px}
.w1-io button{padding:3px 10px;font-size:12px}
.w1-io button.io-outer.on{background:var(--accent);color:var(--on-accent)}
.w1-io button.io-inner.on{background:var(--io-in);color:var(--io-in-ink);box-shadow:inset 0 0 0 1.5px var(--tint)}
.w1-sn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:99px;border:1px solid var(--line);background:var(--card);font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;white-space:nowrap}
.w1-sn i{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}
.w1-sn.off i{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}
.w1-sn.none{border-style:dashed;border-color:var(--accent);color:var(--accent);background:transparent}
.w1-sn.none svg{width:13px;height:13px}
.w1-sn.static{cursor:default}
.w1-sn.picked{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.w1-sn:hover:not(.static){border-color:var(--accent)}
.w1-flag{display:grid;place-items:center;width:26px;height:26px;border-radius:8px}
.w1-flag svg{width:15px;height:15px}
.w1-flag.bad{color:var(--bad);background:var(--bad-soft)}
.w1-flag.warn{color:var(--warn);background:var(--warn-soft)}
.w1-acts{display:flex;gap:4px;opacity:.55;transition:opacity .15s}
.w1-row:hover .w1-acts,.w1-row.is-sel .w1-acts,.w1-acts:focus-within{opacity:1}
.w1-acts .icon-btn{width:30px;height:30px;border-radius:9px;box-shadow:none}
.w1-acts .icon-btn svg{width:15px;height:15px}
.w1-tree-f{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line2)}
.w1-sel-n{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text2)}
.w1-sel-n svg{width:15px;height:15px}
.w1-lv{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.w1-lv>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--card2);font-size:13.5px}
.w1-lv>div b{display:inline-flex;align-items:center;gap:5px;font-size:12.5px}
.w1-lv>div b svg{width:14px;height:14px}
.w1-lv .yes b{color:var(--good)}
.w1-lv .no b{color:var(--muted)}
.w1-lv .no>span:nth-child(2){color:var(--muted)}
.w1-cl{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.w1-cl-h{flex-basis:100%;display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--good)}
.w1-cl-h.no{color:var(--muted)}
.w1-cl-h svg{width:14px;height:14px}
.w1-dc{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:10px;font-size:12.5px;border:1px solid var(--line)}
.w1-dc.yes{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}
.w1-dc.yes b{color:var(--text)}
.w1-dc.no{background:var(--card2);color:var(--muted);border-style:dashed}
.w1-dc.no b{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent);font-weight:500}
.w1-dc em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.w1-naive{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--warn-soft);font-size:13px;line-height:1.7;color:var(--text2)}
.w1-naive svg{width:17px;height:17px;flex:none;margin-top:3px;color:var(--warn)}
/* mall example */
.w1-mallx{display:flex;flex-direction:column;gap:12px}
.w1-mall{width:100%;height:auto;max-height:210px}
.w1-mall .mo{fill:var(--card2);stroke:var(--line);stroke-width:1.5}
.w1-mall .mz{fill:var(--io-in);stroke:var(--tint);stroke-width:1.2;stroke-dasharray:4 3}
.w1-mall .mt{fill:var(--io-in-ink);font-size:12px;font-weight:600;text-anchor:middle;font-family:inherit}
.w1-mall .gate rect{fill:var(--accent)}
.w1-mall .idoor rect{fill:var(--card);stroke:var(--tint);stroke-width:2}
.w1-mall-say{display:flex;flex-direction:column;gap:8px}
.w1-ml{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.7}
.w1-ml i{width:12px;height:12px;border-radius:4px;flex:none;margin-top:6px}
.w1-ml i.g{background:var(--accent)}
.w1-ml i.d{background:var(--card);border:2px solid var(--tint)}
.w1-ml i.x{background:var(--bad-soft);border:1.5px solid var(--bad)}
.w1-mall-say .btn{align-self:flex-start}
/* sensors */
.w1-addsn{display:flex;gap:8px}
.w1-addsn .input{flex:1;min-width:0;text-align:start;height:38px}
.w1-addsn .btn{height:38px}
.w1-slist{display:flex;flex-direction:column;margin-top:10px}
.w1-srow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line2);font-size:13px}
.w1-srow:last-child{border-bottom:0}
.w1-spath{color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* issues */
.w1-iss{display:flex;flex-direction:column;gap:8px}
.w1-is{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:start;padding:12px;border-radius:12px;border:1px solid var(--line)}
.w1-is p{margin:0;font-size:13.5px;line-height:1.75}
.w1-is-ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center}
.w1-is-ic svg{width:16px;height:16px}
.w1-is.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}
.w1-is.bad .w1-is-ic{background:var(--bad);color:#fff}
.w1-is.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 25%,transparent)}
.w1-is.warn .w1-is-ic{background:var(--warn);color:#fff}
.w1-is.info{background:var(--card2)}
.w1-is.info .w1-is-ic{background:var(--info-soft);color:var(--info)}
.w1-is-a{grid-column:2;display:flex;gap:6px;flex-wrap:wrap}
.w1-ok{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--good-soft);color:var(--good);font-weight:600;font-size:13.5px}
.w1-ok svg{width:18px;height:18px;flex:none}
.w1-ok span{color:var(--text)}
/* modal bits */
.w1-modal .m-b{padding-top:8px}
.w1-mform{display:flex;flex-direction:column;flex:1;min-height:0}
.w1-mform>.m-b{flex:1;min-height:0;overflow-y:auto}
.w1-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.w1-selw{display:flex;width:100%}
.w1-selw select{width:100%;height:44px;box-shadow:none;background:var(--bg)}
.w1-segf{display:flex;width:100%}
.w1-segf button{flex:1;padding:8px 10px;font-size:13.5px}
.w1-err{display:flex;gap:8px;align-items:center;margin:4px 0 0;padding:10px 12px;border-radius:10px;background:var(--bad-soft);color:var(--bad);font-size:13.5px;font-weight:600}
.w1-err svg{width:16px;height:16px;flex:none}
.w1-explain{margin:-4px 0 12px;font-size:13px;color:var(--text2);line-height:1.7;padding:10px 12px;background:var(--card2);border-radius:10px}
.w1-warnline{display:flex;gap:8px;align-items:flex-start;margin:-4px 0 12px;font-size:13px;line-height:1.7;padding:10px 12px;border-radius:10px;background:var(--bad-soft);color:var(--text)}
.w1-warnline svg{width:16px;height:16px;flex:none;color:var(--bad);margin-top:3px}
.w1-chk{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--card)}
.w1-chk input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);flex:none}
.w1-chk span{display:flex;flex-direction:column;font-size:13.5px}
.w1-chk small{color:var(--muted);font-size:12px;line-height:1.5}
.w1-chks{display:flex;flex-direction:column;gap:6px}
.w1-mform>.m-b>.w1-chk{margin-bottom:8px}
.w1-pick{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}
.w1-rcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.w1-rc{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:start;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--text);font:inherit}
.w1-rc b{font-size:14px}
.w1-rc small{font-size:12px;color:var(--muted);line-height:1.5}
.w1-rc.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.w1-advd{margin-top:8px}
.w1-advd summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent);padding:4px 0;margin-bottom:6px}
.w1-grant{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:8px;margin-bottom:8px;align-items:center}
.w1-grant .icon-btn{width:36px;height:36px;box-shadow:none}
.w1-rprev{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--accent-soft);font-size:13.5px;line-height:1.7;margin-top:6px}
.w1-rprev svg{width:17px;height:17px;flex:none;color:var(--accent);margin-top:3px}
/* team */
.w1-mems{display:flex;flex-direction:column}
.w1-mem{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.4fr) minmax(0,.8fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line2)}
.w1-mem:last-child{border-bottom:0}
.w1-mem-who{display:flex;gap:10px;align-items:center;min-width:0}
.w1-mem-who>div{display:flex;flex-direction:column;min-width:0}
.w1-mem-who b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w1-mem-who small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start}
.w1-mem-who.big{margin-bottom:14px}
.w1-mem-roles{display:flex;flex-wrap:wrap;gap:5px}
.w1-mem-roles .chip{white-space:normal}
.w1-mem-st{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.w1-mem-st small{font-size:11.5px;color:var(--muted)}
.w1-mem-a{display:flex;gap:6px;align-items:center}
.w1-mem-a .icon-btn{width:32px;height:32px;box-shadow:none}
.w1-av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;font-size:14px;background:var(--brand-soft);color:var(--brand-ink)}
.w1-av.sm{width:26px;height:26px;font-size:11.5px;border:2px solid var(--card);margin-inline-start:-6px}
.w1-avs{display:flex;padding-inline-start:6px}
.w1-acc{display:flex;flex-direction:column}
.w1-acc-r{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line2);font-size:13.5px}
.w1-acc-r:last-child{border-bottom:0}
.w1-acc-r.z{padding-inline-start:18px}
.w1-acc-r b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w1-acc-r small{color:var(--muted);font-size:12px;white-space:nowrap}
.w1-mx{font-size:12.5px}
.w1-mx th,.w1-mx td{padding:9px 8px;text-align:center;white-space:nowrap}
.w1-mx thead th{font-size:12px;color:var(--muted);font-weight:600}
.w1-mx tbody th{text-align:start;white-space:normal;min-width:150px}
.w1-mx tbody th b{display:block;font-size:13.5px}
.w1-mx tbody th small{display:block;font-size:11.5px;color:var(--muted);font-weight:400;line-height:1.5}
.w1-cap{font-size:12px}
.w1-cap svg{display:inline-block;width:14px;height:14px;vertical-align:-3px;margin-inline-end:3px}
.w1-cap.f{color:var(--good);font-weight:600}
.w1-cap.v{color:var(--accent)}
.w1-cap.n{color:var(--faint)}
.w1-adv td{text-align:start!important;font-size:12px;font-weight:700;color:var(--muted);background:var(--card2);padding:6px 8px!important}
/* whatsapp preview */
.w1-wa-prev{margin-top:12px;padding:14px;border-radius:14px;background:#EFE7DD;background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:14px 14px}
[data-theme=dark] .w1-wa-prev{background-color:#0B141A;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px)}
.w1-wa-b{max-width:340px;padding:10px 12px;border-radius:4px 12px 12px 12px;background:#fff;color:#111B21;font-size:13.5px;line-height:1.75;box-shadow:0 1px 1px rgba(0,0,0,.08)}
[dir=rtl] .w1-wa-b{border-radius:12px 4px 12px 12px}
[data-theme=dark] .w1-wa-b{background:#202C33;color:#E9EDEF}
.w1-wa-b svg{width:14px;height:14px;vertical-align:-2px;color:#C2410C}
.w1-wa-b small{color:#667781}
.w1-wa-btns{display:flex;gap:6px;margin-top:8px;border-top:1px solid rgba(0,0,0,.08);padding-top:6px}
.w1-wa-btns span{flex:1;text-align:center;color:#027EB5;font-weight:600;font-size:13px}
[data-theme=dark] .w1-wa-btns span{color:#53BDEB}
.w1-wa-prev .w1-hint{margin-top:8px}
/* alerts */
.w1-rules{display:flex;flex-direction:column}
.w1-rule{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line2)}
.w1-rule:last-child{border-bottom:0}
.w1-rule.off .w1-rule-t,.w1-rule.off .w1-kic{opacity:.5}
.w1-rule-t b{display:block;font-size:14px;line-height:1.6}
.w1-rule-t small{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;color:var(--muted);margin-top:2px}
.w1-rule-t small svg{width:13px;height:13px}
.w1-chs{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.w1-chc svg{width:12px;height:12px}
.w1-chc.c-wa{background:rgba(37,211,102,.13);color:#14853F}
[data-theme=dark] .w1-chc.c-wa{color:#3DDC84}
.w1-chc.c-app{background:var(--accent-soft);color:var(--accent)}
.w1-rule-a{display:flex;gap:6px;align-items:center}
.w1-rule-a .icon-btn{width:32px;height:32px;box-shadow:none}
.w1-chan{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2)}
.w1-chan b{display:block;font-size:14px}
.w1-chan small{font-size:12px;color:var(--muted)}
.w1-line{display:flex;gap:10px;align-items:center;font-size:13.5px;margin-top:8px}
.w1-line>span{display:flex;flex-direction:column}
.w1-line small{font-size:12px;color:var(--muted)}
.tog[disabled]{opacity:.45;cursor:not-allowed}
.w1-ilist,.w1-ib-l{display:flex;flex-direction:column}
.w1-ii{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px 8px;border-bottom:1px solid var(--line2);border-radius:10px}
.w1-ii:last-child{border-bottom:0}
.w1-ii.unread{background:color-mix(in srgb,var(--accent-soft) 70%,transparent)}
.w1-ii p{margin:0;font-size:13.5px;line-height:1.7}
.w1-ii.unread p{font-weight:600}
.w1-ii small{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:11.5px;color:var(--muted);margin-top:3px}
.w1-ii small svg{width:12px;height:12px}
.w1-ii-a{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.w1-dot{width:9px;height:9px;border-radius:50%;margin-top:8px;background:var(--info)}
.w1-dot.bad{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}
.w1-dot.warn{background:var(--warn)}
.w1-wa-st{display:inline-flex;align-items:center;gap:3px;color:#14853F}
.w1-wa-st.held{color:var(--info)}
[data-theme=dark] .w1-wa-st{color:#3DDC84}
[data-theme=dark] .w1-wa-st.held{color:var(--info)}
/* bell + inbox */
.w1-bellw{display:inline-flex}
.w1-bell .w1-badge{position:absolute;top:-6px;inset-inline-end:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--bad);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 2px var(--card);line-height:1}
.w1-ibg{display:none}
.w1-ibg.open{display:block;position:fixed;inset:0;z-index:79}
.w1-inbox{display:none;position:fixed;z-index:80;top:62px;inset-inline-end:max(20px,calc(var(--ai-w,0px) + 20px));width:min(420px,calc(100vw - 32px));max-height:min(74vh,640px);flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow2);overflow:hidden;animation:mpop .16s ease}
.w1-inbox.open{display:flex}
.w1-ib-h{display:flex;align-items:center;gap:8px;padding:14px 16px 8px}
.w1-ib-h b{font-size:16px;flex:1}
.w1-ib-h .linkish{font-size:12.5px}
.w1-ib-h .linkish[disabled]{opacity:.45;cursor:default}
.w1-ib-x{width:32px;height:32px;box-shadow:none}
.w1-ib-f{margin:0 16px 8px;align-self:flex-start}
.w1-ib-l{overflow-y:auto;padding:0 8px;overscroll-behavior:contain;flex:1}
.w1-ib-f2{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--line2);background:var(--bg);font-size:13px}
.w1-ib-f2 a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;text-decoration:none}
.w1-ib-f2 svg{width:15px;height:15px}
.w1-empty{display:flex;gap:8px;align-items:center;justify-content:center;padding:28px 0;color:var(--muted);font-size:13.5px}
.w1-empty svg{width:18px;height:18px;color:var(--good)}
/* setup sections */
.w1-secs{display:flex;margin:0 0 16px;width:max-content;max-width:100%;overflow-x:auto;flex-wrap:nowrap}
.w1-secs a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap}
.w1-secs a svg{width:15px;height:15px}
.w1-secs a.on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}
/* targets */
.w1-tg{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line2)}
.w1-tg:last-of-type{border-bottom:0}
.w1-tg-t p{margin:0 0 8px;font-size:14px;line-height:1.75}
.w1-tg-t small{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.w1-tg-a{display:flex;align-items:center;gap:8px}
.w1-tg-a .icon-btn{width:34px;height:34px;box-shadow:none}
.w1-tg-in{display:inline-flex;align-items:center;gap:6px}
.w1-tg-in .input{width:118px;height:36px;text-align:start;padding:0 10px}
.w1-tg-in em{font-style:normal;font-size:12px;color:var(--muted);min-width:34px}
.w1-pbar{position:relative;height:9px;border-radius:99px;background:var(--bg2);overflow:visible}
.w1-pbar i{position:absolute;inset-block:0;inset-inline-start:0;border-radius:99px;background:var(--accent)}
.w1-pbar.good i{background:var(--good)}
.w1-pbar.warn i{background:var(--warn)}
.w1-pbar.bad i{background:var(--bad)}
.w1-pbar b{position:absolute;top:-4px;width:3px;height:17px;border-radius:2px;background:var(--text);margin-inline-start:-1.5px;opacity:.75}
.w1-pbar.na{background:repeating-linear-gradient(45deg,var(--bg2) 0 6px,transparent 6px 12px)}
.w1-tg-addw{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2)}
.w1-tg-add{display:flex;gap:8px;flex-wrap:wrap}
.w1-tg-add .w1-selw{width:auto;flex:1 1 150px}
.w1-tg-add .w1-selw select{height:38px}
.w1-tg-add .input{width:130px;height:38px;flex:0 1 130px}
.w1-tg-add .btn{height:38px}
/* home: target ring + data health */
.w1-ringw{display:flex;gap:16px;align-items:center}
.w1-ringsvg{width:112px;height:112px;flex:none}
.w1-ringsvg .tr{fill:none;stroke:var(--bg2);stroke-width:11}
.w1-ringsvg .fg{fill:none;stroke:var(--accent);stroke-width:11;stroke-linecap:round;transition:stroke-dasharray .6s ease}
.w1-ringsvg.good .fg{stroke:var(--good)}
.w1-ringsvg.warn .fg{stroke:var(--warn)}
.w1-ringsvg.bad .fg{stroke:var(--bad)}
.w1-ringsvg .pace{fill:var(--text);stroke:var(--card);stroke-width:2}
.w1-ringsvg .pc{font-size:22px;font-weight:700;fill:var(--text);font-family:inherit}
.w1-ringsvg .pl{font-size:10.5px;fill:var(--muted);font-family:inherit}
.w1-ros{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line2)}
.w1-ro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 40px;gap:10px;align-items:center;font-size:12.5px;color:var(--text2)}
.w1-ro b{text-align:end;font-size:12.5px}
.w1-ro em{font-style:normal;color:var(--muted);grid-column:2 / -1}
.w1-dh{display:flex;flex-direction:column;gap:2px}
.w1-dh-r{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 8px;border-radius:10px;text-decoration:none;color:var(--text);font-size:13.5px;line-height:1.6}
a.w1-dh-r:hover{background:var(--card2)}
.w1-dh-r.static{grid-template-columns:auto minmax(0,1fr)}
.w1-dh-ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center}
.w1-dh-ic svg{width:15px;height:15px}
.w1-dh-r.good .w1-dh-ic{background:var(--good-soft);color:var(--good)}
.w1-dh-r.warn .w1-dh-ic{background:var(--warn-soft);color:var(--warn)}
.w1-dh-r.bad .w1-dh-ic{background:var(--bad-soft);color:var(--bad)}
.w1-chev{width:15px;height:15px;color:var(--faint)}
[dir=rtl] .w1-chev{transform:rotate(90deg)}
[dir=ltr] .w1-chev{transform:rotate(-90deg)}
/* prayer */
.w1-prs{display:flex;flex-direction:column}
.w1-pr{display:grid;grid-template-columns:minmax(0,1fr) 150px auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2)}
.w1-pr:last-child{border-bottom:0}
.w1-pr-n{display:flex;gap:8px;align-items:center;min-width:0}
.w1-pr-n b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w1-pr .w1-selw select{height:34px;font-size:13px}
.w1-pr .seg button{padding:5px 10px;font-size:12.5px}
.w1-pr .btn.on{background:var(--accent-soft);color:var(--accent)}
.w1-pt th,.w1-pt td{padding:8px 6px;white-space:nowrap}
.w1-pt tbody th{text-align:start;font-weight:700}
.w1-min{display:inline-flex;align-items:center;gap:4px}
.w1-min .input{width:60px;height:32px;padding:0 8px;text-align:center}
.w1-min em{font-style:normal;font-size:11.5px;color:var(--muted)}
.w1-win{display:block;font-weight:600;font-size:11.5px;color:var(--prayer-ink);white-space:nowrap}
.w1-eff{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.w1-eff>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--card2);font-size:12.5px}
.w1-eff svg{width:16px;height:16px;color:var(--prayer-ink);margin-bottom:4px}
.w1-eff b{font-size:13px}
.w1-eff span{color:var(--muted);line-height:1.5}
.w1-pnote{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--muted);line-height:1.6}
.w1-pnote svg{width:14px;height:14px;color:var(--prayer-ink);flex:none}
.w1-pnote a{color:var(--accent);font-weight:600;text-decoration:none}
.heat .c.pr-close{box-shadow:inset 0 0 0 2px var(--prayer-ink);background-image:radial-gradient(var(--prayer-ink) 1px,transparent 1.4px)!important;background-size:5px 5px}
.heat .c.pr-flag{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--prayer-ink) 70%,transparent)}
/* billing */
.w1-zatca{display:flex;gap:12px;align-items:center;padding:14px 16px;margin:0 0 16px;border-radius:14px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 28%,transparent)}
.w1-zatca .w1-kic{background:var(--warn);color:#fff}
.w1-zatca>div{flex:1;display:flex;flex-direction:column;gap:2px}
.w1-zatca b{font-size:14px;line-height:1.6}
.w1-zatca span{font-size:12.5px;color:var(--text2);line-height:1.6}
.w1-zatca.sm{padding:10px 12px;margin:0 0 12px}
.w1-zatca.sm span{display:none}
.w1-zatca.sm b{font-size:13px}
.w1-plans .plan .w1-say{margin:6px 0 4px}
.w1-inv-a{display:flex;gap:4px;justify-content:flex-end}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.w1-pay0{display:flex;gap:12px;align-items:flex-start}
.w1-pay0>div{display:flex;flex-direction:column;gap:2px}
.w1-pay0 b{font-size:14px}
.w1-pay0 span{font-size:12.5px;color:var(--muted);line-height:1.65}
.w1-inv{display:flex;flex-direction:column;gap:14px}
.w1-inv-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line2)}
.w1-inv-h>div:first-child{display:flex;flex-direction:column;gap:6px;color:var(--brand)}
.w1-inv-h svg{height:24px;width:auto}
.w1-inv-h small,.w1-inv-to small{font-size:12px;color:var(--muted)}
.w1-inv-no{display:flex;flex-direction:column;align-items:flex-end;text-align:end}
.w1-inv-to{display:flex;flex-direction:column;gap:2px}
.w1-inv-t{width:100%;font-size:13.5px}
.w1-inv-t td{padding:8px 0;border-bottom:1px solid var(--line2)}
.w1-inv-t td.n{text-align:end}
.w1-inv-t tr.sub td{color:var(--muted)}
.w1-inv-t tr.tot td{font-weight:700;font-size:15px;border-bottom:0}
.w1-qr{display:flex;gap:12px;align-items:center;padding:12px;border:1.5px dashed var(--line);border-radius:12px}
.w1-qr>span{width:56px;height:56px;border-radius:8px;display:grid;place-items:center;background:var(--card2);color:var(--faint);font-weight:700;font-size:13px;flex:none}
.w1-qr p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.w1-qr p b{color:var(--text);font-size:13.5px}
.w1-bform .field{margin-bottom:10px}
/* privacy */
.w1-soonrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line2)}
.w1-soonrow:last-child{border-bottom:0}
.w1-soonrow>div{display:flex;flex-direction:column}
.w1-soonrow b{font-size:14px}
.w1-soonrow small{font-size:12px;color:var(--muted)}
/* devices link */
.w1-devlink{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13.5px;line-height:1.7}
.w1-devlink>svg{width:18px;height:18px;color:var(--accent);flex:none}
.w1-devlink span{flex:1}
@media (max-width:1100px){
  .w1-mem{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who a" "roles roles" "st st"}
  .w1-mem-who{grid-area:who}.w1-mem-roles{grid-area:roles}.w1-mem-st{grid-area:st;flex-direction:row;align-items:center;gap:8px}.w1-mem-a{grid-area:a}
}
@media (max-width:700px){
  .w1-ph-r{width:100%}
  .w1-tsw{width:100%;justify-content:space-between}
  .w1-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"main flag acts" "door door door";padding-inline-start:calc(6px + var(--d) * 14px);row-gap:6px}
  .w1-row:before{inset-inline-start:calc(var(--d) * 14px - 6px);width:8px}
  .w1-grip{display:none}
  .w1-main{grid-area:main}.w1-flag{grid-area:flag}.w1-acts{grid-area:acts;opacity:1}
  .w1-door{grid-area:door;padding-inline-start:38px;flex-wrap:wrap}
  .w1-row:not(.k-entrance) .w1-door{display:none}
  .w1-acts .icon-btn{width:30px;height:30px}
  .w1-acts .icon-btn[data-w="del"]{display:none}
  .w1-row.is-sel .w1-acts .icon-btn[data-w="del"]{display:grid}
  .w1-rule{grid-template-columns:auto minmax(0,1fr)}
  .w1-rule-a{grid-column:2;flex-wrap:wrap}
  .w1-tg{grid-template-columns:minmax(0,1fr)}
  .w1-tg-a{flex-wrap:wrap}
  .w1-pr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n b" "c c" "s s"}
  .w1-pr-n{grid-area:n}.w1-pr .w1-selw{grid-area:c}.w1-pr .seg{grid-area:s;display:flex}.w1-pr .seg button{flex:1}.w1-pr>.btn{grid-area:b}
  .w1-eff{grid-template-columns:minmax(0,1fr)}
  .w1-rcs{grid-template-columns:minmax(0,1fr)}
  .w1-2{grid-template-columns:minmax(0,1fr)}
  .w1-ii{grid-template-columns:auto minmax(0,1fr)}
  .w1-ii-a{grid-column:2;justify-content:flex-start}
  .w1-inbox{top:auto;bottom:8px;inset-inline:8px;width:auto;max-height:80vh;border-radius:20px}
  .w1-ibg.open{background:rgba(10,14,19,.42)}
  .w1-soonrow{grid-template-columns:minmax(0,1fr) auto}
  .w1-soonrow .w1-soon{grid-column:2}
  .w1-srow{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"c b" "p p"}
  .w1-srow .w1-sn{grid-area:c;justify-self:start}.w1-srow .btn{grid-area:b;justify-self:end}.w1-spath{grid-area:p;white-space:normal}
  .w1-zatca{align-items:flex-start}
  .w1-ringsvg{width:96px;height:96px}
  .w1-grant{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"r x" "n n"}
  .w1-grant>.w1-selw:first-child{grid-area:r}.w1-grant>.w1-selw:nth-child(2){grid-area:n}.w1-grant .icon-btn{grid-area:x}
  .w1-acc-r small{display:none}
  .w1-tg-in .input{width:104px}
  .w1-devlink{flex-wrap:wrap}
}
@media (prefers-reduced-motion: reduce){.w1-inbox{animation:none}.w1-ringsvg .fg{transition:none}}

/* wave 1: sentence-first hero (the amount is part of the sentence, not a giant bare number) */
.hc-sent{font-size:28px;font-weight:700;line-height:1.5;margin:10px 0 6px;color:#fff;letter-spacing:0;max-width:620px}
.hc-amt{color:#8FD0FF;font-variant-numeric:tabular-nums;background:rgba(143,176,242,.14);border-radius:10px;padding:0 8px;margin:0 2px;white-space:nowrap}
.hc-exn{display:inline-block;vertical-align:middle;font-size:11.5px;font-weight:600;line-height:1;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.82);margin-inline-start:8px;letter-spacing:0}
.ht-sent{font-size:19px;font-weight:600;line-height:1.55;margin-top:10px;color:rgba(255,255,255,.86)}
.ht-sent b{color:#fff;font-weight:700;font-size:21px;font-variant-numeric:tabular-nums}
@media (max-width:1100px){.hc-sent{font-size:24px}}
@media (max-width:640px){.hc-sent{font-size:21px;line-height:1.55}.ht-sent{font-size:17px}.ht-sent b{font-size:19px}}
.rv-mini-t .v.rv-sent{font-size:17px;font-weight:600;letter-spacing:0;line-height:1.55;color:var(--text)}
.rv-mini-t .v.rv-sent b{color:var(--accent);font-weight:700;font-size:19px;font-variant-numeric:tabular-nums}
@media (min-width:1024px){.ov-top{align-items:start}}
@media (max-width:640px){
.w1-invw{overflow:visible}
.w1-invl{min-width:0!important;width:100%}
.w1-invl thead{display:none}
.w1-invl tbody tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line2);align-items:center}
.w1-invl tbody tr:last-child{border-bottom:0}
.w1-invl td{border:0!important;padding:0!important;white-space:nowrap}
.w1-invl td:nth-child(1){grid-column:1;grid-row:1}
.w1-invl td:nth-child(2){grid-column:1;grid-row:2;color:var(--muted);font-size:12.5px}
.w1-invl td:nth-child(3){grid-column:2;grid-row:1;text-align:end}
.w1-invl td:nth-child(4){grid-column:2;grid-row:2;justify-self:end}
.w1-invl td:nth-child(5){grid-column:1/-1;grid-row:3;display:flex;gap:8px;margin-top:4px}
}

/* =====================================================================
   Wave 2 — share & trust (report, export, TV wall, devices, seasons, forecast trust, help, privacy, staff console)
   ===================================================================== */
.w2-sar{font-weight:700;color:var(--text);white-space:nowrap}
.w2-na{display:inline-flex;flex-direction:column;align-items:flex-end;font-weight:700;color:var(--muted);font-size:13px;text-align:end}
.w2-na small{font-weight:500;font-size:11.5px;color:var(--faint)}
.w2-why-b{font-size:12.5px;margin-top:2px}
.w2-why{display:none;margin-top:6px;padding:10px 12px;border-radius:10px;background:var(--bg2);color:var(--text2);font-size:13px;line-height:1.75}
.w2-why.open{display:block}
.w2-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.w2-note{display:flex;gap:8px;align-items:flex-start;background:var(--accent-soft);color:var(--text2);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.7;margin:8px 0}
.w2-note svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--accent)}
.w2-note.good{background:var(--good-soft)}.w2-note.good svg{color:var(--good)}
.w2-warn{color:var(--warn);font-weight:600}
.w2-full{width:100%;margin-top:6px}
.w2-ph-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.w2-hdr{display:inline-flex;gap:6px;align-items:center}
.w2-hdr .icon-btn svg{width:19px;height:19px}

/* ---- weekly report: the one-page "paper" ---- */
.w2-rep{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}
@container main (max-width:900px){.w2-rep{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.w2-rep{grid-template-columns:minmax(0,1fr)}}
.w2-rep-side{position:sticky;top:120px}
@media (max-width:900px){.w2-rep-side{position:static}}
.w2-paper{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-h);padding:28px 30px 22px;position:relative;overflow:hidden;min-width:0}
.w2-paper:before{content:"";position:absolute;inset-inline:0;top:0;height:5px;background:linear-gradient(90deg,var(--navy),var(--accent),#8FB0F2)}
[data-theme=dark] .w2-paper:before{background:linear-gradient(90deg,#8FB0F2,var(--accent),#13274D)}
.w2-p-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.w2-p-brand{display:flex;align-items:center;gap:12px}
.w2-p-brand .tp-logo{width:36px;height:36px;color:var(--brand)}
.w2-p-brand b{display:block;font-size:16px}
.w2-p-brand small{color:var(--muted);font-size:12.8px}
.w2-p-lead{font-size:19px;line-height:1.75;font-weight:600;margin:0 0 18px;color:var(--text);letter-spacing:-.1px;text-wrap:pretty}
.w2-p-sec{border-top:1px solid var(--line2);padding-top:14px;margin-top:14px}
.w2-p-sec h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:13.5px;color:var(--muted);font-weight:700}
.w2-p-sec h4 svg{width:16px;height:16px;color:var(--accent)}
.w2-p-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.w2-p-list li{position:relative;padding-inline-start:16px;font-size:14.5px;line-height:1.75;color:var(--text2)}
.w2-p-list li:before{content:"";position:absolute;inset-inline-start:2px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.6}
.w2-p-list b{color:var(--text)}
.w2-flag{display:inline-flex;vertical-align:-3px;margin-inline-end:6px;color:var(--warn)}
.w2-flag svg{width:16px;height:16px}
.w2-p-list li:has(.w2-flag):before{display:none}
.w2-p-list li:has(.w2-flag){padding-inline-start:0}
.w2-money{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.w2-money{grid-template-columns:1fr}}
.w2-mh{font-size:12.5px;font-weight:700;margin-bottom:6px}
.w2-mh.bad{color:var(--bad)}.w2-mh.good{color:var(--good)}
.w2-mrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--card2);border:1px solid var(--line2);font-size:13.5px;margin-bottom:6px;color:var(--text2)}
.w2-mrow.bad .w2-sar{color:var(--bad)}.w2-mrow.warn .w2-sar{color:var(--warn)}.w2-mrow.good .w2-sar{color:var(--good)}
.w2-dec{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px dashed var(--line)}
.w2-dec:last-child{border-bottom:0}
.w2-dec-n{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink);font-weight:700;font-size:13.5px}
.w2-dec-t p{margin:0;font-size:14.5px;line-height:1.7;font-weight:500}
.w2-plus{display:inline-block;font-size:13px;color:var(--good);font-weight:600;white-space:nowrap}
.w2-plus .w2-sar{color:var(--good)}
.w2-plus.cost,.w2-plus.cost .w2-sar{color:var(--warn)}
.w2-p-f{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line2)}
.w2-p-f span{display:flex;gap:8px;align-items:flex-start;font-size:12.8px;color:var(--muted);line-height:1.65}
.w2-p-f svg{width:15px;height:15px;flex:none;margin-top:3px;color:var(--accent)}
.w2-acts{display:grid;gap:10px}
.w2-acts .btn-wa{height:48px;font-size:15px}
.w2-acts .w2-two .btn{width:100%}
.w2-to{display:flex;flex-wrap:wrap;gap:6px}
.w2-chkp{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);border-radius:99px;font-size:13px;cursor:pointer;background:var(--card)}
.w2-chkp input{accent-color:var(--accent);margin:0}
.w2-chkp.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}
.w2-sent{display:flex;gap:6px;align-items:center;margin:10px 0 0}
.w2-sent svg{width:14px;height:14px;color:var(--good)}
.w2-sched .field{margin-top:12px}

/* home cards under the decisions */
.ov-main{display:grid;gap:16px;min-width:0;align-content:start}
.w2-hcard .ch{margin-bottom:8px}
.w2-hc-p{margin:0 0 10px;font-size:14.5px;line-height:1.75;color:var(--text);font-weight:500}
.w2-hc-an{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;padding:9px 12px;border-radius:10px;background:var(--warn-soft);font-size:13px;line-height:1.65;color:var(--text2)}
.w2-hc-an svg{width:15px;height:15px;flex:none;margin-top:3px;color:var(--warn)}
.w2-hc-a{display:flex;gap:8px;flex-wrap:wrap}
.w2-season-card{background:linear-gradient(160deg,var(--accent-soft),var(--card) 60%)}

/* ---- export modal ---- */
.w2-exp-rep{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;background:linear-gradient(135deg,var(--navy),#163566);color:#fff;text-decoration:none;margin-bottom:12px}
.w2-exp-rep>svg{width:20px;height:20px;flex:none;color:#8FB0F2}
.w2-exp-rep span{flex:1;display:flex;flex-direction:column}
.w2-exp-rep small{color:rgba(255,255,255,.75);font-size:12.5px}
.w2-exp-rep .chev,.w2-exp-rep svg:last-child{transform:scaleX(-1)}
[dir=ltr] .w2-exp-rep svg:last-child{transform:none}
.w2-exp-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
@media (max-width:480px){.w2-exp-opts{grid-template-columns:1fr}}
.w2-exp-o{display:flex;gap:10px;align-items:flex-start;text-align:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer;color:var(--text)}
.w2-exp-o:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.w2-exp-o svg{width:22px;height:22px;color:var(--accent);flex:none}
.w2-exp-o span{display:flex;flex-direction:column}
.w2-exp-o small{color:var(--muted);font-size:12.5px;line-height:1.5}
.w2-wa{background:#E7DDD3;border-radius:14px;padding:14px;background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:14px 14px}
[data-theme=dark] .w2-wa{background-color:#0B141A}
.w2-wa-b{background:#fff;color:#111;border-radius:12px;border-start-start-radius:4px;padding:10px 12px 18px;font-size:13.5px;line-height:1.7;max-width:100%;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.12);white-space:normal}
[data-theme=dark] .w2-wa-b{background:#1F2C33;color:#E9EDEF}
.w2-wa-b small{position:absolute;bottom:4px;inset-inline-end:10px;font-size:10.5px;color:#53BDEB}

/* ---- seasons ---- */
.w2-tl-wrap{overflow-x:auto;margin:0 -6px;padding:0 6px 4px}
.w2-tl{min-width:640px;position:relative}
.w2-tl-m{position:relative;height:22px;border-bottom:1px solid var(--line)}
.w2-tl-m span{position:absolute;top:0;font-size:11.5px;color:var(--muted);transform:translateX(50%)}
[dir=ltr] .w2-tl-m span{transform:translateX(-50%)}
.w2-tl-bars{position:relative;height:104px;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 1px),var(--line2) calc(100%/12 - 1px) calc(100%/12))}
.w2-tl-b{position:absolute;height:26px;border-radius:8px;border:0;cursor:pointer;padding:0 8px;font-size:12px;font-weight:600;color:var(--text);background:var(--accent-soft);display:flex;align-items:center;min-width:10px;overflow:visible;white-space:nowrap;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}
.w2-tl-b span{position:relative;z-index:1}
.w2-tl-b.dn{background:var(--warn-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn) 30%,transparent)}
.w2-tl-b.on{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 16px -6px rgba(10,110,189,.6);z-index:2}
.w2-tl-now{position:absolute;top:0;bottom:0;width:2px;background:var(--bad);border-radius:2px}
.w2-tl-now:after{content:"";position:absolute;top:-4px;inset-inline-start:-3px;width:8px;height:8px;border-radius:50%;background:var(--bad)}
.w2-sd-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.w2-sd-h>div{flex:1;min-width:0}
.w2-sd-h h3{font-size:18px!important}
.w2-sd-h p{margin:2px 0 0;color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.w2-sd-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.w2-sd-ic svg{width:22px;height:22px}
.w2-effect{margin:4px 0 6px!important}
.w2-chart{margin:6px 0 4px}
.w2-chart .legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:4px}
.w2-chart .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:5px;vertical-align:-1px}
.w2-h4{margin:14px 0 6px;font-size:13.5px;color:var(--muted)}
.w2-plan{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 0;border-bottom:1px dashed var(--line)}
.w2-plan p{margin:0;font-size:14.5px;line-height:1.7;font-weight:500}
.w2-plan-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--bg2);color:var(--accent)}
.w2-plan-ic svg{width:17px;height:17px}
.w2-sd-f{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}
.w2-slist{display:grid;gap:6px}
.w2-srow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;text-align:start;width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line2);background:var(--card);cursor:pointer;color:var(--text)}
.w2-srow:hover{border-color:var(--line)}
.w2-srow.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}
.w2-srow-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--bg2);color:var(--accent)}
.w2-srow-ic svg{width:16px;height:16px}
.w2-srow-t{display:flex;flex-direction:column;min-width:0}
.w2-srow-t small{color:var(--muted);font-size:12px}
.w2-srow-v{font-size:12.5px;font-weight:700;white-space:nowrap}
.w2-srow-v.up{color:var(--good)}.w2-srow-v.dn{color:var(--warn)}

/* ---- forecast trust + anomalies ---- */
.w2-an{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line2)}
.w2-an:last-child{border-bottom:0;padding-bottom:2px}
.w2-an-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn)}
.w2-an.up .w2-an-ic{background:var(--good-soft);color:var(--good)}
.w2-an-ic svg{width:19px;height:19px}
.w2-an-h{margin:0;font-size:15px;font-weight:600;line-height:1.7}
.w2-an-c{margin:4px 0 0;font-size:13.5px;line-height:1.75;color:var(--text2)}
.w2-an-c .chip{margin-inline-end:4px}
.w2-an-i{margin:6px 0 0;font-size:13.5px;line-height:1.75;color:var(--text2)}
.w2-an-a{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:10px}
.w2-an-a .w2-why{flex-basis:100%}
.w2-fb{display:inline-flex;gap:4px;align-items:center}
.w2-fbb{width:30px;height:30px}
.w2-fbb svg{width:15px;height:15px}
.w2-q{padding:12px 0;border-bottom:1px solid var(--line2)}
.w2-q:first-of-type{padding-top:0}
.w2-q-t{display:flex;justify-content:space-between;align-items:center;gap:8px}
.w2-q p{margin:6px 0;font-size:13.8px;line-height:1.7;color:var(--text2)}
.w2-q-g{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted)}
.w2-q-g span{display:inline-flex;gap:5px;align-items:center}
.w2-q-g svg{width:14px;height:14px;color:var(--good)}
.w2-q-n{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:13px;line-height:1.7;color:var(--text2)}
.w2-q-n svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--accent)}
.w2-fc{align-items:start}

/* ---- devices ---- */
.w2-devsum{margin:0 0 4px;font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.w2-devsum b{color:var(--text)}
.w2-pr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line2)}
.w2-pr:last-child{border-bottom:0}
.w2-pr p{margin:0;font-size:13.8px;line-height:1.7}
.w2-dvl{display:grid}
.w2-dv{display:grid;grid-template-columns:minmax(0,1.5fr) auto minmax(120px,.9fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line2)}
.w2-dv:last-child{border-bottom:0}
.w2-dv-id{display:flex;flex-direction:column;min-width:0}
.w2-dv-id small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w2-dv-hb{display:flex;flex-direction:column;gap:3px}
.w2-dv-hb small{color:var(--muted);font-size:11.5px}
.w2-dv-fw{font-size:13px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.w2-chipbtn{border:0;cursor:pointer}
.st.off{color:var(--bad)}
@media (max-width:760px){
  .w2-dv{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}
  .w2-dv-hb{grid-column:1}
  .w2-dv-fw{grid-column:1}
  .w2-dv>.btn{grid-column:2;grid-row:2 / span 2;align-self:center}
  .w2-pr{grid-template-columns:auto minmax(0,1fr)}
  .w2-pr .btn{grid-column:2;justify-self:start}
}
.w2-dv-acts{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.w2-tech{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.w2-tech summary{cursor:pointer;font-weight:600;font-size:13.5px;display:flex;gap:8px;align-items:center;color:var(--text2)}
.w2-tech summary svg{width:16px;height:16px;color:var(--muted)}
.w2-tech[open] summary{margin-bottom:8px}
.w2-scrl{display:grid}
.w2-scr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line2)}
.w2-scr:last-child{border-bottom:0}
.w2-scr-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--bg2);color:var(--muted)}
.w2-scr-ic.on{background:var(--accent-soft);color:var(--accent)}
.w2-scr-ic svg{width:20px;height:20px}
.w2-scr-t{display:flex;flex-direction:column;min-width:0}
.w2-scr-t small{color:var(--muted);font-size:12.5px;line-height:1.6}
.w2-scr-a{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:640px){.w2-scr{grid-template-columns:auto minmax(0,1fr)}.w2-scr-a{grid-column:1 / -1;justify-content:flex-start}}
.w2-pair{text-align:center}
.w2-code{display:flex;gap:8px;justify-content:center;margin:16px 0}
.w2-code span{width:44px;height:54px;border-radius:12px;background:var(--bg2);display:grid;place-items:center;font-size:26px;font-weight:700;letter-spacing:0;border:1px solid var(--line)}
@media (max-width:400px){.w2-code span{width:38px;height:48px;font-size:22px}}

/* ---- help drawer (shares the inbox panel frame) ---- */
.w2-help{flex-direction:column}.w2-help.open{display:flex}
.w2-help .w1-ib-h b{display:flex;gap:8px;align-items:center}
.w2-help .w1-ib-h b svg{width:18px;height:18px;color:var(--accent)}
.w2-status{display:flex;gap:10px;align-items:center;margin:0 16px 10px;padding:10px 12px;border-radius:12px;background:var(--good-soft)}
.w2-status b{display:block;font-size:13.5px}
.w2-status small{font-size:12px;color:var(--text2)}
.w2-st-dot{width:10px;height:10px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 20%,transparent);flex:none}
.w2-htabs{margin:0 16px 10px;display:flex}
.w2-htabs button{flex:1}
.w2-cnt{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:11px;padding:0 5px}
.w2-hb{padding:0 16px 16px;overflow-y:auto;flex:1}
.w2-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:0 10px;background:var(--card)}
.w2-search svg{width:17px;height:17px;color:var(--muted)}
.w2-search .input{border:0;box-shadow:none;padding-inline:0;background:transparent;height:42px;flex:1;min-width:0}
.w2-search:focus-within{border-color:var(--accent)}
.w2-hsub{font-size:12px;color:var(--muted);font-weight:700;margin:14px 0 6px}
.w2-arts{display:grid;gap:6px}
.w2-art{border:1px solid var(--line2);border-radius:12px;background:var(--card)}
.w2-art-q{display:flex;gap:10px;align-items:center;width:100%;text-align:start;padding:11px 12px;border:0;background:transparent;cursor:pointer;font-weight:600;font-size:13.5px;color:var(--text)}
.w2-art-q>svg{width:16px;height:16px;color:var(--accent);flex:none}
.w2-art-q span{flex:1}
.w2-art-ch{transition:transform .2s;color:var(--muted)!important;transform:rotate(90deg)}
.w2-art.open .w2-art-ch{transform:rotate(-90deg)}
.w2-art p{margin:0;padding:0 12px 12px 12px;font-size:13.5px;line-height:1.8;color:var(--text2)}
.w2-wa-sup{width:100%;margin-top:14px;background:#128C4A;border-color:#128C4A;color:#fff}
.w2-tk{border:1px solid var(--line2);border-radius:12px;margin-bottom:8px;background:var(--card)}
.w2-tk-h{display:flex;gap:8px;align-items:center;width:100%;text-align:start;border:0;background:transparent;padding:11px 12px 2px;cursor:pointer;color:var(--text);font-size:13.5px}
.w2-tk-h b{flex:1;min-width:0}
.w2-tk-h .ltr{color:var(--muted);font-size:12px}
.w2-tk-s{display:block;padding:0 12px 10px;color:var(--muted);font-size:12px}
.w2-tk-m{padding:0 12px 12px;display:grid;gap:8px}
.w2-msg{max-width:88%;padding:8px 11px;border-radius:12px;background:var(--bg2);font-size:13px;line-height:1.7}
.w2-msg p{margin:0}
.w2-msg small{font-size:11px;color:var(--muted)}
.w2-msg.me{justify-self:end;background:var(--accent-soft)}
.w2-tk-r{display:flex;gap:6px;align-items:center}
.w2-tk-r .input{height:36px;flex:1;min-width:0}
.w2-defl{margin:4px 0 12px;padding:10px;border-radius:12px;background:var(--warn-soft)}
.w2-defl small{display:flex;gap:6px;align-items:center;font-weight:600;color:var(--text2);margin-bottom:6px}
.w2-defl small svg{width:14px;height:14px;color:var(--warn)}

/* ---- privacy ---- */
.w2-prow{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line2)}
.w2-prow:last-child{border-bottom:0}
.w2-prow>div:first-child{display:flex;flex-direction:column;min-width:0}
.w2-prow small{color:var(--muted);font-size:12.5px;line-height:1.6}
.w2-prow-a{display:flex;gap:6px;flex:none}
@media (max-width:560px){.w2-prow{flex-direction:column;align-items:flex-start}}
.w2-danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}
.w2-del-on{display:flex;gap:10px;align-items:center;padding:12px;border-radius:12px;background:var(--bad-soft);margin-top:10px}
.w2-del-on>svg{width:20px;height:20px;color:var(--bad);flex:none}
.w2-del-on div{flex:1;display:flex;flex-direction:column}
.w2-del-on small{color:var(--text2);font-size:12.5px}
.w2-doc{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2)}
.w2-doc:last-child{border-bottom:0}
.w2-doc>svg{width:18px;height:18px;color:var(--accent);flex:none}
.w2-doc span{flex:1;display:flex;flex-direction:column;min-width:0}
.w2-doc small{color:var(--muted);font-size:12px}
.w2-log{display:flex;gap:10px;align-items:flex-start;padding:8px 0}
.w2-log p{margin:0;font-size:13.5px;line-height:1.65;display:flex;flex-direction:column}
.w2-log small{color:var(--muted);font-size:12px}
.w2-log .w1-dot{margin-top:8px}

/* ---- TV wall (full screen, always dark) ---- */
.wall{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;color:#fff;background:radial-gradient(1000px 600px at 85% -10%,rgba(73,140,230,.35),transparent 60%),radial-gradient(800px 500px at -10% 110%,rgba(62,198,228,.14),transparent 60%),linear-gradient(160deg,#060E1F,#0C1D39 55%,#132A52);padding:clamp(16px,3vw,40px);gap:clamp(14px,2.4vw,28px);overflow:hidden}
.wl-h{display:flex;align-items:center;gap:16px}
.wl-brand{display:flex;gap:12px;align-items:center;flex:1;min-width:0}
.wl-brand .tp-logo{width:44px;height:44px;color:#8FB0F2;flex:none}
.wl-brand b{display:block;font-size:clamp(17px,2vw,26px)}
.wl-brand small{color:rgba(255,255,255,.6);font-size:clamp(12px,1.2vw,15px)}
.wl-live{display:flex;align-items:center;gap:8px;font-weight:600;color:rgba(255,255,255,.85);font-size:clamp(13px,1.3vw,17px)}
.wl-live .pulse{width:9px;height:9px;border-radius:50%;background:#3DD68C;box-shadow:0 0 0 0 rgba(61,214,140,.6);animation:wlp 2s infinite}
@keyframes wlp{70%{box-shadow:0 0 0 10px rgba(61,214,140,0)}100%{box-shadow:0 0 0 0 rgba(61,214,140,0)}}
.wl-clock{margin-inline-start:8px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.08)}
.wl-exit{display:inline-flex;gap:6px;align-items:center;color:rgba(255,255,255,.7);text-decoration:none;font-size:13px;padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.15)}
.wl-exit svg{width:15px;height:15px}
.wl-exit:hover{background:rgba(255,255,255,.08);color:#fff}
.wl-main{flex:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(16px,3vw,40px);align-items:center}
.wl-now{display:flex;align-items:center;gap:clamp(16px,3vw,40px)}
.wl-ring{position:relative;width:clamp(150px,22vw,320px);aspect-ratio:1;flex:none}
.wl-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
[dir=rtl] .wl-ring svg{transform:rotate(-90deg) scaleY(-1)}
.wl-ring circle{fill:none;stroke-width:9;stroke-linecap:round}
.wl-ring .bg{stroke:rgba(255,255,255,.1)}
.wl-ring .fg{stroke:#3DD68C;transition:stroke-dasharray .8s ease,stroke .4s}
.wl-ring.busy .fg{stroke:#F5B544}.wl-ring.full .fg{stroke:#FB8A5E}
.wl-ring>span{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(28px,4.4vw,64px);font-weight:700;letter-spacing:-1px}
.wl-sent{margin:0 0 12px;font-size:clamp(24px,3.4vw,52px);line-height:1.35;font-weight:600}
.wl-sent b{color:#8FB0F2;font-weight:700}
.wl-sent.big{font-size:clamp(28px,4.4vw,68px);text-align:center;margin:0}
.wl-mood{display:inline-flex;align-items:center;padding:6px 16px;border-radius:99px;font-weight:700;font-size:clamp(14px,1.6vw,22px);background:rgba(61,214,140,.16);color:#3DD68C}
.wl-mood.busy{background:rgba(245,181,68,.16);color:#F5B544}.wl-mood.full{background:rgba(251,138,94,.16);color:#FB8A5E}
.wl-mood.sm{font-size:clamp(12px,1.1vw,15px);padding:3px 12px}
.wl-cards{display:grid;gap:clamp(10px,1.4vw,18px)}
.wl-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:clamp(14px,1.6vw,22px)}
.wl-card.next{background:linear-gradient(135deg,rgba(10,110,189,.35),rgba(255,255,255,.05));border-color:rgba(143,176,242,.35)}
.wl-card small{display:flex;gap:6px;align-items:center;color:rgba(255,255,255,.65);font-size:clamp(12px,1.1vw,15px);font-weight:600}
.wl-card small svg{width:16px;height:16px}
.wl-card p{margin:6px 0;font-size:clamp(16px,1.7vw,24px);line-height:1.5;font-weight:600}
.wl-card b{display:block;font-size:clamp(14px,1.4vw,19px);color:#8FB0F2;line-height:1.6}
.wl-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.wl-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0A6EBD,#8FB0F2);transition:width .8s}
.wl-bar.big{height:16px;flex:1}
.wl-z{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:clamp(14px,1.3vw,18px)}
.wl-welcome{grid-template-columns:1fr;justify-items:center;text-align:center;align-content:center;gap:clamp(16px,2.4vw,30px)}
.wl-hi{margin:0;font-size:clamp(20px,2.4vw,34px);color:#8FB0F2;font-weight:600}
.wl-wbar{display:flex;gap:16px;align-items:center;width:min(720px,90%)}
.wl-zs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(900px,100%)}
.wl-zs .wl-z{flex-direction:column;background:rgba(255,255,255,.06);border-radius:16px;padding:14px}
.wl-calm{display:flex;gap:8px;align-items:center;font-size:clamp(16px,1.6vw,22px);color:rgba(255,255,255,.8);margin:0}
.wl-calm svg{width:20px;height:20px}
.wl-f{display:flex;justify-content:space-between;align-items:center;gap:12px;color:rgba(255,255,255,.55);font-size:clamp(11px,1vw,14px)}
.wl-f .tp-logo{height:18px;width:auto;color:rgba(255,255,255,.75)}
.wl-f .w1-ex{background:rgba(255,255,255,.1);color:rgba(255,255,255,.75)}
@media (max-width:760px){.wl-main{grid-template-columns:1fr}.wl-now{flex-direction:column;text-align:center}.wl-zs{grid-template-columns:1fr}.wl-exit span{display:none}.wl-live .wl-clock{display:none}}

/* ---- لوحة تبصيرة: the staff console ---- */
.con{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;background:var(--bg)}
.con-side{background:#070C17;color:rgba(255,255,255,.8);padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}
.con-brand{display:flex;gap:10px;align-items:center;padding:0 6px}
.con-brand .tp-logo{width:34px;height:34px;color:#8FB0F2}
.con-brand b{display:block;color:#fff;font-size:15px}
.con-brand small{color:#F5B544;font-size:11.5px;font-weight:600}
.con-nav{display:grid;gap:4px}
.con-nav a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;color:rgba(255,255,255,.72);text-decoration:none;font-weight:600;font-size:14px}
.con-nav a svg{width:18px;height:18px}
.con-nav a:hover{background:rgba(255,255,255,.06)}
.con-nav a.on{background:rgba(90,171,239,.18);color:#fff}
.con-foot{margin-top:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.con-back{display:inline-flex;gap:6px;align-items:center;color:rgba(255,255,255,.6);font-size:12.5px;text-decoration:none}
.con-back svg{width:14px;height:14px}
.con-foot .lang-pill{background:rgba(255,255,255,.08);color:#fff;border:0}
.con-main{padding:24px clamp(16px,3vw,36px) 60px;min-width:0}
.con-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.con-top h1{margin:0;font-size:24px}
.con-badge{display:inline-flex;gap:6px;align-items:center;padding:4px 12px;border-radius:99px;background:var(--warn-soft);color:var(--warn);font-weight:700;font-size:12.5px}
.con-badge svg{width:14px;height:14px}
.con-need{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line2)}
.con-need:last-of-type{border-bottom:0}
.con-need-t{display:flex;flex-direction:column;min-width:0}
.con-need-t small{font-size:12.8px;color:var(--text2);line-height:1.6}
.con-need-t small.muted{color:var(--muted)}
.con-sc{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:700;font-size:16px}
.con-sc.sm{width:36px;height:36px;border-radius:11px;font-size:13.5px}
.con-sc.sg{background:var(--good-soft);color:var(--good)}.con-sc.sw{background:var(--warn-soft);color:var(--warn)}.con-sc.sb{background:var(--bad-soft);color:var(--bad)}
.con-tbl{display:grid;gap:4px}
.con-row{display:grid;grid-template-columns:auto minmax(0,1.6fr) auto auto auto;gap:14px;align-items:center;width:100%;text-align:start;padding:10px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--text);font-size:13.5px}
.con-row:hover{background:var(--card2)}
.con-row.on{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--accent-soft)}
.con-row-t{display:flex;flex-direction:column;min-width:0}
.con-row-t small,.con-row-l{color:var(--muted);font-size:12px}
.con-row-d,.con-row-m{font-size:12.8px;white-space:nowrap}
.con-supp{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:12px;border-radius:12px;background:var(--bg2);font-size:13px}
.con-supp>svg{width:17px;height:17px;color:var(--accent)}
.con-supp span{flex:1;min-width:160px}
.con-fw{display:grid;grid-template-columns:70px minmax(0,1fr) 40px;gap:12px;align-items:center;padding:8px 0;font-size:13.5px}
.con-fw .wl-bar{background:var(--bg2)}
.con-fw .wl-bar i.good{background:var(--good)}.con-fw .wl-bar i.warn{background:var(--warn)}.con-fw .wl-bar i.bad{background:var(--bad)}
.con-kan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.con-col{background:var(--bg2);border-radius:16px;padding:12px;display:grid;gap:8px}
.con-col-h{font-weight:700;font-size:13.5px;display:flex;justify-content:space-between;align-items:center;padding:2px 4px}
.con-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow)}
.con-card small{color:var(--muted);font-size:12px}
.con-card.stuck{border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}
.con-card .btn{align-self:flex-start;margin-top:6px}
@media (max-width:900px){
  .con{grid-template-columns:1fr}
  .con-side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px}
  .con-nav{grid-auto-flow:column;overflow-x:auto;flex:1 1 100%;order:3}
  .con-nav a{padding:8px 10px;white-space:nowrap}
  .con-foot{margin:0 0 0 auto}
  [dir=rtl] .con-foot{margin:0 auto 0 0}
  .con-kan{grid-template-columns:1fr 1fr}
  .con-row{grid-template-columns:auto minmax(0,1fr) auto}
  .con-row-d,.con-row-l{display:none}
  .con-need{grid-template-columns:auto minmax(0,1fr)}
  .con-need .btn{grid-column:2;justify-self:start}
}
@media (max-width:520px){.con-kan{grid-template-columns:1fr}}
.con-link{margin-top:6px;opacity:.8}

/* ---- the tenant chip when the mall account is showing ---- */
.tenant.is-mall .av{background:linear-gradient(135deg,#0A6EBD,#8FB0F2);color:#fff}

/* ---- printing: the weekly report prints as one clean page; any page prints without the app chrome ---- */
@media print{
  body{background:#fff!important}
  .side,.sticky-head,.ai,.ai-fab,.ai-bg,.bnav,.sheet,.sheet-bg,.mfilters,.toast,#w1-ibw,#w2-hw,#w2-modal,#w1-modal,.w2-noprint,.lead .btn,.w2-why-b{display:none!important}
  .app,.main{display:block!important;margin:0!important;padding:0!important}
  .card,.w2-paper{box-shadow:none!important;break-inside:avoid}
  body.w2-print-rep .page-in>*:not(.w2-rep){display:none!important}
  body.w2-print-rep .w2-rep{display:block!important}
  body.w2-print-rep .w2-rep-side{display:none!important}
  body.w2-print-rep .w2-paper{border:0;padding:0}
}

.w2-help[hidden],.w2-hbg:not(.open){display:none!important}
@media (max-width:900px){.con{grid-template-columns:minmax(0,1fr)}.con-side,.con-main{min-width:0}.con-nav{min-width:0;max-width:100%}}
@media (max-width:560px){.w1-bell .w1-badge{top:-4px;inset-inline-end:-2px}}
/* wave 3: export stays in the header on phone (was hidden) */
@media (max-width:440px){.top .demo-badge{display:none}}
.login-art .mini .v-sent{font-size:20px;font-weight:700;line-height:1.6;margin:6px 0 2px}
.login-art .mini .v-sent .hc-amt{padding:0 6px}
.login-art .mini .v-ex{display:inline-block;vertical-align:middle;font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:99px;background:rgba(255,255,255,.14);color:rgba(255,255,255,.85)}
@media (max-width:640px){
.tbl-wrap:has(> .w1-mx){overflow:visible}
.w1-mx,.w1-mx tbody{display:block;width:100%}
.w1-mx thead{display:none}
.w1-mx tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding:12px 0;border-bottom:1px solid var(--line2)}
.w1-mx tr:last-child{border-bottom:0}
.w1-mx th[scope=row]{grid-column:1/-1;text-align:start;padding:0}
.w1-mx td{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;border-radius:10px;background:var(--bg2);text-align:start;min-width:0}
.w1-mx td::before{content:attr(data-l);font-size:11.5px;color:var(--muted);font-weight:600}
.w1-mx tr.w1-adv{display:block;padding:10px 0 0;border-bottom:0}
.w1-mx tr.w1-adv td{background:none;padding:0}
.w1-mx tr.w1-adv td::before{content:none}
}
@media (max-width:640px){
.w1-mx tr{gap:5px 8px;padding:10px 0}
.w1-mx td{flex-direction:row;align-items:center;gap:6px;padding:7px 10px;font-size:12.5px}
.w1-mx td::before{flex:1;min-width:0;font-size:12px;line-height:1.35}
.w1-mx td svg{width:15px;height:15px;flex:none}
.w1-mx th[scope=row] small{display:block;margin-bottom:2px}
}

/* ================= Wave 3: Pro & Mall depth ================= */
.w3-sent{margin:4px 0 10px;font-size:16px;line-height:1.75;font-weight:600;color:var(--text)}
.w3-sent.sm{font-size:14.5px;font-weight:500}
.w3-sub{margin:0 0 10px;color:var(--text2);font-size:14px;line-height:1.75}
.w3-na{align-items:flex-start;text-align:start}
.w3-chart{margin:6px 0 4px;min-width:0}
.w3-facts{margin:6px 0 10px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--text2)}
.w3-facts li{display:inline-flex;gap:4px;align-items:baseline}
.w3-facts li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.55;flex:none;align-self:center}
.w3-dech{margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}
.w3-dec .btn{white-space:nowrap}
.w3-seg{max-width:100%}
.w3-seg button{white-space:nowrap}
.w3-perm{gap:5px}.w3-perm svg{width:14px;height:14px}
/* reports */
.w3-qchips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.w3-qchip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:99px;padding:8px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s,background .15s}
.w3-qchip svg{width:16px;height:16px;color:var(--accent);flex:none}
.w3-qchip:hover{border-color:var(--accent)}
.w3-qchip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.w3-qchip.on svg{color:var(--on-accent)}
.w3-ans-h{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.w3-qic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.w3-qic svg{width:19px;height:19px}
.w3-q{margin:0;font-size:15px;color:var(--muted);font-weight:600;flex:1;min-width:0}
.w3-anscard .w3-sent{font-size:18px}
.w3-rb{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.w3-rbf{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.w3-rbf>span{font-size:12.5px;color:var(--muted);font-weight:600;min-width:48px}
.w3-rbx{display:flex;justify-content:flex-end;margin-top:8px}
.w3-miss{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.w3-sv{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}
.w3-sv:last-child{border-bottom:0}
.w3-sv-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.w3-sv-t small{color:var(--muted);font-size:12.5px;line-height:1.6;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.w3-sv-s{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.icon-btn.sm{width:32px;height:32px}
.icon-btn.sm svg{width:16px;height:16px}
.w3-wk{display:flex;gap:12px;align-items:center;margin-top:12px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#0C1D39,#163566);color:#fff;text-decoration:none}
.w3-wk>svg{width:20px;height:20px;color:#8FB0F2;flex:none}
.w3-wk span{display:flex;flex-direction:column}.w3-wk small{color:rgba(255,255,255,.75);font-size:12.5px}
.w3-rgrid>div,.w3-fgrid>div{min-width:0;display:flex;flex-direction:column;gap:14px}
.w3-rgrid>div>.card,.w3-fgrid>div>.card{margin:0}
/* corrections */
.w3-corr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px dashed var(--line)}
.w3-corr:last-of-type{border-bottom:0}
.w3-corr.done{opacity:.72}
.w3-corr-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}
.w3-corr-ic svg{width:17px;height:17px}
.w3-corr-ic.bad{background:var(--bad-soft);color:var(--bad)}.w3-corr-ic.warn{background:var(--warn-soft);color:var(--warn)}
.w3-corr-t p{margin:0;line-height:1.7;font-size:14.5px}
.w3-corr-t .w3-corr-e{font-size:13px;color:var(--text2);margin-top:2px}
.w3-corr-a{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.w3-corr-ed{display:inline-flex;gap:6px;align-items:center}
.w3-corr-ed .input{width:84px}
.w3-mt{margin-top:8px}
/* roster */
.w3-bseg{margin:-4px 0 10px}
.w3-racts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px}
.w3-racts .w2-why{flex-basis:100%}
.w3-racts .btn svg{width:16px;height:16px}
.w3-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:10px}
.w3-days button{border:1px solid var(--line);background:var(--card2);border-radius:12px;padding:7px 2px;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--text)}
.w3-days button b{font-size:13px}.w3-days button small{font-size:11.5px;color:var(--muted)}
.w3-days button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.w3-days button.on small{color:var(--on-accent);opacity:.85}
.w3-dayh{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:13.5px;color:var(--text2);margin-bottom:8px}
.w3-dayh b{color:var(--text);font-size:15px}
.w3-shifts{display:flex;flex-direction:column;gap:6px}
.w3-shift{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:center}
.w3-who{display:flex;flex-direction:column;min-width:0}
.w3-who b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w3-who small{font-size:11.5px;color:var(--muted)}
.w3-open{color:var(--warn)}
.w3-track{position:relative;height:28px;border-radius:8px;background:var(--bg2)}
.w3-bar{position:absolute;top:3px;bottom:3px;border-radius:6px;background:linear-gradient(90deg,var(--accent),#3D8FD6);color:#fff;font-size:11.5px;font-weight:600;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap}
.w3-bar.open{background:repeating-linear-gradient(45deg,var(--warn-soft),var(--warn-soft) 6px,transparent 6px,transparent 12px);color:var(--warn);border:1px dashed var(--warn)}
.w3-brk{position:absolute;top:0;bottom:0;background:var(--prayer-soft,rgba(16,185,129,.18));border-inline:2px solid var(--prayer,#12805C);border-radius:3px;opacity:.95}
.w3-staff{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.w3-staff summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--text)}
.w3-st{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);flex-wrap:wrap}
.w3-st-n{flex:1;min-width:140px;display:flex;flex-direction:column}
.w3-st-n small{color:var(--muted);font-size:12px}
.w3-st-d{display:flex;gap:3px;flex-wrap:wrap}
.w3-st-d button{min-width:34px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--card);font:inherit;font-size:11.5px;cursor:pointer;color:var(--text)}
.w3-st-d button.off{background:var(--bg2);color:var(--faint);text-decoration:line-through}
.w3-st-d button.on{border-color:var(--accent);color:var(--accent);font-weight:600}
.w3-st-add{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.w3-st-add .input{flex:1;min-width:120px}
.w3-wage{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:13px;color:var(--text2)}
.w3-wage .input{width:90px}
/* audit */
.w3-audf{margin-bottom:8px}
.w3-ae{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;border-radius:12px;margin-bottom:4px}
.w3-ae.risk{background:var(--warn-soft)}
.w3-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink);font-weight:700;font-size:13px}
.w3-ae-t p{margin:0;font-size:14px;line-height:1.65}
.w3-ae-t small{color:var(--muted);font-size:12px}
.w3-risk{display:inline-flex;gap:4px;align-items:center;color:var(--warn);font-weight:600}
.w3-risk svg{width:13px;height:13px}
/* floor map */
.w3-fmh{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}
.w3-legend{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.w3-legend i{width:16px;height:12px;border-radius:3px;display:inline-block}
.w3-legend small{font-size:11.5px;color:var(--muted);margin-inline:4px}
.w3-mapw{width:100%;max-width:640px;margin:0 auto}
.w3-map{width:100%;height:auto;display:block;user-select:none;-webkit-user-select:none}
.w3-floor{fill:var(--card2);stroke:var(--line);stroke-width:.4}
.w3-zr{stroke:var(--card);stroke-width:.7;transition:opacity .15s}
.w3-zg{cursor:pointer;outline:none}
.w3-zg:hover .w3-zr,.w3-zg:focus .w3-zr{opacity:.85}
.w3-zg.sel .w3-zr{stroke:#F5B544;stroke-width:1.1}
.w3-map.edit .w3-zr{cursor:move;stroke-dasharray:1.4 .8}
.w3-z0{fill:#DCE7FB;background:#DCE7FB}.w3-z1{fill:#A9C4F3;background:#A9C4F3}.w3-z2{fill:#5E97DE;background:#5E97DE}.w3-z3{fill:#0A6EBD;background:#0A6EBD}.w3-z4{fill:#0C1D39;background:#0C1D39}
.w3-zna{background:repeating-linear-gradient(45deg,var(--bg2),var(--bg2) 3px,var(--line) 3px,var(--line) 5px)}
.w3-hl{stroke:var(--line);stroke-width:1.1}
.w3-zt,.w3-zv{text-anchor:middle;fill:#0C1D39;font-family:inherit;pointer-events:none}
.w3-zt{font-size:2.9px;font-weight:700}.w3-zv{font-size:2.6px;font-weight:500}
.w3-zt.inv,.w3-zv.inv{fill:#fff}
.w3-gate circle{fill:var(--accent)}.w3-gate text{font-size:1.9px;fill:#fff;text-anchor:middle;font-weight:700}
.w3-kiosk rect{fill:#F5B544;stroke:#fff;stroke-width:.4}.w3-kiosk text{font-size:2.6px;text-anchor:middle}
.w3-kiosk.moved rect{fill:#12805C}
[data-theme=dark] .w3-z0{fill:#1B2A47;background:#1B2A47}[data-theme=dark] .w3-z1{fill:#25416F;background:#25416F}[data-theme=dark] .w3-z2{fill:#2F64A8;background:#2F64A8}[data-theme=dark] .w3-z3{fill:#4C8FE0;background:#4C8FE0}[data-theme=dark] .w3-z4{fill:#8FB0F2;background:#8FB0F2}
[data-theme=dark] .w3-zt,[data-theme=dark] .w3-zv{fill:#E6EDF9}
[data-theme=dark] .w3-zt.inv,[data-theme=dark] .w3-zv.inv{fill:#0C1D39}
.w3-fp h3{margin:0 0 4px;font-size:17px}
.w3-fp-empty{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14px}
.w3-fp-empty svg{width:26px;height:26px;color:var(--accent);flex:none}.w3-fp-empty p{margin:0}
.w3-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;margin:6px 0 10px}
.w3-kv span{color:var(--muted)}.w3-kv b{text-align:end}
.w3-fe{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.w3-fe label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2)}
.w3-fe label span{min-width:80px}.w3-fe .input{flex:1;min-width:0}
.w3-fe-sn{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--text2)}
.w3-fe-sn span{flex-basis:100%}
.w3-fe-sn .chip{border:0;cursor:pointer;font-family:inherit}
/* evacuation */
.w3-occ{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:12px 0}
.w3-oc{padding:12px;border-radius:12px;background:var(--card2);border:1px solid var(--line)}
.w3-oc.hot{border-color:var(--bad);background:var(--bad-soft)}
.w3-oc-h{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:13.5px}
.w3-oc-h b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w3-oc small{font-size:12px;color:var(--muted)}
.w3-oc-bar{height:7px;border-radius:99px;background:var(--bg2);overflow:hidden;margin:8px 0 4px}
.w3-oc-bar i{display:block;height:100%;border-radius:99px;background:var(--accent)}
.w3-oc.hot .w3-oc-bar i{background:var(--bad)}
.w3-lim{width:64px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:6px;padding:1px 4px;font:inherit;font-size:12.5px}
.w3-ev-start{display:flex;gap:10px;flex-wrap:wrap}
.w3-red{background:#C2410C;border-color:#C2410C;color:#fff}
.w3-red:hover{background:#A3360A}
.w3-red svg,.w3-ev-start svg,.w3-ev-must svg,.w3-ev-end svg{width:17px;height:17px}
.w3-ev-on{display:flex;flex-direction:column;gap:12px}
.w3-ev-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.w3-ev-badge{background:#C2410C;color:#fff;font-weight:700;font-size:13px;padding:4px 12px;border-radius:99px;animation:w3pulse 1.6s ease-in-out infinite}
@keyframes w3pulse{50%{opacity:.7}}
.w3-ev-clock{font-size:20px}
.w3-ev-top small{color:var(--muted);font-size:12px}
.w3-ev-big{margin:0;font-size:22px;font-weight:700;line-height:1.5}
.w3-ev-big small{font-size:14px;color:var(--muted);font-weight:500}
.w3-ev-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.w3-evr{padding:10px 12px;border-radius:12px;border:1px solid var(--bad);background:var(--bad-soft);display:flex;flex-direction:column;gap:2px}
.w3-evr b{font-size:20px}.w3-evr span{font-size:13px;font-weight:600}.w3-evr small{font-size:12px;color:var(--text2)}
.w3-evr.clr{border-color:var(--good);background:var(--good-soft)}.w3-evr.clr b{color:var(--good)}
.w3-ev-must p{margin:8px 0 0;font-size:14.5px;line-height:1.7}
.w3-dr{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:9px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.w3-dr:last-child{border-bottom:0}.w3-dr small{color:var(--muted)}
/* POS */
.w3-compl{display:flex;flex-direction:column;gap:8px;margin:4px 0 12px}
.w3-compl>div{display:grid;grid-template-columns:70px minmax(0,1fr) 44px 110px;gap:10px;align-items:center;font-size:13px}
.w3-compl .w3-oc-bar{margin:0}.w3-compl small{color:var(--muted)}
.w3-pos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.w3-pc{padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card2);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.w3-pc.on{border-color:var(--good)}
.w3-pc b{font-size:15px}.w3-pc small{color:var(--muted);font-size:12px;line-height:1.5}
.w3-pm{margin-top:12px;padding:14px;border-radius:14px;border:1px solid var(--accent);background:var(--accent-soft)}
.w3-pm h4{margin:0 0 8px}
.w3-pm-f{display:flex;align-items:center;gap:8px;font-size:13px}
/* groups */
.w3-gap{display:flex;flex-direction:column;gap:6px;margin:6px 0 4px;font-size:13px;color:var(--text2)}
.w3-gap input{width:100%;max-width:320px;accent-color:var(--accent)}
/* invoice */
.w3-inv{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card2)}
.w3-inv-r{padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed var(--line)}
.w3-inv-rh{display:flex;justify-content:space-between;font-size:14px;margin-bottom:4px}
.w3-inv-l{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:6px 0;font-size:13.5px}
.w3-inv-v{grid-column:1/-1;color:var(--good);font-size:12px}
.w3-inv-t{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:13.5px;margin:6px 0}
.w3-inv-t b:last-child{font-size:16px}
/* assistant answers */
.msg .w3-ai-s{margin:0 0 6px}
.msg .w3-facts{font-size:12.5px}
.w3-ai-dec .w2-dec{padding:8px 0 0;grid-template-columns:auto minmax(0,1fr);}
.w3-ai-dec .w2-dec>.btn{grid-column:2;justify-self:start}
@media (max-width:760px){
  .w3-shift{grid-template-columns:96px minmax(0,1fr)}
  .w3-compl>div{grid-template-columns:60px minmax(0,1fr) 40px}
  .w3-compl>div small{grid-column:2/-1;margin-top:-4px}
  .w3-anscard .w3-sent{font-size:16px}
  .w3-dec{grid-template-columns:auto minmax(0,1fr)}
  .w3-dec>.btn,.w3-dec>a.btn{grid-column:2;justify-self:start}
  .w3-ae{grid-template-columns:auto minmax(0,1fr)}
  .w3-ae>.btn,.w3-ae>.chip{grid-column:2;justify-self:start}
  .w3-sv{flex-wrap:wrap}.w3-sv-t{flex-basis:100%}
  .w3-tseg{margin-top:6px}
}

.w3-db{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.w3-dbr{display:grid;grid-template-columns:minmax(80px,140px) minmax(0,1fr) 96px;gap:10px;align-items:center;font-size:13px}
.w3-dbl{color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w3-dbt{position:relative;height:14px;border-radius:4px;background:var(--bg2)}
.w3-dbt:after{content:"";position:absolute;top:-3px;bottom:-3px;inset-inline-start:50%;width:1px;background:var(--line)}
.w3-dbt i{position:absolute;top:0;bottom:0;border-radius:4px}
.w3-dbt i.pos{inset-inline-start:50%;background:var(--good)}
.w3-dbt i.neg{inset-inline-end:50%;background:var(--bad)}
.w3-dbr b{font-size:13px;text-align:end}.w3-dbr b.neg{color:var(--bad)}.w3-dbr b.pos{color:var(--good)}
.w3-saved .w3-sv{flex-wrap:wrap}.w3-saved .w3-sv-t{flex-basis:100%}
.w3-saved .w3-sv-s{margin-inline-end:auto}

.w3-brk{background:repeating-linear-gradient(90deg,rgba(255,255,255,.75) 0 2px,rgba(255,255,255,.35) 2px 4px);border:0;top:3px;bottom:3px;border-radius:2px}
.w3-brk-l{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-inline-start:auto}
.w3-brk-l i{width:14px;height:12px;border-radius:3px;background:linear-gradient(90deg,var(--accent),#3D8FD6);position:relative}
.w3-brk-l i:after{content:"";position:absolute;inset:2px 4px;background:rgba(255,255,255,.7);border-radius:1px}
.w3-bar{justify-content:flex-start;padding-inline:8px}
.w3-zr.w3-zna{fill:var(--bg2);stroke:var(--muted);stroke-dasharray:1.2 .9;stroke-width:.35}
.w3-ae-t .w2-why-b{margin-inline-start:8px}
.w3-ae-t small{display:inline}
.msg .w3-dbr{grid-template-columns:64px minmax(0,1fr) 78px;font-size:12px;gap:6px}

/* ===================== Wave 4: developer API & webhooks, benchmark, camera tier preview, console governance ===================== */
.w4-say{font-size:15px;line-height:1.75;margin:0;color:var(--text)}
.w4-say.sm{font-size:14px;color:var(--text2)}
.w4-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:22px 0 10px;font-size:15px}
.w4-h svg{width:18px;height:18px;color:var(--accent)}
.w4-h small{font-weight:500;color:var(--muted);font-size:12.5px}
.w4-h .btn,.w4-h .seg{margin-inline-start:auto}
.w4-dev-lead,.w4-blead,.w4-glead{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--card2)}
.w4-dev-lead.bad{border-color:color-mix(in srgb,var(--bad) 35%,var(--line));background:color-mix(in srgb,var(--bad-soft) 55%,var(--card))}
.w4-dev-lead.ok{border-color:color-mix(in srgb,var(--good) 30%,var(--line))}
.w4-acts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
.w4-usage{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text2);margin:10px 0 0;line-height:1.7}
.w4-usage svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--accent)}
.w4-recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.w4-rec{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);display:flex;flex-direction:column;gap:6px;min-width:0}
.w4-rec.on{border-color:color-mix(in srgb,var(--good) 40%,var(--line))}
.w4-rec b{font-size:14px;line-height:1.5}
.w4-rec p{margin:0;font-size:13px;color:var(--text2);line-height:1.65}
.w4-rec-f{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.w4-rec-f .w2-why{flex-basis:100%}
.w4-list{display:flex;flex-direction:column;gap:8px}
.w4-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--card);min-width:0}
.w4-row-m{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}
.w4-row-m b{font-size:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.w4-row-m small{color:var(--muted);font-size:12.5px;line-height:1.6}
.w4-row-m code{font-size:12.5px;color:var(--text2);background:var(--bg2);border-radius:6px;padding:1px 6px;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w4-row-a{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.w4-chips{display:flex;flex-wrap:wrap;gap:5px}
.w4-flag{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--text2);background:var(--warn-soft);border-radius:10px;padding:8px 10px}
.w4-flag>svg{width:16px;height:16px;color:var(--warn);flex:none}
.w4-flag span{flex:1 1 200px}
.w4-log{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.w4-lr{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--card)}
.w4-lr:last-child{border-bottom:0}
.w4-lr-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.w4-lr-m b{font-size:13.5px}.w4-lr-m small{font-size:12px;color:var(--muted)}
.w4-next{color:var(--warn)!important;font-weight:600}
.w4-foot{display:flex;gap:6px;align-items:flex-start;margin:14px 0 0;line-height:1.7}
.w4-foot svg{width:14px;height:14px;flex:none;margin-top:3px}
.w4-secret{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--bg2);border-radius:10px;padding:10px}
.w4-secret code{flex:1 1 200px;word-break:break-all;font-size:13px}
.w4-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px;margin:6px 0 12px}
.w4-check{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px;cursor:pointer}
.w4-check small{display:block;color:var(--muted);font-size:11.5px}
.w4-check input{margin-top:4px;accent-color:var(--accent)}
/* benchmark */
.w4-bseg{margin:14px 0 4px}
.w4-coh{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.w4-cchip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--card);color:var(--text2);border-radius:99px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.w4-cchip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.w4-cchip svg{width:13px;height:13px}
.w4-brows{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.w4-brow{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);min-width:0}
.w4-brow-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:baseline}
.w4-brow-h b{font-size:14px}
.w4-brow p{margin:6px 0 0;color:var(--text2);line-height:1.7}
.w4-pos{position:relative;height:18px;margin:10px 4px 2px}
.w4-pos-t{position:absolute;inset-inline:0;top:8px;height:3px;border-radius:3px;background:var(--line)}
.w4-pos i,.w4-pos b{position:absolute;top:3px;transform:translateX(50%)}
[dir=ltr] .w4-pos i,[dir=ltr] .w4-pos b{transform:translateX(-50%)}
.w4-pos-med{width:2px;height:13px;background:var(--muted);border-radius:2px}
.w4-pos-top{width:2px;height:13px;background:var(--good);border-radius:2px}
.w4-pos-you{width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--card)}
.w4-pos-you.bad{background:var(--warn)}
.w4-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 0}
.w4-legend span{display:inline-flex;align-items:center;gap:5px}
.w4-dot{display:inline-block}
.w4-dy{width:10px;height:10px;border-radius:50%;background:var(--accent)}
.w4-dm{width:2px;height:11px;background:var(--muted)}
.w4-dt{width:2px;height:11px;background:var(--good)}
.w4-share{margin-top:14px}
.w4-dec{margin-top:10px}
/* camera tier preview */
.w4-cams{align-items:stretch}
.w4-cam{display:flex;flex-direction:column;gap:10px}
.w4-cam-h{display:flex;gap:10px;align-items:flex-start}
.w4-cam-h h3{margin:0 0 4px;font-size:15px}
.w4-cam-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.w4-cam-ic svg{width:20px;height:20px}
.w4-exw{border:1px dashed var(--line2,var(--line));border-radius:12px;padding:10px 12px;background:var(--card2)}
.w4-exl{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:8px}
.w4-ex p{margin:8px 0 0;color:var(--text2)}
.w4-exbar{display:grid;grid-template-columns:52px 1fr 40px;gap:8px;align-items:center;font-size:12.5px;margin:4px 0}
.w4-exbar i{height:8px;background:var(--bg2);border-radius:5px;overflow:hidden}
.w4-exbar b{display:block;height:100%;background:linear-gradient(90deg,var(--tint,#8FB0F2),var(--accent));border-radius:5px}
.w4-spark{width:100%;height:44px;color:var(--accent)}
.w4-tiles{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.w4-tile{position:relative;aspect-ratio:16/10;border-radius:10px;padding:8px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;background:linear-gradient(135deg,#0C1D39,#1A3366 60%,#0A6EBD)}
.w4-tile.t1{background:linear-gradient(160deg,#13284d,#0A6EBD)}.w4-tile.t2{background:linear-gradient(200deg,#0C1D39,#2c4f8f)}.w4-tile.t3{background:linear-gradient(120deg,#1A3366,#8FB0F2)}
.w4-tile::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 2px,transparent 2px 6px);filter:blur(.4px)}
.w4-tile b{font-size:12px;position:relative}.w4-tile small{font-size:11px;opacity:.85;position:relative}
.w4-live{position:absolute;top:6px;inset-inline-start:6px;font-size:10px;font-weight:700;background:rgba(0,0,0,.35);border-radius:6px;padding:1px 6px}
.w4-span{grid-column:1/-1}
.w4-cam-f{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.w4-priv h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:16px}
.w4-priv h3 svg{width:18px;height:18px;color:var(--accent)}
.w4-priv ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.w4-priv li{display:flex;gap:8px;font-size:13.5px;color:var(--text2);line-height:1.65}
.w4-priv li svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--good)}
.w4-audcams .w4-cam.compact .w4-say{font-size:13.5px}
/* console governance */
.w4-glead{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.w4-glead .w4-say{flex:1 1 320px}
.w4-me{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.w4-me select{min-width:200px}
.w4-why-no{display:flex;gap:5px;align-items:center;color:var(--warn)!important}
.w4-why-no svg{width:13px;height:13px}
.w4-req .w2-why-b,.w4-req .w2-why{flex-basis:100%}
.w4-sess{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--card)}
.w4-sess-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.w4-cd{font-size:18px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.w4-sbar{height:6px;background:var(--bg2);border-radius:4px;overflow:hidden}
.w4-sbar i{display:block;height:100%;background:var(--accent);border-radius:4px;transition:width .9s linear}
.w4-sess small{color:var(--muted);font-size:12.5px;line-height:1.6}
.w4-past{display:flex;flex-direction:column;gap:3px;margin-top:10px;color:var(--muted)}
.w4-flags{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.w4-staff select{width:auto;min-width:150px}
.w4-rules{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.w4-aud.r3:not(.rv){border-inline-start:3px solid var(--bad)}
.w4-aud.r2:not(.rv){border-inline-start:3px solid var(--warn)}
.w4-aud.rv{opacity:.75}
.w4-aud .w2-why{flex-basis:100%}
.w4-na{display:inline-flex}
@media (max-width:640px){
  .w4-row-a{width:100%}
  .w4-me{width:100%}.w4-me select{flex:1;min-width:0}
  .w4-staff select{width:100%}
  .w4-h .btn,.w4-h .seg{margin-inline-start:0}
}

.w4-dev .ch h3>svg,.w4-bench .ch h3>svg{width:19px;height:19px;vertical-align:-4px;color:var(--accent);margin-inline-end:6px}

.w4-gsec .ch h3>svg{width:19px;height:19px;vertical-align:-4px;color:var(--accent);margin-inline-end:6px}
.w4-row>.w2-why-b{flex:0 0 100%;text-align:start}
.w4-row-m .w2-why-b,.w4-rec-f .w2-why-b,.w4-dec .w2-why-b{align-self:flex-start;text-align:start}
.w4-me span{white-space:nowrap}
.w4-dev .ch h3>svg,.w4-bench .ch h3>svg,.w4-gsec .ch h3>svg{display:inline-block}

/* ---------- phase 1: live (API) screens, api.js ---------- */
.demo-badge.live{color:var(--good);background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 30%,transparent)}
.tapi-live{vertical-align:middle;font-size:11px}
.tapi-say{font-size:15px;line-height:1.7;margin:4px 0 8px}
.tapi-na{color:var(--muted)}
.tapi-loading{color:var(--muted)}
.tapi-decs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
ol.tapi-decs{list-style:decimal inside}
.tapi-dec{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;background:var(--card2)}
.tapi-dec-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.tapi-dec-h b{font-weight:600;line-height:1.5}
.tapi-dec-a{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;font-size:13.5px;color:var(--text2)}
.tapi-why{margin-top:6px;font-size:13px;color:var(--text2)}
.tapi-why summary{cursor:pointer;color:var(--brand);font-weight:600}
.tapi-why p{margin:6px 0 0;line-height:1.7}
.tapi-tree{list-style:none;margin:0;padding:0}
.tapi-node{padding:8px 0 8px 0;padding-inline-start:calc(var(--d) * 22px);border-bottom:1px solid var(--line)}
.tapi-node-r{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.tapi-node.k-entrance b{font-weight:500}
.tapi-seg{margin-inline-start:auto}
.tapi-issue{margin:6px 0 0;font-size:13px}
.tapi-issue.error{color:var(--bad)}
.tapi-issue.warning{color:var(--warn)}
.tapi-tbl{width:100%;border-collapse:collapse}
.tapi-tbl th,.tapi-tbl td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.tapi-sug,.tapi-inbox,.tapi-rules,.tapi-keys{list-style:none;margin:0;padding:0}
.tapi-sug li,.tapi-rules li,.tapi-keys li{padding:10px 0;border-bottom:1px solid var(--line)}
.tapi-inbox li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.tapi-inbox li.unread b{color:var(--brand)}
.tapi-inbox li.read{opacity:.75}
.tapi-acts,.tapi-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.tapi-row input,.tapi-connect input,.tapi-rcpt input{min-width:0;flex:1 1 160px;padding:8px 10px;border:1px solid var(--line2);border-radius:10px;background:var(--card);color:var(--text);font:inherit}
.tapi-row label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--text2);flex:1 1 140px}
.tapi-connect,.tapi-rcpt{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tapi-err{color:var(--bad)}
.tapi-secret code,.tapi-keys code{font-size:12px;word-break:break-all}
.tapi-spark{display:flex;align-items:flex-end;gap:6px;height:90px;margin:8px 0}
.tapi-spark i{flex:1;background:var(--brand);border-radius:6px 6px 2px 2px;opacity:.85}
@media (max-width:640px){.tapi-tbl th:nth-child(2),.tapi-tbl td:nth-child(2){display:none}.tapi-dec-a{flex-direction:column;align-items:stretch}}

/* phase 2: campaign diagnosis */
.tc-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px}
.tc-camp{flex:0 0 auto;min-width:200px;text-align:start;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:transparent;color:inherit;cursor:pointer;font:inherit}
.tc-camp.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.tc-camp small{color:var(--muted)}
.tc-camp .chip{align-self:flex-start}
.tc-meta{margin:0 0 8px}
.tc-verdict{border-radius:12px;padding:12px 14px;margin-bottom:12px;background:var(--brand-soft)}
.tc-verdict.tc-good{background:var(--good-soft)}.tc-verdict.tc-bad{background:var(--bad-soft)}
.tc-verdict p{margin:0 0 8px;font-weight:600;line-height:1.7}
.tc-riyal{font-size:18px;font-weight:700;margin-bottom:8px}
.tc-riyal small{display:block;font-size:12px;font-weight:400;color:var(--text2)}
.tc-funnel{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;counter-reset:st}
.tc-st{border:1px solid var(--line);border-radius:12px;padding:10px;position:relative;min-width:0}
.tc-st.tc-leak{border-color:var(--bad);background:var(--bad-soft)}
.tc-st.tc-warn{border-color:var(--warn)}
.tc-st.tc-unavailable{border-style:dashed;opacity:.92}
.tc-sh{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.tc-sh .chip{font-size:11px}
.tc-dot{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;background:var(--line);color:var(--text)}
.tc-leak .tc-dot{background:var(--bad);color:#fff}.tc-ok .tc-dot{background:var(--good);color:#fff}.tc-warn .tc-dot{background:var(--warn);color:#fff}
.tc-m{display:flex;flex-direction:column;margin-top:4px}
.tc-m span{font-size:12px;color:var(--muted)}.tc-m b{font-size:16px}.tc-m small{font-size:11px;color:var(--muted)}
.tc-lost{margin-top:6px;font-size:12px;font-weight:700;color:var(--bad)}
.tc-na{font-size:12px;margin:0;color:var(--text2)}
.tc-na b{color:var(--muted)}
.tc-h{margin:4px 0 8px;font-size:15px}
.tc-acts{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}
.tc-act{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.tc-why summary{cursor:pointer;font-weight:700;color:var(--brand)}
.tc-ev li{margin-bottom:6px}.tc-sig.tc-leak{color:var(--bad)}.tc-sig.tc-unavailable{color:var(--muted)}
.tc-reviews .tc-rv{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.tc-reviews .tc-rv:last-child{border-bottom:0}
@media (max-width:820px){.tc-funnel{grid-template-columns:1fr}.tc-camp{min-width:180px}.tc-act{flex-direction:column;align-items:stretch}}
.tc-sg{font-size:12px;margin:4px 0 0;line-height:1.5;color:var(--text2)}.tc-sg.tc-leak{color:var(--bad);font-weight:600}.tc-sg.tc-warn{color:var(--warn)}.tc-sg.tc-unavailable{color:var(--muted)}
