/* ===== Business Control — tema premium (adattato dalla struttura originale) ===== */
:root{
  --bg:#eef1f7;--card:#ffffff;--ink:#141824;--mut:#6d768a;--line:#e7eaf1;
  --acc:#4f66ff;--acc2:#6a8bff;--pri:#3b55f0;--pri2:#6a7bff;
  --sbg1:#171e34;--sbg2:#111627;--soft:0 1px 2px rgba(17,24,39,.05),0 12px 30px -16px rgba(31,41,90,.28);
  --green:#1faa59;--orange:#e8910c;--red:#e23d3d;--grey:#9aa6b2;
  --lead:#1faa59;--ecom:#e8910c;--aware:#7c4dff;
  --aset-bg:#eef1fb;--aset-bg-h:#e6eafb;
}
*{box-sizing:border-box;-webkit-font-smoothing:antialiased}
body{margin:0;font-family:'Inter','SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 15% -10%,#fbfcfe 0,var(--bg) 60%) fixed;color:var(--ink);letter-spacing:-.006em}
body.dark{color-scheme:dark;
  --bg:#0a0e1a;--card:#131b2e;--ink:#e9edf6;--mut:#8b95ac;--line:rgba(255,255,255,.08);
  --acc:#6c5cff;--acc2:#8b7dff;--pri:#5b6bff;--pri2:#7d8bff;--sbg1:#0c1120;--sbg2:#080b14;
  --soft:0 1px 0 rgba(255,255,255,.03),0 22px 48px -26px rgba(0,0,0,.75);
  --green:#22c186;--orange:#f0a13a;--red:#ff5b6b;
  --aset-bg:rgba(108,92,255,.1);--aset-bg-h:rgba(108,92,255,.16);
  background:radial-gradient(1200px 620px at 12% -10%,#16203a 0,var(--bg) 55%) fixed}
h1{font-size:24px;font-weight:800;letter-spacing:-.028em;margin:0 0 4px}
h2.gtitle{font-size:22px;font-weight:800;letter-spacing:-.028em;margin:6px 0 2px}
.sub{color:var(--mut);font-size:12.5px;line-height:1.55;margin-bottom:14px}
.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:11px;padding:8px 14px;font-weight:600;font-size:13px;cursor:pointer;transition:.14s}
.btn:hover{border-color:#d7dbe4;box-shadow:0 3px 10px -4px rgba(17,24,39,.18);transform:translateY(-1px)}
body.dark .btn{background:#1a2438}
.btn.pri{background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;border-color:transparent;box-shadow:0 6px 16px -6px rgba(30,39,64,.6)}
.btn.pri:hover{filter:brightness(1.06)}
.btn.danger{color:var(--red);border-color:rgba(226,61,61,.4)}
.btn.sm{padding:5px 10px;font-size:12px}
.btn:disabled{opacity:.5;cursor:default;transform:none}
input,select{font:inherit;font-size:13.5px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);width:100%}
body.dark input,body.dark select{background:#101a2e}
input::placeholder{color:#8792a8}

/* ===== LOGIN ===== */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:min(380px,94vw);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px 28px;box-shadow:var(--soft);display:flex;flex-direction:column;gap:14px}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:2px}
.login-name{font-weight:800;font-size:19px;letter-spacing:.2px}
.login-name span{color:var(--acc2)}
.login-sub{color:var(--mut);font-size:13px;margin-top:-6px}
.login-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.login-field input{text-transform:none;font-weight:500}
.login-btn{margin-top:4px;padding:11px;font-size:14px}
.login-error{color:var(--red);font-size:12.5px;font-weight:600;min-height:16px}
.login-demo{font-size:11.5px;color:var(--mut);line-height:1.7;border-top:1px dashed var(--line);padding-top:12px;margin-top:2px}
.login-demo b{color:var(--ink)}
.login-demo button{background:none;border:0;color:var(--acc2);cursor:pointer;font:inherit;text-decoration:underline;padding:0}

/* ===== SIDEBAR ===== */
.sn-logo{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--acc2),var(--acc));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:17px;box-shadow:0 6px 18px -4px rgba(79,102,255,.6)}
#sideNav{position:fixed;top:0;left:0;bottom:0;width:230px;background:linear-gradient(180deg,var(--sbg1),var(--sbg2));
  display:flex;flex-direction:column;gap:3px;padding:18px 14px;z-index:40;box-shadow:6px 0 30px -18px rgba(0,0,0,.5);overflow-y:auto}
