/* ============================================================
   CRM bez fee — styly (lehký, čistý interface)
   ============================================================ */
:root{
  /* tmavé, sytější rozhraní — původní fialová identita GT */
  --bg:#16131f; --surface:#1f1b30; --surface-2:#272138;
  --ink:#f2f2f6; --ink-2:#c7c9d6; --muted:#8b8d9e; --muted-2:#6b6d7d;
  --line:#352f4a; --line-2:#2a2540;
  /* Guardian Trade akcent — fialová (gradient fialová→růžová→modrá) */
  --accent:#7c5cff; --accent-2:#9b7bff; --accent-soft:#2c2a48; --accent-ink:#b8a9f5;
  --grad:linear-gradient(135deg,#2f7bff 0%,#8a3aff 52%,#ff2d95 100%);
  --grad-soft:linear-gradient(135deg,rgba(47,123,255,.18),rgba(138,58,255,.18) 52%,rgba(255,45,149,.18));
  /* sidebar — o odstín tmavší než plocha */
  --side-bg:#130f20; --side-line:rgba(255,255,255,.07); --side-ink:#c4c2e0; --side-ink-2:#8b88b5;
  --ok:#3ddc84; --ok-soft:#173327; --warn:#e0a83a; --danger:#ff5c72; --danger-soft:#3a2129;
  --amber-soft:#3a2f14; --amber-line:#6b551f; --amber-ink:#f5c452;
  --chip-soft:#2b2740; --chip-soft-2:#3a3552;
  --r:14px; --r-sm:10px;
  --shadow-1:0 1px 2px rgba(0,0,0,.2), 0 4px 16px rgba(0,0,0,.22);
  --shadow-2:0 12px 40px rgba(0,0,0,.35);
  --font:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;scrollbar-width:none}
*{scrollbar-width:none}
*::-webkit-scrollbar{width:0;height:0;display:none}
body{font-family:var(--font);background:radial-gradient(1200px 800px at 15% -10%,#2a2050 0%,transparent 60%),radial-gradient(1000px 700px at 100% 0%,#1f1840 0%,transparent 55%),var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit;color:var(--ink)}
input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--muted)}
button{cursor:pointer}
.i{display:inline-flex;align-items:center;justify-content:center;color:currentColor;flex:0 0 auto}
.i svg{display:block}
.muted{color:var(--muted)}
.loading{padding:40px;color:var(--muted);text-align:center}

/* ---------- LOGIN ---------- */
.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  background:radial-gradient(760px 460px at 50% -8%, #efeafe, transparent 70%), radial-gradient(700px 460px at 100% 12%, #eaf1ff, transparent 66%), var(--bg);padding:24px}
.login__card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:20px;
  box-shadow:var(--shadow-2);padding:30px 28px;position:relative;overflow:hidden}
.login__card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.login__brand{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--ink-2);margin-bottom:20px}
.login__brand b{color:var(--ink)}
.login__logo{width:34px;height:34px;border-radius:10px;flex:0 0 auto;display:block}
.login__card h1{font-size:22px;margin:0 0 4px;letter-spacing:-.01em}
.login__sub{color:var(--muted);font-size:13px;margin:0 0 20px}
.login__btn{width:100%;justify-content:center;margin-top:6px;padding:11px}
.login__link{display:block;width:100%;background:none;border:none;color:var(--accent);font-size:12.5px;font-weight:600;margin-top:12px;padding:6px}
.login__err{color:var(--danger);font-size:12.5px;min-height:18px;margin-top:4px}
.login__foot{color:var(--muted-2);font-size:12px}

/* ---------- APP SHELL ---------- */
.app{display:grid;grid-template-columns:236px 1fr;height:100vh;overflow:hidden}
.side{background:var(--side-bg);border-right:1px solid var(--side-line);display:flex;flex-direction:column;padding:16px 12px;min-height:0;overflow:hidden}
.side__brand{display:flex;align-items:center;gap:10px;padding:6px 4px 18px}
.side__brandimg{max-width:160px;width:100%;height:auto;display:block;border-radius:8px}
.login__logoimg{max-width:210px;width:100%;height:auto;display:block;margin:0 auto 4px;border-radius:10px}
.side__name{font-weight:800;font-size:15px;letter-spacing:-.01em;color:#fff}
.side__name small{display:block;font-weight:500;font-size:10.5px;color:var(--side-ink-2);letter-spacing:.06em;text-transform:uppercase}
.side__nav{display:flex;flex-direction:column;gap:2px;margin-top:4px;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.side__nav::-webkit-scrollbar{width:8px}
.side__nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:4px}
.side__nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}
.side__cat{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:transparent;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--side-ink-2);padding:11px 11px 6px;opacity:.75}
.side__cat:hover{opacity:1;color:#fff}
.side__chev{transition:transform .2s;flex:0 0 auto}
.side__group.open .side__chev{transform:rotate(180deg)}
.side__sub{display:none;flex-direction:column;gap:2px}
.side__group.open .side__sub{display:flex}
.side__item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;border:none;background:transparent;
  color:var(--side-ink);font-size:13.5px;font-weight:600;text-align:left;width:100%;transition:background .14s,color .14s}
