@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ══════════════════════════════════════════════════════════════
   HK Clarity — Glass / Tech skin (v24.1)
   Re-skin only: every class name + structural rule preserved.
   Purple brand + cyan tech accent · glassmorphism · light + dark.
   Theme: follows system; force with <html data-theme="light|dark">.
   ══════════════════════════════════════════════════════════════ */

:root{
  --bg:#EBEDFF;--sf:rgba(255,255,255,0.62);--sf2:rgba(255,255,255,0.42);
  --bd:rgba(84,66,176,0.14);--bd2:rgba(84,66,176,0.24);
  --tx:#211C52;--tx2:#564C9A;--tx3:#8E88C2;--ac:#6D5EF0;--ac2:#12B8D6;
  --r:#D6453F;--rbg:rgba(214,69,63,0.12);--rtx:#9A2E2A;
  --y:#B8800C;--ybg:rgba(184,128,12,0.15);--ytx:#7A5408;
  --g:#159C66;--gbg:rgba(21,156,102,0.13);--gtx:#0E6B45;
  --b:#5240C9;--bbg:rgba(109,94,240,0.13);--btx:#4231AE;
  --rad:18px;--rads:11px;
  --hero-grad:linear-gradient(135deg,#6D5EF0 0%,#4F3FC4 100%);
  --shadow:0 12px 40px rgba(34,22,90,0.10);
  --shadow-sm:0 4px 16px rgba(34,22,90,0.07),inset 0 1px 0 rgba(255,255,255,0.55);
  --glass-brd:rgba(255,255,255,0.70);
  --grid-line:rgba(90,70,180,0.055);
  --tip-bg:rgba(26,22,60,0.97);--tip-tx:#F1EFFF;--tip-brd:rgba(140,124,255,0.40);
  --page-bg:
    radial-gradient(820px 560px at 8% 2%,rgba(109,94,240,.18),transparent 56%),
    radial-gradient(720px 540px at 97% 4%,rgba(18,184,214,.14),transparent 54%),
    radial-gradient(680px 680px at 84% 100%,rgba(109,94,240,.12),transparent 60%),
    linear-gradient(165deg,#F2F0FF 0%,#ECEFFF 52%,#F4F0FE 100%);
}
.dark-tokens,:root[data-theme="dark"]{
  --bg:#0D0B1C;--sf:rgba(255,255,255,0.065);--sf2:rgba(255,255,255,0.04);
  --bd:rgba(255,255,255,0.10);--bd2:rgba(255,255,255,0.17);
  --tx:#EEEBFF;--tx2:#BCB5EE;--tx3:#827CB8;--ac:#8C7DFF;--ac2:#2FD6EE;
  --r:#F0716B;--rbg:rgba(240,113,107,0.14);--rtx:#FF9E99;
  --y:#E0A93A;--ybg:rgba(224,169,58,0.15);--ytx:#F0C97A;
  --g:#36C98C;--gbg:rgba(54,201,140,0.15);--gtx:#7DE3B6;
  --b:#8C7DFF;--bbg:rgba(140,125,255,0.16);--btx:#C9C2FF;
  --hero-grad:linear-gradient(135deg,#5E4ED8 0%,#3A2E92 100%);
  --shadow:0 14px 44px rgba(0,0,0,0.42);
  --shadow-sm:0 4px 18px rgba(0,0,0,0.30),inset 0 1px 0 rgba(255,255,255,0.09);
  --glass-brd:rgba(255,255,255,0.14);
  --grid-line:rgba(150,140,255,0.05);
  --tip-bg:rgba(14,11,34,0.98);--tip-tx:#F1EFFF;--tip-brd:rgba(47,214,238,0.35);
  --page-bg:
    radial-gradient(820px 560px at 8% 2%,rgba(124,108,255,.22),transparent 56%),
    radial-gradient(720px 540px at 97% 4%,rgba(34,206,232,.13),transparent 54%),
    radial-gradient(680px 680px at 84% 100%,rgba(124,108,255,.16),transparent 60%),
    linear-gradient(165deg,#0B0918 0%,#100D24 55%,#0B0A1B 100%);
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0D0B1C;--sf:rgba(255,255,255,0.065);--sf2:rgba(255,255,255,0.04);
    --bd:rgba(255,255,255,0.10);--bd2:rgba(255,255,255,0.17);
    --tx:#EEEBFF;--tx2:#BCB5EE;--tx3:#827CB8;--ac:#8C7DFF;--ac2:#2FD6EE;
    --r:#F0716B;--rbg:rgba(240,113,107,0.14);--rtx:#FF9E99;
    --y:#E0A93A;--ybg:rgba(224,169,58,0.15);--ytx:#F0C97A;
    --g:#36C98C;--gbg:rgba(54,201,140,0.15);--gtx:#7DE3B6;
    --b:#8C7DFF;--bbg:rgba(140,125,255,0.16);--btx:#C9C2FF;
    --hero-grad:linear-gradient(135deg,#5E4ED8 0%,#3A2E92 100%);
    --shadow:0 14px 44px rgba(0,0,0,0.42);
    --shadow-sm:0 4px 18px rgba(0,0,0,0.30),inset 0 1px 0 rgba(255,255,255,0.09);
    --glass-brd:rgba(255,255,255,0.14);
    --grid-line:rgba(150,140,255,0.05);
    --tip-bg:rgba(14,11,34,0.98);--tip-tx:#F1EFFF;--tip-brd:rgba(47,214,238,0.35);
    --page-bg:
      radial-gradient(820px 560px at 8% 2%,rgba(124,108,255,.22),transparent 56%),
      radial-gradient(720px 540px at 97% 4%,rgba(34,206,232,.13),transparent 54%),
      radial-gradient(680px 680px at 84% 100%,rgba(124,108,255,.16),transparent 60%),
      linear-gradient(165deg,#0B0918 0%,#100D24 55%,#0B0A1B 100%);
  }
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Space Grotesk',-apple-system,'PingFang SC','Microsoft YaHei',Arial,sans-serif;background:var(--page-bg);background-attachment:fixed;color:var(--tx);height:100vh;font-size:14px;display:flex;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:46px 46px}

/* SIDEBAR */
.sidebar{width:212px;flex-shrink:0;background:var(--sf2);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-right:.5px solid var(--bd);display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:2}
.sb-logo{padding:14px 14px 12px;border-bottom:.5px solid var(--bd)}
.sb-logo-name{font-size:14px;font-weight:700;color:var(--tx);letter-spacing:-.3px}
.sb-logo-sub{font-size:10px;color:var(--tx3);margin-top:2px}
.sb-brand-switch{position:relative}
.sb-brand-current{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;cursor:pointer;transition:background .15s;background:var(--sf);border:.5px solid var(--glass-brd)}
.sb-brand-current:hover{background:var(--bbg)}
.sb-brand-info{flex:1;min-width:0}
.sb-brand-name{font-size:13px;font-weight:700;color:var(--tx);letter-spacing:-.2px;line-height:1.2}
.sb-brand-sub{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--tx3);margin-top:2px;letter-spacing:0.02em}
.sb-brand-chevron{width:10px;height:6px;color:var(--tx2);flex-shrink:0;transition:transform .2s}
.sb-brand-switch.open .sb-brand-chevron{transform:rotate(180deg)}
.sb-brand-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--sf);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:12px;padding:5px;box-shadow:var(--shadow);z-index:100}
.sb-brand-item{display:flex;align-items:center;gap:10px;padding:8px 9px;border-radius:9px;cursor:pointer;transition:background .12s}
.sb-brand-item:hover{background:var(--bbg)}
.sb-brand-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.sb-brand-item-info{flex:1;min-width:0}
.sb-brand-item-name{font-size:12.5px;font-weight:600;color:var(--tx);letter-spacing:-.15px;line-height:1.2}
.sb-brand-item-sub{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--tx3);margin-top:2px}
.sb-brand-check{width:12px;height:12px;color:var(--g);flex-shrink:0;opacity:0}
.sb-brand-item.active .sb-brand-check{opacity:1}
.sb-brand-item.active{background:var(--gbg)}
.sb-sec{font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;color:var(--tx3);letter-spacing:.16em;text-transform:uppercase;padding:14px 20px 5px;opacity:.85}
.si{display:flex;align-items:center;gap:8px;padding:8px 16px;margin:1px 8px;color:var(--tx2);font-size:12px;font-weight:500;cursor:pointer;border-radius:10px;position:relative;transition:all .14s;user-select:none}
.si:hover{background:var(--sf);color:var(--tx)}
.si.on{background:var(--sf);color:var(--tx);font-weight:600}
.si.on::before{content:'';position:absolute;left:2px;top:50%;transform:translateY(-50%);width:3px;height:15px;border-radius:3px;background:linear-gradient(var(--ac),var(--ac2))}
.si-ic{width:14px;height:14px;flex-shrink:0;opacity:.8}
.si-arr{margin-left:auto;font-size:9px;color:var(--tx3);transition:transform .18s;line-height:1;flex-shrink:0}
.si-arr.open{transform:rotate(90deg)}
.sub-wrap{background:transparent}
.sub-wrap .si{padding-left:34px;font-size:11px;color:var(--tx2)}
.sub-wrap .si.on{color:var(--tx)}
.sb-sync{margin:auto 0 0;padding:16px 16px;border-top:.5px solid var(--bd)}

/* MAIN CONTENT AREA */
.main-wrap{flex:1;min-width:0;height:100vh;overflow-y:auto;display:block;position:relative;z-index:1}
.topbar{padding:14px 24px;border-bottom:.5px solid var(--bd2);background:var(--sf);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.tb-left{display:flex;flex-direction:column;gap:2px}
.page-title{font-size:15px;font-weight:700;color:var(--tx);letter-spacing:-.3px}
.page-sub-lbl{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3)}

/* NAV (hidden, kept for JS compat) */
.nav{display:none}
.ntab{display:none}
.nav-r{display:none}

/* THEME TOGGLE (additive control) */
.theme-toggle{position:fixed;bottom:18px;right:20px;z-index:900;display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:11px;border:.5px solid var(--glass-brd);background:var(--sf);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--tx);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:var(--shadow-sm)}
.theme-toggle:hover{border-color:var(--ac)}
.theme-toggle .tg-glyph{font-size:13px;line-height:1}

.sync-btn{display:flex;align-items:center;gap:6px;padding:6px 13px;font-size:11px;font-weight:600;border-radius:20px;border:.5px solid var(--glass-brd);background:var(--sf);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--tx2);cursor:pointer;font-family:inherit;white-space:nowrap}
.sync-btn:hover{border-color:var(--ac);color:var(--tx)}.sync-btn:disabled{opacity:.5;pointer-events:none}
.sdot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--g);box-shadow:0 0 8px var(--g)}
.sdot.err{background:var(--r);box-shadow:0 0 8px var(--r)}.sdot.spin{background:var(--y);box-shadow:0 0 8px var(--y);animation:blink 1s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.ls{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx3);white-space:nowrap}

