/* ===== bloco 1 (ordem original preservada) ===== */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#18093A;
  --bg2:#1e0f47;
  --panel:#1f1050;
  --card:#271460;
  --card2:#2e1870;
  --card3:#351c80;
  --border:#3d2490;
  --border2:#4a2daa;
  --accent:#F97316;
  --accent2:#fb923c;
  --accent-glow:rgba(249,115,22,.2);
  --purple-light:#a78bfa;
  --purple-mid:#7c3aed;
  --txt:#F3EEFF;
  --txt2:#c4b5fd;
  --txt3:#7c6aaa;
  --txt4:#4d3d7a;
  --green:#4ade80;
  --green2:rgba(74,222,128,.15);
  --red:#f87171;
  --red2:rgba(248,113,113,.15);
  --blue:#60a5fa;
}
body{background:var(--bg);color:var(--txt);font-family:'Inter',sans-serif;min-height:100vh;overflow-x:hidden;font-size:14px}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}

/* ── LOGIN ── */
#login-screen{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:9999;
  background-image:radial-gradient(ellipse 100% 60% at 50% -5%,rgba(249,115,22,.12),transparent),
  radial-gradient(ellipse 60% 80% at 0% 100%,rgba(124,58,237,.15),transparent)}
.login-box{width:420px;padding:52px 44px;background:var(--panel);border:1px solid var(--border);border-radius:18px;
  box-shadow:0 32px 80px rgba(0,0,0,.7),0 0 0 1px rgba(249,115,22,.08);animation:fadeUp .4s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.login-logo{text-align:center;margin-bottom:32px}
.login-logo img{height:52px;object-fit:contain}
.login-sub{color:var(--txt3);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-top:10px}
.fgroup{margin-bottom:16px}
.fgroup label{display:block;font-size:10px;font-weight:700;color:var(--txt3);margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}
.fgroup input{width:100%;padding:12px 15px;background:var(--card);border:1px solid var(--border);border-radius:9px;color:var(--txt);font-size:14px;font-family:'Inter',sans-serif;outline:none;transition:.2s}
.fgroup input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(249,115,22,.12)}
.fgroup input::placeholder{color:var(--txt4)}
.login-btn{width:100%;padding:13px;background:var(--accent);color:#fff;font-weight:700;font-size:14px;border:none;border-radius:9px;cursor:pointer;font-family:'Rajdhani',sans-serif;letter-spacing:1px;text-transform:uppercase;transition:.2s;margin-top:4px}
.login-btn:hover{background:var(--accent2);box-shadow:0 6px 20px rgba(249,115,22,.35)}
.login-err{color:var(--red);font-size:12px;text-align:center;margin-top:12px;min-height:18px}
.login-forgot{text-align:center;margin-top:14px;font-size:12px;color:var(--txt3);cursor:pointer;transition:.2s}
.login-forgot:hover{color:var(--accent)}

/* ── LAYOUT ── */
#dashboard{display:none;min-height:100vh;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px;height:54px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:300;flex-shrink:0}
.topbar-logo img{height:34px;object-fit:contain}
.topbar-right{display:flex;align-items:center;gap:9px}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;font-family:'Rajdhani',sans-serif;flex-shrink:0}
.top-name{font-size:13px;font-weight:600;color:var(--txt)}
.top-office{font-size:11px;color:var(--txt3)}
.tbtn{padding:6px 11px;border-radius:6px;font-family:'Inter',sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:.2s;border:1px solid;text-transform:uppercase;letter-spacing:.5px}
.tbtn-orange{background:var(--accent-glow);border-color:rgba(249,115,22,.35);color:var(--accent)}
.tbtn-orange:hover{background:rgba(249,115,22,.25)}
.tbtn-ghost{background:transparent;border-color:var(--border);color:var(--txt3)}
.tbtn-ghost:hover{border-color:var(--txt3);color:var(--txt)}
.tbtn-green{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.3);color:var(--green)}
.admin-badge{padding:3px 8px;background:rgba(249,115,22,.15);border:1px solid rgba(249,115,22,.3);border-radius:4px;font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}