.sn-brand{display:flex;align-items:center;gap:11px;padding:4px 6px 16px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}
.sn-bname{color:#fff;font-weight:800;font-size:15.5px;line-height:1}
.sn-bname span{color:var(--acc2)}
.sn-sec{color:#5f6b82;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:12px 8px 4px}
.sn-b{display:flex;align-items:center;gap:12px;color:#aeb7c8;border:0;background:none;border-radius:11px;padding:10px 12px;font:inherit;font-size:13.5px;font-weight:600;text-align:left;cursor:pointer;width:100%}
.sn-b:hover{background:rgba(255,255,255,.06);color:#fff}
.sn-b.on{background:linear-gradient(90deg,rgba(79,102,255,.28),rgba(79,102,255,.08));color:#fff;box-shadow:inset 0 0 0 1px rgba(106,139,255,.4)}
.sn-ic{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none}
.sn-ic svg{width:18px;height:18px}
.sn-new{color:var(--acc2)}
.sn-spacer{flex:1}
.sn-projs{display:flex;flex-direction:column;gap:1px}
.sn-proj>.sn-b{font-weight:700}
.sn-caret{margin-left:auto;font-size:10px;transition:transform .15s;color:#7c86a0}
.sn-caret.open{transform:rotate(90deg)}
.sn-sub{display:flex;flex-direction:column;gap:1px;margin:1px 0 4px;padding-left:12px;border-left:1px solid rgba(255,255,255,.08);margin-left:18px}
.sn-f{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;cursor:pointer;padding:7px 10px;border-radius:9px;font:inherit;font-size:12.5px;color:#9aa4bd;text-align:left}
.sn-f:hover{color:#fff;background:rgba(255,255,255,.05)}
.sn-f.on{color:#fff;background:rgba(99,102,241,.20);font-weight:700}
.sn-fd{width:9px;height:9px;border-radius:50%;flex:none}
.sn-empty{font-size:11.5px;color:#5f6a82;font-style:italic;padding:4px 12px 8px}
.sn-user{color:#c7cfde;font-size:12px;padding:8px 10px;border-top:1px solid rgba(255,255,255,.06);margin-top:4px}
.sn-user b{color:#fff;display:block;font-size:13px}
.sn-role{display:inline-block;margin-top:3px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:20px;background:rgba(79,102,255,.25);color:#cdd6ff}
.sn-role.pm{background:rgba(240,161,58,.22);color:#f4c982}
.sn-role.admin{background:rgba(255,91,107,.22);color:#ff9aa6}

/* ===== MAIN ===== */
.wrap{max-width:1040px;margin:0 auto;padding:26px 24px 60px;margin-left:230px}
@media(max-width:760px){#sideNav{width:64px}.sn-lbl,.sn-bname,.sn-sec,.sn-user,.sn-sub,.sn-caret{display:none}.wrap{margin-left:64px;padding:18px 14px}.sn-proj>.sn-b{justify-content:center}}
.ro-banner{background:rgba(240,161,58,.14);border:1px solid rgba(240,161,58,.4);color:var(--orange);font-size:12.5px;font-weight:600;border-radius:12px;padding:10px 14px;margin-bottom:16px}
.home{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:10px 0}
.hcard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--soft);cursor:pointer;position:relative;overflow:hidden;transition:transform .12s,box-shadow .12s}
.hcard::before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:var(--acc)}
.hcard:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(17,24,39,.28)}
.htit{font-size:17px;font-weight:800;margin:2px 0 4px}
.hdesc{font-size:12.5px;color:var(--mut);line-height:1.5}
.hmeta{margin-top:10px;font-size:11.5px;color:var(--mut)}
.hgo{margin-top:10px;font-weight:700;color:var(--acc2)}
.hcard.newc{border-style:dashed;background:transparent}
.dash-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.dash-row{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--soft);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dash-row .dtype{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:20px;color:#fff}
.dtype.lead{background:var(--lead)}.dtype.ecom{background:var(--ecom)}.dtype.aware{background:var(--aware)}
.dash-row .dnm{font-weight:700;font-size:14px;flex:1;min-width:120px}
.dash-row .dstatus{width:9px;height:9px;border-radius:50%}
.dstatus.on{background:var(--green)}.dstatus.off{background:var(--grey)}
.prj-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.prj-actions{display:flex;gap:8px;flex-wrap:wrap}
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:var(--soft);margin-top:16px}
.panel h3{margin:0 0 4px;font-size:15px;font-weight:800}
.grant-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.grant-row:last-child{border-bottom:0}
.grant-row .gname{flex:1;font-weight:600;font-size:13.5px}
.grant-row .gmail{color:var(--mut);font-size:12px}
.pill-ro{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:20px;background:rgba(240,161,58,.2);color:var(--orange)}
.row-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}
.row-inline>select,.row-inline>input{width:auto;min-width:180px}
.empty{color:var(--mut);font-size:13px;padding:10px 2px}
.placeholder-perf{background:var(--card);border:1px dashed var(--line);border-radius:16px;padding:40px 20px;text-align:center;color:var(--mut);margin-top:16px}
.placeholder-perf .pf-ico{font-size:26px;opacity:.5}
/* modal */
.modal-back{position:fixed;inset:0;background:rgba(8,12,22,.62);backdrop-filter:blur(4px);z-index:9998;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-card{background:var(--card);border:1px solid var(--line);border-radius:18px;width:min(460px,96vw);padding:22px 22px 18px;box-shadow:0 32px 80px rgba(0,0,0,.45)}
.modal-card h3{margin:0 0 14px;font-size:17px}
.modal-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;font-size:12px;font-weight:700;color:var(--mut)}
.modal-field input,.modal-field select,.modal-field textarea{text-transform:none;font-weight:500}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
/* performance */
.seg{display:inline-flex;flex-wrap:wrap;background:rgba(127,127,127,.12);border-radius:12px;padding:4px;gap:2px}
.seg button{border:0;background:transparent;padding:6px 11px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--mut);cursor:pointer}
.seg button:hover{color:var(--ink)}
.seg button.on{background:var(--acc);color:#fff;box-shadow:0 4px 12px -3px rgba(79,102,255,.5)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:14px 0}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px 17px;box-shadow:var(--soft)}
.kpi .k-lab{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
.kpi .k-val{font-size:26px;font-weight:800;margin-top:5px;font-variant-numeric:tabular-nums}
.kpi .k-sub{font-size:11px;color:var(--mut);margin-top:3px}
.ptable{margin-top:16px}
.ptable .prow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px}
.ptable .prow.head{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--mut);font-weight:700;border-bottom:1px solid var(--line)}
.ptable .c-nm{flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ptable .c-n{flex:0 0 74px;text-align:right;font-variant-numeric:tabular-nums}
.ptable .c-cpl{flex:0 0 78px;text-align:right}
.ptable .adset-h{background:rgba(127,127,127,.06);border-radius:10px;margin-top:10px;font-weight:700}
.ptable .ad{padding-left:26px;color:var(--mut)}
.ptable .ad .c-nm{font-weight:500}
.delta.pos{color:var(--green);font-weight:700}.delta.neg{color:var(--red);font-weight:700}
.dstatus-dot{width:9px;height:9px;border-radius:50%;flex:none}
.note{background:rgba(240,161,58,.12);border:1px solid rgba(240,161,58,.35);color:var(--orange);font-size:12.5px;border-radius:10px;padding:8px 12px;margin:8px 0}
.note.err{background:rgba(226,61,61,.12);border-color:rgba(226,61,61,.4);color:var(--red)}
.src-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:8px}
.src-f{display:flex;flex-direction:column;gap:4px}
.src-f label{font-size:11px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.src-f .hint{font-size:10.5px;color:var(--mut);font-weight:400;text-transform:none}
.src-sub{font-size:14px;font-weight:800;margin:14px 0 2px}
.stage-row{display:flex;gap:8px;align-items:center;margin-top:6px}
.stage-row input{flex:1}
.funnel{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.f-row .f-head{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:5px}
.f-bar{height:9px;border-radius:6px;background:rgba(127,127,127,.18);overflow:hidden}
.f-fill{height:100%;border-radius:6px;background:var(--acc)}
.f-meta{font-size:11px;color:var(--mut);margin-top:3px}
/* sezioni progetto nel menù */
.sn-fd.clk{cursor:pointer;outline:4px solid transparent}
.sn-fd.clk:hover{transform:scale(1.3)}
.sn-f.sub2{padding-left:26px;color:#8e98b0;font-size:12px}
.sn-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}
/* switch */
.switch{position:relative;display:inline-block;width:40px;height:22px;flex:none}
.switch input{display:none}
.slider{position:absolute;inset:0;background:#c2ccd6;border-radius:22px;transition:.2s;cursor:pointer}
.slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked+.slider{background:var(--green)}
.switch input:checked+.slider:before{transform:translateX(18px)}
body.dark .slider{background:#39435e}
/* regole alert */
.rule-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--soft);margin-bottom:10px}
.rule-card.off{opacity:.6}
.rule-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rule-name{font-weight:700;font-size:14px;flex:1;min-width:120px}
.rule-conds{font-size:12.5px;color:var(--mut);margin-top:6px}
.rule-conds .c{display:inline-block;background:rgba(127,127,127,.14);border-radius:6px;padding:1px 8px;margin:2px 4px 2px 0}
/* alert mostrati dentro la dashboard */
.al-inline{border:1px solid rgba(226,61,61,.4);background:rgba(226,61,61,.08);border-radius:14px;padding:12px 16px;margin-bottom:16px}
.al-inline-h{font-weight:800;font-size:14px;color:var(--red);margin-bottom:6px}
.al-inline-list{margin:0;padding-left:18px;font-size:13px;line-height:1.55}
.al-inline-list b{color:var(--ink)}
.al-rule{color:var(--mut);font-size:11.5px}
.al-inline-f{font-size:11.5px;color:var(--mut);margin-top:7px}
.al-mk{display:inline-block;margin-right:5px;color:var(--red);font-size:12px}
.lt-ad.al-hit,.lt-aset.al-hit,.prow.al-hit{box-shadow:inset 3px 0 0 var(--red);background:rgba(226,61,61,.06)}
.rule-src{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:6px;margin-right:6px;vertical-align:1px}
.rule-src.mt{background:rgba(79,102,255,.16);color:var(--acc)}
.rule-src.bk{background:rgba(46,164,110,.16);color:var(--green)}
.src-hint{font-size:11.5px;color:var(--mut);margin:7px 0 2px;line-height:1.4}
.src-source{margin:14px 0 4px;padding:12px 14px;border:1px solid var(--acc);border-radius:12px;background:rgba(79,102,255,.06)}
.src-source>label{color:var(--acc)}
.src-source select{margin-top:6px}
.cond-row{display:grid;grid-template-columns:1.3fr 1fr .8fr auto;gap:8px;align-items:center;margin-bottom:6px}
.al-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.al-col{flex:1 1 280px;min-width:260px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--soft)}
.al-ch{font-size:13px;font-weight:800;display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:10px}
.al-cn{margin-left:auto;background:rgba(127,127,127,.18);border-radius:20px;padding:0 9px;font-size:12px;font-weight:700;color:var(--mut)}
.al-cn.hit{background:var(--red);color:#fff}
.al-card{background:rgba(226,61,61,.06);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:10px;padding:9px 11px;margin-bottom:8px}
.al-card.read{opacity:.55;border-left-color:var(--grey)}
.al-rn{font-weight:700;font-size:13px}
.al-lbl{font-size:12.5px;margin-top:2px}
.al-vals{font-size:12px;color:var(--mut);margin-top:3px}
.al-acts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.al-empty{color:var(--mut);font-size:12.5px;font-style:italic;padding:6px 2px}
.lm-pop{position:absolute;top:100%;right:0;margin-top:6px;z-index:60;min-width:260px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px -12px rgba(20,30,50,.4);padding:8px}
.lm-row{display:flex;align-items:center;gap:6px;padding:4px 2px;border-bottom:1px solid var(--line)}
.lm-row:last-child{border-bottom:0}
.lm-row a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600;font-size:13px;text-decoration:none}
.note-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;box-shadow:var(--soft)}
.note-meta{font-size:11px;color:var(--mut);margin-bottom:4px}
.todo-item{display:flex;align-items:center;gap:9px;padding:7px 2px;border-bottom:1px solid var(--line)}
.todo-item.done span{text-decoration:line-through;color:var(--mut)}
.actbtn{font-size:11px;font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:7px;padding:3px 9px;cursor:pointer;white-space:nowrap}
.actbtn:hover{background:rgba(127,127,127,.1)}
.actbtn.on{color:var(--green);border-color:rgba(34,193,134,.4)}
/* toast */
#toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,140%);background:#111a2e;color:#eef2ff;border:1px solid rgba(255,255,255,.14);padding:12px 18px;border-radius:14px;font-size:13.5px;font-weight:600;max-width:min(560px,92vw);box-shadow:0 18px 44px rgba(0,0,0,.4);z-index:9999;transition:transform .28s cubic-bezier(.2,.9,.3,1.2)}
#toast.show{transform:translate(-50%,0)}

/* ===== LEAD GEN: controlli, grafici, tabelle ===== */
.lead-ctl{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 6px}
.lead-ctl.tbl-ctl{margin:22px 0 4px}
.seg.sm button{font-size:12px;padding:5px 11px}
.chk{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px 11px}
.chk input{width:16px;height:16px;accent-color:var(--pri);cursor:pointer}
.ch-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin:10px 0 16px}
.ch-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--soft)}
.ch-card h4{margin:0 0 8px;font-size:13.5px;color:var(--ink)}
.ch-box{width:100%;min-height:150px}
.ch-box.donut{display:flex;flex-direction:column;align-items:center;justify-content:center}
.bc-svg{display:block}
.ch-leg{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:11.5px;color:var(--mut)}
.ch-leg .lg{display:inline-flex;align-items:center;gap:5px}
.ch-leg .lg.tog{cursor:pointer;user-select:none;padding:2px 7px;border-radius:7px;border:1px solid transparent}
.ch-leg .lg.tog:hover{background:rgba(127,127,127,.1)}
.ch-leg .lg.off{opacity:.4;text-decoration:line-through}
.ch-leg.mini{margin-top:4px;font-size:10.5px;gap:10px}
.sw{width:12px;height:4px;border-radius:2px;display:inline-block}
.sw.dash{background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px)!important}
.sumc .sum-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700;color:var(--ink);margin-top:8px}
.sumc .sum-row b{font-size:17px}
.bar-mini{height:8px;background:var(--line);border-radius:5px;overflow:hidden;margin:4px 0}
.bar-mini i{display:block;height:100%;background:var(--green);border-radius:5px}
.sum-sub{font-size:11.5px;color:var(--mut)}
.sum-tot{margin-top:12px;font-size:12.5px;color:var(--mut);border-top:1px solid var(--line);padding-top:8px}
.lt-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 8px;font-size:14px;color:var(--ink)}
.fake-tag,.bdg.fake{color:var(--red)}
.fake-tag{font-size:12px;font-weight:600}
/* tabella adset/annuncio */
.lt{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--soft)}
.lt-head,.lt-camp,.lt-aset,.lt-ad{display:grid;grid-template-columns:var(--ltc,minmax(0,1fr) 64px 86px 54px 98px 108px 94px);align-items:center;gap:8px;padding:10px 14px}
.lt-head{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--mut);background:rgba(127,127,127,.05);border-bottom:1px solid var(--line)}
.lt-head span:not(:first-child),.lt-aset>.n,.lt-aset>.cpl,.lt-ad>.n,.lt-ad>.cpl{text-align:right;justify-self:end}
/* adset = riga-gruppo evidenziata, con banda accento a sinistra */
.lt-aset{border-top:2px solid var(--line);cursor:pointer;background:var(--aset-bg);box-shadow:inset 3px 0 0 var(--acc);padding-top:12px;padding-bottom:12px}
.lt-aset:hover{background:var(--aset-bg-h)}
.lt-aset .nm{font-weight:800;font-size:14px}
.lt-aset>.n,.lt-aset>.cpl{font-weight:700}
/* annunci = sfondo piatto, rientrati sotto l'adset con un binario verticale */
.lt-ad{border-top:1px solid var(--line);background:var(--card)}
.lt-ad:hover{background:rgba(127,127,127,.04)}
.lt-ad .lt-nm{padding-left:22px;position:relative}
.lt-ad .lt-nm::before{content:"";position:absolute;left:8px;top:-12px;bottom:-12px;width:2px;background:var(--line)}
.lt-nm{display:flex;align-items:center;gap:8px;min-width:0}
.lt-nm .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.caret{font-size:11px;color:var(--mut);width:12px;flex:none;cursor:pointer}
.ad-caret{color:var(--acc)}
.dot{width:9px;height:9px;border-radius:50%;flex:none}
.lt .n,.lt .cpl{font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}
.lt .sp{font-weight:600}
.lt-aset.closed{box-shadow:inset 3px 0 0 var(--acc),0 1px 0 var(--line)}
.cpl{color:var(--orange);font-weight:600}
.act{justify-self:end}
.bdg{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:6px;white-space:nowrap}
.bdg.warn{color:#9a6b00;background:rgba(232,145,12,.14)}
.bdg.mut{color:var(--mut);background:rgba(127,127,127,.1)}
.bdg.fake{background:rgba(226,61,61,.12)}
.lt-detail{grid-column:1/-1;padding:8px 18px 14px;background:rgba(127,127,127,.03);border-top:1px dashed var(--line)}
.det-ttl{font-size:11.5px;font-weight:700;color:var(--mut);margin-bottom:4px}
.lt.hide-paused .is-paused{display:none!important}
/* tabella settimanale */
.wk-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--soft);margin-top:16px}
.wk-top{display:flex;justify-content:space-between;align-items:center}
.wk-top h4{margin:0;font-size:14px;color:var(--ink)}
.wk{margin-top:10px;font-size:12.5px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.wk-h,.wk-r{display:grid;grid-template-columns:126px minmax(0,1fr) 72px 92px 66px 110px 78px;align-items:center}
.wk-h{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--mut);background:rgba(127,127,127,.05)}
.wk-h span,.wk-r span{padding:7px 10px;text-align:right;font-variant-numeric:tabular-nums}
.wk-h span:first-child,.wk-r .wk-wk{text-align:left}
.wk-r{border-top:1px solid var(--line)}
.wk-tot{font-weight:800;background:rgba(79,102,255,.07);color:var(--ink)}
@media(max-width:820px){.ch-grid{grid-template-columns:1fr}
  .lt-head,.lt-camp,.lt-aset,.lt-ad{grid-template-columns:minmax(0,1fr) 50px 70px 70px;gap:6px}
  .lt-camp>span:nth-child(4),.lt-camp>span:nth-child(5){display:none}
  .lt-head span:nth-child(4),.lt-head span:nth-child(5),.lt-aset>span:nth-child(4),.lt-aset>span:nth-child(5),.lt-ad>span:nth-child(4),.lt-ad>span:nth-child(5){display:none}
  .wk-h,.wk-r{grid-template-columns:96px 1fr 56px 74px;font-size:11.5px}
  .wk-h span:nth-child(n+5),.wk-r span:nth-child(n+5){display:none}}
/* alert center: badge menu + sezioni attivi/archiviati */
.al-badge{margin-left:auto;background:var(--red);color:#fff;border-radius:20px;min-width:18px;height:18px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px rgba(226,61,61,.25)}
.sn-f.sub2 .al-badge{margin-left:auto}
.al-sec-h{font-size:13px;font-weight:800;display:flex;align-items:center;gap:8px;margin:4px 0 10px}
.al-sec-h .al-cn{margin-left:0}
.al-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.al-arch{margin-top:16px;border-top:1px dashed var(--line);padding-top:12px}
.al-arch>summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--mut);list-style:none;user-select:none;padding:4px 0}
.al-arch>summary::-webkit-details-marker{display:none}
.al-arch>summary::before{content:"▸ ";color:var(--acc)}
.al-arch[open]>summary::before{content:"▾ "}
.al-arch .al-list{margin-top:10px}