.page{display:none;max-width:1440px;margin:0;padding:1.5rem 1.9rem;width:100%;box-sizing:border-box}.page.on{display:block;width:100%;box-sizing:border-box}

/* INNER TABS */
.itabs{display:flex;gap:4px;background:var(--sf2);border:.5px solid var(--bd);border-radius:13px;padding:4px;width:fit-content;margin-bottom:1.2rem}
.itab{padding:7px 16px;font-size:12px;font-weight:600;border-radius:10px;color:var(--tx3);cursor:pointer;transition:all .15s}
.itab.on{background:var(--sf);color:var(--tx);font-weight:600;box-shadow:var(--shadow-sm)}

/* PERIOD TABS */
.ptabs{display:flex;gap:4px}
.ptab{font-family:'JetBrains Mono',monospace;padding:4px 11px;font-size:10px;font-weight:600;border-radius:20px;border:.5px solid var(--bd2);background:var(--sf);color:var(--tx3);cursor:pointer}
.ptab.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.sl{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.7rem}

/* ALERT */
.abar{background:var(--rbg);border:.5px solid var(--r);border-radius:var(--rads);padding:.6rem 1rem;margin-bottom:1rem;display:none;align-items:center;gap:8px;flex-wrap:wrap}
.abar.on{display:flex}
.albl{font-size:11px;font-weight:600;color:var(--rtx);white-space:nowrap}
.achip{font-size:11px;padding:2px 8px;background:var(--sf);border:.5px solid var(--r);border-radius:20px;color:var(--rtx);font-weight:600}

/* KPI */
.kg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:1.2rem}
.kc{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:var(--rad);padding:1rem 1.1rem;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}
.kc:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.kc.good{border-color:var(--g)}.kc.warn{border-color:var(--y)}.kc.danger{border-color:var(--r)}
.kl{font-size:11px;color:var(--tx3);margin-bottom:6px;font-weight:600}
.kv{font-size:25px;font-weight:700;color:var(--tx);line-height:1;margin-bottom:6px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.kv.mt{font-size:13px;font-weight:500;color:var(--tx3)}
.kd{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);margin-bottom:4px}
.bx{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600}
.bx.good{background:var(--gbg);color:var(--gtx)}.bx.warn{background:var(--ybg);color:var(--ytx)}.bx.danger{background:var(--rbg);color:var(--rtx)}.bx.info{background:var(--bbg);color:var(--btx)}

/* CARDS / GRIDS */
.crow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.2rem}
.crow2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem}
.crow3{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1.2rem}
.cc{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:var(--rad);padding:1.1rem 1.2rem;box-shadow:var(--shadow-sm)}
.ct{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:2px;letter-spacing:-.2px}
.cs{font-size:11px;color:var(--tx3);margin-bottom:.7rem}
.panel{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:var(--rad);overflow:hidden;box-shadow:var(--shadow-sm)}
.ph{padding:.85rem 1.1rem;border-bottom:.5px solid var(--bd)}
.pht{font-size:13px;font-weight:700;color:var(--tx)}
.phs{font-size:11px;color:var(--tx3);margin-top:2px}

/* TABLE */
.dt{width:100%;border-collapse:collapse;font-size:12px}
.dt th{padding:.5rem .9rem;text-align:left;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tx3);background:var(--sf2);border-bottom:.5px solid var(--bd)}
.dt td{padding:.6rem .9rem;border-bottom:.5px solid var(--bd);color:var(--tx);vertical-align:middle}
.dt th.r,.dt td.r{text-align:right;font-variant-numeric:tabular-nums lining-nums}
.dt th.c,.dt td.c{text-align:center}
.dt tr:last-child td{border-bottom:none}.dt tr:hover td{background:var(--sf2)}
.tb{display:inline-block;font-size:11px;padding:2px 7px;border-radius:20px;font-weight:600}
.tb.g{background:var(--gbg);color:var(--gtx)}.tb.y{background:var(--ybg);color:var(--ytx)}.tb.r{background:var(--rbg);color:var(--rtx)}

/* FUNNEL */
.fbody{padding:.875rem 1rem}
.fi{margin-bottom:.875rem}.fi:last-child{margin-bottom:0}
.fitop{display:flex;justify-content:space-between;font-size:12px;color:var(--tx2);margin-bottom:4px}
.fipct{font-size:15px;font-weight:700;color:var(--tx)}
.fibg{height:9px;background:var(--sf2);border-radius:5px;overflow:hidden;margin-bottom:4px}
.fibar{height:100%;border-radius:5px}
.finote{font-size:11px;padding:2px 8px;border-radius:20px;display:inline-block;font-weight:600}
.finote.r{background:var(--rbg);color:var(--rtx)}.finote.g{background:var(--gbg);color:var(--gtx)}
.mt-empty{padding:1.5rem;text-align:center;color:var(--tx3);font-size:13px;line-height:1.7}