/* ── NAV ── */
.nav-tabs{display:flex;padding:0 22px;background:var(--panel);border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}
.nav-tab{padding:12px 15px;font-size:11px;font-weight:700;color:var(--txt3);cursor:pointer;border-bottom:2px solid transparent;transition:.15s;white-space:nowrap;user-select:none;text-transform:uppercase;letter-spacing:.7px}
.nav-tab:hover{color:var(--txt2)}
.nav-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.nav-tab.nav-evento{background:linear-gradient(135deg,#f59e0b,#ef4444)!important;color:#fff!important;font-weight:800!important;border-radius:9px;box-shadow:0 4px 14px rgba(239,68,68,.4);animation:evpulse 2.2s infinite}
@keyframes evpulse{0%,100%{box-shadow:0 4px 14px rgba(239,68,68,.35)}50%{box-shadow:0 6px 22px rgba(239,68,68,.75)}}
.ev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:700px){.ev-grid{grid-template-columns:1fr}.ev-hide-sm{display:none}}
.ev-lb{display:block;font-size:11px;color:var(--txt3);margin:6px 0 3px;font-weight:600}
.ev-tbl{width:100%;border-collapse:collapse;font-size:13px}
.ev-tbl th,.ev-tbl td{text-align:left;padding:8px 9px;border-bottom:1px solid var(--border);vertical-align:top}
.ev-tbl th{color:var(--txt3);font-size:11px;text-transform:uppercase;letter-spacing:.4px}

/* ── PAGES ── */
.page{display:none;padding:20px 22px;max-width:1480px;margin:0 auto;width:100%;animation:fadeIn .2s ease}
.page.active{display:block}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ── SECTION HEADER ── */
.sec-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.sec-title{font-family:'Rajdhani',sans-serif;font-size:22px;font-weight:700;color:var(--txt);letter-spacing:.3px}
.sec-sub{font-size:11px;color:var(--txt3);margin-top:2px}
.rank-chip{display:flex;align-items:baseline;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 14px}
.rank-num{font-family:'Rajdhani',sans-serif;font-size:28px;font-weight:700;color:var(--accent);line-height:1}
.rank-lbl{font-size:11px;color:var(--txt3)}

/* ── KPI ── */
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:16px}
.kpi{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:15px 17px;position:relative;overflow:hidden;transition:.15s}
.kpi:hover{border-color:var(--border2)}
.kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.kpi.orange::after{background:linear-gradient(90deg,var(--accent),transparent)}
.kpi.green::after{background:linear-gradient(90deg,var(--green),transparent)}
.kpi.red::after{background:linear-gradient(90deg,var(--red),transparent)}
.kpi.blue::after{background:linear-gradient(90deg,var(--blue),transparent)}
.kpi.purple::after{background:linear-gradient(90deg,var(--purple-light),transparent)}
.kpi.yellow::after{background:linear-gradient(90deg,#fbbf24,transparent)}
.kpi-lbl{font-size:9px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.kpi-val{font-size:20px;font-weight:700;color:var(--txt);line-height:1.1;font-family:'Rajdhani',sans-serif}
.kpi-sub{font-size:10px;color:var(--txt3);margin-top:3px}
.kpi-ico{position:absolute;bottom:7px;right:11px;font-size:22px;opacity:.07}

/* ── CONV CARD ── */
.conv-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:16px;margin-bottom:16px}
.conv-ring{position:relative;width:64px;height:64px;flex-shrink:0}
.conv-ring canvas{position:absolute;inset:0}
.conv-ring-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Rajdhani',sans-serif;font-size:14px;font-weight:700;color:var(--green)}
.conv-info{flex:1}
.conv-title{font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.conv-stats{display:flex;gap:16px;flex-wrap:wrap}
.conv-stat-val{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700}
.conv-stat-lbl{font-size:10px;color:var(--txt3)}

/* ── MONTH FILTER ── */
.month-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;align-items:center}
.month-filter-label{font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.8px;margin-right:4px}
.mchip{padding:5px 11px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--txt3);transition:.15s;user-select:none}
.mchip:hover{border-color:var(--border2);color:var(--txt2)}
.mchip.sel{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}
.mchip-all{border-color:var(--border2);color:var(--txt2)}
.mchip-clear{padding:5px 11px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--txt3);user-select:none}
.mchip-clear:hover{border-color:var(--red);color:var(--red)}
.myear{padding:5px 11px;border-radius:6px;font-size:11px;font-weight:800;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--txt3);transition:.15s;user-select:none;display:inline-flex;align-items:center;gap:6px}
.myear::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--txt3)}
.myear.partial{border-color:#d97706;color:#fbbf24}
.myear.partial::before{background:#fbbf24;box-shadow:0 0 6px #fbbf24}
.myear.full{border-color:#16a34a;color:#4ade80}
.myear.full::before{background:#4ade80;box-shadow:0 0 6px #4ade80}

/* ── CHARTS ── */
.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:16px}
.ccard{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}
.ccard-title{font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.9px;margin-bottom:13px}
.chart-wrap{position:relative;height:185px}
.donut-wrap{display:flex;align-items:center;gap:16px;padding-top:4px}
.donut-inner{width:100px;height:100px;flex-shrink:0}
.legend-row{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:12px}
.leg-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.leg-val{margin-left:auto;font-weight:600;font-size:13px;font-family:'Rajdhani',sans-serif}
.leg-pct{color:var(--txt3);font-size:10px;margin-left:2px}
.charts-row-3{display:grid;grid-template-columns:2fr 1fr;gap:11px;margin-bottom:16px}

/* ── BOTTOM ── */
.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.bcard{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}
.bcard-title{font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.9px;margin-bottom:11px}
.bar-item{margin-bottom:9px}
.bar-hdr{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px}
.bar-city{color:var(--txt);max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-val{color:var(--accent);font-weight:600;font-family:'Rajdhani',sans-serif;font-size:12px}
.bar-track{height:2px;background:var(--border);border-radius:2px}
.bar-fill{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),rgba(249,115,22,.25))}
.mini-list{max-height:200px;overflow-y:auto}
.mini-item{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);gap:8px}
.mini-item:last-child{border-bottom:none}
.mini-name{font-size:12px;color:var(--txt);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── CHIPS ── */
.chip{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.3px;white-space:nowrap}
.chip-red{background:var(--red2);color:var(--red)}
.chip-green{background:var(--green2);color:var(--green)}
.chip-orange{background:rgba(249,115,22,.15);color:var(--accent)}
.chip-blue{background:rgba(96,165,250,.12);color:var(--blue)}
.chip-gray{background:rgba(167,139,250,.1);color:var(--txt2)}
.chip-purple{background:rgba(167,139,250,.15);color:var(--purple-light)}

/* ── SUMMARY STAT BUTTONS ── */
.summary-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.sstat{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:9px 14px;font-size:11px;color:var(--txt3);transition:.15s}
.sstat strong{color:var(--txt);font-size:14px;display:block;font-family:'Rajdhani',sans-serif;font-weight:700}
.sstat.clickable{cursor:pointer}
.sstat.clickable:hover{border-color:var(--accent);background:var(--accent-glow)}
.sstat.clickable.active{border-color:var(--accent);background:var(--accent-glow);color:var(--accent)}
.sstat.clickable.active strong{color:var(--accent)}

/* ── FILTERS ── */
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px;align-items:flex-end}
.filter-group{display:flex;flex-direction:column;gap:4px}
.filter-group label{font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.8px}
.filt-input,.filt-select{padding:8px 11px;background:var(--card);border:1px solid var(--border);border-radius:7px;color:var(--txt);font-family:'Inter',sans-serif;font-size:12px;outline:none;transition:.2s}
.filt-input{width:145px}.filt-select{min-width:130px;cursor:pointer}
.filt-input:focus,.filt-select:focus{border-color:var(--accent)}
.filt-input::placeholder{color:var(--txt4)}
.filt-btn{padding:8px 13px;border-radius:7px;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;cursor:pointer;transition:.2s;border:1px solid;text-transform:uppercase;letter-spacing:.5px}
.filt-apply{background:var(--accent);color:#fff;border-color:var(--accent)}
.filt-apply:hover{background:var(--accent2)}
.filt-clear{background:transparent;color:var(--txt3);border-color:var(--border)}
.filt-clear:hover{border-color:var(--txt3);color:var(--txt)}

/* ── TABLE ── */
.tbl-wrap{overflow-x:auto;max-height:420px;overflow-y:auto}
table{width:100%;border-collapse:collapse}
thead th{position:sticky;top:0;background:var(--card2);padding:9px 11px;font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.7px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);cursor:pointer;user-select:none}
thead th:hover{color:var(--txt2)}
thead th.sort-asc::after{content:" ↑";color:var(--accent)}
thead th.sort-desc::after{content:" ↓";color:var(--accent)}
tbody tr{border-bottom:1px solid var(--border);transition:.1s}
tbody tr:hover{background:var(--card)}
tbody td{padding:8px 11px;font-size:12px;color:var(--txt);white-space:nowrap}
.tbl-info{padding:18px;text-align:center;color:var(--txt3);font-size:12px}

/* ── CLIENT CARDS ── */
.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:11px;max-height:600px;overflow-y:auto}
.cc-wrap{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:.15s}
.cc-wrap:hover{border-color:var(--border2)}
.cc-wrap.urgente{border-color:rgba(249,115,22,.4);box-shadow:0 0 12px rgba(249,115,22,.08)}
.cc-tabs-inner{display:flex;border-bottom:1px solid var(--border);background:var(--card2)}
.cc-tab-inner{flex:1;padding:8px 4px;font-size:9px;font-weight:700;color:var(--txt3);text-align:center;cursor:pointer;transition:.15s;border-bottom:2px solid transparent;text-transform:uppercase;letter-spacing:.5px}
.cc-tab-inner:hover{color:var(--txt2)}
.cc-tab-inner.active{color:var(--accent);border-bottom-color:var(--accent)}
.cc-pane{display:none;padding:12px}
.cc-pane.active{display:block}
.cc-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px}
.cc-nome{font-size:12px;font-weight:600;color:var(--txt);line-height:1.3}
.cc-cnpj{font-size:10px;color:var(--txt3);margin-top:1px}
.cc-rows{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.cc-row{display:flex;flex-direction:column;gap:1px}
.cc-lbl{font-size:9px;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px}
.cc-val{font-size:11px;color:var(--txt);font-weight:500}
.cc-prods{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}
.cc-prod{padding:2px 7px;background:var(--card3);border:1px solid var(--border);border-radius:4px;font-size:9px;color:var(--txt3)}
.urgency-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:3px}
.urgency-dot.alta{background:var(--accent);box-shadow:0 0 5px rgba(249,115,22,.5)}
.urgency-dot.normal{background:#fbbf24}
.urgency-dot.baixa{background:var(--green)}

/* ── CONTACT PANE ── */
.contato-pane{display:flex;flex-direction:column;gap:8px}
.clog-form{display:flex;flex-direction:column;gap:7px}
.clog-row{display:flex;gap:6px}
.clog-input,.clog-select,.clog-textarea{background:var(--card3);border:1px solid var(--border);border-radius:6px;color:var(--txt);font-family:'Inter',sans-serif;font-size:11px;padding:7px 9px;outline:none;transition:.2s;width:100%}
.clog-input:focus,.clog-select:focus,.clog-textarea:focus{border-color:var(--accent)}
.clog-textarea{resize:vertical;min-height:50px;max-height:90px}
.clog-save-btn{padding:6px 11px;background:var(--accent);color:#fff;font-weight:700;font-size:10px;border:none;border-radius:6px;cursor:pointer;font-family:'Rajdhani',sans-serif;letter-spacing:.5px;text-transform:uppercase;transition:.2s;align-self:flex-end}
.clog-save-btn:hover{background:var(--accent2)}
.clog-history{max-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:5px}
.clog-entry{background:var(--card3);border:1px solid var(--border);border-radius:6px;padding:7px 9px}
.clog-entry-hdr{display:flex;align-items:center;gap:5px;margin-bottom:3px;flex-wrap:wrap}
.clog-entry-date{font-size:9px;color:var(--txt3)}
.clog-entry-obs{font-size:10px;color:var(--txt2);line-height:1.4;margin-top:2px}
.clog-entry-prox{font-size:9px;color:var(--blue);margin-top:2px}
.clog-del{background:none;border:none;color:var(--txt4);cursor:pointer;font-size:10px;padding:1px 4px;border-radius:3px;transition:.15s;margin-left:auto}
.clog-del:hover{color:var(--red)}
.clog-hist-title{font-size:9px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.8px;margin:2px 0 5px}
.clog-empty{color:var(--txt3);font-size:11px;text-align:center;padding:10px 0}

/* ── INFO CONTATO PANE ── */
.info-pane{display:flex;flex-direction:column;gap:8px}
.info-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}
.info-row:last-child{border-bottom:none}
.info-ico{font-size:14px;width:20px;text-align:center;flex-shrink:0}
.info-lbl{font-size:9px;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px;min-width:55px}
.info-val{font-size:11px;color:var(--txt);font-weight:500}

/* ── CRÍTICOS ── */
.criticos-filter-bar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.risco-btn{padding:8px 16px;border-radius:8px;font-family:'Inter',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:.2s;border:1px solid;text-transform:uppercase;letter-spacing:.5px}
.risco-btn-all{background:var(--card);border-color:var(--border2);color:var(--txt2)}
.risco-btn-all.active,.risco-btn-all:hover{border-color:var(--txt2);background:rgba(167,139,250,.1);color:var(--txt)}
.risco-btn-alto{background:var(--red2);border-color:rgba(248,113,113,.3);color:var(--red)}
.risco-btn-alto.active,.risco-btn-alto:hover{background:rgba(248,113,113,.25);border-color:var(--red)}
.risco-btn-medio{background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.3);color:var(--accent)}
.risco-btn-medio.active,.risco-btn-medio:hover{background:var(--accent-glow);border-color:var(--accent)}
.risco-btn-15{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.3);color:#fbbf24}
.risco-btn-15.active,.risco-btn-15:hover{background:rgba(251,191,36,.15);border-color:#fbbf24}

.criticos-criteria{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin-bottom:16px}
.criteria-title{font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}
.criteria-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.criteria-item{display:flex;align-items:flex-start;gap:9px}
.criteria-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:2px}
.criteria-text{font-size:11px;color:var(--txt2);line-height:1.5}
.criteria-text strong{color:var(--txt);display:block;font-size:12px;margin-bottom:2px}

