/* AC CRM — light workspace in AC colours: warm light canvas, warm-black top bar, off-white cards, warm black / graphite / muted red KPI tiles (variant C). */
:root{
  --canvas:#efedea; --card:#fbfaf8; --ink:#1c1a19; --ink-2:#24211f; --ink-3:#3a3633; --graphite:#3a3633;
  --t1:#1c1a19; --t2:#5b5651; --t3:#8f8983; --hair:#e7e3de; --soft:#f3f1ed; --soft-2:#ebe7e2;
  --accent:#b8231a; --accent-hi:#c42b21; --accent-deep:#9c1d15; --accent-bg:#f6e3df; --muted-bar:#cfc9c2;
  --green:#1f9d55; --green-bg:#e3f6ea; --amber:#c76a00; --amber-bg:#fff0dc; --red:#e5383b; --red-bg:#fde6e7;
  --r:14px; --r-sm:10px;
  --shadow:0 1px 2px rgba(21,21,40,.04),0 4px 14px rgba(21,21,40,.04);
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"Roboto Mono",ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--canvas);color:var(--t1);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:var(--accent);text-decoration:none}
.mono{font-family:var(--mono);font-size:12.5px}
.dim{color:var(--t3)}
.pos{color:var(--green)} .neg{color:var(--red)}

/* ---------- login ---------- */
.login{min-height:100vh;display:grid;place-items:center;padding:16px}
.login form{width:min(380px,100%);background:var(--card);border-radius:20px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}
.login h1{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:8px}
.login p{color:var(--t2);font-size:13px;margin:-8px 0 6px}
.login .err{color:var(--red);font-size:13px;min-height:18px}

