
:root{--bg:#0a0d1c;--card:#12162c;--glass:rgba(255,255,255,.035);--border:rgba(148,163,216,.17);--text:#eef0fa;--muted:#eef0fa;--primary:#2ea6bd;--primary-2:#34c8a2;--grad:linear-gradient(135deg,#1191a8,#12ac86);--green:#31d69f;--red:#f4646c;--amber:#f5a83b;--blue:#5ba5ff;--violet:#45bdd8;--sb:rgba(8,10,22,.94);--modal:#161a38;--seg:rgba(148,163,216,.1);--rowline:rgba(148,163,216,.09);--halo:rgba(46,166,189,.17);--field:rgba(148,163,216,.09);--ring:rgba(46,166,189,.38);--sh1:0 1px 2px rgba(0,0,0,.35),0 14px 34px -20px rgba(0,0,0,.65);--sh2:0 28px 70px -22px rgba(0,0,0,.7)}
body.light{--bg:#eef1f9;--card:#ffffff;--glass:#ffffff;--border:#e3e7f4;--text:#161b30;--muted:#161b30;--primary:#0e6478;--primary-2:#0f8a72;--grad:linear-gradient(135deg,#0e6478,#0f8f78);--green:#0d9e6e;--red:#e5484d;--amber:#d47f06;--blue:#2f6fed;--violet:#0891b2;--sb:rgba(255,255,255,.9);--modal:#ffffff;--seg:#eef1f9;--rowline:#eef1f8;--halo:rgba(14,100,120,.1);--field:#f3f5fc;--ring:rgba(14,100,120,.24);--sh1:0 1px 2px rgba(22,27,48,.05),0 14px 34px -22px rgba(22,27,48,.16);--sh2:0 30px 70px -26px rgba(22,27,48,.3)}
body.light .glass-card{box-shadow:0 1px 2px rgba(15,23,42,.05)}
body.light .fin-g{background:rgba(16,185,129,.13);color:#047857}
body.light .fin-a{background:rgba(245,158,11,.15);color:#b45309}
body.light .fin-r{background:rgba(239,68,68,.12);color:#b91c1c}
body.light .fin-bl{background:rgba(59,130,246,.12);color:#1d4ed8}
body.light .fin-v{background:rgba(139,92,246,.12);color:#6d28d9}
body.light .fin-gr{background:rgba(20,26,48,.08);color:var(--text)}
body.light .nav-item.active{background:linear-gradient(90deg,rgba(15,125,148,.14),rgba(15,125,148,.04));color:#3730a3}
.nav-parent{cursor:pointer}
.nav-caret{width:15px !important;height:15px !important;margin-left:auto;opacity:.55;flex:none}
.nav-sub{margin:1px 0 5px}
.nav-subitem{display:block;padding:7px 14px 7px 47px;font-size:.83rem;color:var(--muted);cursor:pointer;border-radius:9px;text-decoration:none;transition:background .12s}
.nav-subitem:hover{background:var(--seg);color:var(--text)}
.nav-subitem.active{background:linear-gradient(90deg,rgba(15,125,148,.14),rgba(15,125,148,.04));color:#3730a3;font-weight:600}
body.light .pv-banner{background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(245,158,11,.03))}
*{margin:0;padding:0;box-sizing:border-box}
body{background:radial-gradient(1000px 500px at 80% -10%,var(--halo),transparent),var(--bg);color:var(--text);font:14px/1.5 'Inter',-apple-system,'Segoe UI',sans-serif;min-height:100vh}
.mono{font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:-.01em;font-size:.95em}
.layout{display:flex;min-height:100vh}
.sidebar{width:252px;flex:none;border-right:1px solid var(--border);background:var(--sb);backdrop-filter:blur(10px);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto;z-index:60}
.sb-head{display:flex;gap:10px;align-items:center;padding:16px 15px;border-bottom:1px solid var(--border)}
.sb-logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#0f7d94,#10a884);display:grid;place-items:center;font-weight:800}
.sb-brand b{display:block;font-size:.9rem}.sb-brand span{font-size:.7rem;color:var(--muted)}
.sb-g{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:15px 15px 6px}
.nav-item{display:flex;gap:10px;align-items:center;padding:8px 12px;margin:1px 8px;border-radius:10px;cursor:pointer;color:var(--muted);text-decoration:none}
.nav-item:hover{background:var(--seg);color:var(--text)}
.nav-item.active{background:linear-gradient(90deg,rgba(15,125,148,.22),rgba(15,125,148,.06));color:#fff}
.nav-item .lucide{width:16px;height:16px;flex:none}
.nav-item b{display:block;font-size:.78rem;font-weight:600}.nav-item span{display:block;font-size:.64rem;color:var(--muted)}
.nav-item.dim{opacity:.45}
.main{flex:1;min-width:0;padding:18px 22px 60px}
.pv-banner{display:flex;gap:10px;align-items:center;background:linear-gradient(90deg,rgba(245,158,11,.16),rgba(245,158,11,.04));border:1px solid rgba(245,158,11,.35);border-radius:12px;padding:10px 14px;font-size:.78rem;margin-bottom:16px}
.pv-banner .lucide{width:16px;height:16px;color:var(--amber);flex:none}
.page-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
h1{font-size:1.35rem;margin:2px 0 3px}
.page-sub{color:var(--muted);font-size:.83rem;margin-bottom:16px}
.glass-card{background:var(--glass);border:1px solid var(--border);border-radius:15px}
.mini-dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:11px;margin-bottom:16px}
.md-card{padding:13px 15px}
.md-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.md-val{font-size:1.25rem;font-weight:700;margin-top:4px}
.md-foot{font-size:.7rem;color:var(--muted);margin-top:2px}
.tbl-scroll{overflow-x:auto}
table.dt{width:100%;border-collapse:collapse;font-size:.82rem}
.dt th{font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 11px;border-bottom:1px solid var(--border);white-space:nowrap}
.dt td{padding:10px 11px;border-bottom:1px solid var(--rowline);vertical-align:middle;white-space:nowrap}
.dt tr:last-child td{border-bottom:0}
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--glass);color:var(--text);font:inherit;font-size:.8rem;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer;text-decoration:none}
.btn .lucide{width:15px;height:15px}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-ghost:hover,.btn:hover{filter:brightness(1.13)}
.topbar-m{display:none}
.topbar-d{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:16px 26px 0}
@media(max-width:880px){
  .topbar-d{display:none}
  .sidebar{position:fixed;left:-270px;transition:left .25s ease;box-shadow:20px 0 60px rgba(0,0,0,.5)}
  .sidebar.open{left:0}
  .topbar-m{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--sb);backdrop-filter:blur(10px);z-index:50}
  .main{padding:14px 13px 60px}
  .shade{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:55;display:none}
  .shade.on{display:block}
}
.fin-subtabs{display:flex;gap:7px;margin-bottom:16px;overflow-x:auto;padding-bottom:3px;-webkit-overflow-scrolling:touch}
.fin-subtabs a{display:flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--border);background:var(--glass);border-radius:11px;font-size:.78rem;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap;cursor:pointer}
.fin-subtabs a.on{background:var(--primary);border-color:var(--primary);color:#fff}
.fin-subtabs .lucide{width:14px;height:14px}
.fin-b{display:inline-flex;align-items:center;font-size:.66rem;font-weight:700;padding:2.5px 9px;border-radius:20px;white-space:nowrap}
.fin-g{background:rgba(16,185,129,.16);color:#34d399}.fin-a{background:rgba(245,158,11,.18);color:#fbbf24}
.fin-r{background:rgba(239,68,68,.16);color:#f87171}.fin-bl{background:rgba(59,130,246,.16);color:#60a5fa}
.fin-v{background:rgba(139,92,246,.16);color:#a78bfa}.fin-gr{background:rgba(255,255,255,.08);color:var(--muted)}
.fin-note{display:flex;gap:11px;border:1px solid var(--border);background:rgba(15,125,148,.07);border-radius:12px;padding:12px 14px;font-size:.8rem;color:var(--muted);margin-bottom:14px}
.fin-note .lucide{width:17px;height:17px;color:var(--primary);flex:none;margin-top:1px}
.fin-note b{color:var(--text)}
.fin-bar{display:flex;align-items:center;gap:9px;margin-bottom:13px;flex-wrap:wrap}
.fin-sel{padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-size:.83rem}
.fin-seg{display:flex;background:var(--seg);border-radius:10px;padding:3px;gap:3px;flex-wrap:wrap;border:1px solid var(--border)}
.fin-seg button{border:0;background:transparent;font:inherit;font-size:.76rem;font-weight:700;padding:7px 12px;border-radius:8px;cursor:pointer;color:var(--text,#20304c);opacity:.82;transition:opacity .12s,background .12s}
.fin-seg button:hover{opacity:1;background:rgba(14,139,162,.09)}
.fin-seg button.on{background:linear-gradient(135deg,#0e8ba2,#10a884);color:#fff;opacity:1;box-shadow:0 4px 12px -6px rgba(14,139,162,.55)}
.fin-f label{display:block;font-size:.7rem;font-weight:600;color:var(--muted);margin-bottom:5px}
details summary::-webkit-details-marker{display:none}
#benReport{display:none}
#benReport h1{font-size:19px;margin:0;color:#111}
#benReport h2{font-size:13px;margin:15px 0 6px;color:#111;border-bottom:1px solid #999;padding-bottom:3px}
#benReport table{width:100%;border-collapse:collapse;font-size:9.5px;margin-bottom:6px;table-layout:auto}
#benReport th,#benReport td{border:1px solid #bbb;padding:3px 5px;text-align:left;color:#111}
#benReport td.r,#benReport th.r,#benReport td.c,#benReport th.c{white-space:nowrap}
#benReport th{background:#e8e8e8}
#benReport td.r,#benReport th.r{text-align:right}
#benReport td.c,#benReport th.c{text-align:center}
#benReport .rep-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:4px}
#benReport .rep-foot{font-size:9px;color:#111;margin-top:10px;border-top:1px solid #ccc;padding-top:6px;line-height:1.4}
@media print{
  @page{size:A4 portrait;margin:11mm}
  body.printing > *:not(#benReport){display:none !important}
  body.printing #benReport{display:block !important;background:#fff}
}
.fin-mtab{border:0;background:transparent;font:inherit;font-size:.8rem;font-weight:600;color:var(--muted);padding:11px 12px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.fin-mtab.on{color:var(--primary);border-bottom-color:var(--primary)}
.fin-inp{padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-size:.84rem}
.fin-f input,.fin-f select,.fin-f textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-size:.86rem}
.fin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 14px;margin-bottom:12px}
.fin-ov{position:fixed;inset:0;background:rgba(5,7,14,.6);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;padding:4vh 12px;z-index:220;overflow:auto}
.fin-ov.on{display:flex}
.fin-modal{width:660px;max-width:100%;border-radius:18px;background:var(--modal);border:1px solid var(--border);box-shadow:0 24px 70px rgba(0,0,0,.5);max-height:90vh;display:flex;flex-direction:column}
.fin-mh{display:flex;align-items:center;gap:12px;padding:16px 19px;border-bottom:1px solid var(--border)}
.fin-mh h3{font-size:.98rem}
.fin-mh .x{margin-left:auto;cursor:pointer;color:var(--muted);display:flex;padding:5px}
.fin-mb{padding:18px 19px;overflow:auto}
.fin-mf{display:flex;gap:9px;justify-content:flex-end;padding:13px 19px;border-top:1px solid var(--border)}
.fin-toast{position:fixed;right:14px;bottom:14px;left:14px;z-index:400;display:flex;flex-direction:column;gap:9px;pointer-events:none}
@media(min-width:600px){.fin-toast{left:auto}}
.fin-toast .t{background:var(--modal);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:12px;padding:12px 15px;max-width:340px;margin-left:auto;box-shadow:0 14px 34px rgba(0,0,0,.4);font-size:.82rem;animation:fi .22s ease}
.fin-toast .t.err{border-left-color:var(--red)}
.fin-toast .t b{display:block;font-size:.85rem;margin-bottom:2px}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fin-empty{padding:30px 16px;text-align:center;color:var(--muted);font-size:.84rem;white-space:normal}
.pad{padding:15px 17px}

/* Nova Venda */
.nv-wrap{display:grid;grid-template-columns:1fr 332px;gap:16px;align-items:start}
.nv-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.nv-sec{padding:18px 20px}
.nv-sec-h{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.nv-step{width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,var(--primary),#10a884);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex:none}
.nv-sec-h b{font-size:.95rem}
.nv-sec-sub{font-size:.75rem;color:var(--muted)}
.nv-seg{margin-bottom:14px}
.nv-cli-search{margin-bottom:10px}
.nv-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.nv-chips-empty{font-size:.76rem;color:var(--muted)}
.nv-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(15,125,148,.12);color:var(--primary);border:1px solid rgba(15,125,148,.25);border-radius:20px;padding:4px 6px 4px 11px;font-size:.78rem;font-weight:600}
.nv-chip i{width:13px;height:13px;cursor:pointer;opacity:.8}
.nv-chip i:hover{opacity:1}
.nv-cli-list{max-height:230px;overflow:auto;border:1px solid var(--border);border-radius:12px}
.nv-cli-item{display:flex;align-items:center;gap:11px;padding:10px 13px;border-bottom:1px solid var(--rowline);cursor:pointer;transition:background .12s}
.nv-cli-item:last-child{border-bottom:none}
.nv-cli-item:hover{background:var(--seg)}
.nv-cli-av{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#0f7d94,#10a884);color:#fff;display:grid;place-items:center;font-size:.68rem;font-weight:700;flex:none}
.nv-cnpj{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap}
.nv-docmsg{font-size:.8rem;margin-top:8px}
.nv-cnpj-card{display:flex;gap:12px;align-items:center;margin-top:11px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--seg)}
.nv-cnpj-ico{width:40px;height:40px;border-radius:10px;background:rgba(15,125,148,.12);display:grid;place-items:center;color:var(--primary);flex:none}
.nv-cnpj-sub{font-size:.76rem;color:var(--muted)}
.nv-side{position:sticky;top:14px}
.nv-summary{padding:18px 19px}
.nv-sum-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;margin-bottom:14px}
.nv-sum-title i{width:17px;height:17px}
.nv-sum-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.83rem;padding:5px 0}
.nv-sum-row>span{color:var(--muted);flex:none}
.nv-sum-cli{font-size:.8rem;font-weight:600;margin:-1px 0 3px;line-height:1.35}
.nv-sum-serv{font-weight:500;text-align:right;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
.nv-sum-line{height:1px;background:var(--border);margin:9px 0}
.nv-sum-total{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-weight:700}
.nv-sum-total b{font-size:1.4rem;color:var(--primary)}
.nv-sum-note{font-size:.72rem;color:var(--muted);text-align:right;margin-top:-1px}
.nv-sum-btn{width:100%;justify-content:center;margin-top:15px}
.nv-sum-cancel{width:100%;justify-content:center;margin-top:8px}
@media(max-width:900px){.nv-wrap{grid-template-columns:1fr}.nv-side{position:static}}

/* Listar Vendas — KPIs + filtros por coluna */
.lv-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
@media(max-width:820px){.lv-kpis{grid-template-columns:repeat(2,1fr)}}
.lv-kpi{padding:13px 15px;border-radius:14px;border:1px solid var(--border);background:var(--card);text-align:center}
.lv-kpi-label{font-size:.72rem;font-weight:600;color:var(--muted);margin-bottom:6px;letter-spacing:.01em}
.lv-kpi-val{font-size:1.18rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.lv-kpi-sub{font-size:.68rem;color:var(--muted);margin-top:3px}
.lv-kpi-total{background:linear-gradient(135deg,rgba(15,125,148,.1),rgba(139,92,246,.05));border-color:rgba(15,125,148,.32)}
.lv-th{position:relative}
.lv-th-in{display:inline-flex;align-items:center;gap:5px}
.lv-fil{width:22px;height:22px;border-radius:7px;display:inline-grid;place-items:center;cursor:pointer;color:var(--muted);border:1px solid transparent;transition:background .12s}
.lv-fil:hover{background:var(--seg)}
.lv-fil.on{color:var(--primary);background:rgba(15,125,148,.13);border-color:rgba(15,125,148,.28)}
.lv-fil i{width:12px;height:12px}
.lv-drop{position:absolute;top:calc(100% + 5px);z-index:40;min-width:172px;background:var(--modal);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 38px rgba(0,0,0,.2);padding:6px;font-weight:400;text-align:left;max-height:260px;overflow:auto}
.lv-drop.r{right:0}.lv-drop.l{left:0}
.lv-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:.82rem;cursor:pointer;color:var(--text)}
.lv-opt:hover{background:var(--seg)}
.lv-opt.sel{color:var(--primary);font-weight:600}
.lv-opt i{width:14px;height:14px;margin-left:auto}
.lv-drop-search{padding:5px 5px 7px}
.lv-back{position:fixed;inset:0;z-index:35}
.lv-pag{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:13px;font-size:.8rem;color:var(--muted)}
.lv-bulk{display:flex;align-items:center;gap:9px;padding:9px 14px;background:rgba(15,125,148,.1);border:1px solid rgba(15,125,148,.28);border-radius:12px;margin-bottom:12px;font-size:.83rem;flex-wrap:wrap}

/* Contrato — wizard 6 etapas (réplica do sistema real) */
.ncw-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.ncw-step{display:flex;align-items:center;gap:8px}
.ncw-circle{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;border:1.5px solid var(--border);color:var(--muted);flex:none}
.ncw-circle i{width:15px;height:15px}
.ncw-circle.on{background:var(--primary);border-color:var(--primary);color:#fff}
.ncw-circle.done{background:rgba(16,185,129,.18);border-color:#10b981;color:#10b981}
.ncw-lbl{font-size:.78rem;font-weight:600}
.ncw-line{width:20px;height:1.5px;background:var(--border)}
.nc-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.nc-cards{grid-template-columns:1fr}}
.nc-card{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1.5px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .12s,background .12s}
.nc-card.on{border-color:var(--primary);background:rgba(15,125,148,.06)}
.nc-card-ic{width:38px;height:38px;border-radius:10px;background:var(--seg);display:grid;place-items:center;color:var(--primary);flex:none}
.nc-card-ic i{width:19px;height:19px}
.nc-card-t{font-weight:600;font-size:.86rem}
.nc-card-s{font-size:.73rem;color:var(--muted)}
.nc-resumo{background:var(--seg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-top:15px}
.nc-resumo-t{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}
.nc-resumo-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:.85rem}
.nc-resumo-row>span{color:var(--muted)}
.nc-up{border:2px dashed var(--border);border-radius:14px;padding:26px;text-align:center;cursor:pointer;transition:border-color .15s}
.nc-up:hover{border-color:var(--primary)}
.nc-up-ic{width:44px;height:44px;border-radius:12px;background:var(--seg);display:grid;place-items:center;color:var(--primary);margin:0 auto 10px}

/* Nova Venda — seletor de clientes (dropdown oculto) */
.nv-sec{overflow:visible}
.nvc-box{position:relative}
.nvc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer;font-size:.86rem;font-weight:500;transition:border-color .12s}
.nvc-btn:hover,.nvc-btn.open{border-color:var(--primary)}
.nvc-drop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;background:var(--modal);border:1px solid var(--border);border-radius:13px;box-shadow:0 16px 46px rgba(0,0,0,.22);overflow:hidden}
.nvc-drop-search{padding:10px 11px;border-bottom:1px solid var(--border)}
.nvc-list{max-height:264px;overflow:auto;padding:5px}
.nvc-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;cursor:pointer}
.nvc-item:hover{background:var(--seg)}
.nvc-check{width:19px;height:19px;border-radius:6px;border:1.5px solid var(--border);display:grid;place-items:center;flex:none;color:#fff;transition:all .12s}
.nvc-check.on{background:var(--primary);border-color:var(--primary)}
.nvc-check i{width:12px;height:12px;opacity:0}
.nvc-check.on i{opacity:1}
.nvc-back{position:fixed;inset:0;z-index:35}
.nv-div{display:flex;align-items:center;gap:12px;margin:17px 0;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.nv-div::before,.nv-div::after{content:"";flex:1;height:1px;background:var(--border)}
.nv-chip-new{background:rgba(16,185,129,.12);color:#047857;border-color:rgba(16,185,129,.3)}

/* Nova Venda — cliente único + emissão + documento */
.nv-cli-card{display:flex;gap:13px;align-items:flex-start;padding:15px 16px;border:1.5px solid rgba(15,125,148,.3);border-radius:13px;background:rgba(15,125,148,.05)}
.nv-cli-card-av{width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,#0f7d94,#10a884);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.nv-emit{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
@media(max-width:560px){.nv-emit{grid-template-columns:1fr}}
.nv-emit-c{display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 10px;border:1.5px solid var(--border);border-radius:12px;cursor:pointer;text-align:center;transition:border-color .12s}
.nv-emit-c.on{border-color:var(--primary);background:rgba(15,125,148,.06)}
.nv-emit-c i{width:20px;height:20px;color:var(--primary)}
.nv-emit-c b{font-size:.8rem}.nv-emit-c span{font-size:.68rem;color:var(--muted)}
.doc-preview{background:#fff;color:#1b2136;max-width:720px;margin:0 auto;padding:32px 38px;font-size:13px;line-height:1.5;font-family:'Inter',sans-serif}
.doc-h{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #1b2136;padding-bottom:14px;margin-bottom:6px}
.doc-logo{width:42px;height:42px;border-radius:10px;background:#0f7d94;color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}
.doc-title{font-size:18px;font-weight:800}
.doc-sec-t{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#0f7d94;margin:18px 0 7px}
.doc-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #eee;gap:14px}
.doc-row>span{color:#667}
.doc-tot{display:flex;justify-content:space-between;padding:11px 0;border-top:2px solid #1b2136;margin-top:8px;font-weight:800;font-size:15px}
.doc-table{width:100%;border-collapse:collapse;margin-top:4px}
.doc-table th,.doc-table td{border:1px solid #ccc;padding:7px 9px;text-align:left;font-size:12px}
.doc-table th{background:#f3f4f9}
.doc-note{background:#f8f9fc;border-left:3px solid #0f7d94;padding:10px 13px;margin-top:10px;font-size:12px}

/* ═══════════ REDESIGN 2.0 — camada visual ═══════════ */
body{background:radial-gradient(900px 480px at -8% -6%,var(--halo),transparent 62%),radial-gradient(820px 460px at 108% -8%,rgba(15,140,116,.12),transparent 60%),var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(46,166,189,.28)}
*{scrollbar-width:thin;scrollbar-color:rgba(128,138,190,.4) transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(128,138,190,.35);border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}
:focus-visible{outline:2.5px solid var(--ring);outline-offset:2px;border-radius:8px}
[data-lucide]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none}

/* cards */
.glass-card{border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,var(--glass),transparent 130%) ,var(--card);box-shadow:var(--sh1)}

/* botões */
.btn{border-radius:11px;font-weight:650;border:1px solid var(--border);background:var(--card);transition:transform .14s ease,box-shadow .14s ease,border-color .14s,background .14s}
.btn:hover{transform:translateY(-1px);border-color:rgba(46,166,189,.5);box-shadow:0 8px 18px -10px rgba(20,26,60,.35)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-primary{background:var(--grad);border:none;color:#fff;box-shadow:0 10px 22px -10px rgba(13,120,140,.65)}
.btn-primary:hover{filter:brightness(1.06);border:none}
.btn:disabled{opacity:.45;transform:none;box-shadow:none}

/* inputs */
.fin-f label{font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.055em;opacity:.82}
.fin-f input,.fin-f select,.fin-f textarea,.fin-inp{background:var(--field);border:1.5px solid transparent;border-radius:12px;transition:border-color .14s,background .14s,box-shadow .14s;font-weight:520}
.fin-f input:hover,.fin-f select:hover,.fin-f textarea:hover,.fin-inp:hover{border-color:var(--border)}
.fin-f input:focus,.fin-f select:focus,.fin-f textarea:focus,.fin-inp:focus{background:var(--card);border-color:var(--primary);box-shadow:0 0 0 3.5px var(--ring);outline:none}
.fin-f input:disabled{background:var(--seg)}

/* sidebar */
.sidebar{background:var(--sb);backdrop-filter:blur(18px) saturate(1.3);border-right:1px solid var(--border)}
.sb-head{gap:11px;padding:16px 14px 12px}
.sb-brand b{font-size:1.04rem;letter-spacing:-.02em;background:linear-gradient(100deg,var(--text),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sb-brand span{font-size:.68rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
#nav{padding:4px 10px 10px}
#nav a{border-radius:12px;transition:background .13s,color .13s,transform .13s}
#nav a:hover{background:var(--seg)}
#nav a.on,#nav a.act,#nav a.active{background:linear-gradient(92deg,var(--halo),transparent 88%);color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}
#nav a.on [data-lucide],#nav a.act [data-lucide]{color:var(--primary)}

/* topbar */
.topbar-d,.topbar-m{backdrop-filter:blur(16px) saturate(1.25);background:color-mix(in srgb,var(--bg) 62%,transparent);border-bottom:1px solid var(--border)}
/* 05/08/2026 — o menu da conta (Sair/Tema) abria ATRÁS do conteúdo em
   várias telas. Motivo: o backdrop-filter acima faz do topbar um
   stacking context próprio, então o z-index do menu (120) só vale
   DENTRO dele — qualquer card/pop da página com z-index alto (receber
   e pagar usam 9999) pintava por cima do topbar inteiro. Elevando o
   topbar, o menu volta a ficar acima de tudo em todas as páginas. */
.topbar-d,.topbar-m{position:relative;z-index:10000}

/* ═══ PADRÃO DO SHELL EM TODAS AS TELAS (05/08/2026) ═══════════════════
   Algumas telas (receber, pagar, contratos, tarefas, tercia, analytics,
   tabfun) carregam CSS legado — style.css, qp.css, app-qp.css — de antes
   deste layout. Esses arquivos redefinem classes do shell (.main,
   .nav-item, .tb-av, .sidebar…). Como o app.css vem DEPOIS deles, a
   maioria das propriedades já é vencida aqui; o problema são as que o
   app.css não declarava — elas passavam batido e deixavam essas telas
   fora do padrão. Cada linha abaixo devolve uma dessas.               */

/* .main virava "display:flex;flex-direction:column" pelo qp.css e
   desalinhava o conteúdo inteiro dessas páginas */
.main{display:block}

/* o pill da conta (foto + nome + seta) virava um círculo de 38px porque
   o qp.css tem um .tb-av próprio com width fixo: o nome sumia e o botão
   ficava cortado no canto. A engrenagem (.tb-cfg) segue quadrada. */
.tb-av{width:auto;justify-content:flex-start}

/* itens do menu lateral ganhavam altura fixa de 46px (qp.css) */
.nav-item{height:auto}
.sidebar{width:252px}

/* o style.css legado ainda define html{font-size:15px}: como quase tudo
   nele e no qp.css é px (≈85%), a diferença aparecia só no shell — menu,
   títulos e o pill da conta ficavam menores que nas demais telas. */
html{font-size:16px}
.nav-item{font-size:inherit}

/* olho da página com tamanho/tracking diferentes nessas telas */
.page-eyebrow{font-size:.68rem;letter-spacing:.14em;margin-bottom:0}
@media(max-width:900px){.topbar-m{z-index:10000}}

/* tabelas */
.tbl-scroll{border-radius:15px}
.dt thead th{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;opacity:.8;padding-top:12px;padding-bottom:12px;background:var(--seg)}
.dt thead th:first-child{border-top-left-radius:12px}.dt thead th:last-child{border-top-right-radius:12px}
.dt tbody tr{transition:background .12s}
.dt tbody tr:hover{background:var(--seg)}
.dt td{border-bottom:1px solid var(--rowline)}

/* badges */
.fin-b{border-radius:99px;font-weight:750;letter-spacing:.015em;padding:3.5px 10px 3.5px 8px;border:1px solid transparent}
.fin-b::before{content:"";display:inline-block;width:6px;height:6px;border-radius:99px;background:currentColor;margin-right:6px;vertical-align:1.5px}

/* modais e dropdowns */
.fin-ov{background:rgba(8,10,24,.5);backdrop-filter:blur(7px)}
.fin-modal{border-radius:20px;border:1px solid var(--border);box-shadow:var(--sh2)}
.fin-mh h3{letter-spacing:-.015em}
.nvc-drop,.lv-drop{border-radius:16px;box-shadow:var(--sh2)}
.nvc-item:hover,.lv-opt:hover{background:var(--halo)}

/* wizard / seleção */
.nv-step{background:var(--grad);color:#fff;box-shadow:0 6px 14px -6px rgba(13,120,140,.6)}
.ncw-circle.on{background:var(--grad);border-color:transparent;box-shadow:0 6px 16px -6px rgba(13,120,140,.65)}
.nc-card{border-radius:14px;transition:border-color .13s,background .13s,transform .13s}
.nc-card:hover{transform:translateY(-1.5px)}
.nc-card.on{border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 10px 24px -14px rgba(13,120,140,.55)}
.nc-card-ic{background:var(--halo);color:var(--primary);border-radius:11px}
.nv-emit-c{border-radius:13px;transition:transform .13s,border-color .13s}
.nv-emit-c:hover{transform:translateY(-1.5px)}
.nv-emit-c.on{border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--grad) border-box;border:1.5px solid transparent}
.fin-seg{border-radius:12px;background:var(--seg);padding:3px}
.fin-seg button{border-radius:9px}
.fin-seg button.on{background:var(--card);color:var(--text,#20304c);box-shadow:0 2px 8px rgba(10,14,32,.18);font-weight:800}
.fin-note{border-radius:13px;background:linear-gradient(120deg,var(--halo),transparent 70%);border:1px solid var(--border)}
.nc-resumo{border-radius:14px;background:linear-gradient(150deg,var(--halo),transparent 75%),var(--seg)}
.lv-pag .btn{border-radius:9px}
.nvc-btn{border-radius:13px}
.nv-cli-card{border-radius:15px}

/* ═══ documentos (PDF) 2.0 ═══ */
.doc-preview{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px -18px rgba(20,26,60,.35);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.doc-preview::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#0e6478,#0f9478)}
.doc-h{border-bottom:1px solid #e7e9f4;align-items:center;padding-bottom:16px;margin-bottom:4px}
.doc-title{font-size:19px;font-weight:800;letter-spacing:-.02em;color:#181d38}
.doc-chip{display:inline-block;background:linear-gradient(120deg,#0e6478,#0f9478);color:#fff;font-weight:800;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:4px 11px;border-radius:99px;margin-bottom:5px}
.doc-sec-t{display:flex;align-items:center;gap:7px;color:#0e6478}
.doc-sec-t::before{content:"";width:15px;height:3.5px;border-radius:3px;background:linear-gradient(90deg,#0e6478,#0f9478)}
.doc-row{border-bottom:1px solid #eef0f8}
.doc-table th{background:#e9f6f7;border-color:#e2e5f4;color:#23294e;text-transform:uppercase;font-size:9.5px;letter-spacing:.06em;font-weight:800}
.doc-table td{border-color:#e7e9f4}
.doc-tot{border-top:none;background:linear-gradient(120deg,#e6f5f6,#eafaf3);border-radius:12px;padding:13px 16px;margin-top:12px;color:#181d38}
.doc-note{border-radius:11px;background:#eff9f8;border-left:3px solid #0f8a72}
#benReport{font-family:'Inter',system-ui,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#benReport h1{font-size:20px;font-weight:800;letter-spacing:-.02em;color:#181d38}
#benReport .rep-head{border-bottom:1px solid #e7e9f4;padding-bottom:12px}
#benReport table th{background:#e9f6f7 !important;color:#23294e;text-transform:uppercase;letter-spacing:.05em;font-weight:800}
#benReport table td,#benReport table th{border-color:#e5e8f4 !important}

/* ═══════════ ABA GERENCIAL (controladoria) ═══════════ */
.ger-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px}
.ger-search{flex:1;min-width:220px;display:flex;align-items:center;gap:9px;background:var(--field);border:1.5px solid transparent;border-radius:12px;padding:0 12px;transition:border-color .14s,box-shadow .14s}
.ger-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3.5px var(--ring);background:var(--card)}
.ger-search [data-lucide]{width:17px;height:17px;color:var(--muted);flex:none}
.ger-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font:inherit;font-weight:520;padding:10px 0}
.ger-clear{background:var(--seg);border:none;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;color:var(--muted);flex:none}
.ger-clear [data-lucide]{width:13px;height:13px}
.ger-tb-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ger-viewseg{display:inline-flex}
.ger-viewseg button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;font:inherit;font-size:.8rem;font-weight:650;color:var(--muted);padding:8px 13px;border-radius:9px;cursor:pointer}
.ger-viewseg button [data-lucide]{width:15px;height:15px}
.ger-viewseg button.on{background:var(--card);color:var(--primary);box-shadow:0 2px 8px rgba(10,14,32,.18)}
.ger-sort{display:flex;align-items:center;gap:6px}
.ger-sort select{background:var(--field);border:1.5px solid transparent;border-radius:11px;padding:8px 11px;font:inherit;font-size:.8rem;font-weight:600;color:var(--text);cursor:pointer}
.ger-sort select:focus{border-color:var(--primary);outline:none}
.ger-dir{padding:8px 10px}.ger-dir [data-lucide]{width:16px;height:16px}
.ger-colbox{position:relative}
.ger-colbox>.btn{display:inline-flex;align-items:center;gap:7px}
.ger-colbox>.btn.on{border-color:var(--primary);color:var(--primary)}
.ger-colbox>.btn [data-lucide]{width:15px;height:15px}
.ger-coldrop{position:absolute;top:calc(100% + 7px);right:0;z-index:60;background:var(--modal);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh2);padding:8px;min-width:200px}
.ger-coldrop-t{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 10px 4px}
.ger-colitem{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;cursor:pointer;font-size:.83rem;font-weight:550}
.ger-colitem:hover{background:var(--halo)}
.ger-colitem input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}
.ger-coldrop-all{width:100%;margin-top:4px;background:var(--seg);border:none;border-radius:9px;padding:8px;font:inherit;font-size:.78rem;font-weight:650;color:var(--primary);cursor:pointer}
.ger-count{font-size:.8rem;color:var(--muted);margin:0 2px 12px;font-weight:550}
.ger-count b{color:var(--text);font-weight:750}

/* avatar */
.ger-av{width:38px;height:38px;border-radius:11px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:750;font-size:.82rem;flex:none;box-shadow:0 4px 12px -6px rgba(14,120,140,.6)}
.ger-av.lg{width:46px;height:46px;font-size:.92rem;border-radius:13px}
.ger-av.xl{width:62px;height:62px;font-size:1.2rem;border-radius:16px}

/* tabela */
.ger-table td{padding-top:11px;padding-bottom:11px;vertical-align:middle}
.ger-row{cursor:pointer}
.ger-td-nome{min-width:220px}
.ger-fn{display:flex;align-items:center;gap:11px}
.ger-fn-nome{font-size:.85rem;display:block;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.ger-fn-posto{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--muted);font-weight:600;margin-top:2px}
.ger-fn-posto [data-lucide]{width:12px;height:12px;color:var(--primary);flex:none}
.ger-val{background:transparent;border:1.5px solid transparent;border-radius:9px;padding:5px 9px;cursor:pointer;font:inherit;color:var(--text);transition:background .12s,border-color .12s}
.ger-val:hover{background:var(--halo);border-color:var(--primary)}
.ger-val .mono{font-weight:650;font-size:.85rem}
.ger-esc{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
/* ── ESCALA: a semana em círculos ──
   verde = trabalha · azul = folga · amarelo = feriado · cinza = não informado */
.esc{display:inline-flex;flex-direction:column;align-items:center;gap:4px;min-width:104px}
.esc-lb{font-size:.72rem;font-weight:800;letter-spacing:.01em;line-height:1;color:var(--text,#20304c)}
.esc-dd{display:inline-flex;gap:3px}
.esc-dd i{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;font-size:.52rem;font-weight:800;
          font-style:normal;line-height:1;background:#eef1f6;color:#a3adbd;border:1px solid transparent}
.esc-dd i.w{background:#12a06e;color:#fff;border-color:#0d8a5e}
.esc-dd i.f{background:#3b7bed;color:#fff;border-color:#2a66d4}
.esc-dd i.h{background:#eaa60c;color:#fff;border-color:#c98d05}
.esc-dd i.sep{background:transparent;border:0;width:5px}
.esc-hr{font-size:.63rem;color:var(--muted);letter-spacing:.01em;line-height:1}
.ger-esc-badge{display:inline-block;background:var(--halo);color:var(--primary);font-size:.72rem;font-weight:750;padding:2px 9px;border-radius:99px}

/* ── STATUS e CONTADORES (compartilhados por Clientes, Funcionários…) ── */
.c-st{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;padding:4px 11px 4px 9px;
      border-radius:99px;border:1px solid transparent;white-space:nowrap}
.c-st .dot{width:7px;height:7px;border-radius:99px;background:currentColor;flex:none}
.c-st.on {background:#e4f7ee;color:#0a6b46;border-color:#b3e0cb}
.c-st.off{background:#fdeaec;color:#a4141f;border-color:#f2c0c5}
.c-st.arq{background:#fdf3dd;color:#8a5a04;border-color:#f0d79a}
.c-cnt{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;padding:4px 11px;border-radius:10px;
       border:1px solid #dde3ec;background:#f6f8fb;color:#42506a;white-space:nowrap;min-width:54px;justify-content:center}
.c-cnt.has{background:#eaf2fe;border-color:#c6d9fb;color:#1f4fa8}
.c-cnt.zero{color:#98a2b3;background:transparent;border-style:dashed}
.ger-esc-h{font-size:.73rem;color:var(--muted);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.ger-esc-h [data-lucide]{width:12px;height:12px}

/* cards */
.ger-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.ger-card{padding:16px;cursor:pointer;transition:transform .14s,box-shadow .14s,border-color .14s}
.ger-card:hover{transform:translateY(-2px);border-color:rgba(46,166,189,.5);box-shadow:0 14px 30px -16px rgba(14,120,140,.4)}
.ger-card-h{display:flex;gap:12px;align-items:flex-start}
.ger-card-nome{font-size:.92rem;display:block;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ger-card-fn{font-size:.73rem;color:var(--muted);margin-top:3px;font-weight:600}
.ger-card-total{display:flex;justify-content:space-between;align-items:center;margin:14px 0 12px;padding:11px 13px;border-radius:12px;background:linear-gradient(120deg,var(--halo),transparent 80%),var(--seg)}
.ger-card-total span{font-size:.73rem;color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.04em}
.ger-card-total b{font-size:1.05rem}
.ger-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.ger-card-cell{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;background:var(--field);border:1.5px solid transparent;border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}
.ger-card-cell:hover{background:var(--halo);border-color:var(--primary)}
.ger-card-cell span{font-size:.66rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ger-card-cell b{font-size:.85rem}
.ger-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid var(--rowline)}

/* modal grande */
.fin-modal.ger-modal-wide{width:1000px;max-width:97vw;padding:0;overflow:hidden}
.ger-md{display:flex;width:100%;max-height:90vh;min-height:540px}
.ger-md-side{width:252px;flex:none;background:var(--seg);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;gap:6px}
.ger-md-prof{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:8px 6px 16px;border-bottom:1px solid var(--border);margin-bottom:10px}
.ger-md-prof b{font-size:.92rem;margin-top:6px;line-height:1.25}
.ger-md-prof span{font-size:.76rem;color:var(--muted);font-weight:600}
.ger-md-prof small{font-size:.72rem;color:var(--primary);font-weight:700;background:var(--halo);padding:2px 10px;border-radius:99px;margin-top:3px}
.ger-md-menu{display:flex;flex-direction:column;gap:4px;flex:1}
.ger-md-mi{display:flex;align-items:center;gap:10px;padding:11px 12px;border:none;background:transparent;border-radius:11px;font:inherit;font-size:.83rem;font-weight:600;color:var(--text);cursor:pointer;text-align:left;transition:background .12s,color .12s;width:100%}
.ger-md-mi [data-lucide]{width:17px;height:17px;color:var(--muted);flex:none}
.ger-md-mi span{flex:1;min-width:0}
.ger-md-mi:hover{background:var(--halo)}
.ger-md-mi.on{background:var(--grad);color:#fff;box-shadow:0 6px 16px -8px rgba(14,120,140,.6)}
.ger-md-mi.on [data-lucide]{color:#fff}
.ger-md-badge{background:rgba(255,255,255,.25);color:inherit;font-size:.68rem;font-weight:800;padding:1px 8px;border-radius:99px;min-width:20px;text-align:center}
.ger-md-mi:not(.on) .ger-md-badge{background:var(--primary);color:#fff}
.ger-md-close2{margin-top:4px;justify-content:center;display:flex;align-items:center;gap:7px;font-size:.8rem}
.ger-md-close2 [data-lucide]{width:15px;height:15px}
.ger-md-main{flex:1;display:flex;flex-direction:column;min-width:0}
.ger-md-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border)}
.ger-md-top h3{font-size:1.05rem;letter-spacing:-.015em;margin:0}
.ger-md-top .x{cursor:pointer;color:var(--muted);width:32px;height:32px;display:grid;place-items:center;border-radius:9px}
.ger-md-top .x:hover{background:var(--seg)}
.ger-md-body{flex:1;overflow-y:auto;padding:22px 24px}

/* info grid */
.ger-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.ger-info-item{background:var(--field);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}
.ger-info-item>span{font-size:.68rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ger-info-item>b{font-size:.9rem;font-weight:650;word-break:break-word}
.ger-sec{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin:22px 0 10px;display:flex;align-items:center;gap:8px}
.ger-sec small{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:500;font-size:.72rem}
.ger-remun{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
@media(max-width:640px){.ger-remun{grid-template-columns:repeat(2,1fr)}}
.ger-remun-cell{position:relative;background:var(--field);border-radius:12px;padding:12px 13px;display:flex;flex-direction:column;gap:3px}
.ger-remun-cell>span{font-size:.68rem;color:var(--muted);font-weight:700}
.ger-remun-cell>b{font-size:.95rem}
.ger-remun-cell.total{background:linear-gradient(135deg,var(--grad));color:#fff;grid-column:span 1}
.ger-remun-cell.total>span{color:rgba(255,255,255,.85)}
.ger-remun-edit{position:absolute;top:8px;right:8px;background:var(--card);border:1px solid var(--border);border-radius:7px;width:24px;height:24px;display:grid;place-items:center;cursor:pointer;color:var(--primary);opacity:.75;transition:opacity .12s,transform .12s}
.ger-remun-edit:hover{opacity:1;transform:scale(1.08)}
.ger-remun-edit [data-lucide]{width:13px;height:13px}

/* histórico */
.ger-hist{display:flex;flex-direction:column;gap:11px}
.ger-hist-item{display:flex;gap:12px;background:var(--field);border-radius:13px;padding:14px 15px}
.ger-hist-ic{width:36px;height:36px;border-radius:10px;background:var(--halo);color:var(--primary);display:grid;place-items:center;flex:none}
.ger-hist-ic [data-lucide]{width:17px;height:17px}
.ger-hist-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ger-hist-top b{font-size:.88rem}
.ger-hist-date{font-size:.73rem;color:var(--muted);font-weight:600}
.ger-hist-val{display:flex;align-items:center;gap:9px;margin:6px 0 5px}
.ger-hist-val [data-lucide]{width:14px;height:14px;color:var(--muted)}
.ger-hist-val .old{color:var(--muted);text-decoration:line-through;font-size:.82rem}
.ger-hist-val .new{color:var(--green);font-weight:750;font-size:.9rem}
.ger-hist-mot{font-size:.82rem;line-height:1.45}
.ger-hist-quem{font-size:.72rem;color:var(--muted);margin-top:5px;font-style:italic}

/* anotações */
.ger-noteadd{display:flex;flex-direction:column;gap:9px;margin-bottom:16px}
.ger-noteadd .btn-primary{align-self:flex-end;display:inline-flex;align-items:center;gap:7px}
.ger-noteadd .btn-primary [data-lucide]{width:15px;height:15px}
.ger-notes{display:flex;flex-direction:column;gap:10px}
.ger-note-item{background:var(--field);border-radius:12px;padding:12px 14px;border-left:3px solid var(--primary)}
.ger-note-top{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.ger-note-top b{font-size:.82rem}
.ger-note-top span{font-size:.72rem;color:var(--muted);flex:1}
.ger-note-del{background:transparent;border:none;cursor:pointer;color:var(--muted);padding:2px}
.ger-note-del [data-lucide]{width:13px;height:13px}
.ger-note-del:hover{color:var(--red)}
.ger-note-txt{font-size:.86rem;line-height:1.5}

/* edição de valor */
.ger-edit-who{display:flex;align-items:center;gap:12px;background:var(--field);border-radius:12px;padding:11px 13px;margin-bottom:14px}
.ger-edit-who b{font-size:.9rem}

/* vazio */
.ger-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:44px 20px;color:var(--muted)}
.ger-empty [data-lucide]{width:34px;height:34px;opacity:.5}
.ger-empty b{font-size:.95rem;color:var(--text)}
.ger-empty span{font-size:.82rem;max-width:340px}

@media(max-width:720px){
 .ger-md{flex-direction:column;max-height:92vh}
 .ger-md-side{width:100%;flex-direction:column;padding:14px}
 .ger-md-prof{flex-direction:row;text-align:left;border-bottom:1px solid var(--border);padding-bottom:12px}
 .ger-md-prof b{margin-top:0}
 .ger-md-menu{flex-direction:row;overflow-x:auto;gap:6px}
 .ger-md-mi{flex-direction:column;gap:4px;padding:9px 12px;white-space:nowrap;min-width:96px;text-align:center;font-size:.72rem}
 .ger-md-mi span{font-size:.68rem}
 .ger-md-close2{display:none}
 .ger-info-grid{grid-template-columns:1fr}
 .ger-remun{grid-template-columns:repeat(2,1fr)}
}

/* ═══════════ CONFIGURAÇÕES ═══════════ */
.cfg-wrap{display:flex;gap:14px;align-items:flex-start}
.cfg-nav{width:232px;flex:none;padding:10px;display:flex;flex-direction:column;gap:4px;position:sticky;top:74px}
.cfg-nav-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border:none;background:transparent;border-radius:11px;font:inherit;font-size:.83rem;font-weight:600;color:var(--text);cursor:pointer;text-align:left;width:100%;transition:background .12s}
.cfg-nav-item [data-lucide]{width:17px;height:17px;color:var(--muted);flex:none}
.cfg-nav-item:hover{background:var(--halo)}
.cfg-nav-item.on{background:var(--grad);color:#fff;box-shadow:0 6px 16px -8px rgba(14,120,140,.6)}
.cfg-nav-item.on [data-lucide]{color:#fff}
.cfg-main{flex:1;min-width:0;padding:20px 22px}
.cfg-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.cfg-head [data-lucide]{width:20px;height:20px;color:var(--primary)}
.cfg-head h3{margin:0;font-size:1.05rem;letter-spacing:-.015em}
.cfg-sub{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin:20px 0 11px}
.cfg-sub-flex{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cfg-save{display:flex;justify-content:flex-end;margin-top:15px}
.cfg-amb{display:flex;gap:13px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-radius:14px;padding:14px 16px;margin-bottom:16px;border:1.5px solid}
.cfg-amb.teste{background:rgba(46,166,189,.08);border-color:rgba(46,166,189,.35)}
.cfg-amb.prod{background:rgba(244,100,108,.08);border-color:rgba(244,100,108,.4)}
.cfg-amb-t{display:flex;gap:11px;align-items:center;flex:1;min-width:230px}
.cfg-amb-t [data-lucide]{width:22px;height:22px;flex:none}
.cfg-amb.teste [data-lucide]{color:var(--primary)}
.cfg-amb.prod [data-lucide]{color:var(--red)}
.cfg-amb-t b{font-size:.88rem;display:block}
.cfg-amb-t span{font-size:.76rem;color:var(--muted);display:block;margin-top:2px}
.cfg-amb-seg{flex:none}
.cfg-cert{margin-bottom:4px}
.cfg-drop{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;border:1.5px dashed var(--border);border-radius:14px;padding:26px 16px;cursor:pointer;transition:border-color .13s,background .13s}
.cfg-drop:hover{border-color:var(--primary);background:var(--halo)}
.cfg-drop [data-lucide]{width:26px;height:26px;color:var(--primary)}
.cfg-drop b{font-size:.88rem}
.cfg-drop span{font-size:.75rem;color:var(--muted)}
.cfg-cert-file{display:flex;align-items:center;gap:12px;background:var(--field);border-radius:13px;padding:13px 15px}
.cfg-cert-file [data-lucide]{width:22px;height:22px;color:var(--green)}
.cfg-cert-file b{font-size:.86rem;display:block}
.cfg-cert-file span{font-size:.74rem;color:var(--muted);display:block}
.cfg-meios{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:560px){.cfg-meios{grid-template-columns:1fr}}
.cfg-meio{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border:1.5px solid var(--border);border-radius:13px;background:var(--card);cursor:pointer;font:inherit;color:var(--text);transition:border-color .13s,transform .13s}
.cfg-meio:hover{transform:translateY(-1.5px)}
.cfg-meio [data-lucide]{width:22px;height:22px;color:var(--primary)}
.cfg-meio b{font-size:.85rem}
.cfg-meio.on{border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 10px 24px -14px rgba(14,120,140,.55)}
.cfg-meio-tag{position:absolute;top:-9px;right:10px;background:var(--grad);color:#fff;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 9px;border-radius:99px}
.cfg-feriados{display:flex;flex-direction:column;gap:6px;max-height:264px;overflow-y:auto;padding-right:4px}
.cfg-feriado{display:flex;align-items:center;gap:11px;background:var(--field);border-radius:10px;padding:8px 12px}
.cfg-feriado-d{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.78rem;font-weight:700;color:var(--primary);flex:none}
.cfg-feriado-n{flex:1;font-size:.83rem;font-weight:550;min-width:0}
.cfg-feriado button{background:transparent;border:none;cursor:pointer;color:var(--muted);padding:3px;border-radius:6px}
.cfg-feriado button:hover{color:var(--red);background:var(--seg)}
.cfg-feriado button [data-lucide]{width:14px;height:14px}
.cfg-feriado-add{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.cfg-feriado-add input{background:var(--field);border:1.5px solid transparent;border-radius:11px;padding:9px 12px;font:inherit;color:var(--text)}
.cfg-feriado-add input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3.5px var(--ring);background:var(--card)}
.cfg-feriado-add input[type=date]{flex:none}
.cfg-feriado-add input:not([type=date]){flex:1;min-width:160px}
.cfg-emails,.cfg-users{display:flex;flex-direction:column;gap:9px}
.cfg-email,.cfg-user{display:flex;align-items:center;gap:12px;background:var(--field);border-radius:13px;padding:12px 14px}
.cfg-email-ic{width:38px;height:38px;border-radius:11px;background:var(--halo);color:var(--primary);display:grid;place-items:center;flex:none}
.cfg-email-ic [data-lucide]{width:17px;height:17px}
.cfg-email b,.cfg-user b{font-size:.86rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfg-email-sub,.cfg-user-sub{font-size:.74rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfg-email .btn,.cfg-user .btn{padding:6px 9px;flex:none}
.cfg-email .btn [data-lucide],.cfg-user .btn [data-lucide]{width:14px;height:14px}
.cfg-nivel{font-size:.7rem;font-weight:750;padding:3px 10px;border-radius:99px;background:var(--halo);color:var(--primary);flex:none;white-space:nowrap}
.cfg-ust{font-size:.7rem;font-weight:750;padding:3px 10px;border-radius:99px;background:var(--seg);color:var(--muted);flex:none}
.cfg-ust.on{background:rgba(49,214,159,.14);color:var(--green)}
.cfg-niveis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:640px){.cfg-niveis{grid-template-columns:1fr}}
.cfg-nivel-card{background:var(--field);border-radius:12px;padding:13px 15px}
.cfg-nivel-card b{font-size:.84rem;display:block;margin-bottom:4px;color:var(--primary)}
.cfg-nivel-card span{font-size:.78rem;color:var(--muted);line-height:1.5}
.cfg-logo{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.cfg-logo-prev{width:150px;height:150px;flex:none;border-radius:18px;border:1.5px dashed var(--border);display:grid;place-items:center;background:var(--field)}
.cfg-logo-mark svg{width:74px;height:74px}
.cfg-logo-file{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:10px}
.cfg-logo-file [data-lucide]{width:26px;height:26px;color:var(--primary)}
.cfg-logo-file b{font-size:.78rem;word-break:break-all}
@media(max-width:760px){.cfg-wrap{flex-direction:column}.cfg-nav{width:100%;position:static;flex-direction:row;overflow-x:auto;padding:8px}.cfg-nav-item{white-space:nowrap;flex:none}}

/* ═══════════ FATURAMENTO ═══════════ */
.ft-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:12px;flex-wrap:wrap}
.ft-comp{display:flex;gap:10px}
.ft-comp .fin-f{margin:0}
.ft-comp select{min-width:132px}
.ft-row-on td{background:var(--halo)}
.ft-venc-sub{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--muted);margin-top:3px}
.ft-venc-sub [data-lucide]{width:12px;height:12px}
.ft-meio-sel{background:var(--field);border:1.5px solid transparent;border-radius:9px;padding:6px 9px;font:inherit;font-size:.78rem;color:var(--text);cursor:pointer}
.ft-meio-sel:focus{border-color:var(--primary);outline:none}
.ft-foot{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;gap:14px;padding:12px 16px;margin-top:12px;flex-wrap:wrap;box-shadow:var(--sh2)}
.ft-foot-ck{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:650;cursor:pointer}
.ft-foot-ck input{width:16px;height:16px;accent-color:var(--primary)}
.ft-foot-tot{flex:1;display:flex;align-items:baseline;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.ft-foot-tot span{font-size:.78rem;color:var(--muted)}
.ft-foot-tot b{font-size:1.02rem}
.ft-foot-go{padding:11px 18px}
.ft-foot-go:disabled{opacity:.45;cursor:not-allowed}
.ft-cards{display:flex;flex-direction:column;gap:13px}
.ft-card{padding:15px 16px;border:1.5px solid var(--border);transition:border-color .13s}
.ft-card.on{border-color:var(--primary);box-shadow:0 10px 26px -16px rgba(14,120,140,.55)}
.ft-card-h{display:flex;align-items:center;gap:11px;margin-bottom:12px;flex-wrap:wrap}
.ft-card-title{font-size:.88rem;letter-spacing:-.01em;flex:1;min-width:0}
.ft-card-title span{color:var(--muted);font-weight:600}
.ft-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:13px}
.ft-field{background:var(--field);border-radius:11px;padding:9px 12px;display:flex;flex-direction:column;gap:4px}
.ft-field>span{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ft-field>b{font-size:.84rem}
.ft-field input,.ft-field select{background:var(--card);border:1.5px solid transparent;border-radius:8px;padding:7px 9px;font:inherit;font-size:.82rem;color:var(--text);width:100%}
.ft-field input:focus,.ft-field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--ring)}
.ft-dettbl{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:13px}
.ft-dettbl-t{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);background:var(--field);padding:8px 12px;border-bottom:1px solid var(--border)}
.ft-dettbl table{width:100%;border-collapse:collapse;font-size:.8rem}
.ft-dettbl th{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:7px 12px;border-bottom:1px solid var(--border)}
.ft-dettbl td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.ft-dettbl tr:last-child td{border-bottom:none}
.ft-dettbl-tot td{background:var(--field)}
.ft-tot{display:flex;flex-direction:column;gap:5px;align-items:flex-end}
.ft-tot>div{display:flex;gap:14px;align-items:baseline;font-size:.84rem}
.ft-tot>div span{color:var(--muted);font-size:.8rem}
.ft-tot>div.blue b{color:var(--blue)}
.ft-tot>div.red b{color:var(--red)}
.ft-tot>div.final{margin-top:5px;padding-top:8px;border-top:1.5px solid var(--border)}
.ft-tot>div.final b{font-size:1.06rem}
.ft-tot>div.final span{font-weight:750;color:var(--text)}
/* wizard */
.fin-modal.ft-wiz-modal{width:min(760px,94vw)}
.ft-steps{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.ft-step{display:flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:var(--muted);background:var(--field);border-radius:99px;padding:7px 13px}
.ft-step [data-lucide]{width:14px;height:14px}
.ft-step-n{width:19px;height:19px;border-radius:50%;background:var(--seg);display:grid;place-items:center;font-size:.66rem;font-weight:800;flex:none}
.ft-step-n [data-lucide]{width:11px;height:11px}
.ft-step.on{background:var(--grad);color:#fff}
.ft-step.on .ft-step-n{background:rgba(255,255,255,.25);color:#fff}
.ft-step.on [data-lucide]{color:#fff}
.ft-step.done{background:rgba(49,214,159,.13);color:var(--green)}
.ft-step.done .ft-step-n{background:rgba(49,214,159,.2);color:var(--green)}
.ft-step.done [data-lucide]{color:var(--green)}
.ft-step-line{flex:1;min-width:12px;height:2px;background:var(--border);border-radius:2px}
.ft-wiz-t{font-size:.94rem;font-weight:750;margin-bottom:12px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ft-tag-teste{font-size:.62rem;font-weight:800;letter-spacing:.06em;background:rgba(46,166,189,.14);color:var(--primary);border-radius:99px;padding:3px 10px}
.ft-wiz-list{display:flex;flex-direction:column;gap:7px;max-height:300px;overflow-y:auto;padding-right:4px}
.ft-wiz-row{display:flex;align-items:center;gap:11px;background:var(--field);border-radius:11px;padding:10px 13px;font-size:.83rem}
.ft-wiz-row b{flex:none;max-width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-wiz-msg{flex:1;min-width:0;color:var(--muted);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-wiz-row.ok .ft-wiz-msg{color:var(--text)}
.ft-wiz-row.fail{background:rgba(244,100,108,.08)}
.ft-wiz-row.fail .ft-wiz-msg{color:var(--red)}
.ft-wiz-ic{width:18px;display:grid;place-items:center;flex:none}
.ft-wiz-ic [data-lucide]{width:16px;height:16px}
.ft-spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--primary);animation:ftspin .7s linear infinite;display:inline-block;flex:none}
@keyframes ftspin{to{transform:rotate(360deg)}}
.ft-wiz-wait{display:flex;align-items:center;gap:9px;font-size:.8rem;color:var(--muted)}
.ft-wiz-res{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}
.ft-res{display:flex;align-items:center;gap:11px;border-radius:13px;padding:13px 15px;background:var(--field)}
.ft-res [data-lucide]{width:21px;height:21px;color:var(--muted)}
.ft-res b{font-size:1.25rem}
.ft-res span{font-size:.74rem;color:var(--muted)}
.ft-res.ok [data-lucide]{color:var(--green)}
.ft-res.ok b{color:var(--green)}
.ft-res.bad{background:rgba(244,100,108,.08)}
.ft-res.bad [data-lucide]{color:var(--red)}
.ft-res.bad b{color:var(--red)}
@media(max-width:640px){.ft-fields{grid-template-columns:1fr}.ft-foot{position:static}.ft-tot{align-items:stretch}.ft-tot>div{justify-content:space-between}.ft-wiz-row b{max-width:34%}}

/* fallback: inputs/selects sem classe dentro do conteúdo (ex.: busca) herdam o visual base */
.main input:not([type=checkbox]):not([type=radio]):not([class]),
.main select:not([class]),
.fin-bar input:not([class]){
  width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:11px;
  font-family:inherit;font-size:.9rem;color:var(--text);background:var(--field);outline:none;transition:.15s;
}
.main input:not([class]):focus,.fin-bar input:not([class]):focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}

/* ── botões de ação em linha de tabela (padrão único: Vendas, Notas, Boletos, Faturamento) ── */
.row-act{display:flex;gap:5px;justify-content:flex-end;align-items:center}
.row-act .btn,.row-act a.btn,.row-act button.btn{width:31px;height:31px;padding:0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:var(--card);border:1px solid var(--border);box-shadow:none}
.row-act .btn i{width:15px;height:15px}
.row-act .btn:hover{border-color:#9fd8cb;color:#0e8ba2;transform:none}
.row-act .btn.rd:hover{color:#e5484d;border-color:#f0b4b6}
.row-act .btn.gd{color:#0f9d6e;border-color:#bfe3d9}
.row-act .btn.bk{color:#b8791f;border-color:#ecd9b0}
.row-act .btn.pri{width:auto;padding:0 12px;gap:6px;color:#fff;background:var(--primary,#0e8ba2);border-color:var(--primary,#0e8ba2);font-size:.76rem;font-weight:650}
.row-act .btn.pri:hover{color:#fff;filter:brightness(1.06)}
/* badge de contagem no menu lateral (pendências) — !important vence os estilos
   genéricos de span do nav, que esticavam o badge num blob vermelho gigante */
.nav-badge{display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:auto !important;min-width:18px !important;max-width:none !important;height:18px !important;
  padding:0 5px !important;margin:0 0 0 7px !important;border-radius:20px !important;
  background:#e5484d !important;color:#fff !important;font-size:.64rem !important;font-weight:800 !important;
  line-height:1 !important;letter-spacing:0 !important;text-transform:none !important;vertical-align:1px;
  white-space:nowrap !important;overflow:visible !important;flex:none !important}
.nav-subitem .nav-badge{margin-left:auto !important}
.nav-subitem{display:flex;align-items:center}

/* ── TOASTS (03/08/2026) — o core.js cria .toastc dentro de .fin-toast, mas o
   estilo nunca existiu: as mensagens caíam como texto cru no fim da página
   (visível na tela de Configurações quando o teste de SMTP falhava). ── */
.fin-toast{position:fixed;right:18px;bottom:18px;z-index:1200;display:flex;flex-direction:column;gap:9px;max-width:360px}
.fin-toast .toastc{display:flex;gap:11px;align-items:flex-start;background:var(--card);border:1px solid var(--border);
  border-left:3px solid var(--green,#0b8f63);border-radius:12px;padding:11px 14px;box-shadow:0 10px 28px rgba(10,20,40,.16);
  font-size:.82rem;opacity:1;transition:opacity .3s;animation:toastIn .22s ease}
.fin-toast .toastc.err{border-left-color:var(--red,#d64550)}
.fin-toast .toastc i{width:17px;height:17px;flex:none;margin-top:1px;color:var(--green,#0b8f63)}
.fin-toast .toastc.err i{color:var(--red,#d64550)}
.fin-toast .toastc b{display:block;font-size:.83rem}
.fin-toast .toastc span{display:block;color:var(--muted);font-size:.75rem;margin-top:2px;word-break:break-word}
@keyframes toastIn{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
/* modal do editor de e-mails (03/08/2026): duas colunas com preview */
.em-modal{max-width:1000px !important;width:96% !important}
@media (max-width:860px){.em-grid{grid-template-columns:1fr !important}}