.criticos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:11px}
.crit-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px;position:relative;overflow:hidden}
.crit-card.risco-alto{border-color:rgba(248,113,113,.4)}
.crit-card.risco-medio{border-color:rgba(249,115,22,.3)}
.crit-card::before{content:'';position:absolute;top:0;left:0;width:3px;bottom:0}
.crit-card.risco-alto::before{background:var(--red)}
.crit-card.risco-medio::before{background:var(--accent)}
.crit-nome{font-size:12px;font-weight:600;margin-bottom:6px;padding-left:9px;padding-right:9px;line-height:1.3;word-break:break-word}
.crit-rows{display:flex;flex-direction:column;gap:4px;padding-left:9px}
.crit-row{display:flex;justify-content:space-between;font-size:11px}
.crit-lbl{color:var(--txt3)}
.crit-val{color:var(--txt);font-weight:500}
.crit-badge{display:flex;flex-wrap:wrap;gap:4px;padding-left:9px;margin-bottom:8px}

/* ── PLANEJAMENTO ── */
.plan-info{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin-bottom:16px;font-size:12px;color:var(--txt2);line-height:1.7}
.plan-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:flex-end}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.route-list{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px;max-height:560px;overflow-y:auto}
.route-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.route-item:last-child{border-bottom:none}
.route-num{width:26px;height:26px;border-radius:50%;background:var(--accent-glow);border:1px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:13px;flex-shrink:0}
.route-num.priority{background:rgba(248,113,113,.15);border-color:var(--red);color:var(--red)}
.route-body{flex:1}
.route-nome{font-size:12px;font-weight:600;color:var(--txt)}
.route-meta{font-size:11px;color:var(--txt3);margin-top:2px}
.route-dist{font-size:10px;color:var(--accent);margin-top:2px}
.route-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:9px;font-weight:700;margin-top:3px}
.city-group{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}
.city-group-title{font-family:'Rajdhani',sans-serif;font-size:16px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.city-block{margin-bottom:14px}
.city-block-name{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.8px;margin-bottom:7px;display:flex;align-items:center;gap:6px}
.city-client{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:11px;gap:8px}
.city-client:last-child{border-bottom:none}

/* ── OPOR ── */
.opor-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:16px}

