:root{
  --ivory:#FDF8F5; --paper:#FFFFFF; --cream:#F8EBE5; --blush:#F3DAD1; --nude:#E9CFC3; --rose:#D3A097;
  --gold:#C08A7D; --gold-ink:#8E5450; --ink:#3B2A29; --muted:#7A6461; --line:rgba(59,42,41,.11);
  --ok:#5E8B6A; --ok-bg:#E7F0E8; --warn:#A8742E; --warn-bg:#F7ECDA; --bad:#A4504B; --bad-bg:#F6E1DE; --info:#6A6FA0; --info-bg:#E8E8F3;
  --rosegold:linear-gradient(120deg,#A9665F 0%,#D9A595 45%,#B97C6E 100%);
  --script:"Great Vibes", cursive; --serif:"Frank Ruhl Libre", serif; --sans:"Heebo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --r:14px; --shadow:0 10px 30px -18px rgba(60,35,25,.35); --side:252px;
}
[data-theme="dark"]{
  --ivory:#1E1716; --paper:#2A2120; --cream:#332826; --blush:#4A3431; --nude:#5A403C; --ink:#F4E7E2; --muted:#BFA8A3; --line:rgba(244,231,226,.12);
  --gold-ink:#E3B2A6; --ok-bg:#25352A; --warn-bg:#3B2F1D; --bad-bg:#3E2422; --info-bg:#2A2B3D; --ok:#9CCBA8; --warn:#E3B66F; --bad:#E59A93; --info:#B2B6E6;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{accent-color:var(--gold-ink);margin:0;background:var(--ivory);color:var(--ink);font:400 15px/1.6 var(--sans);overflow-x:hidden}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.2}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--gold-ink)}
.skip{position:absolute;top:-60px;inset-inline-start:10px;background:var(--ink);color:var(--ivory);padding:8px 14px;border-radius:10px;z-index:99}
.skip:focus{top:10px}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.proto-bar{background:var(--ink);color:var(--ivory);text-align:center;font-size:12.5px;padding:6px 12px;letter-spacing:.01em}
[data-theme="dark"] .proto-bar{background:var(--blush)}

.shell{display:grid;grid-template-columns:var(--side) 1fr;min-height:calc(100vh - 31px)}
.side{background:var(--paper);border-inline-end:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 12px;border-bottom:1px solid var(--line)}
.brand img{border-radius:50%;object-fit:cover}
.brand-name{font-family:var(--script);font-size:26px;line-height:1;background:var(--rosegold);-webkit-background-clip:text;background-clip:text;color:transparent;direction:ltr}
.brand-sub{font-size:12px;color:var(--muted)}
#nav{display:flex;flex-direction:column;gap:2px}
.nav-group{font-size:11.5px;color:var(--muted);margin:12px 10px 4px;letter-spacing:.04em}
.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--ink)}
.nav-link .ic{width:20px;text-align:center;opacity:.75}
.nav-link:hover{background:var(--cream)}
.nav-link[aria-current="page"]{background:var(--blush);font-weight:500}
.nav-link .count{margin-inline-start:auto;background:var(--gold-ink);color:#fff;font-size:11px;border-radius:99px;padding:0 7px;min-width:20px;text-align:center}
.side-foot{margin-top:auto;font-size:13px;padding:8px 10px}
.main{min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:12px;padding:14px clamp(14px,3vw,28px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--ivory) 88%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5}
.top h1{font-size:clamp(20px,2.6vw,26px)}
.top-actions{margin-inline-start:auto;display:flex;gap:8px;align-items:center}
.icon-btn{border:1px solid var(--line);background:var(--paper);border-radius:10px;width:38px;height:38px;cursor:pointer;font-size:17px}
.menu-btn{display:none}
.me{width:36px;height:36px;border-radius:50%;overflow:hidden;border:1px solid var(--line);display:block}.me img{width:100%;height:100%;object-fit:cover}
#view{padding:clamp(14px,3vw,28px);max-width:1280px;width:100%;outline:none}

/* building blocks */
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.two{grid-template-columns:1.4fr 1fr}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}
.card h2{font-size:19px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.card h2 .more{margin-inline-start:auto;font:400 13px var(--sans)}
.kpi .n{font-family:var(--serif);font-size:32px;line-height:1.1}
.kpi .l{color:var(--muted);font-size:13px}
.kpi .d{font-size:12px;color:var(--ok)}
.muted{color:var(--muted)} .small{font-size:13px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.spacer{margin-inline-start:auto}
.btn{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:8px 14px;cursor:pointer;white-space:nowrap;text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.btn:hover{background:var(--cream)}
.btn.primary{background:var(--gold-ink);border-color:var(--gold-ink);color:#fff}
[data-theme="dark"] .btn.primary{color:#2A2120}
.btn.primary:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent}
.btn.danger{color:var(--bad)}
.btn.sm{padding:5px 10px;font-size:13px}
.pill{display:inline-block;font-size:12px;padding:2px 9px;border-radius:99px;background:var(--cream);white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)} .pill.warn{background:var(--warn-bg);color:var(--warn)} .pill.bad{background:var(--bad-bg);color:var(--bad)} .pill.info{background:var(--info-bg);color:var(--info)} .pill.rose{background:var(--blush);color:var(--gold-ink)}
.list{list-style:none;margin:0;padding:0}
.list>li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line)}
.list>li:first-child{border-top:0}
.list .grow{flex:1;min-width:0}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gold);margin-top:8px;flex:none}
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px;scrollbar-width:none}
.tab{border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:6px 14px;cursor:pointer;white-space:nowrap}
.tab[aria-pressed="true"]{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.search{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:8px 12px;min-width:200px}

table.t{width:100%;border-collapse:collapse}
.t th{font-weight:500;color:var(--muted);font-size:12.5px;text-align:start;padding:8px 10px;border-bottom:1px solid var(--line)}
.t td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.t tr.click{cursor:pointer} .t tr.click:hover td{background:var(--cream)}
.t .ltr{direction:ltr;text-align:end}
.ltr{direction:ltr;unicode-bidi:isolate}

/* forms */
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.field label{font-size:13px;color:var(--muted)}
.input,select.input,textarea.input{border:1px solid var(--line);background:var(--ivory);border-radius:10px;padding:9px 12px;width:100%}
textarea.input{min-height:90px;resize:vertical}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.switch input{appearance:none;width:38px;height:22px;border-radius:99px;background:var(--nude);position:relative;cursor:pointer;transition:.2s;margin:0}
.switch input::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.switch input:checked{background:var(--gold-ink)}
.switch input:checked::after{inset-inline-start:19px}
.note{background:var(--cream);border-radius:12px;padding:10px 14px;font-size:13.5px}
.note.warn{background:var(--warn-bg)}

/* drawer + modal */
.overlay{position:fixed;inset:0;background:rgba(40,25,22,.38);z-index:40;display:flex;justify-content:flex-start;animation:fade .15s}
.overlay.center{justify-content:center;align-items:center;padding:16px}
.drawer{background:var(--paper);width:min(520px,100%);height:100%;overflow:auto;padding:22px;box-shadow:var(--shadow);animation:slide .2s}
.dialog{background:var(--paper);width:min(560px,100%);max-height:90vh;overflow:auto;border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.dialog h2,.drawer h2{font-size:22px;margin-bottom:6px}
.close{float:inline-end;border:0;background:none;font-size:22px;cursor:pointer;color:var(--muted)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:14px 0}
.kv dt{color:var(--muted);font-size:13px} .kv dd{margin:0}
@keyframes fade{from{opacity:0}} @keyframes slide{from{transform:translateX(30px);opacity:.4}}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--ivory);padding:10px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:.25s;z-index:60;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%)}