.side__item:hover{background:rgba(255,255,255,.06);color:#fff}
.side__item.active{background:rgba(138,58,255,.18);color:#fff}
.side__item.active .i{color:var(--accent-2)}
.side__item .i{color:var(--side-ink-2)}
.side__spacer{flex:0 0 auto}
.ava--img{object-fit:cover}
.side__user{display:flex;align-items:center;gap:10px;padding:10px 8px 4px;border-top:1px solid var(--side-line);margin-top:8px;flex:0 0 auto}
.side__uinfo{flex:1;min-width:0;line-height:1.2}
.side__uinfo b{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.side__uinfo small{color:var(--side-ink-2);font-size:11px}
.side__logout{width:32px;height:32px;border-radius:9px;border:1px solid var(--side-line);background:rgba(255,255,255,.04);color:var(--side-ink-2);display:grid;place-items:center}
.side__logout:hover{background:var(--danger-soft);color:var(--danger);border-color:transparent}
.ava{width:32px;height:32px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex:0 0 auto}

.main{display:flex;flex-direction:column;overflow:hidden}
.topbar{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--line)}
.topbar__title{font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1}
.topbar__spacer{flex:1}
.help-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--accent);font-weight:800;font-size:15px;cursor:pointer;flex:0 0 auto}
.voice-fab{display:none}
#voiceBtn.on{background:var(--accent);color:#fff;animation:vpulse 1s infinite}
.asst-mic{flex:0 0 auto;width:40px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--accent);cursor:pointer;display:grid;place-items:center}
.asst-mic:hover{background:var(--accent-soft)}
.asst-mic.on{background:var(--accent);color:#fff;animation:vpulse 1s infinite}
@keyframes vpulse{0%,100%{box-shadow:0 0 0 0 rgba(255,45,149,.5)}50%{box-shadow:0 0 0 10px rgba(255,45,149,0)}}
.voice-panel{position:fixed;left:20px;bottom:84px;width:320px;max-width:calc(100vw - 40px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 50px rgba(20,26,42,.22);padding:16px;z-index:61;display:none}
.voice-panel.open{display:block}
.vp-status{font-size:14px;font-weight:600;line-height:1.4}
.vp-q{font-size:14px;font-weight:600;line-height:1.4;margin-bottom:6px}
.vp-hint{font-size:11.5px;color:var(--muted);margin-top:8px;line-height:1.5}
.vp-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.integ{display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:12px;margin-bottom:14px;font-size:13px}
.integ--ok{background:var(--ok-soft);color:#047857;border:1px solid rgba(22,163,74,.25)}
.integ--off{background:#fff7e6;color:#a16207;border:1px solid #fde68a}
.asst-fab{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:16px;border:none;background:linear-gradient(150deg,var(--accent),#b3170f);color:#fff;box-shadow:0 10px 28px rgba(225,35,29,.45);cursor:pointer;display:grid;place-items:center;z-index:200;transition:transform .15s}
.asst-fab:hover{transform:translateY(-2px) scale(1.04)}
#drawer.open ~ #asstFab,#drawer.open ~ .asst-panel{display:none}
/* Sentinel launcher: malý kruh, draggable, decentní stín; z-index pod modaly (90) */
.asst-fab{width:46px;height:46px;border-radius:50%;cursor:grab;touch-action:none;z-index:60;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.asst-fab--drag{cursor:grabbing}
.asst-panel{z-index:60}
.asst-panel{position:fixed;right:22px;bottom:88px;width:370px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 130px);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(18,24,40,.28);display:none;flex-direction:column;overflow:hidden;z-index:200}
.asst-panel.open{display:flex;animation:asstIn .18s ease}
@keyframes asstIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.asst-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:linear-gradient(150deg,#15181e,#23262e);color:#fff}
.asst-head__l{display:flex;align-items:center;gap:10px}
.asst-logo{width:32px;height:32px;border-radius:10px;background:linear-gradient(150deg,var(--accent),#b3170f);display:grid;place-items:center;color:#fff;flex:0 0 auto}
.asst-title{font-size:14px;font-weight:800;line-height:1.1}
.asst-title small{display:block;font-weight:500;font-size:11px;color:#9aa3b2}
.asst-close{background:rgba(255,255,255,.12);border:none;color:#fff;width:28px;height:28px;border-radius:8px;cursor:pointer;display:grid;place-items:center}
.asst-close:hover{background:rgba(255,255,255,.22)}
.asst-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--surface-2)}
.asst-row{display:flex;gap:9px;align-items:flex-end}
.asst-row--user{flex-direction:row-reverse}
.asst-ava{width:26px;height:26px;border-radius:8px;background:linear-gradient(150deg,var(--accent),#b3170f);color:#fff;display:grid;place-items:center;flex:0 0 auto}
.asst-msg{font-size:13px;line-height:1.55;padding:10px 13px;border-radius:14px;max-width:78%;white-space:pre-wrap;word-break:break-word}
.asst-msg--bot{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px}
.asst-msg--user{background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.asst-msg--typing{color:var(--muted);font-style:italic}
.asst-input{display:flex;gap:8px;padding:11px;border-top:1px solid var(--line);background:var(--surface)}
.asst-input textarea{flex:1;border:1px solid var(--line);border-radius:11px;padding:9px 12px;font-size:13px;font-family:inherit;resize:none;max-height:90px;outline:none}
.asst-input textarea:focus{border-color:var(--accent)}
.asst-send{flex:0 0 auto;width:40px;border:none;border-radius:11px;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center}
.asst-send:hover{filter:brightness(1.06)}
.integ--info{background:var(--accent-soft);color:var(--accent-ink);border:1px solid rgba(225,35,29,.18)}

/* ===================== MOBILNÍ ZOBRAZENÍ (telefon) ===================== */
@media(max-width:640px){
  .app{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;bottom:0;width:250px;z-index:80;transform:translateX(-100%);transition:transform .25s}
  .app.nav-open .side{transform:none}
  .app.nav-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:79}
  .mnav-btn{display:grid !important}
  .topbar{position:sticky;top:0;z-index:20;gap:8px;padding:12px 14px;flex-wrap:wrap}
  .topbar__title{font-size:16px}
  .view{padding:12px 12px 80px}
  .kpis,.kpis--stats,.stat-cols,.g2,.g3,.cgrid,.card-grid,.rules-grid,.builder-list,.persona,.pkg,.roles,.anatomy{grid-template-columns:1fr !important}
  .cal-wrap{grid-template-columns:1fr}
  /* tabulky: vodorovný posun místo uřezání */
  .table,.t-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .trow{min-width:600px}
  .board{overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* modaly + drawer přes celou šířku */
  .modal{width:100vw;max-width:100vw;max-height:92vh;border-radius:14px 14px 0 0}
  .modal-back{align-items:flex-end}
  .drawer{width:100vw;max-width:100vw}
  .form-grid{grid-template-columns:1fr}
  .asst-panel,.voice-panel{left:8px;right:8px;width:auto;bottom:8px}
  .toolbar{flex-wrap:wrap}
  .search{min-width:0;width:100%}
}
.mnav-btn{display:none;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);place-items:center;cursor:pointer;flex:0 0 auto}
.inv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.inv-card{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px 16px;box-shadow:var(--shadow-1)}
.inv-card__ic{width:40px;height:40px;border-radius:11px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;flex:0 0 auto}
.inv-card--ok .inv-card__ic{background:var(--ok-soft);color:var(--ok)}
.inv-card--warn .inv-card__ic{background:#fff7e6;color:#a16207}
.inv-card--bad .inv-card__ic{background:#fdecec;color:var(--danger)}
.inv-card__lbl{font-size:12px;color:var(--muted);font-weight:600}
.inv-card__amt{font-size:18px;font-weight:800;letter-spacing:-.01em;margin-top:2px}
.inv-card__sub{font-size:11px;color:var(--muted-2);margin-top:1px}
.t-inv .trow{grid-template-columns:1.1fr 1.4fr .8fr .9fr .9fr 50px}
.t-inbox .trow{grid-template-columns:1.2fr 1.8fr 1fr 1fr .7fr}
.ib-unread{background:var(--accent-soft)}
.mailbox{display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:start}
.mb-side{display:flex;flex-direction:column;gap:3px}
.mb-folder{display:flex;align-items:center;justify-content:space-between;gap:8px;border:none;background:transparent;padding:9px 11px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--ink-2);text-align:left;cursor:pointer}
.mb-folder:hover{background:var(--surface-2)}
.mb-folder.on{background:var(--accent-soft);color:var(--accent-ink)}
.mb-count{font-size:11px;font-weight:800;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:1px 8px}
.mb-folder.on .mb-count{background:#fff}
.mb-side__lbl{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:14px 11px 5px}
.mb-lbl-chip{font-size:12px;color:var(--ink-2);padding:5px 11px;border-radius:7px}
.lbl-tag{display:inline-block;font-size:10px;font-weight:700;background:var(--accent-soft);color:var(--accent-ink);border-radius:5px;padding:1px 6px;margin-right:3px}
.lbl-cell{display:flex;flex-wrap:wrap;gap:2px}
@media(max-width:860px){.mailbox{grid-template-columns:1fr}.mb-side{flex-direction:row;flex-wrap:wrap;overflow-x:auto}.mb-side__lbl,.mb-lbl-chip{display:none}}
.ib-body{background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;padding:14px;font-size:13px;line-height:1.6;max-height:50vh;overflow:auto;word-break:break-word}
.help-btn:hover{background:var(--accent-soft)}
.help-intro{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.help-intro__ic{width:46px;height:46px;border-radius:13px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.help-intro h2{margin:0;font-size:20px}
.help-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.help-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow-1)}
.help-card__head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.help-card__ic{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.help-card__head b{font-size:15px}
.help-card__lead{font-size:12.5px;color:var(--muted);margin:0 0 10px;line-height:1.5}
.help-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.help-list li{font-size:12.5px;color:var(--ink-2);line-height:1.5}
/* nápověda — nové sekční rozložení */
.help-layout{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start}
.help-side{position:sticky;top:0}
.help-nav{display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 200px);overflow-y:auto}
.help-navitem{display:flex;align-items:center;gap:9px;padding:8px 11px;border:none;background:transparent;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-2);text-align:left;cursor:pointer}
.help-navitem:hover{background:var(--surface-2)}
.help-navitem.active{background:var(--accent-soft);color:var(--accent-ink)}
.help-navitem.active .i{color:var(--accent)}
.help-navitem .i{color:var(--muted)}
.help-doc{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow-1);max-width:760px}
.help-doc__head{display:flex;gap:14px;align-items:center;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.help-doc__ic{width:48px;height:48px;border-radius:13px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.help-doc__head h2{margin:0;font-size:21px}
.help-sec{margin-top:20px}
.help-sec h3{margin:0 0 10px;font-size:15px;color:var(--ink)}
.help-sec ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.help-sec li{font-size:13.5px;color:var(--ink-2);line-height:1.6}
.help-hit{background:#fff7cc;border-radius:4px;padding:1px 3px}
@media(max-width:760px){.help-layout{grid-template-columns:1fr}.help-side{position:static}.help-nav{flex-direction:row;flex-wrap:wrap;max-height:none}}
.uc-out{display:flex;flex-direction:column;gap:8px}
.uc-out__row{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;font-size:13.5px}
.uc-out__row b{font-size:16px;color:var(--accent)}
.krow{display:flex;gap:6px;margin-bottom:6px}
.krow input{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:12.5px;background:var(--surface);flex:1;min-width:0}
.topbar__sub{color:var(--muted);font-size:12.5px;margin-top:3px}
.view{flex:1;overflow:auto;padding:20px 24px 48px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:10px;padding:10px 15px;font-size:13px;font-weight:700;white-space:nowrap;transition:.15s}
.btn--sm{padding:8px 12px;font-size:12.5px}
.btn--primary{background:linear-gradient(135deg,#5a3fd6,#7c3aed);color:#fff;box-shadow:0 4px 14px rgba(90,63,214,.35)}
.btn--primary:hover{filter:brightness(1.06)}
.btn--ghost{background:var(--surface);color:var(--ink-2);border:1px solid var(--line)}
.btn--ghost:hover{background:var(--surface-2)}
.btn--danger{background:var(--danger-soft);color:var(--danger);width:100%}
.btn--danger:hover{background:#fbdcdc}
.btn--danger-solid{background:var(--danger);color:#fff}
/* B2 — tlačítko výhry zeleně, existující proměnná úspěchu (--ok), ne nový odstín */
.btn--ok-solid{background:var(--ok);color:#0b2a19}
.btn--ok-solid:hover{filter:brightness(.95)}
.btn[disabled]{opacity:.6;pointer-events:none}

/* ---------- toolbar ---------- */
.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px;position:sticky;left:0;max-width:100%}
.toolbar .search{flex:1 1 200px;min-width:170px}
.toolbar .select-box{flex:0 1 auto;min-width:0}
.toolbar .select-box select{min-width:0}
.toolbar__spacer{flex:1}
.select-box{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:7px 12px;color:var(--muted);box-shadow:var(--shadow-1)}
.select-box select{border:none;outline:none;background:transparent;color:var(--ink);font-weight:700;font-size:13px}
select option{color:#181920;background:#fff}

/* ---------- board ---------- */
.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:10px}
.col{flex:0 0 268px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden}
.col__stripe{display:block;width:100%;height:4px;flex:0 0 auto}
.col.drag-over{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}
.col__head{display:flex;align-items:center;gap:8px;padding:13px 14px 8px}
.col__dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.col__name{font-weight:800;font-size:13px}
.col__count{margin-left:auto;font-size:11px;font-weight:800;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:1px 8px;border-radius:999px}
.col__sum{padding:0 14px 10px;font-size:11.5px;color:var(--muted);font-family:var(--mono)}
.col__body{padding:0 10px 12px;display:flex;flex-direction:column;gap:9px;min-height:40px}
.col__empty{color:var(--muted-2);font-size:12px;text-align:center;padding:10px 0}
.card{position:relative;background:linear-gradient(180deg,#fff,#fcfcfe);border:1px solid var(--line);border-radius:13px;padding:12px 13px 11px;box-shadow:var(--shadow-1);cursor:pointer;transition:.16s;overflow:hidden}
.card:hover{box-shadow:var(--shadow-2);border-color:var(--acc,#dfe2ea);transform:translateY(-2px)}
.card.dragging{opacity:.45}
.card__bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc,#94a3b8)}
.card__hd{display:flex;align-items:center;gap:9px}
.card__av{width:26px;height:26px;border-radius:8px;flex:0 0 auto;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800;letter-spacing:.02em}
.card--dup{border-color:#fcd34d}
.card--c-blue{border-left:3px solid #2f7bff}
.card--c-green{border-left:3px solid var(--ok)}
.card--c-red{border-left:3px solid var(--danger)}
.card--c-gray{border-left:3px solid #94a3b8;background:#f8fafc}
.card--c-yellow{border-left:3px solid #eab308}
.health-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.health-dot--blue{background:#2f7bff}
.health-dot--green{background:var(--ok)}
.health-dot--red{background:var(--danger)}
.health-dot--gray{background:#94a3b8}
.health-dot--yellow{background:#eab308}
.dfile{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:9px;margin-bottom:6px}
.dfile a{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2);text-decoration:none;font-weight:600}
.dfile a:hover{color:var(--accent)}
.lnk{background:none;border:none;padding:0;font:inherit;color:var(--ink-2);display:inline-flex;align-items:center;gap:7px;cursor:pointer;text-align:left}
.lnk:hover{color:var(--accent);text-decoration:underline}
.ava--xs{width:20px;height:20px;font-size:8px}
.assignee-dots{display:inline-flex;gap:3px}
.ct-name--won{color:#047857;font-weight:700;border-left:3px solid var(--ok);padding-left:7px}
.ct-name--lost{color:#b91c1c;border-left:3px solid var(--danger);padding-left:7px}
.dup-badge{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;color:#a16207;background:#fff7e6;border:1px solid #fde68a;border-radius:6px;padding:2px 7px;margin-bottom:6px}
.noact-bubble{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;color:#1d4fc4;background:#eaf1fe;border:1px solid #b9d0fb;border-radius:6px;padding:2px 7px;margin-bottom:6px}
.card--noact{box-shadow:0 0 0 1px #b9d0fb inset}
.dup-warn{display:flex;gap:10px;align-items:flex-start;background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:12px;padding:12px;margin-bottom:6px;color:var(--amber-ink)}
.dup-choices{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.dup-choice{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:11px 13px;display:flex;flex-direction:column;gap:3px;cursor:pointer}
.dup-choice:hover{border-color:var(--accent);background:var(--accent-soft)}
.dup-choice b{font-size:13px}
.dup-choice span{font-size:11.5px;color:var(--muted)}
.fb-help{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:12.5px;line-height:1.55;margin-bottom:14px}
.fb-steps{margin:8px 0;padding-left:20px;display:flex;flex-direction:column;gap:5px}
.fb-steps li{font-size:12.5px;line-height:1.5}
.dup-warn b{font-size:13px}
.dup-warn__sub{font-size:12px;margin-top:4px;line-height:1.5}
.dup-link{background:var(--chip-soft);border:1px solid var(--amber-line);border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:700;color:var(--amber-ink);cursor:pointer}
/* řádek nalezené duplicity (potvrzení u nového leadu, popup u převodu) — dosud bez stylu */
.dup-line{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2,var(--surface))}
/* tvrdá shoda (telefon/e-mail/IČO) vs. měkká (jméno, název firmy) */
.dup-warn--hard{background:color-mix(in oklab,var(--danger) 9%,transparent);border-color:color-mix(in oklab,var(--danger) 35%,transparent)}
.dup-warn--hard b{color:var(--danger)}
.dup-link--hard{border-color:color-mix(in oklab,var(--danger) 40%,transparent);font-weight:800}
.dup-ignore{display:inline-flex;align-items:center;gap:5px;margin-top:8px;background:transparent;border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:700;color:var(--muted);cursor:pointer}
.dup-ignore:hover{color:var(--ink);border-color:var(--ink)}
.dup-ignore:disabled{opacity:.5;cursor:default}
.dup-line b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dup-line .muted{font-size:11.5px;white-space:nowrap}
.dup-line .btn{margin-left:auto;flex:0 0 auto}
.dup-link:hover{background:var(--amber-soft)}
/* N7 — shody dup-checku jako čitelné řádky (modul → popis: název · důvod · vlastník) */
.dup-warn__list,.cr-dup__list{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.dup-warn__list .dup-link,.cr-dup__list .cr-dup__item{display:block;width:100%;text-align:left;white-space:normal;line-height:1.4;padding:6px 10px}
.dup-link--client,.cr-dup__item.is-client{background:color-mix(in oklab,var(--danger) 12%,transparent);border-color:color-mix(in oklab,var(--danger) 45%,transparent);color:var(--danger)}
.dup-link--client b,.cr-dup__item.is-client b{color:var(--danger);text-transform:uppercase;letter-spacing:.01em}
/* cizí obchodník — jen informace, ne proklik (OZ ho přes RLS neotevře) */
.dup-link--foreign,.cr-dup__item.is-foreign{cursor:default;opacity:.9;background:var(--surface-2,var(--surface))}
.dup-link--foreign:hover,.cr-dup__item.is-foreign:hover{background:var(--surface-2,var(--surface))}
.card__title{font-weight:700;font-size:13px;line-height:1.25;color:#181920}
.card__cat{display:inline-block;font-size:10px;font-weight:800;padding:2px 9px;border-radius:999px;margin-top:8px;letter-spacing:.02em;background:#f0f1f6;color:#4a4d5e}
.card__who{color:#6a6d80;font-size:11.5px;margin-top:6px;display:flex;align-items:center;gap:6px}
.card__val{font-weight:800;font-size:13.5px;font-variant-numeric:tabular-nums;color:#181920}
.card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
/* jednotnější karty na boardu: stejná minimální výška + název max 2 řádky (přírůstkové, nemění barvy/pozice) */
.board .card{min-height:96px}
.board .card__hd{min-width:0}
.board .card__title{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.board .card__foot .card__val{white-space:nowrap}
.card__val{font-weight:800;font-size:13.5px;font-variant-numeric:tabular-nums}
.tag{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.tag--A{background:var(--ok-soft);color:#047857}
.tag--B{background:var(--amber-soft);color:var(--amber-ink)}
.tag--C{background:var(--chip-soft);color:#c7c9d6}

/* ---------- empty / placeholder ---------- */
.empty-hero{max-width:420px;margin:60px auto;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:40px 32px;box-shadow:var(--shadow-1)}
.empty-hero__ic{width:64px;height:64px;border-radius:18px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin:0 auto 16px}
.empty-hero h2{font-size:20px;margin:0 0 6px}
.empty-hero p{color:var(--muted);margin:0 0 18px}
.badge-soon{display:inline-block;font-size:11px;font-weight:800;color:var(--accent-ink);background:var(--accent-soft);padding:5px 12px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}
.empty{padding:40px;text-align:center;color:var(--muted)}

/* ---------- forms ---------- */
.form-row{margin-bottom:13px}
.form-row label{display:block;font-size:11.5px;font-weight:800;color:var(--muted);margin-bottom:5px}
.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:13.5px;outline:none;background:var(--surface);color:var(--ink);transition:border-color .15s}
.form-row input::placeholder,.form-row textarea::placeholder{color:var(--muted)}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}

/* ---------- modal ---------- */
.modal-back{position:fixed;inset:0;background:rgba(20,26,42,.5);display:none;align-items:center;justify-content:center;z-index:90;padding:20px}
.modal-back.open{display:flex}
.modal{background:#fff;color:#181920;border-radius:18px;box-shadow:var(--shadow-2);width:460px;max-width:100%;padding:24px;max-height:92vh;overflow:auto}
.modal h3,.modal label,.modal .sec-title,.modal .field__l{color:#181920}
.modal .form-row label{color:#6a6d80}
.modal input,.modal select,.modal textarea{background:#f4f5f8;color:#181920;border-color:#e2e4ee}
.modal .calc-row input,.modal .krow input{background:#f4f5f8;color:#181920;border-color:#e2e4ee}
.modal .sub{color:#6a6d80}
.modal .chip-check,.modal .chip{background:#f4f5f8;color:#181920;border-color:#e2e4ee}
.modal .chip-check:has(input:checked){background:#ece7fc;color:#5a3fd6;border-color:#c9bcf7}
.modal .switch-row{color:#181920}
.modal .sec-title{margin:22px 0 10px;padding:0 0 8px;background:none;color:#8b8fa3;border-bottom:1px solid #e2e4ee}
.modal .sec-title:first-child{margin-top:0}
.modal .chip-check input{outline:1px solid #b9bccc;outline-offset:-1px;accent-color:#5a3fd6}
.modal .chg-row{background:#f4f5f8;border-color:#e2e4ee;color:#181920}
.modal .chg-new{color:#181920;font-weight:700}
.modal .chg-old{color:#9a9db0}
.modal .calc-foot{border-top-color:#e2e4ee}
.modal .calc-total{color:#6a6d80}
.modal .calc-total b{color:#181920}
.prod-ac__list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-2);max-height:220px;overflow-y:auto;z-index:50;padding:4px}
.prod-ac__item{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;background:none;border:none;padding:8px 10px;border-radius:7px;font-size:12.5px;color:var(--ink);cursor:pointer}
.prod-ac__item:hover{background:var(--surface-2)}
.prod-ac__price{color:var(--muted);font-weight:700;flex:0 0 auto}
.lp-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.lp-row__name{flex:1;font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp-row__price{flex:0 0 auto;font-size:12.5px;color:var(--muted);font-weight:700}
.lp-row__qty{width:58px;flex:0 0 auto;text-align:center}
.lp-row__code{flex:0 0 auto;font-family:var(--mono);font-size:11px;color:var(--muted);min-width:52px}
.masked-val{display:flex;align-items:center;gap:8px}
.masked-val code{flex:1;font-family:var(--mono);font-size:11.5px;word-break:break-all;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:7px 9px;color:var(--ink-2)}
.field--click{cursor:pointer;transition:background .12s}
.field--click:hover{background:var(--surface-2)}
.modal .lp-row{background:#f7f7fa;border-color:#e2e4ee}
.modal .lp-row__name{color:#181920}
.modal .lp-row__price{color:#6a6d80}
.modal .lp-row__code{color:#8a8d9c}
.modal .iv-odb{background:#f2f4f9;border:1px solid #e2e4ee;color:#181920}
.modal .iv-odb b{color:#181920}
.modal .iv-odb .muted,.modal .iv-odb .muted b{color:#5c6070}
.modal .field .k{color:#6a6d80}
.modal .field .v{color:#181920}
.modal .role-sel{background:#f4f5f8;color:#181920;border-color:#e2e4ee}
.modal code{background:#f4f5f8;color:#181920;border-color:#e2e4ee}
.modal .status{filter:none}
.modal .ep{background:#f7f7fa;border-color:#e2e4ee}
.modal .map-pair span{color:#6a6d80}
.modal .row-item{background:#f7f7fa;border-color:#e2e4ee}
.modal .row-item input:not(.cdot),.modal .row-item select{background:#fff;color:#181920;border-color:#e2e4ee}
.modal .row-item input::placeholder{color:#9a9db0}
.modal .webhook-box{background:#181920;color:#fff}
.modal .fb-help{background:#f4f5f8;color:#181920}

.modal h3{font-size:19px;margin:0 0 4px}
.modal p.sub{color:var(--muted);font-size:12.5px;margin:0 0 18px}
.modal__foot{display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:-24px;background:#fff;padding:14px 0 0;margin-top:16px;border-top:1px solid #e2e4ee}
.modal--wide{width:720px}

/* ---------- drawer ---------- */
.drawer-back{position:fixed;inset:0;background:rgba(20,26,42,.45);opacity:0;pointer-events:none;transition:opacity .15s;z-index:70}
.drawer-back.open{opacity:1;pointer-events:auto}
.drawer--wide{width:calc(100vw - 236px) !important;min-width:0 !important;max-width:calc(100vw - 236px) !important}
@media(max-width:1100px){.drawer--wide{width:94vw !important;max-width:94vw !important}}
.dcols{display:grid;grid-template-columns:1.15fr 1fr;gap:0 28px;align-items:start}
@media(max-width:1000px){.dcols{grid-template-columns:1fr}}
.drawer{display:flex;flex-direction:column;position:fixed;top:0;right:0;height:100vh;width:34vw;min-width:560px;max-width:94vw;background:var(--surface);box-shadow:-20px 0 60px rgba(20,26,42,.18);transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:71;display:flex;flex-direction:column}
.drawer.open{transform:none}
.drawer__close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);display:grid;place-items:center;z-index:2}
.drawer__close:hover{background:var(--line)}
.drawer__head{padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.drawer__eyebrow{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
.drawer__title{font-size:21px;line-height:1.1;font-weight:800;margin:6px 0 0;padding-right:40px}
.drawer__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--ink-2)}
.drawer__body{flex:1;overflow-y:auto;padding:18px 22px 30px}
.drawer__foot{display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:0;background:var(--surface);padding:16px 22px;border-top:1px solid var(--line)}
.sec-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;margin:26px 0 10px}
.sec-title:first-child{margin-top:0}
.field{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13px}
.field .k{color:var(--muted)}
.field .v{font-weight:600;color:var(--ink-2)}
.stage-row{display:flex;gap:6px;flex-wrap:wrap}
.stage-pick{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;color:var(--ink-2)}
.stage-pick:hover{background:var(--accent-soft);color:var(--accent-ink)}
.stage-pick.active{background:var(--accent);color:#fff;border-color:transparent}
.drawer__danger{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.asg-checks{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.chg-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.chg-row{font-size:13.5px;padding:8px 11px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px}
.chg-old{color:var(--muted);text-decoration:line-through}
.chg-new{color:var(--ink);font-weight:700}
.dlg-pipe{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13.5px;font-weight:600;background:var(--surface);outline:none}
.dinfo{margin-top:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.dinfo>summary{list-style:none;cursor:pointer;padding:11px 14px;font-size:13px;font-weight:700;color:var(--ink-2);background:var(--surface-2);display:flex;align-items:center;gap:8px}
.dinfo>summary::-webkit-details-marker{display:none}
.dinfo>summary::after{content:"▾";margin-left:auto;transition:.2s;color:var(--muted)}
.dinfo[open]>summary::after{transform:rotate(180deg)}
.dinfo__b{padding:4px 14px 14px}
.dlg-pipe:focus{border-color:var(--accent)}
.timeline{display:flex;flex-direction:column;margin-top:2px}
.tl-item{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.tl-item--note .tl-txt{background:var(--surface-2);border-radius:12px;padding:8px 12px;display:inline-block;max-width:100%;white-space:pre-wrap}
.tl-item:last-child{border-bottom:none}
.ch-wrap{max-height:60vh;overflow:auto;margin-top:4px}
.ch-sum{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.ch-tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);margin-left:4px}
.ch-tag--lead{background:var(--amber-soft);color:var(--amber-ink)}
.tl-ic{width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.tl-body{min-width:0}
.tl-txt{font-size:13px;color:var(--ink);line-height:1.4}
.tl-sub{font-size:11px;color:var(--muted);margin-top:2px}
.note-add{margin-bottom:14px}
.note-add textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:13px;min-height:54px;resize:vertical;background:var(--surface);outline:none}
.note-add textarea:focus{border-color:var(--accent)}
.note-add__row{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}

/* ---------- toast ---------- */
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);background:#181920;color:#fff;padding:11px 18px;border-radius:11px;font-size:13px;font-weight:700;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:.2s;z-index:120;display:flex;align-items:center;gap:9px}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast .i{color:#a5b4fc}

/* ---------- reminder pop-up (Google-cal styl) ---------- */
.rem-back{position:fixed;inset:0;background:rgba(12,16,24,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}
.rem-back.open{display:flex}
.rem{background:var(--surface);border-radius:20px;box-shadow:var(--shadow-2);width:380px;max-width:100%;padding:28px;text-align:center;animation:rempop .25s cubic-bezier(.16,1,.3,1)}
@keyframes rempop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.rem__bell{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin:0 auto 12px;animation:rembell 1s ease infinite}
.rem--alert .rem__bell{background:#fdecec;color:#dc2626}
.rem--alert .rem__eyebrow,.rem--alert .rem__type{color:#dc2626!important}
.rem--alert{border-top:4px solid #dc2626}
@keyframes rembell{0%,100%{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-12deg)}}
.rem__time{font-size:30px;font-weight:800;letter-spacing:-.02em}
.rem__type{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-top:2px}
.rem__title{font-size:20px;margin:8px 0 12px}
.rem__row{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13.5px;color:var(--ink-2);margin-top:5px}
.rem__note{margin-top:12px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--muted);text-align:left}
.rem__actions{display:flex;gap:10px;justify-content:center;margin-top:20px}
.rem--batch{text-align:center}
.rem__hint{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-top:8px}
.rem__list{margin-top:14px;display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto;text-align:left}
.rem-li{display:flex;align-items:center;gap:11px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;cursor:pointer}
.rem-li[data-deal]:hover{border-color:var(--accent)}
.rem-li__t{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--accent-ink);flex:0 0 auto}
.rem-li__b{flex:1;min-width:0;display:flex;flex-direction:column}
.rem-li__b b{font-size:13px}
.rem-li__m{font-size:11px;color:var(--muted)}
.rem-li__go{color:var(--muted);flex:0 0 auto}
.lcat-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto}
.lcat-n{font-weight:800;font-size:15px;color:var(--accent-ink);flex:0 0 auto;font-family:var(--mono)}

/* ---------- tables / search ---------- */
.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--muted);box-shadow:var(--shadow-1);min-width:208px}
.search input{border:none;outline:none;background:transparent;font-size:13px;color:var(--ink);width:100%}
.table{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-1)}
.trow{display:grid;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line-2);font-size:13px;gap:12px}
.trow>*{min-width:0}/* KLÍČOVÉ: grid children musí smět shrinkovat, jinak dlouhý obsah přetéká do sousedního sloupce (globální oprava překryvu) */
.trow:last-child{border-bottom:none}
.trow--head{background:var(--surface-2);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.trow--body:hover{background:var(--surface-2);cursor:pointer}
.t-contacts .trow{grid-template-columns:1.6fr 1.1fr 1.4fr .9fr}
/* karta už známého klienta v modalu Nový obchodní případ — read-only shrnutí vazby */
.nd-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:11px 14px;margin:0 0 14px}
.nd-card__b{display:flex;flex-direction:column;gap:2px;min-width:0}
.nd-card__b b{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd-card__b span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* vlastník na kartě dealu — bez toho nebylo v pipeline vidět, komu případ patří */
.card__own{display:inline-flex;align-items:center;gap:5px;min-width:0;margin-left:auto}
.card__own i{font-style:normal;font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:74px}
.card__own--none i{color:#b45309}
.card__own--none svg{color:#b45309;opacity:.85}
.card__foot{display:flex;align-items:center;gap:8px}
.adr-grid{display:flex;flex-direction:column;gap:8px}
.adr-card{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 16px;box-shadow:var(--shadow-1);cursor:pointer;transition:.14s}
.adr-card:hover{box-shadow:var(--shadow-2);border-color:#dfe2ea;transform:translateY(-1px)}
.adr-card__main{flex:1;min-width:0}
.adr-card__name{font-weight:700;font-size:14.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adr-card__sub{font-size:12px;color:var(--muted);margin-top:3px}
.adr-card__chev{color:var(--muted-2);font-size:20px;font-weight:700;flex:0 0 auto}
.mono{font-family:var(--mono);font-size:12px;color:var(--muted)}
.ava-line{display:inline-flex;align-items:center;gap:9px;font-weight:600}
.ava--sm{width:26px;height:26px;font-size:9.5px}
.drawer__actions{display:flex;gap:9px}

/* ---------- builder ---------- */
.builder-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.bcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px;box-shadow:var(--shadow-1)}
.bcard__top{display:flex;align-items:center;gap:9px}
.bcard__sub{margin-top:10px;font-size:12px;color:var(--muted)}
.dot-on{color:var(--ok);font-weight:700}.dot-off{color:var(--muted-2);font-weight:700}
.panel{--secpad:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);padding:18px;margin-bottom:14px;max-width:760px}
.panel h3{margin:0 0 4px;font-size:16px}
.panel p{margin:0 0 12px;color:var(--muted);font-size:12.5px}
.row-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);margin-bottom:8px}
.row-item input:not(.cdot){flex:1;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;background:var(--surface);min-width:80px}
.row-item .fkey{font-weight:700;font-size:13px}
.cdot{width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:8px;background:none;flex:0 0 auto;cursor:pointer}
.iconbtn{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);display:grid;place-items:center;flex:0 0 auto;font-weight:700}
.iconbtn:hover{background:var(--surface-2);color:var(--ink)}
.iconbtn[disabled]{opacity:.4;pointer-events:none}
.webhook-box{display:flex;align-items:center;gap:8px;background:#181920;color:#fff;border-radius:10px;padding:11px 13px;font-family:var(--mono);font-size:12px;overflow:auto;white-space:nowrap}
.webhook-box button{margin-left:auto;background:rgba(255,255,255,.16);color:#fff;border:none;border-radius:7px;padding:6px 11px;font-size:11px;font-weight:700;flex:0 0 auto}
.ep{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px;background:var(--surface-2)}
.ep__top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ep__name{flex:1;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;font-weight:700;background:var(--surface)}
.ep__map{margin-top:8px}
.map-pair{display:flex;align-items:center;gap:7px;margin-bottom:6px}
.map-pair input{flex:1;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px;background:var(--surface);min-width:0}
.map-pair span{color:var(--muted);font-weight:700}
.switch-row{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;margin-top:12px;cursor:pointer}
.switch-row input{width:16px;height:16px}
code{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-family:var(--mono);font-size:11.5px}

/* ---------- kalendář 2 (Raynet-styl) ---------- */
.cal2{display:grid;grid-template-columns:230px 1fr;gap:14px;align-items:start}
.cal2__side{--secpad:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);padding:12px 13px}
.cal2__main{min-width:0}
.cal2__bar{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.cal2__title{margin:0 0 0 6px;font-size:16px;font-weight:800}
.mm-h{text-align:center;font-size:12.5px;text-transform:capitalize;margin-bottom:6px}
.mm-w{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px}
.mm-w span{font-size:9.5px;color:var(--muted);text-align:center;font-weight:700}
.mm-g{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}
.mm-d{border:none;background:none;font-size:11px;padding:5px 0;border-radius:6px;color:var(--ink-2);cursor:pointer}
.mm-d:hover{background:var(--surface-2)}
.mm-out{color:var(--muted-2)}
.mm-today{color:var(--accent);font-weight:800}
.mm-sel{background:var(--accent);color:#fff!important}
.cal-usr{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:12.5px;cursor:pointer;color:var(--ink-2)}
.cal-usr:hover{background:var(--surface-2)}
.cal-usr.on{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}
.cal-types{display:flex;flex-direction:column;gap:3px}
.cal-chk{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);padding:3px 4px;cursor:pointer}
.cal-chk .i{color:var(--muted)}
.cal-cats{display:flex;flex-wrap:wrap;gap:6px}
.cal-colors{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:4px}
.cal-colr{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2);white-space:nowrap}
.cal-colr input[type=color]{width:30px;height:22px;padding:0;border:1px solid var(--line);border-radius:6px;flex:0 0 auto;cursor:pointer}
.cal-cat{width:20px;height:20px;border-radius:6px;border:2px solid transparent;cursor:pointer;opacity:.4}
.cal-cat.on{opacity:1;border-color:rgba(0,0,0,.15)}
/* time grid */
.tg{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-1)}
.tg-heads,.tg-allrow{display:grid;grid-template-columns:56px repeat(var(--cols),1fr);padding-right:var(--sbw,0px)}
.tg-heads{border-bottom:1px solid var(--line);background:var(--surface-2)}
.tg-dhead{padding:9px 6px;text-align:center;font-size:11.5px;font-weight:700;color:var(--ink-2);border-left:1px solid var(--line-2);text-transform:uppercase}
.tg-dhead.is-today{color:var(--accent);background:var(--accent-soft)}
.tg-allrow{border-bottom:1px solid var(--line);min-height:28px}
.tg-allday-lbl,.tg-h{font-size:10px;color:var(--muted);text-align:right;padding:3px 6px}
.tg-allday{border-left:1px solid var(--line-2);padding:3px;display:flex;flex-direction:column;gap:2px}
.tg-all{font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:5px;border-left:3px solid;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-body{position:relative;max-height:62vh;overflow-y:auto}
.tg-hours .tg-hrow{display:grid;grid-template-columns:56px repeat(var(--cols),1fr);height:46px}
.tg-h{border-top:1px solid var(--line-2)}
.tg-cell{border-left:1px solid var(--line-2);border-top:1px solid var(--line-2)}
.tg-cols{position:absolute;inset:0;display:grid;grid-template-columns:56px repeat(var(--cols),1fr);pointer-events:none}
.tg-col{position:relative;border-left:1px solid transparent;pointer-events:auto}
.tg-ev{position:absolute;left:2px;right:2px;min-height:22px;border-radius:6px;border-left:3px solid;padding:3px 6px;font-size:11px;line-height:1.25;cursor:grab;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.tg-ev.dragging{opacity:.4}
.tg-col.drag-over{background:var(--accent-soft)}
.tg-ev:hover{filter:brightness(.97);z-index:5}
.tg-ev.done{opacity:.55;text-decoration:line-through}
.tg-ev.over{outline:1px solid #dc2626}
.tg-ev__t{font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-ev__c{color:var(--muted);font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.cal2{grid-template-columns:1fr}.cal2__side{display:none}}
.cal-wrap{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
.cal-grid{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-1)}
.cal-head{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-head div{padding:9px;background:var(--surface-2);font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;text-align:center;border-right:1px solid var(--line-2)}
.cal-body{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-day{min-height:104px;border-top:1px solid var(--line-2);border-right:1px solid var(--line-2);padding:7px;background:var(--surface)}
.cal-day.is-muted{background:var(--surface-2)}
.cal-day.is-today{background:var(--accent-soft)}
.cal-day__num{font-weight:800;font-size:12px;margin-bottom:5px;color:var(--ink-2)}
.cal-event{display:block;margin:3px 0;padding:4px 7px;border-radius:7px;background:var(--accent-soft);color:var(--accent-ink);font-size:10.5px;font-weight:700;line-height:1.25;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-event.meeting{background:var(--ok-soft);color:#047857}
.cal-event.done{opacity:.55;text-decoration:line-through}
.cal-more{font-size:10px;color:var(--muted);font-weight:700}
.monthbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.monthbar h3{margin:0;font-size:18px;font-weight:800;text-transform:capitalize;min-width:160px}
.event-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow-1);margin-bottom:9px;cursor:pointer}
.event-card:hover{border-color:#dfe2ea}
.event-card h4{margin:0 0 4px;font-size:13px}
.event-card .meta{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:5px}
/* segmented control */
.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:2px;gap:2px}
.seg button{border:none;background:none;padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--muted);border-radius:7px}
.seg button.on{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-1)}
/* event chip s klientem */
.cal-event b{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-event i{display:block;font-style:normal;opacity:.8;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-event.over{background:#fdecec;color:#dc2626}
.cal-event.t-call{background:#eef2ff;color:#4338ca}
.cal-event.t-nabidka{background:var(--amber-soft);color:var(--amber-ink)}
.cal-event.t-email{background:#ecfeff;color:#0e7490}
/* week view */
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal-wcol{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:160px}
.cal-wcol.is-today{border-color:var(--accent)}
.cal-wcol__head{padding:8px 10px;background:var(--surface-2);font-size:11.5px;font-weight:800;color:var(--ink-2);border-bottom:1px solid var(--line-2)}
.cal-wcol__body{padding:8px;display:flex;flex-direction:column;gap:6px}
.wk-ev{display:flex;flex-direction:column;gap:2px}
.wk-time{font-size:10px;color:var(--muted);font-family:var(--mono)}
/* day view */
.cal-daylist{display:flex;flex-direction:column;gap:8px;max-width:640px}
.day-ev{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-1);cursor:pointer}
.day-ev:hover{border-color:#dfe2ea}
.day-ev.done{opacity:.55}.day-ev.done b{text-decoration:line-through}
.day-ev.over{border-left:3px solid var(--danger)}
.day-ev__time{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--ink);min-width:48px}
.day-ev__ic{width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.day-ev__sub{font-size:11.5px;color:var(--muted);margin-top:2px}
/* reschedule */
.resched{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.resched input{flex:1;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;background:var(--surface)}
.quickmove{display:flex;gap:6px;flex-wrap:wrap}
.tpl-hint{font-size:11.5px;color:var(--muted);line-height:1.7;margin-bottom:12px}
.tpl-hint code{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-family:var(--mono);font-size:11px;color:var(--accent-ink)}
.cond-row{display:flex;gap:8px;flex-wrap:wrap}
.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.rule-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:var(--shadow-1);cursor:pointer;transition:.15s}
.rule-card:hover{border-color:#dfe2ea;box-shadow:var(--shadow-2)}
.rule-card.is-off{opacity:.6}
.rule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.rule-head h4{margin:0;font-size:14.5px}
.rule-head .mono{font-size:11px;color:var(--muted);margin-top:2px}
.rule-switch{border:none;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:800;cursor:pointer;flex:0 0 auto}
.rule-switch.on{background:var(--ok-soft);color:#047857}
.rule-switch.off{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.rule-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rule-meta .badge{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}
.rule-meta .badge--do{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}
.au-cfg{background:var(--surface-2);border:1px solid var(--line-2);border-radius:9px;padding:8px 11px;margin-top:6px;font-size:12.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.au-cfg select,.au-cfg input{border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-size:12.5px;background:var(--surface)}
.t-leads .trow{grid-template-columns:34px 90px 88px 1.6fr 1.4fr 1fr .9fr 1fr 1fr 44px;align-items:center}
.t-adr .trow{grid-template-columns:34px 1.7fr 1fr 1.5fr .8fr .8fr .5fr;align-items:center}
.rgroup{margin:12px 0 6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rec-extra b{color:var(--ink)}
.lead-cat{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px}
.ld-menu{text-align:center}
.ld-pop{position:fixed;z-index:120;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-2);padding:6px;width:230px;display:flex;flex-direction:column;gap:2px}
.ld-pop button{display:flex;align-items:center;gap:9px;border:none;background:none;padding:9px 11px;border-radius:8px;font-size:13px;color:var(--ink-2);text-align:left;width:100%}
.ld-pop button:hover{background:var(--surface-2)}
.ld-pop button.danger{color:var(--danger)}
.ava--xs{width:20px;height:20px;font-size:8px}
.t-queue .trow{grid-template-columns:1.4fr 1.6fr .9fr .9fr 90px}

/* ---------- import / backup ---------- */
.import-drop{border:1.5px dashed var(--line);border-radius:14px;background:var(--surface-2);padding:26px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}
.import-drop.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.import-drop .link{color:var(--accent);font-weight:700;cursor:pointer;text-decoration:underline}
.notice{background:var(--amber-soft);border:1px solid var(--amber-line);color:var(--amber-ink);border-radius:12px;padding:11px 13px;font-size:12.5px;line-height:1.45;margin-top:12px}
.preview{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;max-height:300px;margin-top:10px}
.preview table{border-collapse:collapse;width:100%;font-size:12px}
.preview th,.preview td{padding:7px 10px;border-bottom:1px solid var(--line-2);text-align:left;white-space:nowrap}
.preview th{background:var(--surface-2);font-weight:800;color:var(--muted)}
.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:6px 0}
.map-row label{display:block;font-size:11.5px;font-weight:800;color:var(--muted);margin-bottom:4px}
.map-row select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;background:var(--surface)}
.row-item select[data-kind]{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:12.5px;background:var(--surface);flex:0 0 auto}
.prob-wrap{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:3px 9px 3px 4px}
.prob-wrap input[data-prob]{border:none!important;padding:4px 4px!important;text-align:right;min-width:0!important;flex:0 0 auto!important;background:none!important}
.prob-lbl{font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap}

/* ---------- KPI bar ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:10px;position:relative;z-index:1;background:transparent;padding-bottom:0}
.kpiwrap{display:block}
.kpi-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 14px;font-size:11.5px;color:var(--muted)}
.kpi-legend span{display:inline-flex;align-items:center;gap:6px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;box-shadow:var(--shadow-1)}
.kpi__label{font-size:11.5px;color:var(--muted);font-weight:700}
.kpi__val{font-size:22px;font-weight:800;letter-spacing:-.01em;margin-top:5px;color:var(--ink)}
.kpi__sub{font-size:11px;color:var(--muted);margin-top:3px}
.kpis--stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.stat-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}
.bar-row{display:grid;grid-template-columns:130px 1fr auto;gap:11px;align-items:center;margin-bottom:9px;font-size:12.5px}
.bar-row__lbl{font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-row__track{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}
.bar-row__fill{height:100%;border-radius:999px;min-width:3px;transition:width .4s}
.bar-row__val{font-size:11.5px;color:var(--muted);white-space:nowrap}
.t-pipestat .trow{grid-template-columns:1.6fr .8fr .8fr 1fr}
.kpi--big .kpi__val{font-size:26px}
.kpi--big{border-left:3px solid var(--accent)}
.t-prod .trow{grid-template-columns:1.5fr .9fr 1fr 1.1fr 1.2fr .8fr}
.t-pl .trow{grid-template-columns:.6fr 1.8fr .9fr .9fr 1.3fr .6fr 1.2fr}
.pcat{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px}
.pcat--pink{background:#fdecf2;color:#c026a3}.pcat--purple{background:#f0eafc;color:#6d28d9}.pcat--blue{background:#eaf1fe;color:#1d4fc4}.pcat--green{background:#e7f7ee;color:#157a42}.pcat--amber{background:#fdf2dc;color:#a06800}.pcat--gray{background:#f0eee9;color:#5b5348}
.ptag{display:inline-block;font-size:10px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);margin-left:4px}
.t-prod .trow--body.is-off{opacity:.5}
.dprod{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:9px;margin-bottom:6px}
.dprod__main{flex:1;min-width:0}
.dprod__sum{text-align:right;font-size:12.5px;color:var(--muted);margin-top:6px}
.dprod__sum b{color:var(--ink)}
.dp-table{border:1px solid var(--line);border-radius:10px;overflow-x:auto;font-size:12px}
.dp-row{display:grid;grid-template-columns:60px 1.4fr 84px 66px 84px 52px 88px 30px;gap:6px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line-2);min-width:560px}
.dp-row:last-child{border-bottom:none}
.dp-head{background:var(--surface-2);font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700}
.dp-num{text-align:right;font-variant-numeric:tabular-nums}
.dp-code{color:var(--muted);font-family:var(--mono)}
.dp-tot{font-weight:800}
@media(max-width:640px){.dp-row{grid-template-columns:1.4fr 70px 90px 26px}.dp-row>span:nth-child(1),.dp-row>span:nth-child(3),.dp-row>span:nth-child(5){display:none}}
.cmp-pick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.t-scroll{overflow-x:auto}
.t-usercmp{min-width:760px}
.t-usercmp .trow{grid-template-columns:1.6fr .7fr .8fr .8fr .8fr .9fr 1.2fr 1.2fr 1.1fr}
.t-usercmp .trow--head{font-size:10.5px}
.t-usercmp .trow{grid-template-columns:1.8fr .7fr .8fr 1fr 1fr}
.kpi--custom{cursor:pointer;border-color:rgba(225,35,29,.25)}
.kpi--custom:hover{border-color:var(--accent)}
.kpi-edit{opacity:.5}
.stage-rules{display:flex;flex-direction:column;gap:8px}
.srule{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 80px;gap:8px;align-items:center}
.srule__name{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600}
.srule select,.srule input{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:12.5px;background:var(--surface)}
@media(max-width:760px){.srule{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.stat-cols{grid-template-columns:1fr}}
/* sales chart + funnel (Raynet-style) */
.sc-chart{display:flex;align-items:flex-end;gap:6px;height:200px;padding-top:20px}
.sc-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.sc-val{font-size:9.5px;color:var(--muted);font-weight:700;margin-bottom:4px;white-space:nowrap}
.sc-bar{width:70%;max-width:34px;background:linear-gradient(180deg,#5b8def,#7c3aed);border-radius:5px 5px 0 0;min-height:2px;transition:height .4s}
.sc-lbl{font-size:9.5px;color:var(--muted);margin-top:6px}
.fn-row{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.fn-badge{width:34px;height:34px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;flex:0 0 auto}
.fn-mid{flex:1;min-width:0}
.fn-name{font-size:12.5px;font-weight:700;margin-bottom:4px}
.fn-track{height:8px;background:var(--surface-2);border-radius:5px;overflow:hidden}
.fn-fill{height:100%;border-radius:5px;transition:width .4s}
.fn-right{text-align:right;flex:0 0 auto}
.fn-right b{font-size:13px;display:block}
.fn-right small{font-size:10.5px;color:var(--muted)}

/* ---------- tabs ---------- */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}
.tab{border:none;background:none;padding:10px 16px;font-size:13.5px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--accent-ink);border-bottom-color:var(--accent)}

/* ---------- status badges ---------- */
.status{font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:999px;display:inline-block}
.status--draft{background:var(--chip-soft-2);color:#c7c9d6}
.status--sent{background:var(--amber-soft);color:var(--amber-ink)}
.status--signed{background:var(--ok-soft);color:#047857}
.status--nova{background:var(--accent-soft);color:var(--accent-ink)}
.status--resi_se{background:var(--amber-soft);color:var(--amber-ink)}
.status--vyresena{background:var(--ok-soft);color:#047857}

/* ---------- doc / generic tables ---------- */
.t-docs .trow{grid-template-columns:1.8fr 1.2fr .8fr 1.1fr .8fr 50px}
.t-rules .trow{grid-template-columns:1.5fr 1.3fr 1.3fr .9fr}
.t-queue .trow{grid-template-columns:1.4fr 1.6fr .9fr .9fr}
.t-users .trow{grid-template-columns:1.3fr .9fr 2.2fr .9fr}
.sa-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.doc-name{display:inline-flex;align-items:center;gap:9px;font-weight:600}
.doc-name .i{color:var(--accent)}
.row-actions{display:flex;justify-content:flex-end}
.row-actions .iconbtn{text-decoration:none}
.validity{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#047857;background:var(--ok-soft);border-radius:6px;padding:2px 8px}
.validity--soon{color:var(--amber-ink);background:var(--amber-soft)}

/* ---------- card grid (templates / calc) ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.mini-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px;box-shadow:var(--shadow-1);cursor:pointer;transition:.15s}
.mini-card:hover{transform:translateY(-2px);border-color:#dfe2ea;box-shadow:var(--shadow-2)}
.mini-card__top{display:flex;align-items:center;gap:9px;font-size:14px}
.mini-card__top .i{color:var(--accent)}
.mini-card__sub{font-size:12px;color:var(--muted);margin-top:8px}

/* ---------- calc editor ---------- */
.calc-row{display:grid;grid-template-columns:1fr 70px 100px 34px;gap:7px;margin-bottom:7px}
.calc-row input{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;background:var(--surface)}
.calc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.calc-total{font-size:15px;color:var(--muted)}
.calc-total b{font-size:22px;color:var(--ink);font-weight:800}

/* ---------- records feed ---------- */
.rec-feed{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden}
.rec-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-2)}
.rec-item:last-child{border-bottom:none}
.rec-ic{width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.rec-ic--deleted,.rec-ic--lost{background:var(--danger-soft);color:var(--danger)}
.rec-ic--won{background:var(--ok-soft);color:var(--ok)}
.rec-line{font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rec-ent{font-size:11px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1px 7px}
.rec-extra{font-size:12px;color:var(--ink-2)}
.rec-sub{font-size:11.5px;color:var(--muted);margin-top:2px}

/* ---------- agenda ---------- */
.agenda{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}
.ag-col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r)}
.ag-col--overdue{background:#fef2f2;border-color:#fecaca}
.ag-col__head{display:flex;align-items:center;gap:8px;padding:12px 14px;font-weight:800;font-size:13px;border-bottom:1px solid var(--line-2)}
.ag-col__head .col__count{margin-left:auto}
.ag-col__body{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:40px}
.agenda-item{display:flex;align-items:flex-start;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px}
.agenda-item.is-done{opacity:.6}
.agenda-item.is-done .ag-title{text-decoration:line-through}
.ag-check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);background:var(--surface);flex:0 0 auto;display:grid;place-items:center;color:#fff;margin-top:1px}
.ag-check.on{background:var(--ok);border-color:var(--ok)}
.ag-body{flex:1;min-width:0}
.ag-title{font-size:13px;font-weight:700;line-height:1.3}
.ag-sub{font-size:11px;color:var(--muted);margin-top:3px}
.ag-type{font-size:10px;font-weight:800;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;flex:0 0 auto}

/* ---------- access ---------- */
.chip-check{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:4px 9px;margin:0 5px 5px 0;cursor:pointer}
.chip-check input{width:14px;height:14px}
.rights-cell{display:flex;flex-wrap:wrap}
.role-sel{border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12.5px;background:var(--surface);font-weight:600}
.mod-list{display:flex;flex-direction:column;gap:9px}
.mod-row{display:flex;align-items:center;gap:13px;padding:13px 15px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}
.mod-row.is-base{background:var(--surface)}
.mod-row__ic{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.mod-row__info{flex:1;display:flex;align-items:center;gap:10px}
.toggle{position:relative;display:inline-block;width:42px;height:24px;flex:0 0 auto}
.toggle input{opacity:0;width:0;height:0}
.toggle__sw{position:absolute;inset:0;background:var(--line);border-radius:999px;transition:.2s;cursor:pointer}
.toggle__sw::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle input:checked + .toggle__sw{background:var(--accent)}
.toggle input:checked + .toggle__sw::before{transform:translateX(18px)}
.toggle input:disabled + .toggle__sw{opacity:.5;cursor:not-allowed}

@media(max-width:860px){
  .app{grid-template-columns:64px 1fr}
  .side__name,.side__item span:not(.i),.side__uinfo{display:none}
  .side__item{justify-content:center}
  .side__user{justify-content:center}
}
.pf-wrap{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}
.pf-card{text-align:center;padding:22px}
.pf-photo-wrap{display:flex;justify-content:center;margin-bottom:12px}
.pf-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block}
.pf-photo--ph{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);font-size:40px;font-weight:800}
.pf-name{font-size:16px;font-weight:800;margin-top:12px}
.pf-role{font-size:12.5px;color:var(--muted)}
.pf-main{display:flex;flex-direction:column;gap:15px}
.pe-stage{position:relative;width:320px;height:320px;margin:0 auto;border-radius:12px;overflow:hidden;touch-action:none;background:#101116}
.pe-stage canvas{display:block;cursor:grab}
.pe-ring{position:absolute;inset:0;pointer-events:none;box-shadow:0 0 0 999px rgba(20,26,42,.35);border-radius:50%}
@media(max-width:760px){
  .pf-wrap{grid-template-columns:1fr}
  .drawer{width:94vw}
  .form-grid{grid-template-columns:1fr}
  .cal-wrap{grid-template-columns:1fr}
  .agenda{grid-template-columns:1fr}
  .t-users .trow{grid-template-columns:1fr}
}

/* ============================================================
   DESIGN POLISH — vizuální vyladění (nemění funkčnost ani layout)
   ============================================================ */
.view{background:linear-gradient(180deg,var(--surface-2),var(--bg) 320px)}

/* hlavičky sekcí uvnitř modulů — barevný pruh jako karty ve 2. systému */
.sec-title{position:relative;margin:20px calc(-1*var(--secpad,22px)) 12px;padding:11px var(--secpad,22px);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-ink);font-weight:800;background:var(--accent-soft)}
.sec-title:first-child{margin-top:-18px}
/* v modalu (padding 24px) žádný přetékající pruh — jen nadpis */
.modal .sec-title{margin:20px 0 10px;padding:0;background:none;color:var(--muted);font-size:11px;letter-spacing:.05em}
.modal .sec-title:first-child{margin-top:0}

/* panely a karty — jemnější stín, hover */
.panel{border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 8px 24px -16px rgba(0,0,0,.4);transition:box-shadow .2s}
.panel h3{letter-spacing:-.01em}
.empty-hero{border-radius:20px;box-shadow:0 1px 2px rgba(18,24,40,.04),0 18px 50px -28px rgba(18,24,40,.3)}
.mini-card,.rule-card,.bcard,.adr-card,.inv-card,.event-card{transition:transform .16s,box-shadow .2s,border-color .2s}
.mini-card:hover,.rule-card:hover,.bcard:hover,.adr-card:hover,.event-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px -18px rgba(18,24,40,.4)}

/* toolbar — vzdušnější */
.toolbar{padding-bottom:2px}
#ldTable ~ *, .toolbar .btn--sm, .toolbar .select-box, .toolbar .chip-check{font-size:12.4px}
.toolbar .btn--sm{padding:7px 11px}
.toolbar .select-box{padding:6.6px 11px}
.search,.select-box{border-radius:11px;transition:border-color .15s,box-shadow .15s}
.search:focus-within,.select-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}

/* tabulky — čistší řádky */
.table{border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 10px 30px -22px rgba(0,0,0,.5)}
.trow--head{letter-spacing:.06em;background:var(--surface-2);color:var(--muted)}
.trow--body{transition:background .12s}
.trow--body:hover{background:var(--accent-soft)}

/* KPI dlaždice — barevný akcent */
.kpi{border-radius:14px;position:relative;overflow:hidden;transition:transform .16s,box-shadow .2s}
.kpi:hover{transform:translateY(-2px);box-shadow:0 14px 30px -20px rgba(18,24,40,.4)}
.kpi::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad)}
.kpi__val{color:var(--ink);letter-spacing:-.02em}

/* tabs — podtržení s přechodem */
.tab{transition:color .15s}
.tab.active{position:relative}

/* tlačítka — jemný lift */
.btn{transition:transform .12s,box-shadow .15s,background .15s,filter .15s}
.btn--primary:hover{transform:translateY(-1px)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent-ink)}

/* status odznaky — kulatější a barevnější */
.status{border-radius:999px;padding:3px 10px;font-weight:800;letter-spacing:.02em}
.status--none{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}

/* drawer — výraznější hlavička */
.drawer__head{background:var(--surface-2);border-bottom:1px solid var(--line)}
.drawer__title{letter-spacing:-.015em}
.chip{border-radius:999px}

/* pole detailu — řádky se světlým oddělením */
.field{transition:background .12s;border-radius:8px}
.field:hover{background:var(--surface-2)}

/* prázdné stavy — přívětivější */
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:14px;color:var(--muted);padding:34px;text-align:center}

/* ---- Chat (týmová diskuze + vlákna k dealům) ---- */
.chat-shell{display:flex;gap:0;height:calc(100vh - 140px);max-width:1100px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.chat-side{width:230px;flex:none;background:var(--surface-2);border-right:1px solid var(--line-2);padding:12px 0;overflow-y:auto}
.chat-side__item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:none;padding:9px 14px;font-size:13px;color:var(--ink-2);cursor:pointer;border-radius:0}
.chat-side__item:hover{background:var(--surface)}
.chat-side__item.active{background:var(--surface);color:var(--accent-ink);font-weight:700;border-left:3px solid var(--accent)}
.chat-side__item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-side__hd{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.chat-side__hd--closed{margin-top:4px}
.chat-wrap{display:flex;flex-direction:column;flex:1;min-width:0;padding:18px 22px}
.chat-head h2{margin:0 0 4px;display:flex;align-items:center;gap:8px;font-size:17px}
.chat-head p{margin:0 0 14px;font-size:12.5px}
.chat-head__row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lnk{color:var(--accent-ink);cursor:pointer;text-decoration:underline}
.chat-log{flex:1;overflow-y:auto;background:var(--surface-2);border:1px solid var(--line-2);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}
.chat-msg{display:flex;flex-direction:column;max-width:78%}
.chat-msg--me{align-self:flex-end;align-items:flex-end}
.chat-msg__meta{font-size:11px;color:var(--muted);margin-bottom:2px;display:flex;gap:8px}
.chat-msg__bubble{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:9px 13px;font-size:13.5px;line-height:1.5;white-space:pre-wrap}
.chat-msg--me .chat-msg__bubble{background:var(--accent);color:#fff;border-color:var(--accent)}
.chat-input-row{display:flex;gap:10px;margin-top:12px;align-items:flex-end}
.chat-input-row textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font:inherit;font-size:13.5px;max-height:120px;min-height:42px}
.chat-input-row textarea:focus{outline:none;border-color:var(--accent)}
.nav-badge{margin-left:auto;background:#e0483d;color:#fff;font-size:10.5px;font-weight:800;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}

/* formulářové prvky — konzistentní focus */
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{box-shadow:0 0 0 3px var(--accent-soft)}

/* mini-card a rule ikona — barevné pozadí */
.mini-card__top .i,.rule-head .i{color:var(--accent)}

/* jemné zvýraznění aktivního accordion v levém menu zůstává beze změny */

/* ---------- Nástěnka (dashboard) ----------
   12sloupcová mřížka s pevným rozpětím widgetů a align-items:start —
   widgety se drží obsahu a neroztahují se do prázdna. */
.dash{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:start}
.dkpis{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.dkpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.dkpi__l{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dkpi__v{font-family:var(--mono);font-size:19px;font-weight:800;line-height:1.15;letter-spacing:-.02em}
.dkpi__s{font-size:11px;color:var(--muted)}
.dkpi--ok .dkpi__v{color:var(--ok)}
.dkpi--bad .dkpi__v{color:var(--danger)}
.wdg--chart{grid-column:span 7}
.wdg--funnel{grid-column:span 5}
.wdg--acts{grid-column:span 5}
.wdg--notes{grid-column:span 4}
.wdg--online{grid-column:span 3}
@media(max-width:1500px){.wdg--chart{grid-column:span 12}.wdg--funnel,.wdg--acts,.wdg--notes{grid-column:span 6}.wdg--online{grid-column:span 6}}
@media(max-width:900px){.dash>.wdg{grid-column:1/-1}}
.wdg{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden;display:flex;flex-direction:column}
.wdg__h{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--line-2)}
.wdg__i{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#fff;flex:0 0 auto}
.wdg__i.c-gr{background:linear-gradient(135deg,#22c07a,#12965b)}.wdg__i.c-pu{background:var(--grad)}.wdg__i.c-bl{background:linear-gradient(135deg,#2f7bff,#1d54c4)}.wdg__i.c-am{background:linear-gradient(135deg,#e0a83a,#b8801f)}
.wdg__t{font-weight:800;font-size:13.5px}
.wdg__b{padding:13px 14px;flex:1;min-width:0}
.dash-chart{display:flex;align-items:flex-end;gap:10px;height:142px}
.dch{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px;min-width:0}
.dch__bar{width:70%;max-width:56px;background:linear-gradient(180deg,#22c07a,#12965b);border-radius:5px 5px 0 0;min-height:2px}
.dch__v{font-size:10px;font-weight:700;color:var(--ok)}.dch__l{font-size:9.5px;color:var(--muted);white-space:nowrap}
.dfuns{display:flex;flex-direction:column;gap:9px;max-height:330px;overflow:auto}
.dfun{margin:0}
.dfun__top{display:flex;align-items:center;gap:9px;margin-bottom:4px}
.dfun__n{min-width:23px;height:23px;padding:0 6px;border-radius:999px;color:#fff;font-size:11.5px;font-weight:800;display:grid;place-items:center;flex:0 0 auto}
.dfun__name{font-size:12.5px;font-weight:600;flex:1}.dfun__val{font-size:12px;font-weight:700;color:var(--ink)}
.dfun__bar{height:6px;background:var(--line);border-radius:4px;overflow:hidden}.dfun__bar i{display:block;height:100%;border-radius:4px}
.dacts{display:flex;flex-direction:column;max-height:300px;overflow:auto}
.dact{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line-2);font-size:12.5px}.dact:last-child{border:none}
.dact__dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:0 0 auto}.dact__dot.od{background:var(--danger)}
.dact__t{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}
.dact__ttl{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.dact__who{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38%}
.dact__q{display:flex;gap:4px;flex:0 0 auto;margin-left:auto}
.dact__win,.dact__lose{width:22px;height:22px}
.dact__win{color:var(--ok)}
.dact__win:hover{background:rgba(22,163,74,.12)}
.dact__lose{color:var(--danger)}
.dact__lose:hover{background:rgba(220,38,38,.12)}
.dash-link{margin-top:10px;color:var(--accent-ink);font-weight:700;font-size:12.5px;cursor:pointer}
.dnotes{display:flex;flex-direction:column;gap:9px;max-height:300px;overflow:auto}
.dnote{border-bottom:1px solid var(--line-2);padding-bottom:9px}.dnote:last-child{border:none;padding:0}
.dnote__h{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:3px}.dnote__h .muted{font-size:11px;white-space:nowrap}
.dnote__t{font-size:12.5px;color:var(--ink-2);line-height:1.4}
.dsum__row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13px}.dsum__row:last-child{border:none}.dsum__row b{font-family:var(--mono)}
.donline{display:flex;align-items:center;gap:9px}
.donline__b{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.donline__b b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.donline__b .muted{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.donline .status-dot{margin-left:auto;flex:0 0 auto}
.donline-list{display:flex;flex-direction:column;gap:7px;max-height:260px;overflow:auto}
.ac-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px}
.ac-title{font-size:20px;margin:0;font-weight:800}
.ac-sub{font-size:12.5px;color:var(--muted);margin:3px 0 0}
.ac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.ac-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.ac-card__top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ac-card__who{display:flex;flex-direction:column;min-width:0;flex:1}
.ac-card__who b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-card__who .mono{font-size:11px;color:var(--muted)}
.ac-card__row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line-2)}
.ac-card__lbl{font-size:11.5px;color:var(--muted);font-weight:700}
.ac-card__row select{max-width:170px}
.ac-card__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}

/* onboarding */
.ob{text-align:center;padding:8px 6px 4px}
.ob-ic{width:60px;height:60px;border-radius:16px;background:var(--grad,linear-gradient(135deg,#7c3aed,#ff2d95));color:#fff;display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 8px 22px -8px rgba(124,58,237,.6)}
.ob-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;margin-bottom:8px}
.ob-badge.ok{background:#e7f7ee;color:#157a42}.ob-badge.todo{background:#fff3d6;color:#a06800}
.ob-h{font-size:21px;font-weight:800;letter-spacing:-.01em;margin:0 0 8px}
.ob-t{font-size:14px;color:var(--ink-2);line-height:1.55;max-width:42ch;margin:0 auto 16px}
.ob-go{margin:0 auto 6px}
.ob-hint{background:var(--acc-soft,#f5ecff);color:var(--ink-2);border-radius:10px;padding:11px 13px;font-size:12.5px;line-height:1.5;margin:2px auto 4px;max-width:40ch;text-align:left}
.ob-dots{display:flex;justify-content:center;gap:7px;margin:14px 0 4px}
.ob-dot{width:7px;height:7px;border-radius:50%;background:var(--line);transition:.2s}
.ob-dot.on{background:var(--acc,#7c3aed);width:22px;border-radius:4px}
.ob-dot.done{background:#9db8a6}
.ob-foot{display:flex;justify-content:space-between;gap:10px;margin-top:14px}
.ob-foot .btn{flex:1}
.empty-tip{text-align:center;max-width:420px;margin:40px auto;padding:30px 24px;background:var(--surface);border:1px dashed var(--line);border-radius:16px}
.empty-tip__ic{width:52px;height:52px;border-radius:14px;background:var(--acc-soft,#f5ecff);color:var(--acc,#7c3aed);display:grid;place-items:center;margin:0 auto 12px}
.empty-tip h3{margin:0 0 6px;font-size:16px}
.empty-tip p{margin:0 0 16px;font-size:13px;color:var(--muted);line-height:1.5}
.ob-pill{position:fixed;left:16px;bottom:16px;z-index:70;display:flex;align-items:center;gap:8px;background:var(--grad,linear-gradient(135deg,#7c3aed,#ff2d95));color:#fff;border:none;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:700;box-shadow:0 10px 26px -8px rgba(124,58,237,.6);cursor:pointer}
.ob-pill em{font-style:normal;opacity:.8;margin-left:2px;padding:0 2px}
.ob-pill:hover{filter:brightness(1.05)}

/* reporting pro vedení */
.rep-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.rep-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-1)}
.rep-kpi__t{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:600}
.rep-kpi__v{font-size:23px;font-weight:800;letter-spacing:-.01em;margin-top:6px;font-family:var(--mono)}
.rep-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}
.rep-tbl{width:100%;border-collapse:collapse;font-size:13px}
.rep-tbl th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--line)}
.rep-tbl td{padding:9px 8px;border-bottom:1px solid var(--line-2);vertical-align:top}
.rep-bar{height:5px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:4px}
.rep-bar>i{display:block;height:100%;background:var(--grad,linear-gradient(90deg,#7c3aed,#ff2d95))}
.rep-funnel{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:10px;margin-bottom:10px;font-size:12.5px}
.rep-funnel b{font-family:var(--mono)}
@media(max-width:900px){.rep-kpis{grid-template-columns:repeat(2,1fr)}.rep-cols{grid-template-columns:1fr}}
@media print{.toolbar,.side,.topbar,.ob-pill,.fab,.assistant-fab{display:none!important} .rep-kpis{grid-template-columns:repeat(3,1fr)}}

/* marketing — externí data (Konverzky páteří) */
.ext-camp-list{display:flex;flex-direction:column;gap:8px}
.ext-camp-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.ext-camp-head{display:flex;align-items:center;gap:14px;padding:10px 14px;cursor:pointer;flex-wrap:wrap}
.ext-camp-head b{flex:1;min-width:160px;font-size:13px}
.ext-camp-kpis{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.ext-camp-kpis span{white-space:nowrap}
.ext-konv-ok{color:var(--ok,#1a9e5c);font-weight:700}
.ext-konv-none{color:var(--muted)}
.ext-chevron{margin-left:auto;color:var(--muted)}
.ext-ad-table{border-top:1px solid var(--line);background:var(--surface-2)}
.ext-ad-row{display:grid;grid-template-columns:2fr .8fr .6fr .6fr .7fr .6fr .8fr;gap:8px;padding:7px 14px;font-size:12px;align-items:center}
.ext-ad-row--head{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.ext-ad-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:14px}
.mkt-crumb{cursor:pointer;color:var(--muted)}
.mkt-crumb--active{color:var(--ink);font-weight:700;cursor:default}
.mkt-crumb-sep{color:var(--muted)}
.mkt-listhead{display:flex;align-items:center;margin-bottom:10px}
.mkt-row{display:flex;align-items:center;gap:10px;padding:13px 4px;border-bottom:1px solid var(--line-2);cursor:pointer}
.mkt-row:last-child{border-bottom:none}
.mkt-row:hover{background:var(--surface-2)}
.mkt-row--off{opacity:.5}
.mkt-row--head{cursor:default;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800;padding:8px 4px;background:var(--surface-2);border-radius:8px;margin-bottom:4px}
.mkt-row--head:hover{background:var(--surface-2)}
.mkt-row__name{flex:1;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-cell{min-width:84px;text-align:right;font-variant-numeric:tabular-nums}
.mkt-cell strong{display:block;font-size:12.5px;font-weight:700;color:var(--ink)}
.mkt-cell small{display:block;font-size:9.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-top:1px}
.mkt-row--head .mkt-cell small{margin-top:0;text-transform:none;font-size:10.5px}
.mkt-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}
.mkt-title{font-size:20px;margin:0;font-weight:800}
.mkt-sub{font-size:12.5px;color:var(--muted);margin:3px 0 0}
.mkt-datepill{border-radius:999px;font-weight:700}
.mkt-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}
.mkt-kpi{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 14px;position:relative;overflow:hidden}
.mkt-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kacc,#7c3aed)}
.mkt-kpi__label{font-size:11px;color:var(--muted);font-weight:700}
.mkt-kpi__val{font-size:19px;font-weight:800;margin-top:4px;letter-spacing:-.01em}
.mkt-row__name{flex:1;overflow:hidden}
.mkt-row__name b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-row__name small{display:block;font-size:10px;color:var(--muted);margin-top:1px}
@media(max-width:1100px){.mkt-kpis{grid-template-columns:repeat(3,1fr)}}
.mkt-detail-btn{background:var(--danger,#c62828);color:#fff;border:none}
.mkt-detail-btn:hover{filter:brightness(1.08)}
.mkt-row--campaign{background:rgba(124,58,237,.16);border-left:4px solid #7c3aed;border-radius:8px;padding-left:8px;margin-bottom:4px}
.mkt-row--adset{background:rgba(255,140,0,.15);border-left:4px solid #ff8c00;border-radius:8px;padding-left:8px;margin-bottom:4px}
.mkt-row--ad{background:rgba(236,72,153,.15);border-left:4px solid #ec4899;border-radius:8px;padding-left:8px;margin-bottom:4px}
.mkt-row--campaign:hover{background:rgba(124,58,237,.24)}
.mkt-row--adset:hover{background:rgba(255,140,0,.23)}
.mkt-row--ad:hover{background:rgba(236,72,153,.23)}
.mkt-loadmore{display:flex;align-items:center;gap:10px;justify-content:center;padding:12px 0 2px}
.lvl-badge{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.03em;padding:2px 7px;border-radius:5px;margin-right:8px;flex:0 0 auto}
.lvl-badge--campaign{background:#e8ecfd;color:#3949c4}
.lvl-badge--adset{background:#e3f6f0;color:#0d7a5f}
.lvl-badge--ad{background:#fff1de;color:#a65a00}
.status-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;margin-right:2px}
.status-dot--on{background:#1a9e5c;box-shadow:0 0 0 3px rgba(26,158,92,.15)}
.status-dot--off{background:#c7c9d1}
.ext-ad-row--adset{background:var(--surface);font-weight:600}
.ext-camp-head.is-clickable{cursor:pointer}

/* --- proklikávací sekce v detailu dealu (Raynet styl) --- */
.dpanel[hidden]{display:none}
.dpanel__head{display:flex;align-items:center;gap:12px;margin:-4px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.dback{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:7px 13px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
.dback:hover{background:var(--line)}
.dpanel__t{font-size:14px;font-weight:800;letter-spacing:-.01em}
.dpanel .dsum{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.dpanel .dsum__row{flex:1 1 200px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:11px 14px;display:flex;flex-direction:column;gap:3px;min-width:0;justify-content:flex-start;border-bottom:1px solid var(--line);font-size:inherit}
.dpanel .dsum__k{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.dpanel .dsum__v{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.dpanel .dsum__v--big{font-size:20px;letter-spacing:-.02em}
.dtile{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:9px;cursor:pointer;color:var(--ink);font-family:inherit;transition:background .13s,border-color .13s,transform .13s}
.dtile:hover{background:var(--line);border-color:var(--accent);transform:translateX(2px)}
.dtile>.i,.dtile>.i svg{flex:0 0 auto;color:var(--accent)}
.dtile__b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dtile__b b{font-size:13.5px;font-weight:700}
.dtile__b span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dtile__go{flex:0 0 auto;font-size:20px;color:var(--muted);line-height:1}

/* --- lišta otevřených karet (jako v prohlížeči) --- */
.tabbar{display:flex;align-items:stretch;gap:4px;padding:0 18px;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;min-height:38px;flex:0 0 auto}
.tabbar--empty{display:none}
.tabbar .tab{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 13px;border:1px solid transparent;border-bottom:none;border-radius:9px 9px 0 0;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;max-width:230px;flex:0 0 auto;background:transparent;transition:background .12s,color .12s}
.tabbar .tab:hover{background:var(--surface-2);color:var(--ink)}
.tabbar .tab>.i,.tabbar .tab>.i svg{flex:0 0 auto;opacity:.8}
.tabbar .tab__l{overflow:hidden;text-overflow:ellipsis;max-width:150px}
.tabbar .tab--active{background:var(--bg);border-color:var(--line);color:var(--ink);font-weight:700;position:relative}
.tabbar .tab--active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}
.tabbar .tab--active>.i,.tabbar .tab--active>.i svg{color:var(--accent);opacity:1}
.tabbar .tab__x{background:none;border:none;color:var(--muted);font-size:16px;line-height:1;padding:0 3px;border-radius:5px;cursor:pointer;font-family:inherit;flex:0 0 auto}
.tabbar .tab__x:hover{background:var(--line);color:var(--ink)}
.tabbar .tab__all{margin:6px 0 6px auto;background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:0 11px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit;flex:0 0 auto;white-space:nowrap}
.tabbar .tab__all:hover{color:var(--ink);border-color:var(--accent)}
@media(max-width:760px){.tabbar{padding:0 10px}.tabbar .tab{max-width:150px}.tabbar .tab__l{max-width:80px}.tabbar .tab__all{display:none}}

/* --- výběr předmětu / oblasti v dealu --- */
.subj-list{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}
.subj-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-size:13px;cursor:pointer}
.subj-item:hover{border-color:var(--accent)}
.subj-item input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--accent);cursor:pointer}
.subj-item span{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* --- globální duplicity --- */
.dup-badge--inline{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;margin-left:6px;position:static}
.dup-warn--merged{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,transparent)}
.dup-warn__sub .dup-link{margin:2px 4px 2px 0}

.sel-cell{display:flex;align-items:center;justify-content:center;cursor:pointer;height:100%;width:100%}
.sel-cell input[type="checkbox"]{pointer-events:none}
.sel-cell--card{position:absolute;left:6px;top:6px;width:26px;height:26px;border-radius:7px}
.adr-card{position:relative}
.adr-card .ava{margin-left:22px}
.src-note{padding:12px 14px;font-size:12.5px;line-height:1.55;white-space:pre-wrap;color:var(--ink)}

/* ============================================================
   SVĚTLÉ TÉMA — přepínač v horní liště (ukládá se do prohlížeče)
   Stejná struktura proměnných, jen světlé hodnoty.
   ============================================================ */
html[data-theme="light"]{
  --bg:#f5f6fa; --surface:#ffffff; --surface-2:#f3f4f9;
  --ink:#181920; --ink-2:#4a4d5e; --muted:#6f7283; --muted-2:#9295a5;
  --line:#e3e5ee; --line-2:#edeff5;
  --accent:#6841ee; --accent-2:#8a6cff; --accent-soft:#f0eafc; --accent-ink:#5a3fd6;
  --grad-soft:linear-gradient(135deg,rgba(47,123,255,.10),rgba(138,58,255,.10) 52%,rgba(255,45,149,.10));
  --side-bg:#ffffff; --side-line:rgba(24,25,32,.09); --side-ink:#4a4d5e; --side-ink-2:#9295a5;
  --ok:#157a42; --ok-soft:#e7f7ee; --warn:#a06800; --danger:#c62828; --danger-soft:#fdeaea;
  --amber-soft:#fdf2dc; --amber-line:#f0dcae; --amber-ink:#8a6100;
  --chip-soft:#f0f1f6; --chip-soft-2:#eceef4;
  --shadow-1:0 1px 2px rgba(24,25,32,.05), 0 4px 14px rgba(24,25,32,.07);
  --shadow-2:0 12px 40px rgba(24,25,32,.14);
  color-scheme:light;
}
html[data-theme="light"] .side__item.active{background:var(--accent-soft);color:var(--accent-ink)}
html[data-theme="light"] .side__item:hover{background:var(--chip-soft);color:var(--ink)}
html[data-theme="light"] .side__name,html[data-theme="light"] .side__uinfo b{color:var(--ink)}
.side__name{color:var(--ink)}
html[data-theme="light"] .side__item.active .i{color:var(--accent-ink)}
html[data-theme="light"] .asst-head,html[data-theme="light"] .toast,html[data-theme="light"] .modal .webhook-box,html[data-theme="light"] .webhook-box{color:#fff}
html[data-theme="light"] .btn--primary{color:#fff}
html[data-theme="light"] .tag--C{color:var(--ink-2)}
html[data-theme="light"] .status--draft{color:var(--ink-2)}
html[data-theme="light"] .pe-stage{background:#e9ebf2}
html[data-theme="light"] .card{box-shadow:var(--shadow-1)}

/* ============================================================
   DARK MODE — tmavé pipeline karty dle GT reference.
   Scope html[data-theme="dark"] → světlý motiv (bílé karty, tmavý text) zůstává netknutý.
   ============================================================ */
html[data-theme="dark"] .card{background:linear-gradient(180deg,#20233a,#1b1e30);border-color:var(--line)}
html[data-theme="dark"] .card--c-gray{background:linear-gradient(180deg,#1d2030,#191b28)}
html[data-theme="dark"] .card__title,html[data-theme="dark"] .card__val{color:var(--ink)}
html[data-theme="dark"] .card__who{color:var(--muted)}
html[data-theme="dark"] .card__cat{background:var(--chip-soft);color:var(--ink-2)}
html[data-theme="dark"] .card:hover{border-color:var(--accent)}
.theme-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:.15s;flex:0 0 auto}
.theme-btn:hover{color:var(--accent);border-color:var(--accent)}
.ld-next{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;white-space:nowrap}
.ld-next--over{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}

/* ============================================================
   GT ENTERPRISE DARK — 2026-08-28
   Vizuální sjednocení dark mode podle referenční GT appky.
   Záměrně scope pouze na dark/default theme, aby light mode zůstal beze změn.
   Nemění layout ani funkčnost — pouze barvy, povrchy, stíny, radius a interakční stavy.
   ============================================================ */

html:not([data-theme="light"]){
  color-scheme:dark;

  /* Core — neutrální charcoal/navy, ne "AI purple" */
  --bg:#0b0e14;
  --surface:#121722;
  --surface-2:#181e2b;
  --surface-3:#202636;
  --ink:#f0f2f7;
  --ink-2:#b9c0cd;
  --muted:#7f8898;
  --muted-2:#626b7a;
  --line:#2a3142;
  --line-2:#202634;

  /* Brand — fialová je akcent, ne plocha */
  --accent:#7357e8;
  --accent-2:#8b77f0;
  --accent-soft:rgba(115,87,232,.14);
  --accent-ink:#c3b8ff;
  --grad:linear-gradient(135deg,#7056df 0%,#8062ea 55%,#9b6fe8 100%);
  --grad-soft:linear-gradient(135deg,rgba(112,86,223,.12),rgba(128,98,234,.10) 55%,rgba(155,111,232,.08));

  /* Sidebar */
  --side-bg:#090c12;
  --side-line:#1c2230;
  --side-ink:#aeb6c4;
  --side-ink-2:#6f7888;

  /* Semantické barvy — záměrně tlumené */
  --ok:#67c98f;
  --ok-soft:#14281f;
  --warn:#d2ad5c;
  --danger:#e27681;
  --danger-soft:#2c171d;
  --amber-soft:#2a2415;
  --amber-line:#514422;
  --amber-ink:#dbc06c;
  --chip-soft:#202635;
  --chip-soft-2:#272d3c;

  --r:10px;
  --r-sm:8px;
  --shadow-1:0 1px 2px rgba(0,0,0,.28),0 5px 16px rgba(0,0,0,.12);
  --shadow-2:0 18px 44px rgba(0,0,0,.34);
}

/* ---------- globální plocha ---------- */
html:not([data-theme="light"]) body{
  background:linear-gradient(180deg,#0e1119 0,#0b0e14 260px);
  color:var(--ink);
}
html:not([data-theme="light"]) .view{
  background:transparent;
}
html:not([data-theme="light"]) ::selection{
  background:rgba(115,87,232,.38);
  color:#fff;
}

/* ---------- login ---------- */
html:not([data-theme="light"]) .login{
  background:radial-gradient(720px 420px at 50% -10%,rgba(115,87,232,.12),transparent 68%),var(--bg);
}
html:not([data-theme="light"]) .login__card{
  border-radius:12px;
  background:var(--surface);
  border-color:var(--line);
  box-shadow:var(--shadow-2);
}
html:not([data-theme="light"]) .login__card::before{
  height:2px;
  background:var(--accent);
}

/* ---------- shell / sidebar / topbar ---------- */
html:not([data-theme="light"]) .side{
  background:var(--side-bg);
  border-right-color:var(--side-line);
}
html:not([data-theme="light"]) .side__brand{
  border-bottom:1px solid var(--side-line);
  margin-bottom:8px;
  padding-bottom:16px;
}
html:not([data-theme="light"]) .side__cat{
  color:#687181;
  opacity:1;
  font-size:9.5px;
}
html:not([data-theme="light"]) .side__item{
  border-radius:7px;
  color:var(--side-ink);
  font-weight:600;
}
html:not([data-theme="light"]) .side__item:hover{
  background:#121722;
  color:#eef1f6;
}
html:not([data-theme="light"]) .side__item.active{
  background:#17172a;
  color:#f1efff;
  box-shadow:inset 2px 0 0 var(--accent);
}
html:not([data-theme="light"]) .side__item.active .i{
  color:#9d8df1;
}
html:not([data-theme="light"]) .side__item .i{
  color:#778091;
}
html:not([data-theme="light"]) .side__logout{
  background:#10141d;
  border-color:var(--side-line);
}
html:not([data-theme="light"]) .ava{
  background:#2a2f43;
  border:1px solid #3b4359;
  color:#ddd8ff;
}
html:not([data-theme="light"]) .topbar{
  background:#10141d;
  border-bottom-color:var(--line-2);
  padding-top:14px;
  padding-bottom:14px;
}
html:not([data-theme="light"]) .topbar__title{
  color:#f3f4f8;
  font-weight:780;
  letter-spacing:-.025em;
}
html:not([data-theme="light"]) .topbar__sub{
  color:#7e8796;
}
html:not([data-theme="light"]) .theme-btn,
html:not([data-theme="light"]) .help-btn,
html:not([data-theme="light"]) .mnav-btn{
  background:#141923;
  border-color:var(--line);
  color:#8c95a5;
  box-shadow:none;
}
html:not([data-theme="light"]) .theme-btn:hover,
html:not([data-theme="light"]) .help-btn:hover{
  background:#1a202c;
  border-color:#3a4356;
  color:#c8bfff;
}

/* ---------- otevřené karty / tabbar ---------- */
html:not([data-theme="light"]) .tabbar{
  background:#10141d;
  border-bottom-color:var(--line-2);
  gap:2px;
}
html:not([data-theme="light"]) .tabbar .tab{
  color:#747d8d;
  border-radius:7px 7px 0 0;
  font-weight:600;
}
html:not([data-theme="light"]) .tabbar .tab:hover{
  background:#161b25;
  color:#bbc2cf;
}
html:not([data-theme="light"]) .tabbar .tab--active{
  background:#171c27;
  border-color:#2a3140;
  color:#eef0f5;
}
html:not([data-theme="light"]) .tabbar .tab--active::after{
  height:2px;
  background:var(--accent);
}

/* ---------- typografie / sekční hlavičky ---------- */
html:not([data-theme="light"]) .sec-title{
  background:#27263c;
  color:#bdb5e8;
  border-top:1px solid #34334f;
  border-bottom:1px solid #34334f;
  font-size:10.5px;
  letter-spacing:.07em;
  padding-top:9px;
  padding-bottom:9px;
}
html:not([data-theme="light"]) .panel .sec-title,
html:not([data-theme="light"]) .drawer .sec-title{
  box-shadow:none;
}
html:not([data-theme="light"]) h1,
html:not([data-theme="light"]) h2,
html:not([data-theme="light"]) h3,
html:not([data-theme="light"]) h4{
  color:#f2f3f7;
}

/* ---------- panely / karty / dashboard ---------- */
html:not([data-theme="light"]) .panel,
html:not([data-theme="light"]) .wdg,
html:not([data-theme="light"]) .bcard,
html:not([data-theme="light"]) .mini-card,
html:not([data-theme="light"]) .adr-card,
html:not([data-theme="light"]) .inv-card,
html:not([data-theme="light"]) .event-card,
html:not([data-theme="light"]) .rule-card,
html:not([data-theme="light"]) .rec-feed,
html:not([data-theme="light"]) .help-card,
html:not([data-theme="light"]) .help-doc,
html:not([data-theme="light"]) .empty-hero{
  background:var(--surface);
  border-color:var(--line);
  border-radius:10px;
  box-shadow:var(--shadow-1);
}
html:not([data-theme="light"]) .mini-card:hover,
html:not([data-theme="light"]) .rule-card:hover,
html:not([data-theme="light"]) .bcard:hover,
html:not([data-theme="light"]) .adr-card:hover,
html:not([data-theme="light"]) .event-card:hover{
  transform:translateY(-1px);
  background:#151a25;
  border-color:#394255;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
html:not([data-theme="light"]) .wdg__h{
  background:#151a24;
  border-bottom-color:var(--line-2);
}
html:not([data-theme="light"]) .wdg__i{
  background:#252c3a !important;
  color:#a99af4;
}

/* ---------- KPI ---------- */
html:not([data-theme="light"]) .kpi{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:var(--shadow-1);
}
html:not([data-theme="light"]) .kpi::after{
  top:12px;
  bottom:12px;
  width:2px;
  background:#755fe0;
}
html:not([data-theme="light"]) .kpi:hover{
  transform:none;
  border-color:#343d50;
  box-shadow:var(--shadow-1);
}
html:not([data-theme="light"]) .kpi__val{
  color:#f3f4f7;
}

/* ---------- inputs / selecty / search ---------- */
html:not([data-theme="light"]) input,
html:not([data-theme="light"]) select,
html:not([data-theme="light"]) textarea,
html:not([data-theme="light"]) .search,
html:not([data-theme="light"]) .select-box,
html:not([data-theme="light"]) .dlg-pipe,
html:not([data-theme="light"]) .role-sel{
  background:#0f141d;
  border-color:var(--line);
  color:#e6e9ef;
  box-shadow:none;
}
html:not([data-theme="light"]) input::placeholder,
html:not([data-theme="light"]) textarea::placeholder{
  color:#606a7b;
}
html:not([data-theme="light"]) input:focus,
html:not([data-theme="light"]) select:focus,
html:not([data-theme="light"]) textarea:focus,
html:not([data-theme="light"]) .search:focus-within,
html:not([data-theme="light"]) .select-box:focus-within{
  border-color:#6e59d7;
  box-shadow:0 0 0 2px rgba(115,87,232,.19);
  outline:none;
}
html:not([data-theme="light"]) select option{
  color:#e6e9ef;
  background:#151a24;
}
html:not([data-theme="light"]) .form-row label,
html:not([data-theme="light"]) .field .k{
  color:#7e8796;
}
html:not([data-theme="light"]) .field .v{
  color:#d8dce4;
}
html:not([data-theme="light"]) .field:hover{
  background:#151a24;
}

/* ---------- tlačítka ---------- */
html:not([data-theme="light"]) .btn{
  border-radius:7px;
  font-weight:680;
  box-shadow:none;
}
html:not([data-theme="light"]) .btn--primary{
  background:#7158e2;
  border:1px solid #8069e9;
  color:#fff;
  box-shadow:0 2px 7px rgba(79,57,166,.25);
}
html:not([data-theme="light"]) .btn--primary:hover{
  background:#7e66e9;
  transform:none;
  filter:none;
}
html:not([data-theme="light"]) .btn--ghost{
  background:#151a24;
  color:#b7becb;
  border-color:#303747;
}
html:not([data-theme="light"]) .btn--ghost:hover{
  background:#1b202c;
  color:#edf0f5;
  border-color:#414a5e;
}
html:not([data-theme="light"]) .iconbtn{
  background:#131822;
  color:#7d8797;
  border-color:var(--line);
  border-radius:7px;
}
html:not([data-theme="light"]) .iconbtn:hover{
  background:#1a202b;
  color:#dce0e7;
}
html:not([data-theme="light"]) .btn--danger{
  background:var(--danger-soft);
  color:#e98a94;
}
html:not([data-theme="light"]) .btn--danger:hover{
  background:#361d24;
}

/* ---------- toolbar ---------- */
html:not([data-theme="light"]) .toolbar{
  gap:8px;
  margin-bottom:14px;
}
html:not([data-theme="light"]) .toolbar .search,
html:not([data-theme="light"]) .toolbar .select-box{
  min-height:38px;
}

/* ---------- tabulky — hlavní GT reference ---------- */
html:not([data-theme="light"]) .table{
  background:#151923;
  border-color:#2b3140;
  border-radius:10px;
  box-shadow:var(--shadow-1);
}
html:not([data-theme="light"]) .trow{
  border-bottom-color:#242a37;
  color:#b8bfca;
  padding-top:11px;
  padding-bottom:11px;
}
html:not([data-theme="light"]) .trow--head{
  background:#29283e;
  color:#a9a4c7;
  border-bottom-color:#34334c;
  font-size:10px;
  letter-spacing:.065em;
}
html:not([data-theme="light"]) .trow--body:nth-child(odd){
  background:#171b25;
}
html:not([data-theme="light"]) .trow--body:nth-child(even){
  background:#1a1f29;
}
html:not([data-theme="light"]) .trow--body:hover{
  background:#202633;
}
html:not([data-theme="light"]) .mono{
  color:#8b94a3;
}

/* ---------- pipeline / kanban ---------- */
html:not([data-theme="light"]) .board{
  gap:10px;
}
html:not([data-theme="light"]) .col{
  background:#11161f;
  border-color:#252c3a;
  border-radius:9px;
}
html:not([data-theme="light"]) .col__head{
  padding:11px 12px 7px;
}
html:not([data-theme="light"]) .col__name{
  color:#d9dde5;
  font-size:12px;
}
html:not([data-theme="light"]) .col__count{
  background:#1c2230;
  border-color:#2c3444;
  color:#8e98a8;
}
html:not([data-theme="light"]) .col__sum{
  color:#737d8e;
}
html:not([data-theme="light"]) .col__body{
  gap:8px;
}
html:not([data-theme="light"]) .card{
  background:#191e29;
  border:1px solid #2b3343;
  border-radius:8px;
  padding:11px 12px 10px;
  box-shadow:0 1px 2px rgba(0,0,0,.2);
}
html:not([data-theme="light"]) .card:hover{
  background:#1d2330;
  border-color:#3b455a;
  box-shadow:0 6px 16px rgba(0,0,0,.17);
  transform:translateY(-1px);
}
html:not([data-theme="light"]) .card--c-gray{
  background:#181d27;
}
html:not([data-theme="light"]) .card__title,
html:not([data-theme="light"]) .card__val{
  color:#edf0f4;
}
html:not([data-theme="light"]) .card__who{
  color:#8993a3;
}
html:not([data-theme="light"]) .card__cat{
  background:#242a38;
  color:#aeb6c3;
}
html:not([data-theme="light"]) .dup-badge{
  color:#d8bd64;
  background:#2b2617;
  border-color:#514622;
}
html:not([data-theme="light"]) .noact-bubble{
  color:#93b9ef;
  background:#182338;
  border-color:#2d456a;
}
html:not([data-theme="light"]) .card--noact{
  box-shadow:0 0 0 1px rgba(93,139,204,.28) inset;
}
html:not([data-theme="light"]) .card--dup{
  border-color:#574b27;
}

/* ---------- statusy / tagy ---------- */
html:not([data-theme="light"]) .status{
  padding:3px 8px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:10px;
}
html:not([data-theme="light"]) .status--draft,
html:not([data-theme="light"]) .status--none,
html:not([data-theme="light"]) .tag--C{
  background:#252b38;
  color:#aeb6c3;
  border-color:#343c4d;
}
html:not([data-theme="light"]) .status--sent,
html:not([data-theme="light"]) .status--resi_se,
html:not([data-theme="light"]) .tag--B{
  background:#2a2415;
  color:#d5b966;
  border-color:#4c4122;
}
html:not([data-theme="light"]) .status--signed,
html:not([data-theme="light"]) .status--vyresena,
html:not([data-theme="light"]) .tag--A,
html:not([data-theme="light"]) .validity{
  background:#14271f;
  color:#79d39c;
  border-color:#244632;
}
html:not([data-theme="light"]) .status--nova{
  background:#211c38;
  color:#b9abff;
  border-color:#3d3564;
}
html:not([data-theme="light"]) .validity--soon{
  background:#2a2415;
  color:#d5b966;
}

/* ---------- modal — DARK, ne bílý ---------- */
html:not([data-theme="light"]) .modal-back{
  background:rgba(4,6,10,.68);
  backdrop-filter:blur(2px);
}
html:not([data-theme="light"]) .modal{
  background:#17191f;
  color:var(--ink);
  border:1px solid #2d3340;
  border-radius:10px;
  box-shadow:0 22px 60px rgba(0,0,0,.5);
}
html:not([data-theme="light"]) .modal h3,
html:not([data-theme="light"]) .modal label,
html:not([data-theme="light"]) .modal .field__l,
html:not([data-theme="light"]) .modal .switch-row{
  color:#eef0f4;
}
html:not([data-theme="light"]) .modal .form-row label,
html:not([data-theme="light"]) .modal .sub,
html:not([data-theme="light"]) .modal .field .k{
  color:#818a9a;
}
html:not([data-theme="light"]) .modal input,
html:not([data-theme="light"]) .modal select,
html:not([data-theme="light"]) .modal textarea,
html:not([data-theme="light"]) .modal .calc-row input,
html:not([data-theme="light"]) .modal .krow input,
html:not([data-theme="light"]) .modal .role-sel,
html:not([data-theme="light"]) .modal code,
html:not([data-theme="light"]) .modal .row-item input:not(.cdot),
html:not([data-theme="light"]) .modal .row-item select{
  background:#11151d;
  color:#e9ebf0;
  border-color:#2b3240;
}
html:not([data-theme="light"]) .modal .chip-check,
html:not([data-theme="light"]) .modal .chip,
html:not([data-theme="light"]) .modal .lp-row,
html:not([data-theme="light"]) .modal .ep,
html:not([data-theme="light"]) .modal .row-item,
html:not([data-theme="light"]) .modal .chg-row,
html:not([data-theme="light"]) .modal .iv-odb,
html:not([data-theme="light"]) .modal .fb-help{
  background:#1c202a;
  color:#dce0e7;
  border-color:#2c3341;
}
html:not([data-theme="light"]) .modal .chip-check:has(input:checked){
  background:#282340;
  color:#c2b6ff;
  border-color:#4a3e73;
}
html:not([data-theme="light"]) .modal .sec-title{
  color:#a69fca;
  border-bottom-color:#303646;
}
html:not([data-theme="light"]) .modal .chg-new,
html:not([data-theme="light"]) .modal .calc-total b,
html:not([data-theme="light"]) .modal .lp-row__name,
html:not([data-theme="light"]) .modal .iv-odb b,
html:not([data-theme="light"]) .modal .field .v{
  color:#eef0f4;
}
html:not([data-theme="light"]) .modal .chg-old,
html:not([data-theme="light"]) .modal .lp-row__price,
html:not([data-theme="light"]) .modal .lp-row__code{
  color:#7d8796;
}
html:not([data-theme="light"]) .modal__foot{
  background:#17191f;
  border-top-color:#2b3240;
}

/* ---------- drawer / detail leadu a dealu ---------- */
html:not([data-theme="light"]) .drawer-back{
  background:rgba(4,6,10,.62);
}
html:not([data-theme="light"]) .drawer{
  background:#11151e;
  box-shadow:-20px 0 52px rgba(0,0,0,.42);
  border-left:1px solid #252c39;
}
html:not([data-theme="light"]) .drawer__head{
  background:#151923;
  border-bottom-color:#282f3d;
}
html:not([data-theme="light"]) .drawer__close{
  background:#171c26;
  border-color:#2d3443;
  color:#8993a3;
}
html:not([data-theme="light"]) .drawer__close:hover{
  background:#202633;
  color:#e5e8ee;
}
html:not([data-theme="light"]) .drawer__eyebrow{
  color:#9a86f0;
}
html:not([data-theme="light"]) .drawer__foot{
  background:#11151e;
  border-top-color:#282f3d;
}
html:not([data-theme="light"]) .dinfo,
html:not([data-theme="light"]) .dtile,
html:not([data-theme="light"]) .dpanel .dsum__row{
  background:#181d27;
  border-color:#2a3241;
  border-radius:8px;
}
html:not([data-theme="light"]) .dinfo>summary{
  background:#1b202b;
}
html:not([data-theme="light"]) .dtile:hover{
  background:#202633;
  border-color:#48516a;
  transform:none;
}
html:not([data-theme="light"]) .stage-pick{
  background:#181d27;
  border-color:#2e3646;
  color:#aeb6c3;
}
html:not([data-theme="light"]) .stage-pick:hover{
  background:#211e38;
  color:#c9c0ff;
}
html:not([data-theme="light"]) .stage-pick.active{
  background:#7057df;
  border-color:#8069e8;
  color:#fff;
}

/* ---------- fakturace / integrace ---------- */
html:not([data-theme="light"]) .integ{
  border-radius:8px;
}
html:not([data-theme="light"]) .integ--ok{
  background:#13271e;
  color:#76cf98;
  border-color:#244630;
}
html:not([data-theme="light"]) .integ--off{
  background:#2a2415;
  color:#d5b966;
  border-color:#4b4123;
}
html:not([data-theme="light"]) .inv-card{
  background:#151a24;
  border-radius:9px;
}
html:not([data-theme="light"]) .inv-card__ic{
  background:#242a38;
  color:#8993a3;
  border-radius:8px;
}
html:not([data-theme="light"]) .inv-card--ok .inv-card__ic{
  background:#173024;
  color:#74cf98;
}
html:not([data-theme="light"]) .inv-card--warn .inv-card__ic{
  background:#2a2415;
  color:#d6b866;
}
html:not([data-theme="light"]) .inv-card--bad .inv-card__ic{
  background:#2c171d;
  color:#e28690;
}

/* ---------- kalendář ---------- */
html:not([data-theme="light"]) .cal2__side,
html:not([data-theme="light"]) .tg,
html:not([data-theme="light"]) .cal-grid,
html:not([data-theme="light"]) .cal-wcol,
html:not([data-theme="light"]) .day-ev{
  background:#11161f;
  border-color:#252c3a;
  border-radius:9px;
  box-shadow:var(--shadow-1);
}
html:not([data-theme="light"]) .tg-heads,
html:not([data-theme="light"]) .cal-head div,
html:not([data-theme="light"]) .cal-wcol__head{
  background:#171c27;
  border-color:#242b38;
}
html:not([data-theme="light"]) .tg-dhead.is-today,
html:not([data-theme="light"]) .cal-day.is-today,
html:not([data-theme="light"]) .cal-usr.on{
  background:#211e38;
  color:#b9adfa;
}
html:not([data-theme="light"]) .tg-cell,
html:not([data-theme="light"]) .tg-h,
html:not([data-theme="light"]) .tg-dhead,
html:not([data-theme="light"]) .tg-allrow,
html:not([data-theme="light"]) .cal-day{
  border-color:#202735;
}
html:not([data-theme="light"]) .cal-day{
  background:#11161f;
}
html:not([data-theme="light"]) .cal-day.is-muted{
  background:#0e131b;
}
html:not([data-theme="light"]) .seg{
  background:#151a24;
  border-color:#29303e;
}
html:not([data-theme="light"]) .seg button.on{
  background:#242a38;
  color:#c5bcf7;
  box-shadow:none;
}
html:not([data-theme="light"]) .cal-event.over,
html:not([data-theme="light"]) .ag-col--overdue{
  background:#29171c;
  color:#e48690;
  border-color:#5b2931;
}
html:not([data-theme="light"]) .cal-event.t-call{
  background:#18233a;
  color:#91b7ef;
}
html:not([data-theme="light"]) .cal-event.t-email{
  background:#13262b;
  color:#78c8d3;
}

/* ---------- agenda ---------- */
html:not([data-theme="light"]) .ag-col{
  background:#11161f;
  border-color:#252c3a;
  border-radius:9px;
}
html:not([data-theme="light"]) .agenda-item{
  background:#181d27;
  border-color:#2b3342;
  border-radius:8px;
}
html:not([data-theme="light"]) .ag-type{
  background:#242a38;
  border-color:#343d4e;
  color:#8e98a8;
}

/* ---------- chat ---------- */
html:not([data-theme="light"]) .chat-shell{
  background:#11161f;
  border-color:#252c3a;
  border-radius:10px;
}
html:not([data-theme="light"]) .chat-side{
  background:#0f141c;
  border-right-color:#242b38;
}
html:not([data-theme="light"]) .chat-side__item.active{
  background:#191d2b;
  color:#c6bcff;
  border-left-color:#7357e8;
}
html:not([data-theme="light"]) .chat-log{
  background:#0f141d;
  border-color:#252d3a;
  border-radius:9px;
}
html:not([data-theme="light"]) .chat-msg__bubble{
  background:#191e29;
  border-color:#2b3343;
  border-radius:9px;
}
html:not([data-theme="light"]) .chat-msg--me .chat-msg__bubble{
  background:#5f49c8;
  border-color:#6c55d8;
}

/* ---------- assistant ---------- */
html:not([data-theme="light"]) .asst-fab{
  background:#7057df;
  border:1px solid #8069e8;
  border-radius:13px;
  box-shadow:0 8px 22px rgba(64,43,144,.35);
}
html:not([data-theme="light"]) .asst-head{
  background:#171c27;
}
html:not([data-theme="light"]) .asst-logo,
html:not([data-theme="light"]) .asst-ava{
  background:#6e56dc;
}
html:not([data-theme="light"]) .asst-panel,
html:not([data-theme="light"]) .voice-panel{
  background:#131823;
  border-color:#2b3342;
  border-radius:10px;
}
html:not([data-theme="light"]) .asst-body{
  background:#0f141d;
}

/* ---------- email / help / generic ---------- */
html:not([data-theme="light"]) .mb-folder.on .mb-count{
  background:#262c3a;
  color:#c3baff;
}
html:not([data-theme="light"]) .help-hit{
  background:#3b3217;
  color:#ead17b;
}
html:not([data-theme="light"]) .ib-body,
html:not([data-theme="light"]) .fb-help,
html:not([data-theme="light"]) .row-item,
html:not([data-theme="light"]) .ep,
html:not([data-theme="light"]) .lp-row,
html:not([data-theme="light"]) .uc-out__row{
  background:#181d27;
  border-color:#2a3241;
}

/* ---------- onboarding / marketing barevné light-only chipy ---------- */
html:not([data-theme="light"]) .ob-badge.ok{
  background:#14281f;
  color:#79cf9b;
}
html:not([data-theme="light"]) .ob-badge.todo{
  background:#2a2415;
  color:#d6b966;
}
html:not([data-theme="light"]) .ob-hint,
html:not([data-theme="light"]) .empty-tip__ic{
  background:#211d37;
}
html:not([data-theme="light"]) .pcat--pink{background:#321b2b;color:#e895c6}
html:not([data-theme="light"]) .pcat--purple{background:#241d3d;color:#b7a8f5}
html:not([data-theme="light"]) .pcat--blue{background:#18243a;color:#91b7ec}
html:not([data-theme="light"]) .pcat--green{background:#14281f;color:#79cf9b}
html:not([data-theme="light"]) .pcat--amber{background:#2b2516;color:#d6b866}
html:not([data-theme="light"]) .pcat--gray{background:#252a33;color:#aeb5c1}
html:not([data-theme="light"]) .lvl-badge--campaign{background:#211e3b;color:#b7a8fa}
html:not([data-theme="light"]) .lvl-badge--adset{background:#142a25;color:#76c7ad}
html:not([data-theme="light"]) .lvl-badge--ad{background:#312315;color:#e2ab68}

/* ---------- detail/deal tiles ---------- */
html:not([data-theme="light"]) .dback{
  background:#171c26;
  border-color:#2d3443;
  color:#b8c0cc;
}
html:not([data-theme="light"]) .dback:hover{
  background:#202633;
}
html:not([data-theme="light"]) .dpanel__head{
  border-bottom-color:#282f3d;
}

/* ---------- toggle / checkbox ---------- */
html:not([data-theme="light"]) .toggle__sw{
  background:#2b3241;
}
html:not([data-theme="light"]) .toggle__sw::before{
  background:#cfd4dd;
}
html:not([data-theme="light"]) .toggle input:checked + .toggle__sw{
  background:#6d56db;
}
html:not([data-theme="light"]) .chip-check{
  background:#1a1f2a;
  border-color:#2d3544;
  color:#aeb6c3;
}
html:not([data-theme="light"]) .chip-check:has(input:checked){
  background:#231f3a;
  border-color:#493e73;
  color:#c4baff;
}

/* ---------- scrollbar: v desktopu decentní, ne nulový ---------- */
html:not([data-theme="light"]) .view,
html:not([data-theme="light"]) .drawer__body,
html:not([data-theme="light"]) .board,
html:not([data-theme="light"]) .table,
html:not([data-theme="light"]) .chat-log,
html:not([data-theme="light"]) .tg-body{
  scrollbar-width:thin;
  scrollbar-color:#303848 transparent;
}
html:not([data-theme="light"]) .view::-webkit-scrollbar,
html:not([data-theme="light"]) .drawer__body::-webkit-scrollbar,
html:not([data-theme="light"]) .board::-webkit-scrollbar,
html:not([data-theme="light"]) .chat-log::-webkit-scrollbar,
html:not([data-theme="light"]) .tg-body::-webkit-scrollbar{
  width:7px;
  height:7px;
  display:block;
}
html:not([data-theme="light"]) .view::-webkit-scrollbar-thumb,
html:not([data-theme="light"]) .drawer__body::-webkit-scrollbar-thumb,
html:not([data-theme="light"]) .board::-webkit-scrollbar-thumb,
html:not([data-theme="light"]) .chat-log::-webkit-scrollbar-thumb,
html:not([data-theme="light"]) .tg-body::-webkit-scrollbar-thumb{
  background:#303848;
  border-radius:999px;
}

/* ---------- misc light leftovers v dark mode ---------- */
html:not([data-theme="light"]) .webhook-box{
  background:#0e1219;
  color:#e9ebf0;
  border:1px solid #29303d;
}
html:not([data-theme="light"]) .rem--alert .rem__bell{
  background:#2c171d;
  color:#e48690;
}
html:not([data-theme="light"]) .preview{
  background:#0f141d;
  border-color:#2a3140;
}
html:not([data-theme="light"]) .ct-name--won{color:#76cf98}
html:not([data-theme="light"]) .ct-name--lost{color:#e48690}

/* finální pravidlo: dark karty nikdy nesmí zůstat bílé */
html:not([data-theme="light"]) .card,
html:not([data-theme="light"]) .modal,
html:not([data-theme="light"]) .agenda-item,
html:not([data-theme="light"]) .event-card,
html:not([data-theme="light"]) .day-ev,
html:not([data-theme="light"]) .mini-card,
html:not([data-theme="light"]) .adr-card{
  color:var(--ink);
}


/* ============================================================
   DARK UI FIX — composite controls / single focus treatment
   Prevents the "double frame" effect when a select/search inside
   a bordered wrapper receives focus. The wrapper owns the focus
   state; the native control inside remains visually flat.
   ============================================================ */
html:not([data-theme="light"]) .select-box > select,
html:not([data-theme="light"]) .search > input {
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
}

html:not([data-theme="light"]) .select-box > select:focus,
html:not([data-theme="light"]) .select-box > select:focus-visible,
html:not([data-theme="light"]) .search > input:focus,
html:not([data-theme="light"]) .search > input:focus-visible {
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
}

/* One restrained enterprise focus state on the OUTER control only. */
html:not([data-theme="light"]) .select-box:focus-within,
html:not([data-theme="light"]) .search:focus-within {
  border-color:#514875;
  box-shadow:none;
}

/* Keep the native dropdown itself dark where Chromium allows it. */
html:not([data-theme="light"]) .select-box select option,
html:not([data-theme="light"]) select option {
  background:#151a24;
  color:#dfe3ea;
}
html:not([data-theme="light"]) .select-box select option:checked,
html:not([data-theme="light"]) select option:checked {
  background:linear-gradient(#302b49,#302b49);
  color:#f3f1ff;
}

/* ============================================================
   FAKTURACE — pracovní přehled, detail, nová faktura, číslování, pravidla
   Dark theme + tokeny GT. Husté, ne marketingové.
   ============================================================ */
.btn--xs{padding:5px 9px;font-size:12px;border-radius:8px}
.fak{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.fak-main{min-width:0;display:flex;flex-direction:column;gap:14px}
.fak-side{position:sticky;top:8px;display:flex;flex-direction:column;gap:12px}
.fak-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fak-head__t{font-size:21px;font-weight:800;letter-spacing:-.01em;line-height:1.1}
.fak-head__s{font-size:12.5px;color:var(--muted);margin-top:3px}
.fak-head__actions{display:flex;gap:8px;flex-wrap:wrap}
/* KPI */
.fak-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.fak-kpi{display:flex;gap:11px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px 14px;cursor:pointer;transition:border-color .12s,transform .12s}
.fak-kpi:hover{border-color:var(--accent);transform:translateY(-1px)}
.fak-kpi.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.fak-kpi__ic{width:38px;height:38px;border-radius:11px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;flex:0 0 auto}
.fak-kpi--ok .fak-kpi__ic{background:var(--ok-soft);color:var(--ok)}
.fak-kpi--warn .fak-kpi__ic{background:var(--amber-soft);color:var(--amber-ink)}
.fak-kpi--bad .fak-kpi__ic{background:var(--danger-soft);color:var(--danger)}
.fak-kpi--accent .fak-kpi__ic{background:var(--accent-soft);color:var(--accent-ink)}
.fak-kpi__body{display:flex;flex-direction:column;min-width:0}
.fak-kpi__lbl{font-size:12px;color:var(--muted);font-weight:600}
.fak-kpi__amt{font-size:17px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fak-kpi__n{font-size:11.5px;color:var(--muted-2)}
/* filters */
.fak-filters{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.fak-filters__row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.fak-filters__spacer{flex:1}
.fak-search{flex:1 1 260px;min-width:200px;display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:0 11px;color:var(--muted)}
.fak-search input{flex:1;background:transparent;border:0;padding:9px 0;color:var(--ink);outline:none}
.fak-fld{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--muted);font-weight:600}
.fak-fld>span{padding-left:1px}
.fak-fld select,.fak-fld input,.fak-fld textarea{font-size:13px;font-weight:500;color:var(--ink);min-width:120px}
.fak-fld--date{min-width:210px}
.fak-daterange{display:flex;gap:5px}
.fak-daterange input{min-width:0;flex:1}
/* views */
.fak-views{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.fak-views__list{display:flex;gap:7px;flex-wrap:wrap}
.fak-views__right{display:flex;gap:6px;align-items:center;flex:0 0 auto}
.fak-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer}
.fak-chip:hover{border-color:var(--accent);color:var(--ink)}
.fak-chip.is-on{background:var(--accent);border-color:var(--accent);color:#fff}
.fak-chip--saved{padding-right:7px}
.fak-chip__x{margin-left:2px;opacity:.55;font-size:12px}
.fak-chip__x:hover{opacity:1}
/* bulk bar */
.fak-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fak-check{display:flex;align-items:center}
.fak-bulk__menu{display:flex;align-items:center;gap:9px}
.fak-bulk__sel{font-size:12px}
.fak-bulk__spacer{flex:1}
/* table */
.fak-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.fak-table{width:max-content;min-width:100%;display:flex;flex-direction:column}
.fak-tr{display:grid;grid-template-columns:34px var(--fak-cols);gap:10px;align-items:center;padding:0 14px}
.fak-tr--head{height:42px;border-bottom:1px solid var(--line);font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;background:var(--surface);z-index:1}
.fak-tr--body{min-height:56px;border-bottom:1px solid var(--line-2);cursor:pointer}
.fak-tr--body:hover{background:var(--surface-2)}
.fak-tr--body:last-child{border-bottom:0}
.fak-td{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}
.fak-td--r{text-align:right;justify-self:end}
.fak-td--chk{overflow:visible}
.fak-td--act{overflow:visible;text-align:right;justify-self:end}
.fak-sort{cursor:pointer;user-select:none}
.fak-caret{opacity:.5;font-size:9px}
.fak-num{color:var(--accent-ink);font-weight:700;cursor:pointer}
.fak-num:hover{text-decoration:underline}
.fak-ext{color:var(--muted);cursor:pointer;margin-left:2px}
.fak-ext:hover{color:var(--accent)}
.fak-client,.fak-deal,.fak-due,.fak-src{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.fak-client__sub,.fak-deal__sub,.fak-src__sub{font-size:11px;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fak-link{color:var(--ink);font-weight:600;cursor:pointer}
.fak-link:hover{color:var(--accent-ink);text-decoration:underline}
.fak-badge{display:inline-block;font-size:10px;font-weight:700;background:var(--chip-soft);color:var(--muted);border-radius:5px;padding:1px 6px;vertical-align:middle}
.fak-badge--ray{background:var(--accent-soft);color:var(--accent-ink)}
.fak-badge--ok{background:var(--ok-soft);color:var(--ok)}
.fak-badge--err{background:var(--danger-soft);color:var(--danger)}
.fak-due__late{font-size:11px;color:var(--danger);font-weight:700}
.fak-due__soon{font-size:11px;color:var(--amber-ink);font-weight:600}
.fak-amt{font-weight:800;letter-spacing:-.01em}
.fak-state{display:inline-block;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}
.fak-state--draft{background:var(--chip-soft);color:var(--muted)}
.fak-state--issued{background:var(--accent-soft);color:var(--accent-ink)}
.fak-state--unpaid{background:var(--amber-soft);color:var(--amber-ink)}
.fak-state--partial{background:var(--amber-soft);color:var(--amber-ink)}
.fak-state--paid{background:var(--ok-soft);color:var(--ok)}
.fak-state--overdue{background:var(--danger-soft);color:var(--danger)}
.fak-state--storno{background:var(--chip-soft);color:var(--muted-2);text-decoration:line-through}
.fak-type{font-size:12.5px;color:var(--ink-2)}
.fak-rowmenu{width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);display:inline-grid;place-items:center;cursor:pointer}
.fak-rowmenu:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}
.fak-empty{padding:44px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}
/* pager */
.fak-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px}
.fak-pager__nav{display:flex;gap:4px;align-items:center}
.fak-pg{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer}
.fak-pg:hover:not(:disabled){border-color:var(--accent)}
.fak-pg.is-on{background:var(--accent);border-color:var(--accent);color:#fff}
.fak-pg:disabled{opacity:.4;cursor:default}
.fak-pg-gap{color:var(--muted-2);padding:0 2px}
/* right panel cards */
.fak-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.fak-card__h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:10px}
.fak-card__period{font-size:11.5px;color:var(--muted);margin:-6px 0 10px}
.fak-ov__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px;color:var(--ink-2)}
.fak-ov__row b{color:var(--ink);font-weight:700}
.fak-ov__row--sep{border-top:1px solid var(--line);margin-top:5px;padding-top:9px}
.s-ok{color:var(--ok)!important}.s-warn{color:var(--amber-ink)!important}.s-bad{color:var(--danger)!important}
.fak-top{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--line-2);padding:9px 0;cursor:pointer}
.fak-top:first-of-type{border-top:0}
.fak-top:hover .fak-top__nm{color:var(--accent-ink)}
.fak-top__nm{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fak-top__amt{font-size:12.5px;font-weight:800;text-align:right}
.fak-top__late{grid-column:1/2;font-size:11px;color:var(--danger)}
.fak-top__sub{grid-column:1/2;font-size:11px}
/* floating menu */
.fak-menu{position:fixed;z-index:120;min-width:170px;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-2);padding:5px;display:flex;flex-direction:column}
.fak-menu button{text-align:left;background:transparent;border:0;color:var(--ink-2);padding:8px 11px;border-radius:8px;font-size:13px;cursor:pointer}
.fak-menu button:hover{background:var(--surface-2);color:var(--ink)}
.fak-menu__del{color:var(--danger)!important}
/* ---- shared modal chrome for fak modals ---- */
.modal--fak{width:min(1140px,96vw);max-width:96vw}
.fak-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fak-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.fak-secret{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding-right:4px}
.fak-secret input{flex:1;border:0;background:transparent}
/* new invoice modal */
.fak-modal{display:flex;flex-direction:column;max-height:88vh}
.fak-modal__head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}
.fak-modal__head h3{margin:0}
.fak-steps{display:flex;gap:16px}
.fak-step{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);font-weight:600}
.fak-step b{width:22px;height:22px;border-radius:50%;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;font-size:12px}
.fak-step.is-on{color:var(--ink)}
.fak-step.is-on b{background:var(--accent);color:#fff}
.fak-modal__grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;overflow:auto;padding:14px 2px}
.fak-modal__main{display:flex;flex-direction:column;gap:14px;min-width:0}
.fak-modal__side{display:flex;flex-direction:column;gap:12px}
.fak-msec{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px}
.fak-msec__h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:12px}
.fak-msec__spacer{flex:1}
.fak-combo{position:relative;margin-bottom:10px}
.fak-combo__in{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:0 11px;color:var(--muted)}
.fak-combo__in input{flex:1;border:0;background:transparent;padding:9px 0;color:var(--ink);outline:none}
.fak-combo__dd{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-2);max-height:300px;overflow:auto;padding:5px}
.fak-combo__opt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:8px 10px;cursor:pointer}
.fak-combo__opt:hover{background:var(--surface-2)}
.fak-combo__ic{width:30px;height:30px;border-radius:8px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;flex:0 0 auto}
.fak-combo__txt{display:flex;flex-direction:column;min-width:0;flex:1}
.fak-combo__nm{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fak-combo__sub{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fak-combo__right{font-size:11.5px;color:var(--muted-2);font-family:var(--mono);flex:0 0 auto}
.fak-combo__empty{padding:12px;text-align:center;color:var(--muted);font-size:12.5px}
.fak-clientbox{margin-bottom:12px}
.fak-clienthint{font-size:12.5px;padding:6px 2px}
.fak-clientgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fak-clientcard{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:12.5px}
.fak-clientcard--op{grid-column:1/-1}
.fak-clientcard__row{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.fak-clientcard__row b{flex:1;font-size:13.5px}
.fak-manual{background:var(--surface);border:1px solid var(--accent);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:10px}
.fak-manual__h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700}
.fak-manual__foot{display:flex;justify-content:flex-end;gap:8px}
.fak-itemtable{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.fak-itemtable__h,.fak-itemtable__r{display:grid;grid-template-columns:26px minmax(120px,1.6fr) 66px 56px 96px 64px 74px 96px 34px;gap:8px;align-items:center;padding:8px 11px}
.fak-itemtable__h{background:var(--surface);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.fak-itemtable__h .r,.fak-itemtable__r .r{text-align:right}
.fak-itemtable__r{border-top:1px solid var(--line-2)}
.fak-itemtable__n{color:var(--muted-2);font-size:12px}
.fak-itemtable__nm{display:flex;flex-direction:column;gap:4px}
.fak-itemtable__desc{font-size:12px;color:var(--muted)}
.fak-itemtable input,.fak-itemtable select{padding:6px 7px;font-size:12.5px;width:100%}
.fak-itemtable input.r{text-align:right}
.fak-itemtable__tot{font-weight:700;font-size:12.5px}
.fak-itemsempty{padding:16px;text-align:center;font-size:12.5px}
.fak-sum__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px;color:var(--ink-2)}
.fak-sum__row b{color:var(--ink);font-weight:700}
.fak-sum__row--total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
.fak-sum__big{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink)!important}
.fak-accbox__nm{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:6px}
.fak-accbox p{margin:0;font-size:12px;line-height:1.5}
.fak-modal__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.fak-modal__foot-r{display:flex;gap:8px}
/* detail drawer */
.fak-detail .sec-title{margin-top:16px}
.fak-dgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.fak-dbox{background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-top:4px}
.fak-dbox__nm{font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px}
.fak-dbox__sub{font-size:12px;color:var(--muted);margin-top:2px}
.fak-type-chip{display:inline-block;font-size:11.5px;font-weight:700;background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:3px 10px}
.fak-ditems{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:12.5px}
.fak-ditems__h,.fak-ditems__r{display:grid;grid-template-columns:minmax(0,1.8fr) 70px 90px 60px 96px;gap:8px;padding:8px 11px}
.fak-ditems__h{background:var(--surface-2);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}
.fak-ditems__r{border-top:1px solid var(--line-2)}
.fak-ditems .r{text-align:right}
.fak-states{display:flex;flex-wrap:wrap;gap:6px}
.fak-stbtn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}
.fak-stbtn:hover{border-color:var(--accent)}
.fak-stbtn.is-on{background:var(--accent);border-color:var(--accent);color:#fff}
.fak-hist{display:flex;flex-direction:column;gap:2px}
.fak-hist__row{display:flex;gap:12px;font-size:12px;padding:5px 0;border-bottom:1px solid var(--line-2)}
.fak-hist__t{color:var(--muted-2);flex:0 0 118px;font-family:var(--mono);font-size:11px}
.fak-hist__x{color:var(--ink-2)}
.fak-tags{display:flex;flex-wrap:wrap;gap:5px}
.fak-tag{display:inline-block;font-size:11px;font-weight:600;background:var(--chip-soft);color:var(--ink-2);border-radius:6px;padding:2px 8px}
.fak-dactions{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.fak-dactions .btn{width:100%;justify-content:center}
.fak-chk-row{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13px;cursor:pointer}
.fak-colsgrid{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}
/* config modal */
.fak-cfg{display:flex;flex-direction:column;max-height:88vh}
.fak-cfg__head{display:flex;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.fak-cfg__head h3{margin:0}
.fak-cfg__tabs{display:flex;gap:4px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
.fak-cfg__tab{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;color:var(--muted);border-radius:9px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer}
.fak-cfg__tab:hover{color:var(--ink);background:var(--surface-2)}
.fak-cfg__tab.is-on{background:var(--accent-soft);color:var(--accent-ink)}
.fak-cfg__body{overflow:auto;padding:16px 2px;min-height:280px}
.fak-cfg__foot{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.fak-cfg__cols{display:grid;grid-template-columns:1fr;gap:16px}
.fak-numrow{display:grid;grid-template-columns:1.4fr 1.6fr 1fr 1.1fr;gap:12px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line-2)}
.fak-numrow__lbl{display:flex;flex-direction:column}
.fak-numrow__lbl b{font-size:13px}
.fak-numrow__lbl .muted{font-size:11.5px}
.fak-numrow__prev{display:flex;flex-direction:column;gap:3px}
.fak-numrow__prev .muted{font-size:11px}
.fak-numrow__prev b{font-family:var(--mono);font-size:13px;color:var(--accent-ink)}
.fak-accgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.fak-accgrid>div{display:flex;flex-direction:column;gap:2px;font-size:13px}
.fak-accgrid .muted{font-size:11px}
/* rules builder */
.fak-rules{display:flex;flex-direction:column;max-height:88vh}
.fak-rules__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.fak-rules__head h3{margin:0}
.fak-rules__grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;overflow:auto;padding:14px 2px}
.fak-rules__list{display:flex;flex-direction:column;gap:8px}
.fak-rules__listhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.fak-rules__build{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0;display:flex;flex-direction:column;gap:10px}
.fak-rules__buildhead{display:flex;align-items:center;justify-content:space-between}
.fak-rules__buildhead b{font-size:14px}
.fak-rules__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.fak-rules__empty{padding:30px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}
.fak-rule{display:grid;grid-template-columns:26px 1fr auto auto;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:10px 12px;cursor:pointer}
.fak-rule:hover{border-color:var(--accent)}
.fak-rule.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.fak-rule__n{width:24px;height:24px;border-radius:7px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;font-size:12px;font-weight:700}
.fak-rule__body{display:flex;flex-direction:column;min-width:0}
.fak-rule__body b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fak-rule__body .muted{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fak-rule__st{font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px}
.fak-rule__st.is-active{background:var(--ok-soft);color:var(--ok)}
.fak-rule__st.is-paused{background:var(--amber-soft);color:var(--amber-ink)}
.fak-rule__menu{width:26px;height:26px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}
.fak-rule__menu:hover{background:var(--surface-2);border-color:var(--line)}
.fak-rstep{display:flex;align-items:center;gap:8px;margin-top:6px}
.fak-rstep b{font-size:13px}
.fak-rstep .muted{font-size:11.5px}
.fak-rstep__n{width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:0 0 auto}
.fak-cond{display:grid;grid-template-columns:1.2fr .8fr 1.3fr 30px;gap:7px;align-items:center;margin-bottom:7px}
.fak-cond select,.fak-cond input{font-size:12.5px;padding:7px 8px}
.fak-rpreview{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px;margin-top:6px}
.fak-rpreview__lbl{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin-bottom:5px}
.fak-rpreview__txt{font-size:13px;line-height:1.6;color:var(--ink-2)}
.fak-rpreview__txt b{color:var(--ink)}
.fak-switch{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer}
.fak-switch input{display:none}
.fak-switch span{width:34px;height:19px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);position:relative;transition:.15s}
.fak-switch span::after{content:"";position:absolute;top:1px;left:1px;width:15px;height:15px;border-radius:50%;background:var(--muted);transition:.15s}
.fak-switch input:checked+span{background:var(--accent);border-color:var(--accent)}
.fak-switch input:checked+span::after{background:#fff;left:16px}
/* responsive */
@media(max-width:1240px){.fak{grid-template-columns:1fr}.fak-side{position:static;flex-direction:row;flex-wrap:wrap}.fak-side>.fak-card{flex:1 1 240px}}
@media(max-width:1100px){.fak-kpis{grid-template-columns:repeat(3,1fr)}.fak-modal__grid,.fak-rules__grid{grid-template-columns:1fr}.fak-modal__side{flex-direction:row;flex-wrap:wrap}.fak-modal__side>.fak-card{flex:1 1 240px}}
@media(max-width:720px){.fak-kpis{grid-template-columns:1fr 1fr}.fak-grid2,.fak-grid3,.fak-clientgrid,.fak-colsgrid,.fak-dgrid,.fak-accgrid{grid-template-columns:1fr}.fak-cond{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}

/* ============================================================
   GLOBAL — klient status / rating / duplicity / merge
   (client-rules.js + client-merge.js) · tokeny sdílené
   ============================================================ */
.cr-badges{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:4px 0}
.cr-badge{display:inline-block;font-size:10.5px;font-weight:700;border-radius:999px;padding:2px 9px;white-space:nowrap}
.cr-badge--client{background:var(--accent-soft);color:var(--accent-ink)}
.cr-badge--active{background:var(--ok-soft);color:var(--ok)}
.cr-badge--inactive{background:var(--chip-soft);color:var(--muted)}
.cr-badge--op{background:var(--ok-soft);color:var(--ok)}
.cr-badge--stale{background:var(--amber-soft);color:var(--amber-ink)}
.cr-badge--conflict{background:var(--danger-soft);color:var(--danger)}
/* rating + stav klienta v řádcích seznamů (Adresář / Leady) */
.adr-card__name{display:flex;align-items:center;gap:6px;white-space:normal;overflow:visible;text-overflow:clip}
.adr-card__t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.adr-card__name .cr-rating{width:18px;height:18px;font-size:10px}
.adr-card__name .cr-badge,.adr-card__name .lead-cat{font-size:10px;padding:1px 7px;flex:0 0 auto}
.t-leads .cr-rating{width:19px;height:19px;font-size:10.5px}
/* rating A/B/C */
.cr-rating{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;font-size:11px;font-weight:800;flex:0 0 auto}
.cr-rating--A{background:var(--ok-soft);color:var(--ok)}
.cr-rating--B{background:var(--amber-soft);color:var(--amber-ink)}
.cr-rating--C{background:var(--chip-soft);color:var(--muted)}
.cr-rpick{display:inline-flex;gap:3px;align-items:center}
.cr-rpick__b{width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:11.5px;font-weight:800;cursor:pointer;display:grid;place-items:center}
.cr-rpick__b:hover{border-color:var(--accent)}
.cr-rpick__b--A.is-on{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}
.cr-rpick__b--B.is-on{background:var(--amber-soft);color:var(--amber-ink);border-color:var(--amber-ink)}
.cr-rpick__b--C.is-on{background:var(--chip-soft);color:var(--ink-2);border-color:var(--muted)}
.cr-rpick__b--none.is-on{background:var(--surface-2);color:var(--ink-2);border-color:var(--line)}
/* pre-save duplicity */
.cr-dup{background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:12px;padding:11px 13px;margin:8px 0;display:flex;flex-direction:column;gap:7px}
.cr-dup--high{background:var(--danger-soft);border-color:var(--danger)}
.cr-dup--react{background:var(--accent-soft);border-color:var(--accent)}
.cr-dup__h{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink)}
.cr-dup__list{display:flex;flex-direction:column;gap:4px}
.cr-dup__item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer;width:100%}
.cr-dup__item:hover{border-color:var(--accent)}
.cr-dup__item b{font-size:12.5px}
.cr-dup__item .muted{font-size:11px}
.cr-dup__item.is-high{border-color:var(--danger)}
.cr-dup__note{font-size:11.5px;line-height:1.45}
/* info / blokace */
.cr-note{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border-radius:11px;margin:12px 0;font-size:12.5px;line-height:1.5}
.cr-note--ok{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok)}
.cr-note--block{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}
/* merge / takeover */
.cr-mg__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.cr-mg__card{display:block;cursor:pointer}
.cr-mg__card input{position:absolute;opacity:0;pointer-events:none}
.cr-mg__cb{display:flex;flex-direction:column;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 13px}
.cr-mg__card input:checked + .cr-mg__cb{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--surface)}
.cr-mg__cb b{font-size:13.5px}
.cr-mg__meta{font-size:11.5px;color:var(--muted)}
.cr-mg__meta b{font-size:11.5px;color:var(--ink-2)}
.cr-mg__op{display:flex;align-items:center;gap:9px;padding:6px 0;border-bottom:1px solid var(--line-2);font-size:12.5px}
.cr-mg__opt{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-mg__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px}
@media(max-width:720px){.cr-mg__grid{grid-template-columns:1fr}}
.cr-state{display:flex;flex-direction:column;gap:2px;margin:6px 0 10px}
.cr-rels{display:flex;flex-direction:column;gap:5px}
.cr-rel{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:9px;padding:7px 10px;font-size:12.5px}
.cr-rel__nm{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-rel .muted{font-size:11.5px}

/* __om_tbl_scroll — tabulky: vodorovny posun misto urezanych sloupcu.
   .table ma overflow:hidden (kvuli radiusu), takze siroke tabulky se pri
   zmenseni okna nebo zoomu urezaly a neslo doscrollovat. min-width je
   soucet minim sloupcu -> vsechny radky maji stejnou sirku a hlavicka sedi. */
.table.t-leads{overflow-x:auto;scrollbar-width:thin}.t-leads .trow{min-width:1192px;box-sizing:border-box}
.table.t-pl{overflow-x:auto;scrollbar-width:thin}.t-pl .trow{min-width:1046px;box-sizing:border-box}
.table.t-adr{overflow-x:auto;scrollbar-width:thin}.t-adr .trow{min-width:956px;box-sizing:border-box}
.table.t-prod{overflow-x:auto;scrollbar-width:thin}.t-prod .trow{min-width:865px;box-sizing:border-box}
.table.t-docs{overflow-x:auto;scrollbar-width:thin}.t-docs .trow{min-width:837px;box-sizing:border-box}
.table.t-inv{overflow-x:auto;scrollbar-width:thin}.t-inv .trow{min-width:770px;box-sizing:border-box}
.table.t-inbox{overflow-x:auto;scrollbar-width:thin}.t-inbox .trow{min-width:764px;box-sizing:border-box}
.table.t-usercmp{overflow-x:auto;scrollbar-width:thin}.t-usercmp .trow{min-width:742px;box-sizing:border-box}
.table.t-rules{overflow-x:auto;scrollbar-width:thin}.t-rules .trow{min-width:652px;box-sizing:border-box}
.table.t-contacts{overflow-x:auto;scrollbar-width:thin}.t-contacts .trow{min-width:651px;box-sizing:border-box}
.table.t-queue{overflow-x:auto;scrollbar-width:thin}.t-queue .trow{min-width:640px;box-sizing:border-box}
.table.t-pipestat{overflow-x:auto;scrollbar-width:thin}.t-pipestat .trow{min-width:595px;box-sizing:border-box}
.table.t-users{overflow-x:auto;scrollbar-width:thin}.t-users .trow{min-width:156px;box-sizing:border-box}
.table[class*="t-"]::-webkit-scrollbar{height:9px}
.table[class*="t-"]::-webkit-scrollbar-track{background:var(--surface-2)}
.table[class*="t-"]::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;border:2px solid var(--surface-2)}


/* __om_focus_once — JEDEN focus prsten, ne dva v sobě
   Generické `input:focus{box-shadow:...}` svítilo i u polí vnořených
   v obalu, který má vlastní :focus-within prsten (lupa + rámeček).
   Výsledek byl rámeček v rámečku. Svítí jen ten vnější obal, pole uvnitř
   je průhledné.
   POZOR: .a3-pick tu ZÁMĚRNĚ není — tam nese rámeček přímo input
   (obal .a3-pick žádný nemá), takže reset by ho úplně zrušil. */
:where(.search,.select-box,.gs-field,.fak-combo__in) input:not([type=checkbox]):not([type=radio]),
:where(.search,.select-box,.gs-field,.fak-combo__in) select,
:where(.search,.select-box,.gs-field,.fak-combo__in) input:not([type=checkbox]):not([type=radio]):focus,
:where(.search,.select-box,.gs-field,.fak-combo__in) input:not([type=checkbox]):not([type=radio]):focus-visible,
:where(.search,.select-box,.gs-field,.fak-combo__in) select:focus{
  box-shadow:none!important;outline:none!important;border:0!important;background:transparent!important
}
.fak-combo__in{transition:border-color .13s,box-shadow .13s}
.fak-combo__in:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}

/* ---------- PŘÍSTUPY v2: vidí / může spravovat ---------- */
.pm-ro-banner{display:flex;align-items:center;gap:9px;background:var(--amber-soft);border:1px solid var(--amber-line);color:var(--amber-ink);border-radius:11px;padding:10px 13px;font-size:12.5px;margin-bottom:14px}
.pm-locked{opacity:.45;cursor:not-allowed !important}
.pm-matrix{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow:auto;padding-right:2px}
.pm-row{display:flex;align-items:center;gap:12px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.pm-row__n{flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:2px;gap:2px;flex:0 0 auto}
.pm-seg__b{border:none;background:none;padding:5px 10px;font-size:11.5px;font-weight:700;color:var(--muted);border-radius:7px;cursor:pointer;white-space:nowrap}
.pm-seg__b:hover{color:var(--ink)}
.pm-seg__b.is-on{background:var(--accent);color:#fff}
.pm-seg__b--def.is-on{background:var(--chip-soft);color:var(--ink-2)}
.pm-hint{font-size:11.5px;color:var(--muted);line-height:1.6;margin-top:10px}
.pm-hint b{color:var(--ink-2)}
.pm-copy{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:12px}
.pm-copy label{font-size:11.5px;font-weight:800;color:var(--muted);white-space:nowrap}
.pm-copy select{flex:1;min-width:180px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12.5px;background:var(--surface);color:var(--ink)}
.pm-copy .muted{font-size:11px}
/* B6 — kontextové menu aktivity v kalendáři (fixed, ať ho neořízne overflow) */
.c3ctx{position:fixed;z-index:300;min-width:216px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.35);padding:6px;display:flex;flex-direction:column;gap:2px}
.c3ctx__i{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:none;border-radius:8px;padding:8px 10px;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.c3ctx__i:hover{background:var(--surface-2)}
.c3ctx__i--danger{color:var(--danger)}
.c3ctx__i--danger:hover{background:var(--danger-soft)}