/* ricerca annunci */
.ad-search{display:flex;align-items:center;gap:10px;flex:1 1 260px;min-width:0;flex-wrap:wrap}
.ad-search input{flex:1 1 220px;min-width:0;max-width:360px;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--txt,inherit);font:inherit;font-size:13px}
.lt .q-hide{display:none!important}
/* sottomenu per dashboard */
.sn-sub2{display:flex;flex-direction:column;gap:1px;margin:0 0 4px 14px;padding-left:8px;border-left:1px dashed rgba(255,255,255,.10)}
.sn-f.sub3{font-size:12px;padding:6px 10px;color:#8e98b0}
.sn-f.sub3 .al-badge{margin-left:auto}
.sn-dn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sn-f[data-dash] .al-badge{margin-left:auto}
.sn-f[data-dash] .al-badge+.sn-caret{margin-left:6px}
@media(max-width:760px){.sn-sub2{display:none!important}}

.sn-f.sub4{font-size:11.5px;padding:5px 10px 5px 24px;color:#8592ad}
.sn-f.sub4 .al-badge{margin-left:auto}
.set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}
.set-card h3{margin:0 0 10px}
.set-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:13px}
.set-row span{color:var(--mut)}
.set-row b{text-align:right;font-weight:600}
.set-row b.st-ok{color:var(--green)} .set-row b.st-ko{color:var(--red)}
.set-rules{margin-top:8px;font-size:12.5px;color:var(--mut);display:flex;flex-direction:column;gap:3px}