/* pipeline */
.pipe{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}
.pipe button{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:10px;text-align:start;cursor:pointer}
.pipe button[aria-pressed="true"]{border-color:var(--gold-ink);box-shadow:inset 0 0 0 1px var(--gold-ink)}
.pipe .n{font-family:var(--serif);font-size:24px;display:block}
.agent-note{background:linear-gradient(0deg,var(--cream),var(--cream));border-inline-start:3px solid var(--gold);padding:8px 12px;border-radius:8px;font-size:13.5px}

/* calendar */
.cal-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.cal .dow{font-size:12px;color:var(--muted);text-align:center;padding:8px 0;border-bottom:1px solid var(--line);background:var(--cream)}
.cal .cell{min-height:96px;border-top:1px solid var(--line);border-inline-start:1px solid var(--line);padding:6px;cursor:pointer;min-width:0}
.cal .cell:nth-child(7n+1){border-inline-start:0}
.cal .cell.out{opacity:.4}
.cal .cell.today .num{background:var(--gold-ink);color:#fff;border-radius:50%}
.cal .num{font-size:12.5px;width:24px;height:24px;display:grid;place-items:center}
.ev{display:block;font-size:11.5px;border-radius:6px;padding:1px 6px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev.wedding{background:var(--blush);color:var(--gold-ink)} .ev.trial{background:var(--info-bg);color:var(--info)} .ev.evening{background:var(--warn-bg);color:var(--warn)} .ev.workshop{background:var(--ok-bg);color:var(--ok)} .ev.blocked{background:repeating-linear-gradient(45deg,var(--cream),var(--cream) 4px,var(--nude) 4px,var(--nude) 8px);color:var(--muted)}
.legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}

/* integrations */
.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.intg .logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px}
.intg p{font-size:13.5px;color:var(--muted);margin:10px 0}
.req{font-size:12.5px;margin:0 0 12px;padding-inline-start:18px;color:var(--muted)}