/* ENTRY FORM */
.entry-wrap{max-width:480px;margin:0 auto}
.ecard{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:var(--rad);padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}
.etitle{font-size:18px;font-weight:700;color:var(--tx);margin-bottom:.375rem}
.esub{font-size:13px;color:var(--tx3);margin-bottom:1.25rem;line-height:1.6}
.dchip{display:inline-block;background:var(--bbg);color:var(--btx);font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px;margin-bottom:1rem}
.field{margin-bottom:1rem}.field:last-child{margin-bottom:0}
.field label{display:block;font-size:12px;font-weight:600;color:var(--tx2);margin-bottom:5px}
.field label span{font-weight:400;color:var(--tx3);margin-left:4px}
.fi2{width:100%;padding:10px 12px;border:.5px solid var(--bd2);border-radius:var(--rads);background:var(--sf);color:var(--tx);font-size:15px;font-family:inherit}
.fi2:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(109,94,240,.15)}
.fi2.big{font-size:22px;font-weight:700;text-align:center;padding:14px 12px;font-variant-numeric:tabular-nums}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.acalc{background:var(--sf2);border-radius:var(--rads);padding:.875rem 1rem;margin-top:.875rem}
.ac-t{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.625rem}
.ac-r{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:.5px solid var(--bd);font-size:13px}
.ac-r:last-child{border-bottom:none}
.ac-l{color:var(--tx2)}.ac-v{font-weight:700;color:var(--tx);font-variant-numeric:tabular-nums}
.ac-v.good{color:var(--g)}.ac-v.warn{color:var(--y)}.ac-v.danger{color:var(--r)}
.sub-btn{width:100%;padding:14px;background:var(--hero-grad);color:#fff;border:none;border-radius:var(--rads);font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:.25rem;box-shadow:0 8px 22px rgba(109,94,240,.32)}
.sub-btn:hover{opacity:.92}.sub-btn:disabled{opacity:.5;pointer-events:none}
.ok-banner{background:var(--gbg);border:.5px solid var(--g);border-radius:var(--rad);padding:1.5rem;text-align:center;display:none}
.ok-banner.on{display:block}

/* ORDER FORM */
.oform .field label{font-size:12px;font-weight:600;color:var(--tx2);margin-bottom:4px;display:block}
.oform input,.oform select,.oform textarea{width:100%;padding:8px 10px;border:.5px solid var(--bd2);border-radius:var(--rads);background:var(--sf);color:var(--tx);font-size:13px;font-family:inherit;margin-bottom:.75rem}
.oform input:focus,.oform select:focus{outline:none;border-color:var(--ac)}
.oform .frow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}

/* HERO */
.hero-box{background:var(--hero-grad);color:#fff;border-radius:24px;padding:1.6rem 2rem;margin-bottom:1.25rem;position:relative;overflow:hidden;box-shadow:0 18px 50px rgba(79,63,196,.30)}
.hero-box::before{content:'';position:absolute;top:-80px;right:-40px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(47,214,238,.40),transparent 65%);pointer-events:none}
.hero-top{display:flex;align-items:flex-end;gap:2.5rem;flex-wrap:wrap;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,0.16);position:relative}
.hero-main-lbl{font-family:'JetBrains Mono',monospace;font-size:11px;opacity:.6;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem}
.hero-main-val{font-size:56px;font-weight:700;line-height:1;letter-spacing:-2px;color:#fff;font-variant-numeric:tabular-nums}
.hero-hkd-block{padding-left:2rem;border-left:1px solid rgba(255,255,255,0.18)}
.hero-hkd-lbl{font-family:'JetBrains Mono',monospace;font-size:11px;opacity:.6;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.35rem}
.hero-hkd-val{font-size:28px;font-weight:600;color:rgba(255,255,255,0.9);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative}
.hero-stat-lbl{font-family:'JetBrains Mono',monospace;font-size:10px;opacity:.55;margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em}
.hero-stat-val{font-size:17px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.hero-stat-val.up{color:#5fe3a0}.hero-stat-val.down{color:#ff8f8a}

/* SOP */
.sop-layout{display:grid;grid-template-columns:190px 1fr;gap:1.25rem;align-items:start}
.sopnav{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:var(--rad);padding:.45rem;position:sticky;top:58px;box-shadow:var(--shadow-sm)}
.sopni{display:flex;align-items:center;gap:6px;padding:.5rem .75rem;border-radius:var(--rads);font-size:13px;color:var(--tx2);cursor:pointer;transition:all .15s}
.sopni:hover{background:var(--sf2);color:var(--tx)}.sopni.on{background:var(--bbg);color:var(--btx);font-weight:600}
.sopni-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.sop-content-area{min-height:400px}
.sop-loading{padding:2rem;text-align:center;color:var(--tx3);font-size:13px}

/* SOP CONTENT BLOCKS */
.sop-block{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:var(--rad);padding:1.125rem 1.25rem;margin-bottom:.875rem;box-shadow:var(--shadow-sm)}
.sop-h1{font-size:18px;font-weight:700;color:var(--tx);margin-bottom:.5rem}
.sop-h2{font-size:14px;font-weight:700;color:var(--tx);margin-bottom:.5rem;display:flex;align-items:center;gap:6px}
.sop-text{font-size:13px;color:var(--tx2);line-height:1.75;margin-bottom:.5rem}
.sop-script{background:var(--sf2);border-left:3px solid var(--ac);border-radius:0 var(--rads) var(--rads) 0;padding:.625rem .875rem;margin:.5rem 0;font-size:13px;color:var(--tx);line-height:1.65}
.sop-rule{display:flex;gap:9px;padding:.5rem 0;border-bottom:.5px solid var(--bd);font-size:13px;align-items:flex-start}
.sop-rule:last-child{border-bottom:none}
.sop-rnum{width:20px;height:20px;border-radius:50%;background:var(--bbg);color:var(--btx);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0;margin-top:2px}
.sop-rt{color:var(--tx);line-height:1.5}.sop-rs{color:var(--tx3);font-size:11px;margin-top:2px}
.sop-kref{border-radius:var(--rads);padding:.45rem .875rem;font-size:13px;margin-bottom:5px}
.sop-kref.g{background:var(--gbg);color:var(--gtx)}.sop-kref.y{background:var(--ybg);color:var(--ytx)}.sop-kref.r{background:var(--rbg);color:var(--rtx)}
.sop-kref-t{font-weight:600;margin-bottom:1px}.sop-kref-v{font-size:11px;opacity:.85}
.sop-note{background:var(--ybg);color:var(--ytx);border-radius:var(--rads);padding:.5rem .875rem;font-size:12px;margin:.375rem 0}
.sop-video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--rads);margin:.5rem 0}
.sop-video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.sop-img{width:100%;border-radius:var(--rads);margin:.5rem 0;border:.5px solid var(--bd)}
.sop-divider{border:none;border-top:.5px solid var(--bd);margin:.875rem 0}
.sop-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600;margin-right:4px}
.sop-tag.r{background:var(--rbg);color:var(--rtx)}.sop-tag.y{background:var(--ybg);color:var(--ytx)}.sop-tag.b{background:var(--bbg);color:var(--btx)}

/* CRM */
.sel{padding:7px 11px;border:.5px solid var(--bd2);border-radius:var(--rads);background:var(--sf);color:var(--tx);font-size:12px;font-family:inherit}
.sel:focus{outline:none;border-color:var(--ac)}
.seg-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600;background:var(--bbg);color:var(--btx)}