/* ── MODALS ── */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:5000;display:none;align-items:center;justify-content:center}
.modal-bg.open{display:flex}
.modal-box{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px;max-width:480px;width:90%;max-height:85vh;overflow-y:auto}
.modal-title{font-family:'Rajdhani',sans-serif;font-size:20px;font-weight:700;margin-bottom:6px;color:var(--txt)}
.modal-sub{color:var(--txt2);font-size:12px;margin-bottom:16px;line-height:1.6}
.modal-form{display:flex;flex-direction:column;gap:11px}
.modal-fgroup label{font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.8px;display:block;margin-bottom:5px}
.modal-fgroup input{width:100%;padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:7px;color:var(--txt);font-family:'Inter',sans-serif;font-size:13px;outline:none;transition:.2s}
.modal-fgroup input:focus{border-color:var(--accent)}
.modal-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.mbtn{padding:9px 15px;border-radius:7px;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;cursor:pointer;border:1px solid;transition:.2s;text-transform:uppercase;letter-spacing:.4px}
.mbtn-orange{background:var(--accent);color:#fff;border-color:var(--accent)}
.mbtn-orange:hover{background:var(--accent2)}
.mbtn-green{background:rgba(74,222,128,.12);color:var(--green);border-color:rgba(74,222,128,.3)}
.mbtn-gray{background:transparent;color:var(--txt2);border-color:var(--border)}
.modal-alert{padding:9px 12px;border-radius:6px;font-size:11px;margin-top:8px}
.modal-alert.err{background:var(--red2);border:1px solid rgba(248,113,113,.25);color:var(--red)}
.modal-alert.ok{background:var(--green2);border:1px solid rgba(74,222,128,.25);color:var(--green)}

/* ── ADMIN ── */
.admin-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:16px}
.admin-title{font-family:'Rajdhani',sans-serif;font-size:16px;font-weight:700;margin-bottom:12px;color:var(--accent);display:flex;align-items:center;gap:8px}
.vendor-row{display:flex;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);gap:10px}
.vendor-row:last-child{border-bottom:none}
.vendor-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.vendor-info{flex:1}
.vendor-nome{font-size:13px;font-weight:500;color:var(--txt)}
.vendor-meta{font-size:11px;color:var(--txt3)}
.vendor-actions{display:flex;gap:6px}

@media(max-width:1024px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .charts-row,.charts-row-3,.bottom-grid,.opor-row,.route-grid{grid-template-columns:1fr}
  .page{padding:14px}
}