.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:20px;background:rgba(79,102,255,.16);font-size:12.5px}
.chip button{border:0;background:none;color:inherit;cursor:pointer;font-size:11px;opacity:.7;padding:0 4px}
.req{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--red);margin-left:6px}

/* analisi */
.an-sec h3{margin:0 0 4px}
.an-est{font-size:12px;margin:4px 0 8px;opacity:.85}
.an-scroll{overflow-x:auto;margin-top:10px}
.an-t{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.an-t th{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--mut);font-weight:700;text-align:right;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.an-t td{text-align:right;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--ink)}
.an-t .l{text-align:left;white-space:normal;min-width:180px}
.an-nm{font-weight:600}
.an-sub{font-size:11.5px;color:var(--mut)}
.an-t tr.an-best td{background:rgba(31,169,113,.08)}
.an-t tr.an-worst td{background:rgba(226,61,61,.07)}
.bdg.ok{background:rgba(31,169,113,.16);color:var(--green)}
.bdg.ko{background:rgba(226,61,61,.14);color:var(--red)}

/* barra periodo: sempre intera, va a capo, personalizzato visibile */
.tf-bar{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:10px 0 14px;display:flex;flex-direction:column;gap:8px}
.tf-groups{display:flex;flex-wrap:wrap;gap:6px}
.tf-groups .seg{flex-wrap:wrap}
.tf-custom{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(79,102,255,.08)}
.tf-custom[hidden]{display:none}
.tf-custom label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--mut)}
.tf-custom input[type=date]{padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:13px;color-scheme:light dark}
.tf-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.tf-foot .sub{margin-left:auto}