/* SETUP */
.setup-wrap{max-width:700px}
.step{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:var(--rad);margin-bottom:1rem;overflow:hidden;box-shadow:var(--shadow-sm)}
.sh{display:flex;align-items:center;gap:12px;padding:.875rem 1.125rem;border-bottom:.5px solid var(--bd)}
.sn{width:26px;height:26px;border-radius:9px;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}
.stitle{font-size:14px;font-weight:700;color:var(--tx)}
.sbody{padding:.875rem 1.125rem;font-size:13px;color:var(--tx2);line-height:1.8}
.sbody b{color:var(--tx);font-weight:600}
.sbody code{background:var(--sf2);border:.5px solid var(--bd2);padding:1px 6px;border-radius:5px;font-family:'JetBrains Mono','Menlo',monospace;font-size:12px;color:var(--tx)}
.sbody pre{background:var(--sf2);border:.5px solid var(--bd);border-radius:var(--rads);padding:.875rem;margin:.625rem 0;font-family:'JetBrains Mono','Menlo',monospace;font-size:11.5px;overflow-x:auto;line-height:1.7;color:var(--tx);white-space:pre-wrap;word-break:break-all}
.sbody ol,.sbody ul{padding-left:1.25rem;margin:.375rem 0}.sbody li{margin-bottom:.375rem}
.sbody a{color:var(--ac)}
.urow{display:flex;gap:8px;margin-top:10px}
.uinput{flex:1;padding:8px 10px;border:.5px solid var(--bd2);border-radius:var(--rads);background:var(--sf);color:var(--tx);font-size:13px;font-family:inherit}
.uinput:focus{outline:none;border-color:var(--ac)}
.usave{padding:8px 18px;background:var(--ac);color:#fff;border:none;border-radius:var(--rads);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.ustatus{font-size:12px;margin-top:6px}
.cbtn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:12px;border-radius:var(--rads);border:.5px solid var(--bd2);background:var(--sf);color:var(--tx);cursor:pointer;margin-top:8px;font-family:inherit}
.cbtn:hover{background:var(--sf2);border-color:var(--ac)}
.sop-sheet-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:.625rem 0}
.sop-col{background:var(--bbg);color:var(--btx);border-radius:var(--rads);padding:6px 4px;text-align:center;font-size:10px;font-weight:600}
.sop-col-l{font-size:13px;font-weight:600;display:block;margin-bottom:1px}
.type-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:.625rem 0}
.type-item{background:var(--sf2);border-radius:var(--rads);padding:6px 10px;font-size:12px}
.type-item b{color:var(--tx);font-size:11px;font-family:'JetBrains Mono',monospace}

@media(max-width:768px){
  .kg{grid-template-columns:repeat(2,1fr)}
  .crow,.crow2,.crow3{grid-template-columns:1fr}
  .sop-layout{grid-template-columns:1fr}.sopnav{position:static}
  .frow{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr 1fr}
}

/* ═══════════════════════════════════════════════════════════════
   📱 MOBILE RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  body{font-size:13px;display:block !important}
  .sidebar{
    position:fixed;left:0;top:0;height:100vh;width:240px;
    transform:translateX(-100%);transition:transform .25s ease;
    z-index:1000;box-shadow:0 0 30px rgba(0,0,0,0.18);
  }
  .sidebar.open{transform:translateX(0)}
  .mobile-menu-btn{
    display:flex;position:fixed;
    top:calc(12px + env(safe-area-inset-top,0px));left:14px;
    width:40px;height:40px;
    align-items:center;justify-content:center;
    background:transparent;border:none;border-radius:8px;
    z-index:998;cursor:pointer;padding:0;
    -webkit-tap-highlight-color:rgba(109,94,240,0.1);
  }
  .mobile-menu-btn svg{width:24px;height:24px;color:var(--tx);stroke-width:2}
  .mobile-menu-btn:active{background:rgba(109,94,240,0.10)}
  .mobile-backdrop{
    display:none;position:fixed;inset:0;background:rgba(13,11,28,0.45);
    z-index:999;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  }
  .mobile-backdrop.on{display:block}
  .theme-toggle{bottom:74px;right:16px}
  .main-wrap{
    width:100% !important;height:auto !important;
    padding-top:calc(60px + env(safe-area-inset-top,0px)) !important;
  }
  .pad{padding:0 1rem 1rem !important}
  .v10-hero{padding:1rem 1.125rem !important;border-radius:14px !important}
  .v10-hero-mgr{grid-template-columns:1fr !important;gap:.75rem !important}
  .v10-hcell+.v10-hcell{
    padding-left:0 !important;padding-top:.75rem !important;
    border-left:none !important;border-top:0.5px solid rgba(255,255,255,0.18) !important;
  }
  .v10-hv{font-size:24px !important}
  .v10-hero-emp{flex-wrap:wrap;gap:.875rem !important}
  .v10-emp-num{font-size:32px !important}
  .v10-emp-av{width:40px !important;height:40px !important;font-size:13px !important}
  .tpv2-re,.cfg-r{grid-template-columns:1fr 80px 80px 40px !important;gap:6px !important;font-size:12px !important}
  .tpv2-tgi input,.cfg-target input{width:48px !important;font-size:11px !important;padding:4px 6px !important}
  .tpv2-pts,.cfg-pts{font-size:11px !important}
  .cfg-h{grid-template-columns:1fr 80px 80px 40px !important;gap:6px !important;font-size:9px !important}
  .tpv2-tb{font-size:11px !important;padding:5px 10px !important}
  .tpv2-pb,.tpv2-lb{font-size:10px !important;padding:3px 9px !important}
  .v10-emp-card{padding:.875rem 1rem !important}
  .v10-emp-card-head{gap:8px !important}
  .v10-emp-av-2{width:32px !important;height:32px !important;font-size:11px !important}
  .v10-emp-n-2{font-size:13px !important}
  .v10-emp-num-2{font-size:20px !important}
  .v10-k-row{grid-template-columns:1fr !important;gap:4px !important;padding:8px 0 !important}
  .v10-k-name-wrap{justify-content:flex-start}
  .v10-k-mid{width:100% !important;justify-content:space-between}
  .v10-k-actual{font-size:11px !important}
  .v10-k-pts{text-align:left !important;font-size:11px !important;margin-top:2px}
  .v10-k-bar{flex:1;min-width:80px !important}
  .v10-fr-grid{grid-template-columns:1fr 1fr !important;gap:.5rem !important}
  .v10-fr-card{padding:.75rem .875rem !important}
  .v10-fr-val{font-size:20px !important}
  .v10-fr-name{font-size:10px !important}
  .v10-crm-grid{grid-template-columns:1fr 1fr !important;gap:.5rem !important}
  .v10-seg-stat-v{font-size:16px !important}
  .v10-seg-item{grid-template-columns:1fr 50px !important;gap:8px !important}
  .v10-seg-bar-wrap{display:none}
  .task-grid,
  div[style*="grid-template-columns:repeat(auto-fit"]{grid-template-columns:1fr !important}
  .v10-tk-fields{grid-template-columns:1fr !important}
  .v10-tk-foot{flex-wrap:wrap;gap:6px}
  .v10-mb{padding:.5rem !important}
  .v10-mo{max-width:100% !important;max-height:90vh;overflow-y:auto}
  .v10-mo.wide{max-width:100% !important}
  .v10-mo-head{padding:1rem 1rem .625rem !important}
  .v10-mo-body{padding:.875rem 1rem 1rem !important}
  .v10-mo-title{font-size:14px !important}
  .v10-row-2{grid-template-columns:1fr !important}
  .v10-mo-body input,.v10-mo-body select,.v10-mo-body textarea{font-size:14px !important;padding:9px 11px !important}
  .v10-score-options{gap:6px !important}
  .v10-score-opt-v{font-size:16px !important}
  .v10-mo-stats{grid-template-columns:1fr 1fr 1fr !important;gap:.4rem !important}
  .v10-mo-stat{padding:.5rem .625rem !important}
  .v10-mo-stat-v{font-size:15px !important}
  .v10-st-table{font-size:11px !important}
  .v10-st-table th{font-size:9px !important;padding:6px 4px !important}
  .v10-st-table td{padding:6px 4px !important}
  .v10-st-table th:nth-child(2),
  .v10-st-table td:nth-child(2){max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .login-box{width:88% !important;max-width:340px;padding:1.75rem 1.5rem !important}
  .kg{grid-template-columns:1fr !important;gap:.625rem}
  .sl{font-size:10px !important}
  .stats-grid,div[class*="stat-card"]{font-size:12px}
  table{font-size:11px}
  .frow,.crow,.crow2,.crow3{overflow-x:auto}
  .emp-row{grid-template-columns:1fr !important;gap:6px !important;padding:8px 0 !important}
  .emp-row input,.emp-row select{font-size:13px !important}
  .ptab,.tab,div[class*="tabs"] button{font-size:11px !important;padding:5px 9px !important}
  canvas{max-width:100% !important;height:auto !important}
  #staff-view{padding:1rem !important}
  #sync-status{font-size:10px !important}
}
@media(min-width:769px){
  .mobile-menu-btn{display:none}
  .mobile-backdrop{display:none}
}

/* ── LOGIN PAGE ── */
#login-screen{position:fixed;inset:0;background:var(--page-bg);background-attachment:fixed;display:flex;align-items:center;justify-content:center;z-index:9999;flex-direction:column;gap:0}
#login-screen::before{content:'';position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:46px 46px}
.login-box{position:relative;background:var(--sf);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid var(--glass-brd);border-radius:26px;padding:2.5rem 2rem;width:360px;box-shadow:var(--shadow)}
.login-logo{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--tx2);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.5rem;text-align:center}
.login-title{font-size:22px;font-weight:700;color:var(--tx);margin-bottom:.25rem;text-align:center;letter-spacing:-.4px}
.login-sub{font-size:12px;color:var(--tx3);text-align:center;margin-bottom:1.5rem}
.login-field{margin-bottom:.95rem}
.login-field label{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;color:var(--tx2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.1em}
.login-field input{width:100%;padding:11px 14px;border:1px solid var(--bd2);border-radius:12px;font-size:13px;font-family:inherit;background:var(--sf2);color:var(--tx);outline:none;transition:border .15s,box-shadow .15s}
.login-field input:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(109,94,240,.15)}
.login-btn{width:100%;padding:12px;background:var(--hero-grad);color:#fff;border:none;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:.5rem;transition:opacity .15s;box-shadow:0 8px 22px rgba(109,94,240,.34)}
.login-btn:hover{opacity:.9}
.login-err{font-size:12px;color:var(--r);text-align:center;margin-top:.625rem;min-height:16px}

/* ── SIDEBAR USER INFO ── */
.sb-user{padding:10px 20px 14px;border-bottom:.5px solid var(--bd)}
.sb-user-name{font-size:13px;font-weight:700;color:var(--tx)}
.sb-user-role{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);margin-top:2px}
.sb-logout{font-size:10px;color:var(--r);cursor:pointer;margin-top:4px;display:inline-block;opacity:.75}
.sb-logout:hover{opacity:1}