/* ---------- top bar ---------- */
.app{min-height:100vh;padding:12px 12px 40px}
.bar{position:sticky;top:12px;z-index:5;display:flex;align-items:center;gap:6px;height:58px;padding:0 10px 0 14px;border-radius:16px;background:var(--ink);color:#c9cad8;box-shadow:0 8px 24px rgba(21,21,40,.18)}
.mark{display:flex;align-items:center;gap:8px;flex:none;margin-right:12px}
.mark img{height:18px;display:block}
.mark b{font:700 11px/1 var(--font);letter-spacing:.04em;padding:4px 7px;border-radius:6px;background:var(--accent);color:#fff}
.login .mark{background:var(--ink);padding:11px 13px;border-radius:12px;align-self:flex-start;margin:0}
.nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.nav::-webkit-scrollbar{display:none}
.nav button{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:10px;color:#a9aabd;font-size:13.5px;font-weight:500;white-space:nowrap;transition:background .2s,color .2s}
.nav button:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav button.on{color:#fff;background:rgba(255,255,255,.12)}
.nav svg{width:17px;height:17px;flex:none}
.bar-right{display:flex;align-items:center;gap:14px;flex:none;font-size:12.5px}
.clock{font-family:var(--mono);color:#a9aabd}
.user{display:flex;align-items:center;gap:8px;color:#fff}
.user i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-style:normal;font-weight:700;font-size:12px}
.bar-right .out{color:#a9aabd;font-size:12.5px}
.bar-right .out:hover{color:#fff}

/* ---------- page ---------- */
.main{max-width:1480px;margin:0 auto;padding:22px 4px 0}
.view{animation:in .35s var(--ease) both}
@keyframes in{from{opacity:0;transform:translateY(6px)}}
.top{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
h1{font-size:22px;font-weight:700;letter-spacing:-.02em}
.top .sub{color:var(--t3);font-size:13px}
.spacer{flex:1}
.hint{color:var(--t3);font-size:13px}
code{font-family:var(--mono);font-size:12px;color:var(--t2);background:var(--soft-2);padding:1px 5px;border-radius:5px}

/* segmented: white pills, the active one red */
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:var(--card);box-shadow:var(--shadow)}
.seg button{height:30px;padding:0 12px;border-radius:9px;font-size:13px;font-weight:500;color:var(--t2);white-space:nowrap;transition:background .2s,color .2s}
.seg button:hover{color:var(--t1)}
.seg button.on{background:var(--accent);color:#fff}
.seg button .n{margin-left:6px;color:var(--t3);font-weight:500}
.seg button.on .n{color:rgba(255,255,255,.7)}
.sheet .seg{background:var(--soft);box-shadow:none;align-self:flex-start}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--r-sm);font-size:13.5px;font-weight:600;white-space:nowrap;transition:background .2s,transform .15s,opacity .2s}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.45;cursor:default}
.btn.dark{background:var(--ink);color:#fff}
.btn.dark:hover{background:var(--ink-3)}
.btn.red{background:var(--accent);color:#fff}
.btn.red:hover{background:var(--accent-hi)}
.btn.soft{background:var(--soft-2);color:var(--t1)}
.btn.soft:hover{background:#e2e4ee}
.btn.ghost{color:var(--t2);padding:0 10px}
.btn.ghost:hover{color:var(--t1);background:var(--soft)}
.btn.danger{color:var(--red);padding:0 10px}
.btn.danger:hover,.btn.danger.armed{background:var(--red-bg)}
.btn.wide{width:100%;height:44px}
.btn svg{width:16px;height:16px}

/* search */
.search{display:flex;align-items:center;gap:8px;height:38px;width:280px;padding:0 12px;border-radius:var(--r-sm);background:var(--card);box-shadow:var(--shadow);color:var(--t3)}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--t1)}
.search:focus-within{box-shadow:0 0 0 2px var(--accent)}

/* ---------- cards ---------- */
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;min-width:0}
.card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.card-head h2{font-size:16px;font-weight:700;letter-spacing:-.01em}
.grid{display:grid;gap:12px}
.dash-top{grid-template-columns:minmax(190px,.85fr) repeat(5,minmax(0,1fr))}
.dash-mid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin-top:12px}
@media (max-width:1250px){.dash-top{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-mid{grid-template-columns:1fr}}
@media (max-width:700px){.dash-top{grid-template-columns:1fr 1fr}}

/* KPI tile: label + badge, big number, a small table of other periods */
.kpi{border-radius:var(--r);padding:14px 16px 12px;background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:152px;min-width:0}
.kpi .k-head{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--t2)}
.kpi .badge{margin-left:auto}
.kpi .v{font-size:27px;font-weight:700;letter-spacing:-.03em;margin:8px 0 10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.kpi dl{margin-top:auto;display:grid;grid-template-columns:1fr auto;gap:3px 10px;font-size:11.5px}
.kpi dt{color:var(--t3)} .kpi dd{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.kpi.ink{background:var(--ink-2);color:#fff}
.kpi.ink .k-head{color:#d6d0c9} .kpi.ink dt{color:#a39c95}
.kpi.graphite{background:var(--graphite);color:#fff}
.kpi.graphite .k-head{color:#d6d0c9} .kpi.graphite dt{color:#a39c95}
.kpi.red{background:var(--accent);color:#fff}
.kpi.red .k-head{color:rgba(255,255,255,.85)} .kpi.red dt{color:rgba(255,255,255,.66)}
.kpi .fill{height:6px;border-radius:3px;background:rgba(255,255,255,.14);margin:0 0 10px;overflow:hidden}
.kpi .fill i{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width .8s var(--ease)}

/* quick actions tile */
.quick{background:var(--ink);color:#fff;border-radius:var(--r);padding:8px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow)}
.quick button{flex:1;display:flex;align-items:center;gap:10px;min-height:30px;padding:0 10px;border-radius:9px;background:rgba(255,255,255,.1);font-size:12.5px;font-weight:600;text-align:left;transition:background .2s}
.quick button:hover{background:rgba(255,255,255,.2)}
.quick button span{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;background:var(--accent);font-size:14px;line-height:1;flex:none}

.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;background:var(--green-bg);color:var(--green);white-space:nowrap}
.badge.down{background:var(--red-bg);color:var(--red)}
.badge.flat{background:var(--soft-2);color:var(--t3)}
.kpi.ink .badge,.kpi.graphite .badge,.kpi.red .badge{background:rgba(255,255,255,.12);color:#9df0b9}
.kpi.ink .badge.down,.kpi.graphite .badge.down{color:#ff8f88}
.kpi.red .badge,.kpi.red .badge.down{background:rgba(0,0,0,.18);color:#fff}
.kpi.ink .badge.flat,.kpi.graphite .badge.flat{color:#cfcfd6}

/* chart */
.chart{display:flex;align-items:stretch;gap:6px;height:240px;padding-top:8px;position:relative}
.chart::before{content:"";position:absolute;left:0;right:0;top:8px;bottom:22px;background:repeating-linear-gradient(to top,var(--hair) 0 1px,transparent 1px 25%);pointer-events:none}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;position:relative}
.chart .bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative}
.chart .bars i{width:min(14px,38%);min-height:2px;border-radius:4px 4px 1px 1px;background:var(--accent);transition:height .7s var(--ease)}
.chart .bars i.l{background:var(--muted-bar)}
.chart .col > span{font-size:10.5px;color:var(--t3);font-family:var(--mono);height:16px}
.chart .col.today > span{color:var(--t1);font-weight:600}
.chart .tip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:11.5px;line-height:1.5;padding:6px 9px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:2}
.chart .col:hover .tip{opacity:1}
.chart .col:hover .bars i{filter:brightness(.93)}
.legend{display:flex;gap:14px;font-size:12px;color:var(--t2);margin-left:auto}
.legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* lists inside cards */
.list-row{display:flex;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid var(--hair);font-size:13px}
.list-row:last-child{border-bottom:0}
.list-row .grow{flex:1;min-width:0}
.list-row b{font-weight:600}
.list-row small{display:block;color:var(--t3);font-size:11.5px;margin-top:1px}
.meter{height:6px;border-radius:3px;background:var(--soft-2);overflow:hidden;margin-top:6px}
.meter i{display:block;height:100%;border-radius:3px;background:var(--ink-3);transition:width .8s var(--ease)}
.meter.full i{background:var(--accent)}
.flag{width:32px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--soft-2);font:600 11px var(--mono);color:var(--t2);flex:none}

/* ---------- tables ---------- */
.table{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);overflow-x:auto}
.table > .inner{min-width:960px}
.thead,.row{display:grid;align-items:center;column-gap:12px;padding:0 16px}
.thead{height:42px;color:var(--t3);font-size:12px;font-weight:600;border-bottom:1px solid var(--hair);background:#f7f5f2}
.row{min-height:54px;border-bottom:1px solid var(--hair);cursor:pointer;transition:background .15s;font-variant-numeric:tabular-nums}
.row:last-child{border-bottom:0}
.row:hover{background:#f5f3ef}
.row > span,.thead > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.name{display:flex;flex-direction:column;gap:1px;min-width:0}
.name b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.name em{font-style:normal;font-size:12px;color:var(--t3);overflow:hidden;text-overflow:ellipsis}
.r{text-align:right}
.cols-lead{grid-template-columns:64px 100px minmax(200px,2fr) 150px 52px minmax(110px,1fr) minmax(110px,1fr) 118px}
.cols-aff{grid-template-columns:minmax(200px,2fr) minmax(220px,2fr) 110px 110px 100px}
.cols-broker{grid-template-columns:minmax(200px,2fr) minmax(220px,2fr) 70px 110px 90px 100px}
.cols-cap{grid-template-columns:52px minmax(170px,1.6fr) minmax(110px,1fr) minmax(110px,1fr) 150px minmax(190px,1.4fr) 100px}
.cols-log{grid-template-columns:110px minmax(150px,1.4fr) 100px 64px 84px minmax(240px,3fr)}

.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:7px;font-size:12px;font-weight:600;background:var(--soft-2);color:var(--t2);white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.sent,.pill.on,.pill.open{background:var(--green-bg);color:var(--green)}
.pill.unsold{background:var(--amber-bg);color:var(--amber)}
.pill.fail{background:var(--red-bg);color:var(--red)}
.pill.off,.pill.closed,.pill.duplicate{background:var(--soft-2);color:var(--t3)}
.pill.test{background:var(--ink);color:#fff}
.prio{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:12px;font-weight:700}
.prio.p2{background:var(--accent)} .prio.p3{background:var(--soft-2);color:var(--t2)}

.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.filters select.in{width:auto;min-width:170px;height:38px;background-color:var(--card);box-shadow:var(--shadow)}
.pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0;color:var(--t3);font-size:13px}
.empty{padding:64px 20px;text-align:center;color:var(--t3);display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow)}
.empty b{color:var(--t1);font-size:17px;font-weight:700}
.empty .btn{margin-top:10px}

/* ---------- drawer ---------- */
.scrim{position:fixed;inset:0;background:rgba(21,21,35,.28);opacity:0;pointer-events:none;transition:opacity .3s;z-index:10}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;top:12px;right:12px;bottom:12px;width:min(580px,calc(100vw - 24px));border-radius:18px;background:var(--card);box-shadow:0 24px 70px rgba(21,21,40,.25);transform:translateX(calc(100% + 24px));transition:transform .45s var(--ease);z-index:11;overflow:hidden}
.sheet.on{transform:none}
.page{position:absolute;inset:0;overflow:auto;padding:0 24px 40px}
.sheet header{display:flex;align-items:flex-start;gap:12px;margin:0 -24px 20px;padding:20px 24px 16px;border-bottom:1px solid var(--hair);position:sticky;top:0;background:var(--card);z-index:1}
.sheet h2{font-size:19px;font-weight:700;letter-spacing:-.02em;word-break:break-word}
.sheet header p{color:var(--t3);font-size:13px;margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.x{width:32px;height:32px;border-radius:9px;background:var(--soft);display:grid;place-items:center;color:var(--t2);flex:none;margin-left:auto}
.x:hover{background:var(--soft-2);color:var(--t1)}
.sec{color:var(--t1);font-size:13px;font-weight:700;margin:22px 0 10px}
.note{font-size:13px;color:var(--amber);background:var(--amber-bg);padding:10px 12px;border-radius:var(--r-sm);margin-bottom:16px}

.kv{display:grid;grid-template-columns:130px 1fr;font-size:13px;border-radius:var(--r-sm);background:var(--soft);overflow:hidden}
.kv dt,.kv dd{padding:8px 12px;border-bottom:1px solid #e8e9f1}
.kv dt{color:var(--t3)} .kv dd{word-break:break-all}
.kv dt:nth-last-child(2),.kv dd:last-child{border-bottom:0}

/* ---------- forms ---------- */
.form{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field > label{color:var(--t2);font-size:12px;font-weight:600}
.field small{color:var(--t3);font-size:12px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.in{width:100%;height:40px;padding:0 12px;border:0;border-radius:var(--r-sm);background:var(--soft);color:var(--t1);outline:0;transition:box-shadow .15s,background .15s}
.in::placeholder{color:#a3a4b5}
.in:focus{background:#fff;box-shadow:0 0 0 2px var(--accent)}
textarea.in{height:auto;min-height:92px;padding:10px 12px;resize:vertical;font:12.5px/1.5 var(--mono)}
select.in{appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a9c' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.in.num{width:110px;text-align:right;font-variant-numeric:tabular-nums}
.two .in.num{width:100%}
.toggle{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-sm);background:var(--soft)}
.toggle > span{flex:1;display:flex;flex-direction:column;gap:1px}
.toggle b{font-weight:600}
.toggle small{color:var(--t3);font-size:12px}
.sw{position:relative;width:42px;height:24px;border-radius:12px;background:#d6d0c9;flex:none;transition:background .25s}
.sw::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .3s var(--ease)}
.sw.on{background:var(--accent)}
.sw.on::after{transform:translateX(18px)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{height:30px;padding:0 11px;border-radius:9px;background:var(--soft);color:var(--t2);font-size:13px;font-weight:500;transition:background .15s,color .15s}
.chip:hover{background:var(--soft-2);color:var(--t1)}
.chip.on{background:var(--ink);color:#fff}
.actions{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.group{padding:16px;border-radius:var(--r);background:#f7f5f2;box-shadow:inset 0 0 0 1px var(--hair);display:flex;flex-direction:column;gap:14px}
.group > h3{font-size:13px;font-weight:700}

pre.code{white-space:pre-wrap;word-break:break-all;font:12px/1.55 var(--mono);color:#d8d9e6;background:var(--ink-2);padding:14px;border-radius:var(--r-sm);max-height:340px;overflow:auto}
.key{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;border-radius:var(--r-sm);background:var(--soft);font:12.5px var(--mono);color:var(--t1)}
.key span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attempt{border-radius:var(--r-sm);background:var(--soft);margin-bottom:8px}
.attempt summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:13px;padding:10px 12px}
.attempt summary::-webkit-details-marker{display:none}
.attempt summary em{font-style:normal;color:var(--t3);margin-left:auto;font-size:12px;white-space:nowrap}
.attempt .body{padding:0 12px 12px}
.attempt .body p{font-size:12px;font-weight:600;color:var(--t2);margin:8px 0 6px}
.settings-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:12px;align-items:start}
@media (max-width:1000px){.settings-grid{grid-template-columns:1fr}}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;padding:11px 16px;border-radius:12px;background:var(--ink);color:#fff;font-size:13px;font-weight:500;box-shadow:0 12px 30px rgba(21,21,40,.3);transition:transform .3s var(--ease),opacity .25s;z-index:20;pointer-events:none}
.toast.on{transform:translate(-50%,0);opacity:1}
.toast.err{background:var(--red)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}}
@media (max-width:900px){.bar-right .clock,.nav button span{display:none}.two{grid-template-columns:1fr}.search{width:100%}}
/* soft buttons that sit on the canvas (not inside a card) are white */
.top .btn.soft,.pager .btn.soft{background:var(--card);box-shadow:var(--shadow)}
.top .btn.soft:hover,.pager .btn.soft:hover{background:#f5f3ef}
.sheet:not(.on){box-shadow:none}
@media (max-width:600px){.app{padding:8px 8px 32px}.bar{top:8px;height:52px}.mark{margin-right:4px}.bar-right .user{display:none}.top h1{font-size:20px}.main{padding-top:16px}}

/* stage 2: statuses, FTD, postbacks, re-injection */
.pill.g-new{background:var(--soft-2);color:var(--t2)}
.pill.g-in_progress{background:var(--green-bg);color:var(--green)}
.pill.g-callback{background:var(--amber-bg);color:var(--amber)}
.pill.g-no_answer{background:#ebe6e0;color:#7a726b}
.pill.g-not_interested{background:var(--red-bg);color:var(--red)}
.pill.g-invalid{background:var(--soft-2);color:var(--t3)}
.pill.g-ftd{background:var(--accent);color:#fff}
.state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.state em{font-style:normal;color:var(--t3);margin-left:auto;font-size:12px}
.fold summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--t2);list-style:none}
.fold summary::-webkit-details-marker{display:none}
.fold summary::after{content:" ›"}
.fold[open] summary::after{content:" ⌄"}
.events{display:flex;flex-direction:column;gap:6px}
.ev{display:grid;grid-template-columns:100px auto 1fr;gap:4px 12px;align-items:center;padding:9px 12px;border-radius:var(--r-sm);background:var(--soft);font-size:13px}
.ev > span:nth-child(2){display:flex;align-items:center;gap:6px}
.ev i{font-style:normal;color:var(--t3)}
.ev em{grid-column:2 / -1;font-style:normal;color:var(--t3);font-size:12px}
.mini{display:flex;flex-direction:column;border-radius:var(--r-sm);overflow:hidden;background:var(--soft);font-size:12.5px}
.mini > div{display:grid;grid-template-columns:1fr 1.2fr 1fr 60px;gap:10px;align-items:center;padding:7px 12px;border-top:1px solid var(--hair)}
.mini > .mh{border-top:0;color:var(--t3);font-weight:600;font-size:11.5px}
.maprows{display:flex;flex-direction:column;gap:6px}
.maprow{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(150px,1fr);gap:10px;align-items:center;font-size:13px}
.maprow.add{grid-template-columns:minmax(0,1fr) minmax(150px,1fr)}
.maprow .in{height:36px}
.small{font-size:12px}
.ellip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cols-aff{grid-template-columns:minmax(200px,2fr) minmax(220px,2fr) 110px 100px 80px 100px}
.cols-pb{grid-template-columns:110px minmax(150px,1.2fr) 110px 130px 60px 80px minmax(220px,2.4fr)}
.cols-inject{grid-template-columns:minmax(240px,2.2fr) minmax(140px,1fr) 120px minmax(150px,1fr) 90px 120px}
.cols-inject .meter{margin:0 0 4px}
.cols-lead{grid-template-columns:64px 100px minmax(200px,2fr) 150px 52px minmax(110px,1fr) minmax(110px,1fr) 136px}

/* stage 3: cabinets */
.dash-top.p5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1250px){.dash-top.p5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.dash-top.p5{grid-template-columns:1fr 1fr}}
.cols-pa{grid-template-columns:100px minmax(200px,2fr) 150px 52px minmax(110px,1fr) 130px minmax(110px,1fr)}
.cols-pa.nb{grid-template-columns:100px minmax(200px,2fr) 150px 52px 130px minmax(110px,1fr)}
.cols-apb{grid-template-columns:110px 110px 130px 60px minmax(240px,3fr)}
.cols-pbr{grid-template-columns:100px minmax(200px,2fr) 150px 52px 110px minmax(120px,1fr) 136px}
.cols-up{grid-template-columns:60px minmax(140px,1.4fr) minmax(120px,1fr) 136px 90px minmax(160px,1.4fr)}
.doc{display:flex;flex-direction:column;margin-top:12px;border-radius:var(--r-sm);background:var(--soft);overflow:hidden}
.doc-row{display:grid;grid-template-columns:minmax(120px,auto) auto 1fr;gap:12px;align-items:center;padding:8px 12px;font-size:13px;border-top:1px solid var(--hair)}
.doc-row:first-child{border-top:0}
.doc-row code,.hint code{font:12px var(--mono);color:var(--t1)}
.who{font-size:12.5px;color:#d6d0c9;white-space:nowrap}
.filters .in.date{width:150px;height:38px;background:var(--card);box-shadow:var(--shadow)}
.file{font-size:13px;color:var(--t2)}
.pw{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--accent-bg);font:13px var(--mono);color:var(--t1)}
.pw span{flex:1}
@media (max-width:900px){.who{display:none}}

/* stage 4: reports and finance */
.rep-kpi{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}
.rep-kpi.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.rep-kpi,.rep-kpi.three{grid-template-columns:1fr 1fr}}
.kpi.slim{min-height:0;padding:12px 16px}
.kpi.slim .v{font-size:23px;margin:6px 0 4px}
.kpi.slim small{font-size:11.5px;color:var(--t3)}
.kpi.slim.red small,.kpi.slim.ink small{color:rgba(255,255,255,.7)}
.cols-rep{grid-template-columns:minmax(150px,1.6fr) repeat(2,minmax(64px,.7fr)) 64px 64px 64px repeat(4,minmax(96px,1fr)) 70px}
.row.total{background:var(--soft);font-weight:700}
.row.total:hover{background:var(--soft)}
.cols-bal{grid-template-columns:minmax(200px,2fr) repeat(4,minmax(120px,1fr))}
.cols-deal{grid-template-columns:minmax(200px,1.8fr) minmax(110px,1fr) minmax(160px,1.2fr) minmax(170px,1.2fr) 120px}
.cols-inv{grid-template-columns:140px minmax(180px,1.6fr) minmax(170px,1.2fr) 130px 130px}
.cols-pinv{grid-template-columns:140px minmax(170px,1.4fr) 130px 120px 110px}
.money-grid{display:grid;grid-template-columns:auto repeat(3,1fr);gap:8px 12px;font-size:13px;align-items:center}
.money-grid > b{font-size:11.5px;color:var(--t3);font-weight:600;text-align:right}
.money-grid > .mono{text-align:right}
.money-grid .strong{font-weight:700}
.ev.click{cursor:pointer}
.ev.click:hover{background:var(--soft-2)}
.ev.total{background:transparent;border-top:1px solid var(--hair);border-radius:0}
.ev .r{text-align:right}
.btn.small{height:28px;padding:0 10px;font-size:12px}
.card-head .btn.small{margin-left:auto}
@media (max-width:1560px){.bar-right .clock{display:none}.nav button{padding:0 9px;gap:6px;font-size:13px}}
@media (max-width:1300px){.nav button:not(.on) span{display:none}.nav button{padding:0 11px}}
.inv-line{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:var(--r-sm);background:var(--soft);margin-bottom:6px;font-size:13px}
.inv-line.total{background:transparent;font-weight:700;font-size:15px;border-top:1px solid var(--hair);border-radius:0}
.fin-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);background:var(--soft);margin-bottom:6px;font-size:13px;flex-wrap:wrap}
.fin-row em{font-style:normal;color:var(--t3);font-size:12px;margin-left:auto}
.fin-row.click{cursor:pointer}
.fin-row.click:hover{background:var(--soft-2)}

/* stage 5: team, log, security, backups */
.cols-user{grid-template-columns:minmax(170px,1.3fr) minmax(150px,1fr) minmax(200px,1.6fr) 90px 120px 100px}
.cols-audit{grid-template-columns:150px minmax(110px,.7fr) minmax(240px,2.4fr) 140px}
.cols-backup{grid-template-columns:minmax(220px,1.6fr) minmax(140px,1fr) 100px 110px}
.settings-grid.two-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1000px){.settings-grid.two-cards{grid-template-columns:1fr}}
.matrix{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(4,minmax(90px,1fr));gap:1px;background:var(--hair);border-radius:var(--r-sm);overflow:hidden;font-size:13px}
.matrix > *{background:var(--card);padding:9px 12px}
.matrix > b{font-size:11.5px;color:var(--t3);font-weight:600}
.matrix i{font-style:normal;font-weight:500}
.matrix i.mw{color:var(--t1)}.matrix i.mr{color:var(--t2)}.matrix i.mn{color:var(--t3)}
.tfa{display:grid;grid-template-columns:168px 1fr;gap:16px;align-items:start}
.tfa .qr{background:#fff;border-radius:12px;padding:6px;box-shadow:var(--shadow)}
.tfa .qr svg{display:block;width:100%;height:auto}
@media (max-width:600px){.tfa{grid-template-columns:1fr}.tfa .qr{max-width:200px}}
.pick{display:flex;flex-direction:column;gap:8px}
.toggle.slim{padding:9px 12px}
.user .uname{font-size:13px;color:rgba(255,255,255,.8);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1300px){.user .uname{display:none}}
body.ro .top .btn.dark,body.ro #sheet .actions .btn.dark,body.ro #sheet .actions .btn.danger,body.ro #sheet .actions .btn.red{display:none}
.seg{flex-wrap:wrap;max-width:100%}
.pick .chips{margin-bottom:6px}