/* cluster migliore */
.cl-hero{margin:12px 0;padding:14px 16px;border-radius:12px;background:rgba(31,169,113,.10);border:1px solid rgba(31,169,113,.35)}
.cl-hk,.cl-k{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:700}
.cl-hv{font-size:17px;font-weight:700;color:var(--ink);margin-top:4px;line-height:1.35}
.cl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.cl-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.cl-v{font-weight:700;color:var(--ink);margin:4px 0 6px;font-size:14px}
.cl-m{font-size:12.5px;color:var(--mut);margin-top:3px}
.cl-m b{color:var(--ink)}
.cl-x{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.cl-good{color:var(--green);font-weight:600}.cl-bad{color:var(--red);font-weight:600}
.cl-cut{margin-top:14px}.cl-cut ul{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--ink)}.cl-cut li{margin:4px 0}

/* conversazione */
.chat-wrap{display:flex;flex-direction:column;gap:10px}
.ch-msgs{min-height:320px;max-height:calc(100vh - 330px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:4px 2px}
.cm{display:flex;flex-direction:column;max-width:min(760px,92%)}
.cm.u{align-self:flex-end;align-items:flex-end}.cm.a,.cm.e{align-self:flex-start}
.cm .cb{padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg2,rgba(127,127,127,.08));border:1px solid var(--line)}
.cm.u .cb{background:rgba(108,92,231,.18);border-color:rgba(108,92,231,.35);white-space:pre-wrap}
.cm.e .cb{background:rgba(226,61,61,.08);border-color:rgba(226,61,61,.35)}
.cm.wait .cb{color:var(--mut);font-style:italic}
.cm .cb p{margin:0 0 6px}.cm .cb p:last-child{margin:0}.cm .cb ul{margin:4px 0 6px;padding-left:18px}.cm .cb li{margin:2px 0}
.cm .cb code{font-size:12.5px;padding:1px 4px;border-radius:4px;background:rgba(127,127,127,.15)}
.cm .ct{font-size:11px;color:var(--mut);margin-top:3px;padding:0 4px}
.ch-empty{margin:auto;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;color:var(--ink);padding:24px 0}
.ch-ex{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer;max-width:100%}
.ch-ex:hover{border-color:var(--acc)}
.ch-form{display:flex;gap:10px;align-items:flex-end}
.ch-form textarea{flex:1;min-width:0;resize:vertical;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:14px}
.ch-note{margin:0}
.ch-keyrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ch-keyrow input{flex:1 1 280px;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit}