/* ── STAFF KPI PAGE ── */
#staff-view{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--page-bg);background-attachment:fixed;overflow-y:auto;z-index:10;padding:1.5rem}
.staff-hero{background:var(--hero-grad);border-radius:20px;padding:1.5rem;margin-bottom:1.25rem;color:#fff;position:relative;overflow:hidden;box-shadow:0 16px 44px rgba(79,63,196,.30)}
.staff-hero::before{content:'';position:absolute;top:-70px;right:-30px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(47,214,238,.40),transparent 65%);pointer-events:none}
.staff-hero-name{font-size:22px;font-weight:700;letter-spacing:-.3px;position:relative}
.staff-hero-role{font-family:'JetBrains Mono',monospace;font-size:11px;opacity:.7;margin-top:4px;position:relative}
.staff-kpi-card{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:var(--rad);padding:1.25rem;margin-bottom:.875rem;box-shadow:var(--shadow-sm)}
.staff-sec{font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;color:var(--tx3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.875rem}
.skrow{margin-bottom:.875rem}
.skrow:last-child{margin-bottom:0}
.sktop{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
.skname{font-size:13px;color:var(--tx);font-weight:600}
.skval{font-size:13px;font-weight:700;color:var(--tx);font-variant-numeric:tabular-nums}
.strack{height:6px;background:var(--sf2);border-radius:3px;overflow:hidden;margin-bottom:4px}
.sbar{height:100%;border-radius:3px;transition:width .5s ease}
.sbar-g{background:var(--g)}.sbar-w{background:var(--y)}.sbar-r{background:var(--r)}
.sksub{font-size:11px;color:var(--tx3)}
.sbadge{display:inline-block;font-size:10px;padding:2px 7px;border-radius:20px;font-weight:600;margin-left:5px}
.sbg{background:var(--gbg);color:var(--gtx)}.sbw{background:var(--ybg);color:var(--ytx)}.sbr{background:var(--rbg);color:var(--rtx)}
.sfreq{font-family:'JetBrains Mono',monospace;font-size:10px;background:var(--bbg);color:var(--btx);padding:1px 6px;border-radius:20px;margin-left:4px}

/* ── TEAM PERFORMANCE PAGE ── */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem}
.tpv2-tb{padding:6px 12px;border-radius:8px;border:0.5px solid var(--bd);background:var(--sf2);color:var(--tx2);font-size:12px;cursor:pointer}
.tpv2-tb.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.tpv2-pb{padding:4px 12px;border-radius:20px;border:0.5px solid var(--bd);background:var(--sf2);color:var(--tx2);font-size:11px;cursor:pointer}
.tpv2-pb.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.tpv2-lb{padding:3px 10px;font-size:11px;border-radius:6px;border:0.5px solid var(--bd);background:var(--sf2);color:var(--tx2);cursor:pointer}
.tpv2-lb.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.tpv2-re{display:grid;grid-template-columns:1fr 110px 100px 50px;gap:8px;padding:7px 0;border-bottom:0.5px solid var(--bd);align-items:center;font-size:12px}
.tpv2-re:last-child{border-bottom:none}
.tpv2-re input[type=number]{width:60px;font-size:11px;padding:3px 6px;height:26px;text-align:right;border:0.5px solid var(--bd2);border-radius:6px;background:var(--sf);color:var(--tx)}
.tpv2-re input[type=range]{width:100%}
.tpv2-tgi{display:flex;align-items:center;gap:5px;justify-content:flex-end;font-size:11px;color:var(--tx3)}
.tpv2-pts{text-align:right;font-weight:700;font-size:12px;color:var(--tx);font-variant-numeric:tabular-nums}
.tpv2-tot{display:flex;justify-content:space-between;padding-top:8px;margin-top:6px;border-top:0.5px solid var(--bd);font-size:12px}
.tpv2-ti{padding:.5rem 0;border-bottom:0.5px solid var(--bd);font-size:11px}
.tpv2-ti:last-of-type{border-bottom:none}
.tpv2-ab{width:100%;padding:7px;margin-top:.5rem;border:0.5px dashed var(--bd2);border-radius:8px;font-size:11px;color:var(--tx3);background:transparent;cursor:pointer}
.tpv2-tk{background:var(--ybg);border:0.5px solid var(--y);border-radius:10px;padding:.625rem .875rem;margin-bottom:.5rem}
.tpv2-tk.dn{background:var(--gbg);border-color:var(--g)}
.tpv2-mb{display:none;position:fixed;inset:0;background:rgba(13,11,28,0.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9999;align-items:center;justify-content:center}
.tpv2-mb.on{display:flex}
.tpv2-mo{background:var(--sf);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:.5px solid var(--glass-brd);border-radius:14px;padding:1.25rem;width:90%;max-width:340px;box-shadow:var(--shadow)}
.tpv2-bc{flex:1;padding:8px;font-size:12px;border-radius:8px;cursor:pointer;background:var(--sf2);border:0.5px solid var(--bd2);color:var(--tx2)}
.tpv2-bs{flex:1;padding:8px;font-size:12px;border-radius:8px;cursor:pointer;background:var(--ac);color:#fff;border:none}
.tpv2-kl{display:grid;grid-template-columns:1fr 100px 90px;gap:8px;padding:5px 0;font-size:12px;align-items:center}
.tpv2-kt{height:5px;background:var(--sf2);border-radius:3px;overflow:hidden}
.tpv2-kbar{height:100%;border-radius:3px}
.tpv2-bg-g{background:var(--g)}.tpv2-bg-w{background:var(--y)}.tpv2-bg-r{background:var(--r)}
.tpv2-bn{padding:5px 9px;background:var(--gbg);border-radius:8px;color:var(--gtx);font-size:12px;margin-top:5px;display:flex;justify-content:space-between}
.tpv2-pn{padding:5px 9px;background:var(--rbg);border-radius:8px;color:var(--rtx);font-size:12px;margin-top:5px;display:flex;justify-content:space-between}

/* ── V10 polish: compact KPI row, modals, tickets ── */
.v10-hero{background:var(--hero-grad);border-radius:16px;padding:1.25rem 1.5rem;color:#fff;margin-bottom:1rem;position:relative;overflow:hidden;box-shadow:0 14px 40px rgba(79,63,196,.28)}
.v10-hero::before{content:'';position:absolute;top:-70px;right:-30px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(47,214,238,.36),transparent 65%);pointer-events:none}
.v19-arcade-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(79,63,196,.20)}
.v10-hero-mgr{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;position:relative}
.v10-hcell{position:relative}
.v10-hcell+.v10-hcell{padding-left:1.25rem;border-left:0.5px solid rgba(255,255,255,0.18)}
.v10-hl{font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-weight:600}
.v10-hv{font-size:28px;font-weight:700;color:#fff;line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.v10-hs{font-size:11px;color:rgba(255,255,255,0.65);margin-top:5px}
.v10-hero-emp{display:flex;align-items:center;gap:1.25rem;position:relative}
.v10-emp-av{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,0.18);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}
.v10-emp-info{flex:1}
.v10-emp-n{font-size:18px;font-weight:700;letter-spacing:-.3px}
.v10-emp-r{font-size:12px;color:rgba(255,255,255,0.65);margin-top:1px}
.v10-emp-side{text-align:right}
.v10-emp-num{font-size:36px;font-weight:700;line-height:1;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}
.v10-emp-lbl{font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(255,255,255,0.65);margin-top:4px;text-transform:uppercase;letter-spacing:.05em}

.v10-cd{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:0.5px solid var(--glass-brd);border-radius:14px;padding:1rem 1.25rem;margin-bottom:.625rem;box-shadow:var(--shadow-sm)}
.v10-emp-card{background:var(--sf);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:0.5px solid var(--glass-brd);border-radius:14px;padding:1rem 1.25rem;margin-bottom:.625rem;box-shadow:var(--shadow-sm)}
.v10-emp-card-head{display:flex;align-items:center;gap:12px;padding-bottom:.875rem;margin-bottom:.875rem;border-bottom:0.5px solid var(--bd)}
.v10-emp-av-2{width:38px;height:38px;border-radius:10px;background:var(--bbg);color:var(--btx);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.v10-emp-av-2.cs{background:var(--gbg);color:var(--gtx)}
.v10-emp-info-2{flex:1}
.v10-emp-n-2{font-size:14px;font-weight:700;color:var(--tx);letter-spacing:-.2px}
.v10-emp-r-2{font-size:11px;color:var(--tx3);margin-top:1px}
.v10-emp-side-2{text-align:right}
.v10-emp-num-2{font-size:24px;font-weight:700;color:var(--tx);line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.v10-emp-lbl-2{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);margin-top:3px;text-transform:uppercase;letter-spacing:.05em}

.v10-k-row{display:grid;grid-template-columns:140px 1fr auto;gap:14px;padding:8px 0;align-items:center;border-bottom:0.5px solid var(--bd)}
.v10-k-row:last-child{border-bottom:none}
.v10-k-name-wrap{display:flex;align-items:center;gap:6px;min-width:0}
.v10-k-name{font-size:13px;color:var(--tx);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v10-k-arrow{cursor:pointer;color:var(--tx3);display:inline-flex;padding:2px 4px;border-radius:5px;flex-shrink:0}
.v10-k-arrow:hover{background:var(--bbg);color:var(--ac)}
.v10-k-mid{display:flex;align-items:center;gap:10px;min-width:0}
.v10-k-actual{font-size:12px;color:var(--tx2);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.v10-k-actual .target{color:var(--tx3);font-weight:400}
.v10-k-bar{flex:1;height:5px;background:var(--sf2);border-radius:3px;overflow:hidden;min-width:60px}
.v10-k-bar-fill{height:100%;border-radius:3px;transition:width .5s}
.v10-k-pts{font-size:12px;color:var(--tx);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:60px;text-align:right}
.v10-k-pts .max{color:var(--tx3);font-weight:400}

/* Funnel rates (employee CS) */
.v10-fr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;margin-bottom:.625rem}
.v10-fr-card{background:var(--sf);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:0.5px solid var(--glass-brd);border-radius:12px;padding:.875rem 1rem;position:relative;box-shadow:var(--shadow-sm)}
.v10-fr-card .fr-tag{position:absolute;top:.875rem;right:1rem;font-size:9px;padding:2px 7px;border-radius:20px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.v10-fr-card.good .fr-tag{background:var(--gbg);color:var(--gtx)}
.v10-fr-card.watch .fr-tag{background:var(--ybg);color:var(--ytx)}
.v10-fr-card.danger .fr-tag{background:var(--rbg);color:var(--rtx)}
.v10-fr-name{font-size:11px;color:var(--tx3);margin-bottom:6px;font-weight:600}
.v10-fr-val{font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1;color:var(--tx);font-variant-numeric:tabular-nums}
.v10-fr-sub{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);margin-top:4px}

/* CRM */
.v10-crm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.625rem}
.v10-seg-stat{background:var(--sf);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:0.5px solid var(--glass-brd);border-radius:11px;padding:.75rem .875rem;box-shadow:var(--shadow-sm)}
.v10-seg-stat-l{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-weight:600}
.v10-seg-stat-v{font-size:18px;font-weight:700;color:var(--tx);line-height:1.1;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.v10-seg-stat-s{font-size:10px;color:var(--tx3);margin-top:3px}
.v10-seg-list-h{font-size:12px;color:var(--tx3);margin-bottom:.625rem;font-weight:600}
.v10-seg-item{display:grid;grid-template-columns:130px 1fr 50px;gap:14px;padding:7px 0;border-bottom:0.5px solid var(--bd);align-items:center}
.v10-seg-item:last-child{border-bottom:none}
.v10-seg-name{font-size:13px;font-weight:600;color:var(--tx)}
.v10-seg-name .pct{color:var(--tx3);font-size:11px;margin-left:6px;font-weight:400}
.v10-seg-bar-wrap{height:6px;background:var(--sf2);border-radius:3px;overflow:hidden}
.v10-seg-bar{height:100%;background:linear-gradient(90deg,var(--ac) 0%,var(--ac2) 100%);border-radius:3px}
.v10-seg-count{font-weight:700;font-size:13px;color:var(--tx);text-align:right;font-variant-numeric:tabular-nums}

/* Tickets */
.v10-tk{border-radius:12px;padding:.875rem 1rem;margin-bottom:.5rem;border:0.5px solid}
.v10-tk.simple{background:var(--ybg);border-color:var(--y)}
.v10-tk.simple.dn{background:var(--gbg);border-color:var(--g)}
.v10-tk.compl{background:var(--ybg);border-color:var(--y)}
.v10-tk.compl.scored{background:var(--ybg);border-color:var(--y)}
.v10-tk.compl.dn{background:var(--gbg);border-color:var(--g)}
.v10-tk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
.v10-tk-tt{font-size:13px;font-weight:700;color:var(--ytx);flex:1}
.v10-tk.compl .v10-tk-tt{color:var(--ytx)}
.v10-tk.dn .v10-tk-tt{color:var(--gtx)}
.v10-tk-pts{font-size:11px;font-weight:700;background:rgba(255,255,255,0.5);padding:3px 9px;border-radius:20px;flex-shrink:0;white-space:nowrap;color:var(--ytx)}
.v10-tk.compl .v10-tk-pts{color:var(--ytx)}
.v10-tk.dn .v10-tk-pts{color:var(--gtx);background:rgba(255,255,255,0.6)}
.v10-tk-pts.pending{background:var(--rbg);color:var(--rtx)}
.v10-tk-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:11px;margin:7px 0;padding-top:7px;border-top:0.5px solid var(--bd)}
.v10-tk-field{display:flex;gap:5px;align-items:flex-start}
.v10-tk-field-l{color:var(--ytx);opacity:.7;min-width:45px;flex-shrink:0}
.v10-tk.dn .v10-tk-field-l{color:var(--gtx);opacity:.7}
.v10-tk-field-v{color:var(--ytx);font-weight:600;word-break:break-all}
.v10-tk.dn .v10-tk-field-v{color:var(--gtx)}
.v10-tk-desc{grid-column:1/-1}
.v10-tk-foot{display:flex;justify-content:space-between;align-items:center;margin-top:7px;padding-top:7px;border-top:0.5px solid var(--bd);font-size:11px}
.v10-tk-meta{color:var(--ytx);opacity:.85}
.v10-tk.dn .v10-tk-meta{color:var(--gtx);opacity:.85}
.v10-tk-acts{display:flex;gap:6px}
.v10-tk-acts button{padding:5px 11px;font-size:11px;border-radius:7px;cursor:pointer;font-weight:600;border:none}
.v10-btn-score{background:var(--ac);color:#fff}
.v10-btn-score:hover{background:var(--b)}
.v10-btn-do{background:var(--g);color:#fff}
.v10-btn-edit{background:rgba(255,255,255,0.55);border:0.5px solid var(--bd2)!important;color:var(--ytx)}
.v10-add-btn{width:100%;padding:8px;margin-top:.625rem;border:0.5px dashed var(--bd2);border-radius:10px;font-size:11px;color:var(--tx2);background:transparent;cursor:pointer;font-weight:600}
.v10-add-btn:hover{background:var(--sf2);border-color:var(--ac);color:var(--ac);border-style:solid}
.v10-add-btn.compl{border-color:var(--y);color:var(--ytx)}
.v10-add-btn.compl:hover{background:var(--ybg);color:var(--ytx);border-color:var(--y)}

/* Modal v10 */
.v10-mb{display:none;position:fixed;inset:0;background:rgba(13,11,28,0.5);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:9999;align-items:center;justify-content:center;padding:1rem}
.v10-mb.on{display:flex;animation:v10fade .15s}
@keyframes v10fade{from{opacity:0}to{opacity:1}}
.v10-mo{background:var(--sf);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:0.5px solid var(--glass-brd);border-radius:16px;width:100%;max-width:420px;box-shadow:var(--shadow)}
.v10-mo.wide{max-width:600px}
.v10-mo-head{padding:1.125rem 1.25rem .75rem;border-bottom:0.5px solid var(--bd);display:flex;justify-content:space-between;align-items:flex-start}
.v10-mo-title{font-size:15px;font-weight:700;color:var(--tx)}
.v10-mo-sub{font-size:11px;color:var(--tx3);margin-top:2px}
.v10-mo-close{background:transparent;border:none;cursor:pointer;color:var(--tx3);padding:4px;border-radius:7px;display:flex}
.v10-mo-close:hover{background:var(--bbg);color:var(--tx)}
.v10-mo-body{padding:1rem 1.25rem 1.25rem;max-height:70vh;overflow-y:auto}
.v10-mo-body label{font-size:11px;color:var(--tx3);display:block;margin-top:.75rem;margin-bottom:5px;font-weight:600}
.v10-mo-body label:first-child{margin-top:0}
.v10-mo-body label .opt{color:var(--tx3);font-weight:400;font-size:10px;margin-left:5px}
.v10-mo-body label .req{color:var(--r);margin-left:3px}
.v10-mo-body input,.v10-mo-body select,.v10-mo-body textarea{width:100%;font-size:13px;padding:9px 11px;border:0.5px solid var(--bd2);border-radius:8px;background:var(--sf);color:var(--tx);font-family:inherit}
.v10-mo-body textarea{min-height:70px;resize:vertical}
.v10-mo-body input:focus,.v10-mo-body select:focus,.v10-mo-body textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(109,94,240,0.15)}
.v10-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v10-mo-acts{display:flex;gap:8px;margin-top:1.125rem}
.v10-bc{flex:1;padding:10px;font-size:13px;border-radius:8px;background:var(--sf);border:0.5px solid var(--bd2);color:var(--tx2);cursor:pointer;font-weight:600}
.v10-bc:hover{background:var(--sf2)}
.v10-bs{flex:1;padding:10px;font-size:13px;border-radius:8px;background:var(--ac);color:#fff;border:none;cursor:pointer;font-weight:600}
.v10-bs:hover{background:var(--b)}
.v10-score-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:.5rem}
.v10-score-opt{padding:10px;border:0.5px solid var(--bd2);border-radius:8px;background:var(--sf);cursor:pointer;text-align:center}
.v10-score-opt:hover{background:var(--sf2)}
.v10-score-opt.on{background:var(--ac);border-color:var(--ac);color:#fff}
.v10-score-opt-v{font-size:18px;font-weight:700}
.v10-score-opt-l{font-size:10px;margin-top:2px;opacity:.8}

/* Drill modal table */
.v10-mo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}
.v10-mo-stat{background:var(--sf2);border-radius:8px;padding:.625rem .75rem}
.v10-mo-stat-l{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-weight:600}
.v10-mo-stat-v{font-size:18px;font-weight:700;color:var(--tx);font-variant-numeric:tabular-nums}
.v10-st-table{width:100%;border-collapse:collapse;font-size:12px}
.v10-st-table th{text-align:left;padding:8px 7px;border-bottom:0.5px solid var(--bd);font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--tx3);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.v10-st-table td{padding:8px 7px;border-bottom:0.5px solid var(--bd);color:var(--tx)}
.v10-st-table tr:last-child td{border-bottom:none}
.v10-st-id{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ac)}
.v10-tag{display:inline-block;font-size:10px;padding:2px 8px;border-radius:20px;font-weight:600;white-space:nowrap}
.v10-tag-ret{background:var(--gbg);color:var(--gtx)}
.v10-tag-conv{background:var(--bbg);color:var(--btx)}
.v10-tag-low{background:var(--ybg);color:var(--ytx)}
.v10-tag-off{background:var(--sf2);color:var(--tx3)}

@media (max-width:680px){
  .v10-hero-mgr{grid-template-columns:1fr;gap:.75rem}
  .v10-hcell+.v10-hcell{padding-left:0;padding-top:.75rem;border-left:none;border-top:0.5px solid rgba(255,255,255,0.18)}
  .v10-hv{font-size:24px}.v10-emp-num{font-size:30px}
  .v10-fr-grid{grid-template-columns:repeat(2,1fr)}
  .v10-crm-grid{grid-template-columns:repeat(2,1fr)}
  .v10-tk-fields{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════ */
/* AI Analyst — chat UI                                         */
/* ═══════════════════════════════════════════════════════════ */
.ai-wrap{max-width:900px;margin:0 auto;display:flex;flex-direction:column;height:calc(100vh - 140px);min-height:520px}
.ai-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.ai-title{font-size:18px;font-weight:700;color:var(--tx);display:flex;align-items:center;gap:9px;letter-spacing:-.3px}
.ai-title-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--ac),var(--ac2));box-shadow:0 0 0 4px var(--bbg);display:inline-block}
.ai-badge{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;padding:3px 8px;border-radius:8px;background:var(--bbg);color:var(--btx)}
.ai-sub{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx3);margin-top:3px}
.ai-header-actions{display:flex;gap:8px}
.ai-btn-ghost{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:6px 11px;border-radius:8px;border:0.5px solid var(--bd2);background:var(--sf);color:var(--tx2);cursor:pointer;font-family:inherit}
.ai-btn-ghost:hover{background:var(--sf2);color:var(--tx)}
.ai-btn-primary{font-size:12px;font-weight:600;padding:8px 14px;border-radius:8px;border:none;background:var(--ac);color:#fff;cursor:pointer;font-family:inherit}
.ai-btn-primary:hover{background:var(--b)}
.ai-btn-primary:disabled{opacity:.5;cursor:not-allowed}

.ai-presets{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:0.5px solid var(--bd)}
.ai-preset-label{font-size:11px;color:var(--tx3);font-weight:600}
.ai-preset-chips{display:flex;gap:6px;flex-wrap:wrap}
.ai-preset-chip{font-size:11px;font-weight:500;padding:5px 11px;border-radius:14px;border:0.5px solid var(--bd2);background:var(--sf);color:var(--tx2);cursor:pointer;font-family:inherit;white-space:nowrap}
.ai-preset-chip:hover{background:var(--bbg);color:var(--tx);border-color:var(--ac)}

.ai-chat{flex:1;overflow-y:auto;padding:10px 4px 16px;display:flex;flex-direction:column;gap:14px}
.ai-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--tx3);padding:2rem}
.ai-empty-icon{color:var(--ac);opacity:.55;margin-bottom:14px}
.ai-empty-title{font-size:15px;font-weight:600;color:var(--tx2);margin-bottom:4px}
.ai-empty-sub{font-size:11px;color:var(--tx3);text-align:center}