/* ═══════════ EVOLUÇÃO CRM (Funil / Agenda / Metas / Regionalização) ═══════════ */
.chip-fx{background:rgba(251,191,36,.16);color:#fbbf24;border:1px solid rgba(251,191,36,.4)}
.cc-wrap.fora-regiao{box-shadow:inset 3px 0 0 #fbbf24}
.alert-bar{display:flex;align-items:center;gap:10px;padding:11px 15px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);border-radius:10px;color:#fde68a;font-size:13px;margin-bottom:16px}
.alert-bar strong{color:#fbbf24}

/* Funil histórico */
.funnel{display:flex;flex-direction:column;gap:8px;max-width:560px;margin:0 auto}
.fn-stage{position:relative;display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-radius:10px;color:#fff;font-weight:600;font-size:14px}
.fn-stage small{display:block;font-size:11px;opacity:.85;font-weight:500}
.fn-val{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;text-align:right}
.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}
.mini-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:15px}
.mini-card .mc-lbl{font-size:11px;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px}
.mini-card .mc-val{font-family:'Rajdhani',sans-serif;font-size:26px;font-weight:700;margin-top:4px}

/* Kanban */
.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}
.kan-col{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px;min-height:120px}
.kan-hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--txt2);display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid var(--border)}
.kan-hd span{color:var(--accent)}
.kan-card{background:var(--card2);border:1px solid var(--border2);border-radius:8px;padding:8px 9px;margin-bottom:7px;font-size:12px}
.kan-card .kc-nome{font-weight:600;color:var(--txt);line-height:1.25}
.kan-card .kc-val{color:var(--green);font-size:11px;margin-top:2px}
.kan-actions{display:flex;justify-content:space-between;margin-top:6px;gap:4px}
.kan-actions button{flex:1;background:var(--card3);border:1px solid var(--border2);color:var(--txt2);border-radius:5px;font-size:11px;padding:3px 0;cursor:pointer;transition:.15s}
.kan-actions button:hover{border-color:var(--accent);color:var(--accent)}
.kan-add{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:14px}
.kan-add input,.kan-add select{padding:9px 11px;background:var(--card2);border:1px solid var(--border);border-radius:8px;color:var(--txt);font-size:13px;font-family:inherit}
.kan-add .kbtn{background:var(--accent);color:#fff;border:none;font-weight:700;padding:9px 18px;border-radius:8px;cursor:pointer;text-transform:uppercase;font-size:12px;letter-spacing:.5px}

/* Agenda */
.ag-filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.ag-fbtn{padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;background:var(--card);border:1px solid var(--border);color:var(--txt2);transition:.15s}
.ag-fbtn:hover{border-color:var(--accent)}
.ag-fbtn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}
/* cartões-resumo clicáveis */
.ag-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.ag-sum-card{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:13px 14px;cursor:pointer;transition:.15s;position:relative;overflow:hidden}
.ag-sum-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.ag-sum-card.active{box-shadow:0 0 0 2px var(--accent) inset;border-color:var(--accent)}
.ag-sum-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--border2)}
.ag-sum-card.sc-atras::before{background:var(--red)} .ag-sum-card.sc-hoje::before{background:var(--accent)}
.ag-sum-card.sc-sete::before{background:var(--blue,#60a5fa)} .ag-sum-card.sc-done::before{background:var(--green)}
.ag-sum-num{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:30px;line-height:1}
.ag-sum-lbl{font-size:11px;color:var(--txt3);font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-top:3px}
.ag-sum-card.sc-atras .ag-sum-num{color:var(--red)} .ag-sum-card.sc-hoje .ag-sum-num{color:var(--accent)}
.ag-sum-card.sc-sete .ag-sum-num{color:var(--blue,#60a5fa)} .ag-sum-card.sc-done .ag-sum-num{color:var(--green)}
/* item da lista (repaginado) */
.ag-item{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:13px 16px;margin-bottom:9px;border-left:4px solid var(--border2);transition:.15s}
.ag-item:hover{border-color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.18)}
.ag-item.atrasado{border-left-color:var(--red)}
.ag-item.hoje{border-left-color:var(--accent)}
.ag-item.futuro{border-left-color:var(--green)}
.ag-date{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:15px;min-width:78px;text-align:center;background:var(--card2);border-radius:9px;padding:7px 4px}
.ag-item.atrasado .ag-date{background:rgba(248,113,113,.13)} .ag-item.hoje .ag-date{background:var(--accent-glow)}
.ag-body{flex:1;min-width:0}
.ag-nome{font-weight:600;color:var(--txt)}
.ag-meta{font-size:12px;color:var(--txt3);margin-top:2px}
.ag-vtag{display:inline-block;background:var(--accent-glow);color:var(--accent);font-size:10px;font-weight:800;padding:1px 7px;border-radius:6px;margin-right:6px;vertical-align:middle}
.ag-go{background:var(--accent);color:#fff;border:none;border-radius:7px;padding:7px 13px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
/* toggle Vendedor / Equipe (admin) */
.ag-adminbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:14px}
.ag-seg{display:inline-flex;background:var(--card2);border:1px solid var(--border);border-radius:9px;padding:3px;gap:3px}
.ag-seg-btn{border:none;background:none;color:var(--txt2);font-weight:700;font-size:13px;padding:7px 16px;border-radius:7px;cursor:pointer}
.ag-seg-btn.active{background:var(--accent);color:#fff}
.ag-team-sel{padding:8px 10px;background:var(--card2);border:1px solid var(--border);border-radius:8px;color:var(--txt);font-size:13px;font-family:inherit}
/* placar por vendedor */
.ag-score{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:16px}
.ag-score-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;transition:.15s}
.ag-score-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.ag-score-card.active{box-shadow:0 0 0 2px var(--accent) inset}
.ag-score-nome{font-weight:700;color:var(--txt);font-size:14px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-score-off{font-size:11px;color:var(--txt3);margin-bottom:8px}
.ag-score-stats{display:flex;gap:10px}
.ag-score-stat{flex:1;text-align:center;background:var(--card2);border-radius:8px;padding:6px 2px}
.ag-score-stat b{display:block;font-family:'Rajdhani',sans-serif;font-size:20px;line-height:1}
.ag-score-stat span{font-size:9px;color:var(--txt3);font-weight:700;text-transform:uppercase}
.ag-score-stat.s-a b{color:var(--red)} .ag-score-stat.s-h b{color:var(--accent)} .ag-score-stat.s-7 b{color:var(--blue,#60a5fa)}
@media(max-width:760px){.ag-sum{grid-template-columns:repeat(2,1fr)}}

/* Seletor de vendedor na aba Gestão de Leads (admin) */
.leads-vend-sel{padding:9px 12px;border-radius:9px;background:var(--card);color:var(--txt);border:1px solid var(--accent);
  font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;max-width:100%}
@media(max-width:760px){ .leads-vend-sel{width:100%;order:-1} }

/* Metas */
.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.meta-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px}
.meta-card .mt-nome{font-weight:700;color:var(--txt);font-size:15px}
.meta-card .mt-office{font-size:11px;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}
.meta-bar{height:12px;background:var(--card3);border-radius:7px;overflow:hidden;margin:10px 0 6px}
.meta-bar-fill{height:100%;border-radius:7px;transition:width .5s}
.meta-row{display:flex;justify-content:space-between;font-size:12px;color:var(--txt2);margin-top:4px}
.meta-input{width:100%;padding:9px 11px;background:var(--card2);border:1px solid var(--border);border-radius:8px;color:var(--txt);font-size:14px;margin-top:8px;font-family:'Rajdhani',sans-serif;font-weight:600}
.meta-pct{font-family:'Rajdhani',sans-serif;font-size:30px;font-weight:700}
.rank-list{margin-top:10px}
.rank-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:9px;background:var(--card);border:1px solid var(--border);margin-bottom:7px}
.rank-row.me{border-color:var(--accent);background:var(--accent-glow)}
.rank-pos{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:18px;width:34px;color:var(--accent)}
.rank-nm{flex:1;font-weight:600;color:var(--txt)}
.rank-vl{font-family:'Rajdhani',sans-serif;font-weight:700;color:var(--txt)}

/* ── detalhes do cliente (popup) ── */
.cc-detbtn{margin-top:6px;background:var(--card3);border:1px solid var(--border2);color:var(--accent2);border-radius:6px;font-size:11px;font-weight:600;padding:4px 9px;cursor:pointer}
.cc-detbtn:hover{border-color:var(--accent);color:var(--accent)}
#det-body .det-sec{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:13px;color:var(--accent2);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 6px;border-bottom:1px solid var(--border);padding-bottom:4px}
.det-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:13px}
.det-lbl{color:var(--txt3)}
.det-val{color:var(--txt);text-align:right;font-weight:500}
.det-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.det-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.det-actions .mbtn{flex:1;text-align:center;text-decoration:none}

/* ── tabelas admin ── */
.adm-table{width:100%;border-collapse:collapse;font-size:12px}
.adm-table th,.adm-table td{padding:7px 9px;border-bottom:1px solid var(--border);text-align:center;color:var(--txt2)}
.adm-table th{color:var(--txt3);text-transform:uppercase;font-size:10px;letter-spacing:.5px;font-weight:700}
.adm-table td:first-child,.adm-table th:first-child{text-align:left}
.flags-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
.adm-form{display:flex;flex-direction:column;gap:8px}

/* ── avisos / atualizações ── */
.aviso-item{display:flex;gap:10px;align-items:flex-start;background:var(--card2);border:1px solid var(--border);border-radius:9px;padding:10px 12px;margin-bottom:8px}
.avisos-box{margin-bottom:18px;display:flex;flex-direction:column;gap:10px}
.aviso-card{background:linear-gradient(135deg,rgba(124,58,237,.15),rgba(249,115,22,.1));border:1px solid var(--border2);border-radius:12px;padding:14px 16px}
.aviso-hd{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:16px;color:var(--txt)}
.aviso-tx{font-size:13px;color:var(--txt2);margin-top:5px;white-space:pre-wrap}
.aviso-img{max-width:100%;border-radius:9px;margin-top:8px;display:block}

/* ── planejamento: seleção de rota ── */
.route-chk{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;margin-right:8px;flex-shrink:0}
.route-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px}
.route-item{display:flex;align-items:center}

/* ── rodada 4: card enxuto, CNPJ clicável, check agenda ── */
.cnpj-link{color:var(--blue);cursor:pointer;border-bottom:1px dotted var(--blue)}
.cnpj-link:hover{color:var(--accent);border-bottom-color:var(--accent)}
.ag-check{background:rgba(74,222,128,.15);border:1px solid rgba(74,222,128,.4);color:var(--green);border-radius:7px;padding:7px 11px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.ag-check:hover{background:rgba(74,222,128,.3)}
#modal-cliente .modal-box{max-width:640px;max-height:88vh;overflow:auto}
.btn-limpar{background:var(--card2);border:1px solid var(--border2);color:var(--accent2);border-radius:8px;padding:9px 14px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;height:38px}
.btn-limpar:hover{border-color:var(--accent);color:var(--accent)}

/* ── modo manutenção ── */
.maint-overlay{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:var(--bg);
  background-image:radial-gradient(ellipse 100% 60% at 50% -5%,rgba(249,115,22,.12),transparent)}
.maint-box{text-align:center;padding:40px;max-width:440px}
.maint-box h2{color:var(--txt)}

/* ===== bloco 2 (ordem original preservada) ===== */
@media(max-width:600px){
  html,body{max-width:100%;overflow-x:hidden}
  .page{padding:10px 12px!important}
  .topbar{height:auto!important;min-height:52px;flex-wrap:wrap;gap:8px;padding:8px 12px!important}
  .sec-hdr{flex-direction:column;align-items:flex-start;gap:6px}
  .kpi-grid{grid-template-columns:1fr 1fr!important}
  .charts-row,.charts-row-3,.bottom-grid,.opor-row,.route-grid{grid-template-columns:1fr!important}
  .login-box{width:auto!important;max-width:92vw!important;padding:22px!important}
  .filt-select,.filters,.filters>*{max-width:100%}
  .filt-select{font-size:13px}
  canvas{max-width:100%!important;height:auto!important}
  .card,.box,.panel{overflow-x:auto}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .nav-tabs{padding:0 8px}
  .nav-tab{font-size:13px;padding-left:10px;padding-right:10px}
  .avf-btn{max-width:60vw}
  #page-estoque iframe{height:78vh;min-height:460px}
  #imp-banner{font-size:12px!important;flex-wrap:wrap;text-align:center}
}
@media(max-width:400px){ .kpi-grid{grid-template-columns:1fr!important} .nav-tab{font-size:12px} }
#page-estoque{padding:0}
#page-estoque iframe{box-shadow:0 8px 30px rgba(0,0,0,.35)}

/* ===== bloco 3 (ordem original preservada) ===== */
#admin-vend-sel{position:relative;display:inline-block;vertical-align:middle}
.avf-btn{padding:5px 10px;background:var(--card);border:1px solid var(--border2);color:var(--txt);border-radius:6px;font-size:12px;cursor:pointer;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'Inter',sans-serif}
.avf-pop{position:absolute;top:115%;left:0;z-index:99999;background:var(--card2);border:1px solid var(--border2);border-radius:10px;padding:8px;min-width:260px;max-height:70vh;overflow:auto;box-shadow:0 12px 40px rgba(0,0,0,.55)}
.avf-pop.hide{display:none}
.avf-sec{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--txt3);margin:9px 4px 3px;font-weight:700}
.avf-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;color:var(--txt);font-size:13px;cursor:pointer}
.avf-item:hover{background:var(--card3)}
.avf-cnt{color:var(--txt3);font-size:11px}
.avf-row{display:flex;gap:8px;margin-top:10px}
.avf-row button{flex:1;padding:8px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;border:1px solid var(--border2)}
.avf-apply{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#1a0b03;border:none}
.avf-clear{background:var(--card);color:var(--txt2)}
@media(max-width:600px){.avf-pop{position:fixed;left:8px;right:8px;top:58px;min-width:0}}

/* ===== bloco 4 (ordem original preservada) ===== */
.gst-filtros{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.gst-fg{display:flex;flex-direction:column;gap:4px}
.gst-fg>label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--txt3);font-weight:700}
.gst-chkbar{display:flex;flex-wrap:wrap;gap:6px;max-width:560px}
.gst-chk{font-size:12px;background:var(--card2);border:1px solid var(--border2);border-radius:6px;padding:5px 9px;cursor:pointer;color:var(--txt2)}
.gst-chk.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#1a0b03;border-color:transparent;font-weight:700}
.gst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.gst-kpi{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px}
.gst-kpi .v{font-size:21px;font-weight:800;color:var(--txt);font-family:'Rajdhani',sans-serif}
.gst-kpi .l{font-size:11px;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.gst-sec{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:16px}
.gst-sec h3{margin:0 0 10px;font-size:15px;color:var(--txt);font-family:'Rajdhani',sans-serif;letter-spacing:.3px}
.gst-bar{height:10px;border-radius:6px;background:linear-gradient(90deg,var(--accent2),var(--accent))}
.gst-barbg{background:var(--card3);border-radius:6px;overflow:hidden;flex:1;height:10px}
.gst-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.gst-2col{grid-template-columns:1fr}}
.gst-up{color:#16a34a}.gst-down{color:#ef4444}
.gst-note{width:100%;min-height:72px;background:var(--card2);border:1px solid var(--border2);color:var(--txt);border-radius:8px;padding:8px;font-family:'Inter',sans-serif;font-size:13px}
.gst-ck-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:var(--txt2)}
.gst-ck-item.done{text-decoration:line-through;opacity:.55}

/* ===== bloco 5 (ordem original preservada) ===== */
.spm-appified{display:flex!important;flex-direction:row!important;align-items:stretch}
  .spm-side{width:238px;flex-shrink:0;background:#0c111c;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;padding:14px 10px;position:sticky;top:0;height:100vh;overflow:auto;z-index:50}
  .spm-brand{display:flex;align-items:center;gap:10px;padding:4px 6px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
  .spm-lg{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#2e7dff,#5aa0ff);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff}
  .spm-brand b{font-size:14px;color:#fff} .spm-brand small{display:block;color:#93a1bd;font-size:9px;letter-spacing:2px}
  .spm-side #nav-tabs-bar{flex:1;display:flex!important;flex-direction:column;gap:4px;margin-top:10px;border:0!important;padding:0!important;overflow:visible;background:transparent!important}
  .spm-side #nav-tabs-bar .nav-tab{justify-content:flex-start;text-align:left;border-radius:9px;width:100%}
  .spm-foot{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;margin-top:8px}
  .spm-who{display:flex;align-items:center;gap:9px;padding:4px 6px 10px}
  .spm-av{width:34px;height:34px;border-radius:9px;background:#1d293f;display:flex;align-items:center;justify-content:center;font-weight:800;color:#a855f7}
  .spm-who b{font-size:12px;color:#e7edf7} .spm-who small{display:block;color:#93a1bd;font-size:10px}
  .spm-sbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:40px;border-radius:9px;font-weight:700;font-size:13px;cursor:pointer;border:1px solid rgba(255,255,255,.12);margin-top:8px;background:#1d293f;color:#e7edf7;text-decoration:none}
  .spm-sbtn.sair{background:#3a1d1d;color:#ffb4b4;border-color:#7a2d2d}
  .spm-main{flex:1;min-width:0;overflow:auto;height:100vh}
  .spm-main .topbar{display:none!important}
  .spm-side .spm-admin{padding:8px 4px 10px;margin-top:4px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}
  .spm-side .spm-admin:empty{display:none;border:0;padding:0}
  .spm-side .spm-admin select{width:100%;padding:8px 9px;border-radius:8px;background:#1d293f;color:#e7edf7;border:1px solid rgba(255,255,255,.14);font-size:13px}
  .spm-side .spm-admin .admin-badge{display:inline-block}
  .spm-sbtn.acesso{background:#16233b;color:#cdd9ee}
  .spm-brand{justify-content:center;padding:8px 6px 14px}
  .spm-brand .spm-logo-img{height:30px;width:auto;max-width:200px;object-fit:contain;display:block}
  .spm-main .page{max-width:none;margin:0;width:100%}
  .spm-side .imp-side{background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.45);color:#e9d8ff;border-radius:9px;padding:7px 9px;margin:8px 0 2px;font-size:11px;font-weight:600;display:flex;flex-direction:column;gap:6px;line-height:1.35}
  .spm-side .imp-side strong{color:#fff}
  .spm-side .imp-side #imp-mode{font-weight:500;opacity:.8;font-size:10px}
  .spm-side .imp-side #imp-back{background:#1d293f;border:1px solid rgba(255,255,255,.18);color:#e7edf7;border-radius:6px;padding:5px 8px;font-weight:700;cursor:pointer;font-size:11px;width:100%}
  /* ---- base mobile (escondido no desktop) ---- */
  .spm-mob-bar{display:none;position:fixed;top:0;left:0;right:0;height:52px;background:#0c111c;border-bottom:1px solid rgba(255,255,255,.08);z-index:3500;align-items:center;gap:12px;padding:0 14px}
  .spm-mob-bar .spm-burger{font-size:23px;color:#e7edf7;background:none;border:none;cursor:pointer;line-height:1;padding:4px 6px}
  .spm-mob-bar b{color:#fff;font-size:14px;letter-spacing:1.5px;font-weight:800}
  /* chip do vendedor selecionado na barra mobile (admin) — sempre visível, abre o seletor */
  .spm-mob-bar .spm-mob-vend{margin-left:auto;display:inline-flex;align-items:center;gap:5px;max-width:54vw;
    background:rgba(168,85,247,.16);border:1px solid rgba(168,85,247,.55);color:#e9d8ff;border-radius:999px;
    padding:6px 12px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;overflow:hidden;line-height:1.2}
  .spm-mob-bar .spm-mob-vend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:38vw}
  .spm-admin-flash{outline:2px solid var(--accent,#F97316);outline-offset:3px;border-radius:9px}
  .spm-mob-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:3900;opacity:0;pointer-events:none;transition:opacity .25s}
  @media(max-width:760px){
    .spm-appified{flex-direction:row}
    .spm-side{position:fixed;top:0;left:0;bottom:0;width:82%;max-width:300px;height:100vh;transform:translateX(-105%);transition:transform .25s ease;z-index:4000;box-shadow:0 0 40px rgba(0,0,0,.6)}
    .spm-appified.spm-open .spm-side{transform:translateX(0)}
    .spm-side #nav-tabs-bar{flex-direction:column;flex-wrap:nowrap}
    .spm-main{height:auto;min-height:100vh;width:100%;padding-top:52px}
    .spm-mob-bar{display:flex}
    .spm-appified.spm-open .spm-mob-ov{display:block;opacity:1;pointer-events:auto}
    .spm-main .page{padding:14px 12px}
  }

/* ============================================================
   CELULAR — a TELA é o limite (anti-estouro horizontal).
   Nenhuma seção pode ficar mais larga que o aparelho; o que for
   maior (tabela, gráfico, kanban) rola DENTRO do próprio bloco.
   ============================================================ */
@media(max-width:768px){
  html,body{width:100%;max-width:100vw;overflow-x:hidden}
  .spm-main,.page{max-width:100vw;overflow-x:hidden;min-width:0}
  .page>*{max-width:100%;min-width:0}
  .filter-bar,.summary-row,.criticos-filter-bar,.route-toolbar,.ag-filters,.det-actions{max-width:100%;flex-wrap:wrap}
  .client-grid,.criticos-grid,.meta-grid,.cards-row{grid-template-columns:1fr!important}
  .charts-row,.charts-row-3,.bottom-grid,.opor-row,.route-grid,.kpi-grid{min-width:0}
  .charts-row>*,.bottom-grid>*,.opor-row>*{min-width:0;max-width:100%}
  .kanban{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:10px}
  .kanban .kan-col{flex:0 0 78vw;max-width:78vw}
  canvas,img,svg,video,iframe{max-width:100%!important}
  pre,code{white-space:pre-wrap;word-break:break-word}
  .cc-wrap,.mini-card,.meta-card,.kan-card,.ag-item,.aviso-card{min-width:0;max-width:100%;overflow-wrap:break-word}
  .filt-input,.filt-select,.meta-input,textarea{max-width:100%}
  .modal-box{max-width:calc(100vw - 20px)!important}
  div[style*="overflow:auto"]{max-width:100%}
}

/* ============================================================
   MODO CLARO — alternado pelo botão 🌙/☀️ (spm_theme.js).
   Mantém o laranja Speedmax; troca fundos escuros por claros.
   ============================================================ */
html[data-theme="light"]{
  --bg:#f2f0fa;
  --bg2:#eae6f6;
  --panel:#ffffff;
  --card:#ffffff;
  --card2:#f5f3fb;
  --card3:#edeaf8;
  --border:#d9d2ee;
  --border2:#c7bce6;
  --accent:#ea580c;
  --accent2:#f97316;
  --accent-glow:rgba(234,88,12,.15);
  --purple-light:#6d28d9;
  --purple-mid:#7c3aed;
  --txt:#241a3f;
  --txt2:#4c3d75;
  --txt3:#6f639a;
  --txt4:#9a8fc0;
  --green:#16a34a;
  --green2:rgba(22,163,74,.12);
  --red:#dc2626;
  --red2:rgba(220,38,38,.10);
  --blue:#2563eb;
}
html[data-theme="light"] body{background:var(--bg)}