/* ordinamento tabella lead */
.lt-head .sk{cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:4px}
.lt-head .sk:hover{color:var(--ink)}
.lt-head .sk.on{color:var(--ink)}
.lt-head .sk-ar{font-style:normal;font-size:11px;opacity:.8;color:var(--acc)}
.lt-head .sk.on .sk-ar{opacity:1;color:var(--acc)}

/* scelta ad account Meta */
.acc-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.acc-it{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:14px;color:var(--ink)}
.acc-it input{width:auto;margin:0}
.acc-it .acc-nm{flex:1;min-width:0}
.acc-it:has(input:checked){border-color:var(--acc);background:rgba(108,92,255,.08)}

.lt-head .sk{padding:3px 6px;margin:-3px -6px;border-radius:6px}
.lt-head .sk:hover{background:rgba(127,127,127,.12)}
.ver-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--card);color:var(--ink);border:1px solid var(--acc);box-shadow:0 10px 30px -10px rgba(0,0,0,.5);font-size:14px}

.src-adv{margin-top:12px;border:1px dashed var(--line);border-radius:10px;padding:8px 12px}
.src-adv summary{cursor:pointer;color:var(--mut);font-size:13px;font-weight:600}
.src-adv[open] summary{margin-bottom:8px}

/* tabella divisa per campagna */
.lt-camp{cursor:pointer;background:rgba(127,127,127,.10);border-top:3px solid var(--line);padding-top:14px;padding-bottom:14px}
.lt-camp:first-of-type{border-top:0}
.lt-camp .nm{font-weight:800;font-size:15px;text-transform:none}
.lt-camp>.n,.lt-camp>.cpl{text-align:right;justify-self:end;font-weight:800}
.lt-camp .lt-nm{display:flex;align-items:center;gap:8px;min-width:0}
.lt-camp .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.obj{flex:none;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.obj-conv{color:var(--green);background:rgba(31,169,113,.14)}
.obj-other{color:#c9a227;background:rgba(232,145,12,.14)}
.lt-campnote{padding:6px 14px 8px;font-size:12px;color:var(--mut);background:rgba(127,127,127,.10)}
.lt .c-hide{display:none!important}

/* utenti */
.u-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.u-roles>div{display:flex;flex-direction:column;gap:4px}
.role-pill{display:inline-block;width:max-content;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}
.r-admin{color:#fff;background:rgba(226,61,61,.75)}
.r-advertiser{color:var(--green);background:rgba(31,169,113,.15)}
.r-director{color:var(--acc);background:rgba(108,92,255,.15)}
.r-pm{color:#c9a227;background:rgba(232,145,12,.14)}
.u-t td{vertical-align:top}.u-t td .btn{margin-left:6px}
.u-t tr.u-off td{opacity:.55}
.sn-role.director{background:rgba(108,92,255,.2);color:var(--acc2)}

/* metriche personalizzate del funnel in tabella */
.stc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.stc b{font-weight:600}.lt-camp .stc b,.lt-aset .stc b{font-weight:800}
.stc-c{font-style:normal;font-size:11px;color:var(--mut)}
@media(max-width:820px){.lt .stc{display:none!important}}

.fm-head,.fm-row{display:grid;grid-template-columns:1.1fr 1fr 1.8fr 120px 70px 90px 74px;gap:8px;align-items:center}
.fm-head{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--mut);margin-top:10px}
.fm-row{margin-top:6px}.fm-row input:not([type=checkbox]),.fm-row select{width:100%;min-width:0}
.fm-ck{display:flex;justify-content:center}.fm-ck input{width:auto}
.fm-act{display:flex;gap:4px;justify-content:flex-end}
@media(max-width:900px){.fm-head{display:none}.fm-row{grid-template-columns:1fr 1fr;padding:8px;border:1px solid var(--line);border-radius:10px}}
.lt-scroll{overflow-x:auto;border-radius:14px}
@media(max-width:820px){.lt-scroll .lt{min-width:0!important}}
.r-client{color:#2aa6c9;background:rgba(42,166,201,.15)}
.sn-role.client{background:rgba(42,166,201,.2);color:#7fd3ea}
#uClientBox .acc-list{max-height:260px;overflow:auto}
.modal-card{max-height:calc(100vh - 40px);overflow-y:auto}

.ud-list{max-height:none!important}
.ud-item{border-radius:10px}
.ud-item.on{border:1px solid var(--acc);padding:2px;background:rgba(108,92,255,.05)}
.ud-item.on>.acc-it{border-color:transparent;background:none}
.ud-parts{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 10px}
.ud-part{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer}
.ud-part input{width:auto;margin:0}
.ud-part:has(input:checked){border-color:var(--acc);background:rgba(108,92,255,.12)}
.ud-tools{display:flex;gap:6px;flex-wrap:wrap;width:100%;margin-top:4px}
.modal-card:has(#uClientBox){width:min(620px,96vw)}