.ai-msg{display:flex;gap:10px;animation:aiFadeIn .25s ease-out}
@keyframes aiFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ai-avatar{width:28px;height:28px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.ai-msg-user .ai-avatar{background:var(--tx2)}
.ai-msg-ai .ai-avatar{background:linear-gradient(135deg,var(--ac),var(--ac2))}
.ai-msg-body{flex:1;min-width:0;background:var(--sf);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:0.5px solid var(--glass-brd);border-radius:12px;padding:11px 14px;font-size:13px;line-height:1.6;color:var(--tx);box-shadow:var(--shadow-sm)}
.ai-msg-user .ai-msg-body{background:var(--bbg)}
.ai-msg-meta{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);margin-top:6px}
.ai-msg-err .ai-msg-body{border-color:var(--r);background:var(--rbg);color:var(--rtx)}

.ai-md h1,.ai-md h2,.ai-md h3{margin:.6em 0 .4em;font-weight:700;color:var(--tx)}
.ai-md h1{font-size:15px}.ai-md h2{font-size:14px}.ai-md h3{font-size:13px}
.ai-md p{margin:.4em 0}
.ai-md strong{font-weight:700;color:var(--tx)}
.ai-md em{font-style:italic}
.ai-md ul,.ai-md ol{margin:.4em 0;padding-left:1.4em}
.ai-md li{margin:.2em 0}
.ai-md code{background:var(--sf2);padding:1px 5px;border-radius:4px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:var(--tx2)}
.ai-md pre{background:var(--sf2);border-radius:7px;padding:10px;overflow-x:auto;margin:.6em 0}
.ai-md pre code{background:none;padding:0}
.ai-md table{border-collapse:collapse;margin:.6em 0;width:100%;font-size:12px}
.ai-md th,.ai-md td{border:0.5px solid var(--bd2);padding:5px 9px;text-align:left}
.ai-md th{background:var(--sf2);font-weight:700;color:var(--tx)}
.ai-md tr:hover td{background:var(--sf2)}
.ai-md blockquote{border-left:2px solid var(--ac);padding-left:10px;margin:.5em 0;color:var(--tx2);font-style:italic}