/* inbox */
.inbox{display:grid;grid-template-columns:300px 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper);min-height:560px}
.convs{border-inline-end:1px solid var(--line);overflow:auto}
.conv{display:flex;gap:10px;padding:12px;border-bottom:1px solid var(--line);cursor:pointer;width:100%;background:none;border-inline:0;border-top:0;text-align:start}
.conv[aria-current="true"]{background:var(--cream)}
.ch{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;flex:none}
.ch.whatsapp{background:#4E9A6B}.ch.instagram{background:linear-gradient(45deg,#C9895B,#B5577A,#7E5BA8)}.ch.telegram{background:#4D8CC0}.ch.site{background:var(--gold)}
.thread{display:flex;flex-direction:column;min-width:0}
.msgs{flex:1;padding:16px;overflow:auto;display:flex;flex-direction:column;gap:8px;background:var(--ivory)}
.msg{max-width:78%;padding:8px 12px;border-radius:14px;font-size:14.5px}
.msg .at{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.msg.them{align-self:flex-start;background:var(--paper);border:1px solid var(--line)}
.msg.neta,.msg.ai{align-self:flex-end;background:var(--blush)}
.msg.ai-draft{align-self:flex-end;background:transparent;border:1.5px dashed var(--gold)}
.msg.system{align-self:center;background:var(--warn-bg);color:var(--warn);font-size:12.5px}
.compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.compose input{flex:1}

/* posts */
.post{display:grid;grid-template-columns:72px 1fr;gap:12px}
.thumb{width:72px;height:72px;border-radius:12px;background:var(--rosegold);opacity:.7;display:grid;place-items:center;color:#fff;font-size:12px}
.banner-prev{border-radius:12px;padding:10px 14px;background:var(--ink);color:var(--ivory);display:flex;gap:10px;align-items:center;font-size:14px;flex-wrap:wrap}
.banner-prev .c{margin-inline-start:auto;background:var(--rose);color:#2A2120;border-radius:99px;padding:3px 12px;font-size:13px}

/* tokens */
.code{font-family:ui-monospace,Menlo,Consolas,monospace;direction:ltr;unicode-bidi:isolate;background:var(--cream);border-radius:8px;padding:2px 7px;font-size:13px;word-break:break-all}
pre.code{display:block;padding:12px;white-space:pre-wrap;text-align:left;margin:0}
.perm td,.perm th{text-align:center} .perm td:first-child,.perm th:first-child{text-align:start}

/* login */
.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.login .art{background:url(assets/img/login.jpg) center/cover}
.login .box{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,6vw,80px);gap:14px;max-width:520px}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:12px;cursor:pointer;font-weight:500}

@media (max-width:1100px){ .kpis{grid-template-columns:repeat(2,minmax(0,1fr))} .two{grid-template-columns:1fr} .pipe{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;inset-block:0;inset-inline-start:0;width:min(290px,84vw);z-index:30;transform:translateX(100%);transition:transform .22s;box-shadow:var(--shadow)}
  .side.open{transform:none}
  .scrim{position:fixed;inset:0;background:rgba(40,25,22,.35);z-index:25}
  .menu-btn{display:block}
  .inbox{grid-template-columns:1fr} .inbox.has-sel .convs{display:none} .inbox:not(.has-sel) .thread{display:none}
  .fgrid{grid-template-columns:1fr}
  .login{grid-template-columns:1fr} .login .art{height:34vh}
  /* tables → stacked cards */
  table.t.stack thead{display:none}
  table.t.stack tr{display:block;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:6px 4px;background:var(--paper)}
  table.t.stack td{display:flex;justify-content:space-between;gap:10px;border:0;padding:5px 10px}
  table.t.stack td::before{content:attr(data-l);color:var(--muted);font-size:12.5px}
  table.t.stack td.ltr{direction:rtl} table.t.stack td.ltr>span{direction:ltr}
}
@media (max-width:520px){
  .pipe{display:flex;overflow-x:auto;scrollbar-width:none} .pipe button{flex:0 0 108px;padding:8px} .pipe .n{font-size:20px}
  table.t.stack td.opt{display:none}
  .kpis{gap:10px} .kpi .n{font-size:26px} .card{padding:14px}
  .cal .cell{min-height:58px;padding:3px} .ev{font-size:0;height:6px;padding:0;margin-top:2px}
  .search{min-width:0;flex:1}
  .dialog,.drawer{padding:18px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── v2 modules ─────────────────────────────────────────── */
.pill.demo{background:var(--warn-bg);color:var(--warn);font-weight:600}
.ph{color:var(--warn);font-size:.9em;font-style:italic}
.wrap{flex-wrap:wrap}
.btn.xs{padding:3px 9px;font-size:12.5px;min-height:28px}
.input.xs{padding:4px 6px;font-size:13px;min-height:30px;width:auto}
.btn.danger-solid{background:var(--bad);color:#fff;border-color:var(--bad)}
.note.bad{background:var(--bad-bg);color:var(--bad)}
.card.wide{grid-column:1/-1}
.chart{margin:0}.chart figcaption{font-weight:600;margin-bottom:6px}
.chart svg{width:100%;height:auto;display:block}
.chart .ax{font-size:9.5px;fill:var(--muted);font-family:var(--sans)}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .big{font-size:22px;font-weight:700;fill:var(--ink);font-family:var(--sans)}
.lg{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}
.lg.inline{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.lg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:6px;vertical-align:middle}
.dn{display:flex;gap:16px;align-items:center}.dn svg{width:130px;flex:none}
.fun{display:grid;gap:6px}.fs{display:grid;grid-template-columns:62px 1fr 42px;align-items:center;gap:8px;font-size:13px}
.fb{display:block;color:#fff;border-radius:6px;padding:4px 8px;font-weight:600;min-width:34px}.fp{color:var(--muted);font-size:12px}
.heat{border-collapse:separate;border-spacing:3px;width:100%;font-size:11px;table-layout:fixed}
.heat th{font-weight:500;color:var(--muted)}.heat td{background:rgba(185,124,110,var(--a));border-radius:4px;text-align:center;height:24px;color:var(--ink)}
.prog .bar,.agent .bar{height:9px;background:var(--cream);border-radius:9px;overflow:hidden;margin:5px 0 10px}
.prog .bar i,.agent .bar i{display:block;height:100%;background:var(--rosegold);border-radius:9px}
.agent .bar.hot i{background:var(--bad)}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.kcol{background:var(--cream);border-radius:var(--r);padding:10px;min-height:120px;scroll-snap-align:start}
.kcol.over{outline:2px dashed var(--gold)}.kcol h3{margin:0 0 8px;font-size:15px;display:flex;gap:6px;align-items:center}
.kcard{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;display:grid;gap:6px;cursor:grab}
.tagrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.heat-s{font-size:12.5px;font-weight:700}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.wd{background:var(--cream);border-radius:10px;padding:6px;min-height:70px;display:grid;align-content:start;gap:4px;font-size:12px}
.wd.today{outline:2px solid var(--gold)}.wd .ev{display:block;white-space:normal;height:auto;font-size:11px;padding:2px 4px}
.tl{list-style:none;padding:0;margin:0 0 10px;border-inline-start:2px solid var(--nude)}
.tl li{padding:6px 12px;position:relative}.tl li::before{content:"";position:absolute;inset-inline-start:-6px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.tl b{font-variant-numeric:tabular-nums;margin-inline-end:8px}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-bottom:10px}
.ph-grid figure{margin:0;position:relative}.ph-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.ph-grid button{position:absolute;top:4px;inset-inline-end:4px;background:var(--paper)}
.quote-box{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0;background:var(--ivory)}
.quote-box h3{margin:0 0 8px}
.msgprev{white-space:pre-wrap;font-family:var(--sans);font-size:13px;background:var(--cream);border-radius:10px;padding:8px 10px;margin:6px 0}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.cday{background:var(--cream);border-radius:10px;padding:8px;display:grid;gap:4px;align-content:start}
.cday .pill{border:0;cursor:pointer;justify-self:start;font:inherit;font-size:12px}
.kill{border:2px solid var(--ok)}.kill.on{border-color:var(--bad);background:var(--bad-bg)}
.agents{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.pill .x{background:none;border:0;color:inherit;cursor:pointer;padding:0 2px;font-size:14px}
.scrollx{overflow-x:auto}
.feat{margin:0;padding-inline-start:34px}.feat li{padding:3px 0}.feat a{color:inherit;text-decoration:none}.feat a:hover{text-decoration:underline}
input[type=range]{width:100%;accent-color:var(--gold)}
html.hc{--muted:#3B2A29;--line:rgba(0,0,0,.45)}html.hc[data-theme=dark]{--muted:#fff;--line:rgba(255,255,255,.5)}
html.rm *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (max-width:560px){.dn{flex-direction:column}.week{grid-template-columns:repeat(2,1fr)}.fs{grid-template-columns:54px 1fr 36px}}
@media print{.side,.top,.proto-bar,.tabs,.btn,.toast{display:none!important}.main{margin:0!important}
  body.printing-quote #view>*:not(.grid), body.printing-quote .grid>*:not(#qb){display:none!important}
  body.printing-quote #qb>*:not(.quote-box){display:none!important}}
.list li.qitem{flex-wrap:wrap;align-items:flex-start}.list li.qitem>.grow{flex:1 1 220px;min-width:0}.list li.qitem>.row{flex-basis:100%}.list li .grow{min-width:0}
.posts{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.post-card{display:grid;gap:4px}.post-card.neta{border-inline-start:4px solid var(--warn)}
.ltr-inline{direction:ltr;unicode-bidi:isolate;word-break:break-all}
.cal30{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.c-h{text-align:center}
.c30{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:4px 2px;display:grid;gap:2px;justify-items:center;font:inherit;color:inherit;cursor:pointer;min-height:64px;overflow:hidden}
.c30.neta{background:var(--warn-bg)}.c30.dim{opacity:.35}.c30 i{font-style:normal;font-size:9.5px;padding:0 4px}.c30 .small{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.glist{max-height:420px;overflow:auto}.tasks li{align-items:flex-start}

/* ===== v3 interactive dashboard ===== */
.dz-bar{padding:12px 14px;margin-bottom:14px;position:sticky;top:0;z-index:5}
.dz-row{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
.dz-row+.dz-row{margin-top:10px}
.segs{display:flex;background:var(--cream);border-radius:12px;padding:3px;gap:2px}
.seg{border:0;background:none;padding:7px 11px;border-radius:9px;font:inherit;font-size:14px;color:var(--muted);cursor:pointer}
.seg.on{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.demo-tag{display:inline-block;font-size:11px;font-weight:600;background:var(--warn-bg);color:var(--warn);border-radius:20px;padding:2px 8px;vertical-align:middle}
.dz-nav .btn{min-width:84px}.dz-nav .btn:disabled{opacity:.35;cursor:default}
.dz-label{text-align:center;display:flex;flex-direction:column;flex:1}.dz-label b{font-size:17px}
.sw{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw span{width:38px;height:22px;border-radius:20px;background:var(--nude);position:relative;transition:.2s;flex:none}
.sw span:after{content:"";position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.sw input:checked+span{background:#7A5CC7}.sw input:checked+span:after{right:19px}
.sw input:focus-visible+span{outline:2px solid var(--gold-ink);outline-offset:2px}
.linkish{border:0;background:none;color:var(--gold-ink);text-decoration:underline;cursor:pointer;font:inherit;font-size:14px}
.dz-range label{display:flex;align-items:center;gap:6px;font-size:14px}.dz-range input{font:inherit;padding:5px 6px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.kpis6{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kpi2{text-align:start;font:inherit;color:inherit;border:1px solid var(--line);cursor:pointer;position:relative;overflow:hidden;border-top:3px solid var(--kc);transition:transform .15s,box-shadow .15s}
.kpi2:hover,.kpi2:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow)}
.kpi2 .n{color:var(--kc);font-variant-numeric:tabular-nums}
[data-theme="dark"] .kpi2 .n{filter:brightness(1.35)}
.kd{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:2px}
.dl{font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap}.dl.up{color:#2E9E58}.dl.down{color:#D2524B}
[data-theme="dark"] .dl.up{color:#7BD69A}[data-theme="dark"] .dl.down{color:#F08C85}
.spark{display:block;width:100%;height:28px;margin-top:8px}
.dz-charts{margin-top:16px}
.cv{position:relative}.cv.h220{height:230px}.cv.h240{height:250px}
.hint{margin:6px 0 0}
.funnel{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.fn{display:grid;grid-template-columns:92px 1fr 40px 36px 58px;align-items:center;gap:8px;border:0;background:none;font:inherit;color:inherit;padding:4px 0;cursor:pointer;text-align:start}
.fn-bar{height:22px;background:var(--cream);border-radius:8px;overflow:hidden}.fn-bar i{display:block;height:100%;border-radius:8px;animation:grow .9s ease-out}
@keyframes grow{from{width:0!important}}
.fn:hover .fn-bar i{filter:brightness(1.1)}
.heatcal{margin-top:4px}
.hc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.hc-h{font-size:11px;color:var(--muted);text-align:center}
.hc-d{aspect-ratio:1;border:0;border-radius:8px;font:inherit;font-size:12px;color:var(--ink);cursor:pointer;position:relative;display:grid;place-items:center}
.hc-d b{position:absolute;bottom:1px;inset-inline-end:4px;font-size:10px}
.h0{background:var(--cream)}.h1{background:#F2B8C6}.h2{background:#E2729A}.h3{background:#B8336A}
.hc-d.h2,.hc-d.h3{color:#fff}
[data-theme="dark"] .h1{background:#6E3A4B}[data-theme="dark"] .h2{background:#A44A70}[data-theme="dark"] .h3{background:#E2729A}
.hc-wide{overflow-x:auto;padding-bottom:4px}.hc-cols{display:flex;gap:3px;width:max-content}
.hc-col{display:flex;flex-direction:column;gap:3px}
.hc-s{width:12px;height:12px;border-radius:3px;border:0;padding:0;cursor:pointer}.hc-s.off{background:transparent}
.legend-scale{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);margin-top:8px}.legend-scale i{width:12px;height:12px;border-radius:3px;display:inline-block}
.wh{display:grid;gap:2px;direction:ltr}
.wh-h{font-size:10px;color:var(--muted);text-align:center;align-self:center}
.wh-c{aspect-ratio:1;border:0;padding:0;border-radius:3px;cursor:pointer;background:color-mix(in srgb,#7A5CC7 calc(var(--a) * 100%),var(--cream))}
.wh-c:hover{outline:2px solid var(--ink)}
.dd-f{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.dd-f label{display:flex;flex-direction:column;gap:3px;flex:1;min-width:100px}
.dd-f select{font:inherit;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.dd-sum{padding:8px 0;border-bottom:1px solid var(--line)}
.dd-r{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.st-booked{background:var(--ok-bg);color:var(--ok)}.st-deposit{background:var(--info-bg);color:var(--info)}.st-quoted{background:var(--warn-bg);color:var(--warn)}.st-lost{background:var(--bad-bg);color:var(--bad)}
@media (max-width:860px){.kpis6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.dz-bar{top:0}.seg{padding:7px 9px;font-size:13.5px}.fn{grid-template-columns:78px 1fr 32px 32px 52px;gap:5px;font-size:13.5px}.kpi2 .n{font-size:22px}}
.dz-range[hidden]{display:none}

.site-stats{margin-top:16px;background:linear-gradient(180deg,color-mix(in srgb,#4A7FD9 6%,var(--paper)),var(--paper))}
.st-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.demo-tag.ok{background:var(--ok-bg);color:var(--ok)}
.site-stats .card{box-shadow:none}
.cv.h200{height:200px}
.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2FA866;margin-inline-end:6px;box-shadow:0 0 0 0 rgba(47,168,102,.6);animation:pulse 1.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(47,168,102,0)}100%{box-shadow:0 0 0 0 rgba(47,168,102,0)}}
.live{cursor:default}.bump{animation:bump .4s}@keyframes bump{50%{transform:scale(1.15)}}
.barlist{display:flex;flex-direction:column;gap:7px}
.bl{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 44px;gap:8px;align-items:center;border:0;background:none;font:inherit;color:inherit;text-align:start;cursor:pointer;padding:2px 0}
.bl-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px}
.bl-b{height:10px;background:var(--cream);border-radius:6px;overflow:hidden}.bl-b i{display:block;height:100%;background:linear-gradient(90deg,#1FB5B0,#4A7FD9);border-radius:6px;animation:grow .9s ease-out}
.bl b{font-size:13px;text-align:end}
.bl:hover .bl-n{color:var(--gold-ink)}
@media (max-width:520px){.dz-bar{position:static}}
.st-mode{margin:8px 0;display:inline-flex}.note-real{background:var(--ok-bg);border-radius:10px;padding:6px 10px;margin:6px 0}