.ai-thinking{display:inline-flex;gap:4px;align-items:center;color:var(--tx3);font-size:12px}
.ai-thinking-dot{width:5px;height:5px;border-radius:50%;background:var(--ac);animation:aiThink 1.2s infinite ease-in-out}
.ai-thinking-dot:nth-child(2){animation-delay:.15s}
.ai-thinking-dot:nth-child(3){animation-delay:.3s}
@keyframes aiThink{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}

.ai-input-wrap{display:flex;gap:8px;align-items:flex-end;padding-top:12px;border-top:0.5px solid var(--bd)}
.ai-input{flex:1;border:0.5px solid var(--bd2);background:var(--sf);border-radius:11px;padding:11px 14px;font-size:13px;font-family:inherit;color:var(--tx);resize:none;max-height:140px;line-height:1.5;outline:none}
.ai-input:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(109,94,240,0.13)}
.ai-send{width:40px;height:40px;border-radius:12px;border:none;background:var(--hero-grad);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 16px rgba(109,94,240,.32)}
.ai-send:hover{opacity:.92}
.ai-send:disabled{opacity:.4;cursor:not-allowed}
.ai-footer-note{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tx3);text-align:center;margin-top:6px}

.ai-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center}
.ai-modal-backdrop{position:absolute;inset:0;background:rgba(13,11,28,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.ai-modal-card{position:relative;background:var(--sf);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:0.5px solid var(--glass-brd);border-radius:16px;padding:22px;max-width:520px;width:calc(100% - 40px);max-height:85vh;overflow-y:auto;box-shadow:var(--shadow)}
.ai-modal-title{font-size:16px;font-weight:700;color:var(--tx);margin-bottom:16px}
.ai-set-row{margin-bottom:18px}
.ai-set-label{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--tx2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.ai-set-hint{font-size:11px;color:var(--tx3);line-height:1.6;margin-bottom:8px}
.ai-set-hint a{color:var(--ac);text-decoration:none}
.ai-set-hint a:hover{text-decoration:underline}
.ai-set-input{width:100%;border:0.5px solid var(--bd2);background:var(--sf);border-radius:8px;padding:9px 12px;font-size:12px;font-family:inherit;color:var(--tx);outline:none;box-sizing:border-box}
.ai-set-input:focus{border-color:var(--ac)}
textarea.ai-set-input{resize:vertical;font-family:inherit}
.ai-set-status{font-size:11px;margin-top:8px;font-weight:500}
.ai-set-status.ok{color:var(--g)}
.ai-set-status.err{color:var(--r)}

@media(max-width:768px){
  .ai-wrap{height:calc(100vh - 100px);min-height:400px}
  .ai-header{align-items:flex-start}
  .ai-msg-body{font-size:12.5px;padding:9px 12px}
  .ai-md table{font-size:11px}
}

/* ── TOOLTIPS (舒適感) ── */
[data-tip]{position:relative}
[data-tip]:hover{z-index:80}
[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,5px);min-width:120px;max-width:230px;width:max-content;padding:9px 12px;border-radius:11px;background:var(--tip-bg);color:var(--tip-tx);border:1px solid var(--tip-brd);box-shadow:0 12px 32px rgba(8,4,30,.45);font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:500;line-height:1.55;letter-spacing:0;text-transform:none;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:90}
[data-tip]::before{content:'';position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--tip-bg);opacity:0;transition:opacity .16s ease;z-index:90}
[data-tip]:hover::after{opacity:1;transform:translate(-50%,0)}
[data-tip]:hover::before{opacity:1}
[data-tip].tip-under{cursor:help;text-decoration:underline dotted;text-decoration-color:currentColor;text-underline-offset:3px;text-decoration-thickness:1px}
