:root{--red: #9e1b32;--red-700: #84152a;--red-50: #fbeff1;--red-100: #f6d9de;--ink: #23272e;--ink-2: #545b66;--muted: #858c96;--line: #e7e8eb;--line-2: #f0f1f3;--bg: #f5f5f6;--surface: #ffffff;--surface-2: #fafafa;--good: #14753c;--good-bg: #e7f5ec;--warn: #8a4b00;--warn-bg: #fff3e0;--bad: #b42318;--bad-bg: #fdecea;--info: #1f5f99;--info-bg: #e9f1fa;--pix: #1f6fb2;--cash: #9e1b32;--r: 12px;--r-s: 8px;--shadow: 0 1px 2px rgba(16,24,40,.05), 0 1px 3px rgba(16,24,40,.06);--shadow-l: 0 12px 32px rgba(16,24,40,.16);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--red)}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}.num,.kpi-v,td.r,.money{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:650}.r{text-align:right}.row{display:flex;align-items:center}.gap-s{gap:8px}.gap{gap:12px}.gap-l{gap:20px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.between{justify-content:space-between}.col{display:flex;flex-direction:column}.stack>*+*{margin-top:12px}.stack-l>*+*{margin-top:20px}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:10px;border:1px solid transparent;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}a.btn{text-decoration:none}.btn svg{width:16px;height:16px;flex:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover:not(:disabled){background:var(--red-700)}.btn-secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-secondary:hover:not(:disabled){border-color:#cfd2d7;background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--line-2)}.btn-danger{background:var(--surface);border-color:#f1c5c0;color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-bg)}.btn-good{background:var(--good);color:#fff}.btn-sm{height:30px;padding:0 10px;font-size:13px;border-radius:8px}.btn-lg{height:52px;padding:0 22px;font-size:16px;border-radius:14px}.btn:focus-visible,.icon-btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(158,27,50,.25);outline-offset:1px}.icon-btn{border:0;background:transparent;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}.icon-btn:hover{background:var(--line-2)}.spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:sp .7s linear infinite;display:inline-block}.spin.dark{border-color:var(--line);border-top-color:var(--red)}@keyframes sp{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap}.badge svg{width:12px;height:12px}.tone-neutral{background:var(--line-2);color:var(--ink-2)}.tone-good{background:var(--good-bg);color:var(--good)}.tone-warn{background:var(--warn-bg);color:var(--warn)}.tone-bad{background:var(--bad-bg);color:var(--bad)}.tone-info{background:var(--info-bg);color:var(--info)}.tone-red{background:var(--red-50);color:var(--red)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-2)}.card-h h3{font-size:14px}.card-b{padding:16px 18px}.kpi{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}.kpi.clickable{cursor:pointer}.kpi.clickable:hover{border-color:#d3d5da}.kpi-l{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);font-weight:550}.kpi-l svg{width:14px;height:14px;color:var(--muted)}.kpi-v{font-size:clamp(17px,1.45vw,22px);font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-s{font-size:12px;color:var(--muted)}.kpi-bad .kpi-v{color:var(--bad)}.kpi-good .kpi-v{color:var(--good)}.kpi-red{background:var(--red);border-color:var(--red)}.kpi-red .kpi-l,.kpi-red .kpi-s{color:#fffc}.kpi-red .kpi-v{color:#fff}.kpi-red .kpi-l svg{color:#fff}.table-wrap{overflow:auto}table.t{width:100%;border-collapse:collapse;font-size:13px}.t th{text-align:left;font-weight:600;color:var(--ink-2);font-size:12px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);position:sticky;top:0;z-index:1;white-space:nowrap}.t td{padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}.t tr.click{cursor:pointer}.t tr.click:hover td{background:#fbfbfc}.t tr.sel td{background:var(--red-50)}.t th.r,.t td.r{text-align:right}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-l{font-size:12px;font-weight:600;color:var(--ink-2)}.field-h{font-size:12px;color:var(--muted)}.field-e{font-size:12px;color:var(--bad)}.input,select.input,textarea.input{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surface);width:100%;min-width:0}textarea.input{height:auto;padding:10px 12px;resize:vertical}.input:focus{border-color:#c9ccd2;outline:none;box-shadow:0 0 0 3px #9e1b321f}.money-in{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0 12px;height:38px}.money-in span{color:var(--muted);font-weight:600;margin-right:6px}.money-in input{border:0;outline:0;flex:1;min-width:0;background:transparent;font-variant-numeric:tabular-nums}.money-in.big{height:64px;border-radius:14px;border-width:2px}.money-in.big span{font-size:20px}.money-in.big input{font-size:30px;font-weight:700}.money-in:focus-within{border-color:var(--red)}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check input{margin-top:3px;accent-color:var(--red);width:16px;height:16px}.seg{display:inline-flex;background:var(--line-2);padding:3px;border-radius:10px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:transparent;padding:6px 12px;border-radius:8px;font-weight:600;font-size:13px;color:var(--ink-2);cursor:pointer;display:inline-flex;gap:6px;align-items:center}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.seg em{font-style:normal;font-size:11px;background:#0000000f;padding:0 6px;border-radius:99px}.overlay{position:fixed;inset:0;background:#14161a73;display:grid;place-items:center;z-index:2000;padding:16px;animation:fade .15s}.overlay-right{place-items:stretch end;padding:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border-radius:16px;width:min(520px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:var(--shadow-l)}.modal-wide{width:min(860px,100%)}.modal header,.drawer header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line-2)}.modal header h3,.drawer header h3{font-size:16px}.modal-b{padding:18px 20px;overflow:auto}.modal footer{padding:14px 20px;border-top:1px solid var(--line-2);display:flex;justify-content:flex-end;gap:8px}.drawer{background:var(--surface);width:min(760px,100vw);height:100vh;display:flex;flex-direction:column;box-shadow:var(--shadow-l);animation:slide .2s ease-out}@keyframes slide{0%{transform:translate(30px);opacity:.5}}.drawer-b{padding:18px 20px;overflow:auto;flex:1}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 16px;color:var(--ink-2)}.empty svg{width:28px;height:28px;color:var(--muted)}.empty p{margin:0;max-width:420px;color:var(--muted)}.loading{display:flex;gap:10px;align-items:center;justify-content:center;padding:40px;color:var(--muted)}.errbox{display:flex;gap:10px;align-items:center;background:var(--bad-bg);color:var(--bad);padding:12px 14px;border-radius:10px;font-weight:550}.notice{display:flex;gap:10px;align-items:flex-start;background:var(--info-bg);color:var(--info);padding:12px 14px;border-radius:10px;font-size:13px}.notice svg{flex:none;margin-top:2px}.notice.warn{background:var(--warn-bg);color:var(--warn)}.test-banner{background:#2b2f36;color:#fff;text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;padding:6px 12px}.test-banner.compact{font-size:10px;padding:4px 8px}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:3000;width:min(440px,calc(100vw - 32px))}.toast{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;box-shadow:var(--shadow-l);font-weight:600;animation:fade .2s}.toast svg{flex:none}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.pill-list{display:flex;flex-wrap:wrap;gap:6px}.divider{height:1px;background:var(--line-2);margin:12px 0}dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0}dl.kv dt{color:var(--muted);font-size:13px}dl.kv dd{margin:0;font-weight:550;min-width:0}.progress{height:8px;background:var(--line-2);border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--red);border-radius:99px;transition:width .4s}.admin{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.side{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side .brand{padding:20px 18px 14px}.side .brand img{height:30px;display:block}.side .brand small{display:block;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.08em;margin-top:6px}.nav{padding:6px 10px;overflow:auto;flex:1}.nav .grp{font-size:11px;color:var(--muted);font-weight:650;letter-spacing:.06em;text-transform:uppercase;padding:14px 10px 6px}.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--ink-2);text-decoration:none;font-weight:550}.nav a svg{width:17px;height:17px}.nav a:hover{background:var(--line-2);color:var(--ink)}.nav a.on{background:var(--red-50);color:var(--red)}.nav a .cnt{margin-left:auto;font-size:11px;background:var(--red);color:#fff;border-radius:99px;padding:0 7px;line-height:18px}.side .me{border-top:1px solid var(--line-2);padding:12px 14px;display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--red-50);color:var(--red);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:16px 28px;background:var(--bg);position:sticky;top:0;z-index:10;border-bottom:1px solid transparent}.topbar h1{font-size:20px}.topbar .sub{color:var(--muted);font-size:13px}.page{padding:4px 28px 40px}.filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.filters .field{min-width:150px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px}.section-t{font-size:13px;font-weight:650;color:var(--ink-2);margin:22px 0 10px;display:flex;align-items:center;gap:8px}.legend{display:flex;gap:14px;font-size:12px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.chart-tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:12px;padding:8px 10px;border-radius:8px;white-space:nowrap;transform:translate(-50%,-110%);z-index:5}.hbar{display:grid;grid-template-columns:minmax(64px,110px) minmax(40px,1fr) auto;gap:10px;align-items:center;font-size:13px;padding:5px 0}.hbar .track{height:10px;background:var(--line-2);border-radius:99px;overflow:hidden}.hbar .fill{height:100%;background:var(--red);border-radius:99px}.planner{display:grid;grid-template-columns:minmax(420px,1.5fr) minmax(320px,1fr);gap:16px;align-items:start}.route-card{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.route-card+.route-card{margin-top:10px}.route-card>header{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}.route-card .stops{border-top:1px solid var(--line-2);max-height:420px;overflow:auto}.stop{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line-2);font-size:13px}.stop:last-child{border-bottom:0}.stop .seqn{width:22px;height:22px;border-radius:50%;background:var(--line-2);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--ink-2);flex:none}.stop.done .seqn{background:var(--good-bg);color:var(--good)}.group-h{background:var(--surface-2);padding:6px 14px;font-size:12px;font-weight:650;color:var(--ink-2);display:flex;justify-content:space-between;border-bottom:1px solid var(--line-2);position:sticky;top:0}.map{height:520px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#eef0f2;position:relative}.map-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;color:var(--ink-2)}.marker-n{background:var(--red);color:#fff;border:2px solid #fff;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:11px;font-weight:700;box-shadow:0 1px 4px #00000059}.marker-n.done{background:var(--good)}.marker-n.una{background:#6b7280}.tl{list-style:none;margin:0;padding:0}.tl li{display:grid;grid-template-columns:92px 14px 1fr;gap:10px;padding:6px 0;font-size:13px}.tl .when{color:var(--muted);font-size:12px;text-align:right}.tl .bullet{width:10px;height:10px;border-radius:50%;margin-top:4px;background:var(--line);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.tl .bullet.pagamento{background:var(--good)}.tl .bullet.visita{background:var(--warn)}.tl .bullet.inadimplencia{background:var(--bad)}.tl .bullet.contrato{background:var(--red)}.tl .bullet.estorno{background:var(--ink)}.inst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.inst{border:1px solid var(--line);border-radius:8px;padding:6px;font-size:11px;text-align:center}.inst b{display:block;font-size:12px}.inst.paid{background:var(--good-bg);border-color:transparent;color:var(--good)}.inst.part{background:var(--warn-bg);border-color:transparent;color:var(--warn)}.inst.late{background:var(--bad-bg);border-color:transparent;color:var(--bad)}.inst.adv{background:var(--info-bg);border-color:transparent;color:var(--info)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(180deg,#fff 0%,var(--bg) 100%)}.login{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-l);padding:32px 28px}.login img{height:44px;display:block;margin:0 auto 6px}.login .tag{text-align:center;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.1em;margin-bottom:24px}.demo-accounts{margin-top:18px;font-size:12px;color:var(--muted);border-top:1px solid var(--line-2);padding-top:14px}.demo-accounts button{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:4px 8px;margin:3px;cursor:pointer;font-size:12px}.pres-on{background:var(--warn-bg);color:var(--warn);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:650}@media(max-width:1100px){.planner{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.admin{grid-template-columns:1fr}.side{position:static;height:auto}.nav{display:flex;flex-wrap:wrap}.nav .grp,.side .me{display:none}.topbar,.page{padding-left:16px;padding-right:16px}.g2,.g3{grid-template-columns:1fr}}.app{max-width:560px;margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:84px}.app-top{background:var(--surface);padding:14px 16px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.app-top img{height:22px}.hello{font-size:22px;font-weight:750;letter-spacing:-.02em;margin-top:10px}.app-body{padding:14px 16px}.tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:center;z-index:20;padding-bottom:env(safe-area-inset-bottom)}.tabbar>div{display:grid;grid-template-columns:repeat(5,1fr);width:100%;max-width:560px}.tabbar button{border:0;background:transparent;padding:9px 2px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer}.tabbar button svg{width:22px;height:22px}.tabbar button.on{color:var(--red)}.sum-card{background:var(--red);color:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 24px #9e1b3240}.sum-card .lbl{font-size:12px;opacity:.85;font-weight:600}.sum-card .big{font-size:30px;font-weight:800;letter-spacing:-.02em}.sum-card .progress{background:#ffffff40;margin-top:12px}.sum-card .progress>span{background:#fff}.sum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.sum-grid div{background:#ffffff1f;border-radius:12px;padding:8px 10px}.sum-grid b{display:block;font-size:15px}.client-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.client-card+.client-card{margin-top:10px}.client-card.done{opacity:.72}.client-card .nm{font-size:16px;font-weight:700}.client-card .addr{color:var(--ink-2);font-size:13px;margin-top:2px}.client-card .val{font-size:20px;font-weight:800}.client-card .acts{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;margin-top:12px}.client-card .acts .btn{height:46px;border-radius:12px}.adv-flag{display:flex;gap:8px;align-items:center;background:var(--info-bg);color:var(--info);font-weight:800;font-size:13px;letter-spacing:.03em;padding:8px 10px;border-radius:10px;margin-top:10px}.seq-badge{width:26px;height:26px;border-radius:50%;background:var(--red-50);color:var(--red);font-weight:800;font-size:12px;display:grid;place-items:center;flex:none}.big-actions{display:grid;gap:10px}.big-actions .btn{height:58px;font-size:16px;border-radius:14px;justify-content:flex-start;padding:0 18px}.big-actions .btn svg{width:22px;height:22px}.sheet-h{display:flex;align-items:center;gap:8px;margin-bottom:14px}.sheet-h h2{font-size:18px}.pix-box{background:var(--surface);border:2px dashed #c7d6e6;border-radius:18px;padding:20px;text-align:center}.pix-sim{width:180px;height:180px;margin:12px auto;display:grid;grid-template-columns:repeat(12,1fr);gap:2px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;position:relative}.pix-sim i{background:#c7d0db;border-radius:2px}.pix-sim i.on{background:#5b6b7d}.pix-sim .stamp{position:absolute;inset:auto 8px 50%;transform:translateY(50%) rotate(-12deg);background:var(--warn-bg);color:var(--warn);font-weight:800;font-size:11px;padding:6px;border-radius:6px;border:1px solid #f0c98f}.app-search{position:relative}.app-search input{padding-left:38px;height:44px;border-radius:12px}.app-search svg{position:absolute;left:12px;top:14px;color:var(--muted)}.app .map{height:calc(100vh - 230px);min-height:320px}.offline{background:var(--warn-bg);color:var(--warn);font-size:12px;font-weight:650;padding:6px 16px;text-align:center}@media(max-width:640px){.toasts{bottom:auto;top:64px}.toast{font-size:14px}}.ficha-wrap{display:flex;flex-direction:column;gap:10px}.ficha-stage{perspective:1600px;padding:8px 4px 18px}.ficha-paper{position:relative;background:#fff;color:#1d2026;border-radius:3px;padding:22px 22px 22px 46px;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.3;box-shadow:0 1px #e9e9ec,0 2px #f3f3f5,0 3px #e4e4e8,0 18px 40px #14182838,0 4px 10px #1418281f;transform:rotateX(7deg) rotate(-.6deg);transform-origin:50% 0;transition:transform .35s ease;background-image:linear-gradient(180deg,#fff0 0,#faf8f299)}.ficha-stage:hover .ficha-paper,.ficha-stage.flat .ficha-paper{transform:none}.ficha-holes{position:absolute;left:12px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-around}.ficha-holes i{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#cfd2d8,#8f949c);box-shadow:inset 0 1px 2px #00000059;display:block}.ficha-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ficha-head img{height:34px}.ficha-co{text-align:right;font-size:9px;color:#444}.ficha-title{text-align:center;font-weight:700;font-size:14px;margin:8px 0 4px}.ficha-barcode{display:block;width:180px;height:34px;margin:0 auto 8px;fill:#000}.ficha-day{position:absolute;right:34px;top:108px;font-size:20px;transform:rotate(-6deg)}.ficha-lbl{font-weight:700;font-size:9.5px;margin:10px 0 3px}.ficha-client{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.ficha-client .box{border:1px solid #333;padding:6px 8px;font-size:10px}.ficha-client .box b{text-transform:uppercase}.ficha-paper table{border-collapse:collapse;width:100%}.ficha-paper .kv{width:auto;font-size:10px}.ficha-paper .kv th,.ficha-paper .kv td{border:1px solid #333;padding:3px 8px;text-align:left}.ficha-paper .kv th{font-weight:700}.ficha-t th,.ficha-t td{border:1px solid #333;padding:3px 6px;text-align:left;font-size:10px}.ficha-t th{font-weight:700;background:#fafafa}.ficha-t .r{text-align:right}.ficha-t.parcelas td{height:19px}.ficha-t.parcelas tr.late td:nth-child(2){color:var(--bad)}.ficha-sum{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:10.5px}.ficha-sum .st-quitado{color:var(--good);font-weight:700}.ficha-sum .st-atrasado{color:var(--bad);font-weight:700}.ficha-sum .st-adiantado{color:var(--info);font-weight:700}.ficha-sum .st-em_dia{color:var(--good);font-weight:700}.pen{font-family:Segoe Print,Bradley Hand,Comic Sans MS,Chalkboard SE,cursive;color:#1f3ea8;font-size:12.5px;letter-spacing:.3px}.late-tag{color:var(--bad);font-size:9px;font-weight:700;text-transform:uppercase}.ficha-obs{border:1px solid #333;min-height:22px;padding:4px 6px;font-size:10px}.postits{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.postit{width:170px;min-height:90px;background:#fff59a;padding:10px;box-shadow:0 6px 12px #00000026;font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:12px;color:#2d2a14;display:flex;flex-direction:column;justify-content:space-between;text-transform:uppercase}.postit small{font-family:var(--font);font-size:9px;color:#6b6430;text-transform:none}.ficha-wrap.compact .ficha-paper{padding:14px 12px 14px 32px;font-size:10px}.ficha-wrap.compact .ficha-holes{left:8px}.ficha-wrap.compact .ficha-holes i{width:11px;height:11px}.ficha-wrap.compact .ficha-client{grid-template-columns:1fr}.ficha-wrap.compact .ficha-co,.ficha-wrap.compact .ficha-t th:first-child,.ficha-wrap.compact .ficha-t.parcelas td:first-child{display:none}.ficha-wrap.compact .ficha-day{top:70px;right:16px}@media(prefers-reduced-motion:reduce){.ficha-paper{transition:none}}.closing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px}@media(max-width:560px){.closing-grid{grid-template-columns:1fr}}.closing-card.is-closed{opacity:.85;border-color:var(--good)}.closing-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.closing-nums>div{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-s);padding:8px 10px;display:flex;flex-direction:column}.closing-nums span{font-size:11px;color:var(--muted)}.closing-nums b{font-size:15px}.closing-nums small{font-size:10.5px;color:var(--muted)}.closing-block{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}.closing-block b svg{vertical-align:-2px}button.link{background:none;border:0;padding:0;color:var(--info);cursor:pointer;text-decoration:underline;font-size:inherit}tr.row-good td{background:var(--good-bg)}tr.row-bad td{background:var(--bad-bg)}.ficha-group{margin-bottom:14px}.kvlist{display:grid;grid-template-columns:150px 1fr;gap:4px 12px;margin:0;font-size:13px}.kvlist dt{color:var(--muted)}.kvlist dd{margin:0;word-break:break-word}.esp{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.esp+.esp{margin-top:12px}.esp-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px 7px;border-bottom:1px solid var(--line-2)}.esp-h .b{color:var(--red);font-weight:800;letter-spacing:.3px;text-transform:uppercase;font-size:14px}.esp-h .m{color:var(--muted);font-size:11.5px;font-weight:500;text-transform:none;letter-spacing:0}.esp-h .t{font-size:12px;color:var(--ink-2);white-space:nowrap}.esp-row{display:grid;grid-template-columns:26px 1fr auto;gap:4px 10px;align-items:center;padding:9px 12px;border-top:1px solid var(--line-2);cursor:pointer;background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;font:inherit;color:inherit}.esp-row:first-of-type{border-top:0}.esp-row:hover{background:var(--surface-2)}.esp-row .n{font-size:11px;color:var(--muted);font-weight:700;text-align:center}.esp-row .c{font-weight:650;text-transform:uppercase;font-size:13px;line-height:1.25}.esp-row .p{color:var(--muted);font-size:11.5px;font-weight:500;text-transform:none}.esp-row .v{font-weight:800;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.esp-row .tags{grid-column:2 / 4;display:flex;flex-wrap:wrap;gap:4px}.esp-row.done{opacity:.55}.esp-row.done .c{text-decoration:line-through;text-decoration-color:#00000040}.tag{display:inline-block;font-size:10.5px;font-weight:750;padding:2px 7px;border-radius:5px;text-transform:uppercase;letter-spacing:.2px}.tag-sign{background:#c9dcf7;color:#12386d}.tag-time{background:#fff16a;color:#4a4100}.tag-risk{background:var(--bad-bg);color:var(--bad)}.tag-note{background:#eef0f3;color:var(--ink-2)}.tag-adv{background:var(--info-bg);color:var(--info)}.tag-late{background:var(--bad-bg);color:var(--bad)}.tag-ok{background:var(--good-bg);color:var(--good)}.esp-row .act{display:flex;gap:4px;align-items:center}.search-big{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:6px 14px;margin-bottom:14px;box-shadow:var(--shadow)}.search-big svg{color:var(--muted);flex:none}.search-big .input{border:0;box-shadow:none;height:46px;font-size:16px;padding:0;background:transparent}.cons-list{display:grid;gap:8px}.cons-item{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;cursor:pointer;font:inherit;color:inherit}.cons-item:hover{border-color:var(--red)}.cons-item .r{text-align:right;flex:none}.role-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.role-legend div{display:flex;flex-direction:column;font-size:12px}.role-legend b{font-size:13px}.role-legend span{color:var(--muted)}.nav a.app-link{margin-top:8px;border:1px dashed var(--line-2)}.bar-row{display:flex;align-items:center;gap:8px}.bar-row .bar{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--red),var(--red-700))}.bar-row b{white-space:nowrap}.day-bars{display:flex;align-items:flex-end;gap:3px;height:180px}.day-bars .db{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.day-bars .db-stack{width:100%;max-width:34px;display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden;background:var(--line);min-height:1px}.day-bars .db-stack span{display:block;min-height:1px}.day-bars small{font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:3px;vertical-align:0}tr.sub td{background:var(--surface-2);font-size:13px}@media(max-width:720px){.cons-item{flex-wrap:wrap}.cons-item .r{text-align:left}}.org-bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin-bottom:14px;box-shadow:var(--shadow)}.org-day{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.org-day>svg{color:var(--red)}.org-day .input{width:160px;height:36px;font-size:15px;font-weight:600}.org-day strong{font-size:16px;margin:0 4px}.org-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.org-more{display:flex;gap:8px;flex-wrap:wrap;width:100%;padding-top:8px;border-top:1px dashed var(--line)}.link-v{background:none;border:0;padding:2px 4px;border-radius:6px;font:inherit;font-weight:700;color:inherit;cursor:pointer;white-space:nowrap}.link-v:hover{background:var(--surface-2)}.link-v small{color:var(--warn);font-weight:600}.link-v svg{color:var(--muted)}.tag-pick{display:flex;flex-wrap:wrap;gap:6px}.tag-opt{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.tag-opt.on{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.tag-pix{background:#d9f2ef;color:#0b5d55}tr.row-partial td,.esp-row.row-partial{background:#fde2e2!important}tr.row-partial td:first-child{box-shadow:inset 4px 0 0 var(--bad)}tr.row-over td{background:#dfeafe!important}tr.row-over td:first-child{box-shadow:inset 4px 0 0 var(--info)}.hl-bad{background:var(--bad);color:#fff;border-radius:999px;padding:2px 8px;font-weight:600}.hl-over{background:var(--info);color:#fff;border-radius:999px;padding:2px 8px;font-weight:600}.card.mt{margin-top:16px}@media(max-width:720px){.org-actions{margin-left:0}}.closing-grid .closing-card.wide{grid-column:1 / -1}.map{position:relative;z-index:0;isolation:isolate}.postit{position:relative}.postit-act{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:.55}.postit:hover .postit-act,.postit-act:focus-within{opacity:1}.postit-act button{border:0;background:#ffffffb3;border-radius:6px;width:26px;height:26px;display:grid;place-items:center;cursor:pointer;color:#5b4a00}.ficha-pays{margin-top:14px;padding-top:10px;border-top:2px dashed #d7cfb8}@media(hover:none){.postit-act{opacity:1}}.app-logout{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.multi-ficha{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:6px}.stepper{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;flex:none}.stepper button{width:46px;height:46px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--red)}.stepper button svg{width:20px;height:20px}.stepper button:disabled{color:#c9ccd2;cursor:default}.stepper button:active:not(:disabled){background:var(--red-50)}.stepper b{min-width:42px;text-align:center;font-size:18px;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);line-height:46px}.parc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 10px 10px 14px}.multi-ficha{border:1px solid var(--line);border-radius:14px;padding:0;display:grid;gap:0;background:var(--surface);overflow:hidden}.multi-ficha.on{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.multi-ficha .parc-row{border:0;border-top:1px solid var(--line-2);border-radius:0}.multi-ficha>.choice{border:0;border-top:1px solid var(--line-2);border-radius:0}.mf-head{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;padding:12px 14px;cursor:pointer;text-align:left}.dot{width:22px;height:22px;border-radius:50%;border:2px solid #c5c9d0;background:#fff;flex:none;transition:all .12s}.on>.dot,.multi-ficha.on .mf-head .dot,.choice.on .dot{border-color:var(--red);background:radial-gradient(circle,var(--red) 0 45%,#fff 50%)}.choice{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-weight:600;cursor:pointer;text-align:left}.choice.small-choice{padding:10px 14px;font-size:13px;color:var(--ink-2)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-weight:600;font-size:13px;cursor:pointer}.chip.on{border-color:var(--red);color:var(--red);background:var(--red-50)}.assist-flag{display:flex;gap:10px;align-items:flex-start;background:#fff4d6;color:#6b4500;border:1px solid #f3d27a;border-radius:14px;padding:12px 14px}.assist-flag svg{width:20px;height:20px;flex:none;margin-top:1px}.assist-badge{display:inline-flex;align-items:center;gap:4px;background:#fff4d6;color:#6b4500;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.postit.assist{background:#fff4d6;border-color:#f3d27a}.tag-opt{display:inline-flex;align-items:center;gap:5px}.tag-opt svg{width:13px;height:13px}.tag-opt.tone-risk{border-color:#f3c0bb}.tag-opt.tone-time{border-color:#ece07a}.tag-opt.tone-sign{border-color:#b8cff2}.tag-opt.tone-pix{border-color:#a8e0d9}.tag-opt.tone-adv{border-color:#cdbff0}.tag-opt.tone-ok{border-color:#b5e2c5}.tag-adv{background:#ece6fb;color:#4b2c91}.np-list{display:grid;gap:10px}.np-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}.np-item.has-assist{border-color:#f3d27a}.np-motivo{margin-top:6px;font-size:13.5px;background:var(--surface-2);border-left:3px solid var(--red);padding:6px 10px;border-radius:6px}.encaixe{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pay-methods .choice{justify-content:flex-start;font-size:16px;padding:14px}.rec-codes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.rec-codes code{background:var(--bg, #f4f5f7);border:1px solid var(--line);border-radius:8px;padding:8px;text-align:center;font-size:15px;letter-spacing:1px}img,svg,video,canvas{max-width:100%}.grid>*,.card,.stack>*,.row>.grow{min-width:0}.kpis{grid-template-columns:repeat(auto-fill,minmax(min(176px,100%),1fr))}.closing-grid{grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr))}.hbar{grid-template-columns:minmax(56px,110px) minmax(30px,1fr) auto}.hbar .num{white-space:nowrap}:focus-visible{outline:3px solid #9e1b32;outline-offset:2px}.btn:focus-visible,.icon-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9e1b32;outline-offset:1px}@media(pointer:coarse){.btn-sm,.icon-btn,.seg button,.chip{min-height:40px}.icon-btn{min-width:40px}.esp-row{min-height:48px}}@media(max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.g4,.g3,.g2{grid-template-columns:1fr}.page .row:not(.nowrap),.closing-card .row,.card-h{flex-wrap:wrap}.filters{flex-wrap:wrap}.filters>*,.filters .field{min-width:0;flex:1 1 140px}.card-h .actions,.card-h>.row{width:100%}.modal{width:calc(100vw - 16px)!important;max-width:none!important;margin:8px;max-height:calc(100vh - 16px)}.drawer{width:100vw!important;max-width:100vw!important}.t th,.t td{padding:8px 10px}.topbar h1{font-size:18px}}.menu-btn,.side-close,.side-shade{display:none}@media(max-width:900px){.admin{grid-template-columns:1fr}.side{position:fixed;z-index:1500;left:0;top:0;bottom:0;width:min(300px,86vw);height:100vh;transform:translate(-102%);transition:transform .2s ease;box-shadow:0 0 40px #00000040}.side.open{transform:none}.side .nav,.side .nav .grp{display:block}.side .me{display:flex}.side-shade{display:block;position:fixed;inset:0;background:#0f121873;z-index:1400}.side-close{display:grid;position:absolute;top:14px;right:10px}.menu-btn{display:grid}.topbar{padding:10px 16px;gap:10px}.page{padding-left:16px;padding-right:16px}}@media(prefers-reduced-motion:reduce){.side{transition:none}}.backup-hero{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.backup-alert{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;background:var(--warn-bg);color:var(--warn);border:1px solid #f0c98f;border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:14px}.backup-alert .grow{min-width:200px}details.adv-card>summary{cursor:pointer;padding:10px 2px}.tabbar button{min-width:0}@media(max-width:360px){.tabbar button{font-size:10px}.big-actions .btn{font-size:15px}}.big-actions .btn{white-space:normal;text-align:left;height:auto;min-height:58px;padding-top:10px;padding-bottom:10px}.esp-row.sel{background:var(--red-50);box-shadow:inset 3px 0 0 var(--red)}.app.app-wide{max-width:none;padding-bottom:0}.aw-grid{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 28px)}.aw-side{background:var(--surface);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh}.aw-logo{height:26px;align-self:flex-start;margin-left:6px}.aw-hello{display:grid;gap:2px;padding:0 6px}.aw-hello b{font-size:16px}.aw-nav{display:grid;gap:4px}.aw-nav button{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:11px 10px;border-radius:10px;font:inherit;font-weight:600;color:var(--ink-2);cursor:pointer;text-align:left;min-height:44px}.aw-nav button svg{width:19px;height:19px}.aw-nav button:hover{background:var(--line-2)}.aw-nav button.on{background:var(--red-50);color:var(--red)}.aw-me{margin-top:auto;display:grid;gap:8px}.aw-link{display:flex;gap:8px;align-items:center;border:0;background:transparent;font:inherit;color:var(--ink-2);cursor:pointer;padding:8px 6px;text-align:left}.aw-split{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:0}.aw-list{padding:16px;border-right:1px solid var(--line);height:calc(100vh - 28px);overflow:auto}.aw-detail{height:calc(100vh - 28px);overflow:auto;background:var(--bg)}.aw-detail .app-top{position:sticky;top:0}.aw-single{padding:16px 24px;max-width:980px;width:100%}.aw-h{font-size:20px;font-weight:750;margin:2px 2px 12px}.aw-empty{display:grid;place-items:center;align-content:center;gap:8px;text-align:center;height:100%;min-height:320px;padding:24px;color:var(--ink-2)}.aw-empty svg{width:32px;height:32px;color:var(--muted)}.app-wide .map{height:calc(100vh - 140px)}@media(min-width:760px)and (max-width:1000px){.aw-grid{grid-template-columns:88px minmax(0,1fr)}.aw-side{padding:12px 8px;align-items:center}.aw-hello,.aw-me .aw-link span,.aw-logo{display:none}.aw-nav button{flex-direction:column;gap:2px;font-size:10.5px;padding:8px 4px;text-align:center;justify-content:center;width:76px}.aw-me .app-logout{font-size:0;padding:8px}.aw-me .app-logout svg{font-size:16px}.aw-link{font-size:0;justify-content:center}.aw-link svg{font-size:18px}}@media(min-width:1400px){.aw-split{grid-template-columns:minmax(380px,.8fr) minmax(0,1.2fr)}}.closing-nums{grid-template-columns:repeat(auto-fit,minmax(min(118px,100%),1fr))}.closing-nums>div{min-width:0}.closing-nums b,.card,.empty,.card-h h3{overflow-wrap:anywhere}.route-card>header{flex-wrap:wrap;min-width:0}.route-card>header>*{min-width:0}.sum-grid>div{min-width:0}.sum-grid b{overflow-wrap:anywhere}.tabbar button{white-space:normal;line-height:1.15;text-align:center;overflow-wrap:anywhere;padding-left:1px;padding-right:1px}@media(max-width:360px){.sum-grid{gap:6px}.sum-grid div{padding:7px}.sum-card .big{font-size:26px}}.row.nowrap .input[type=date]{min-width:0;flex:1 1 130px}.filters{flex-wrap:wrap}.filters>.btn{max-width:100%;white-space:normal}@media(max-width:700px){.page .grid.g2,.page .grid.g3,.page .grid.g4{grid-template-columns:1fr!important}.page .card>div:has(>table.t),.page .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.page table.t{min-width:max-content}.page .t th,.page .t td{white-space:nowrap}.page .t td .muted.small,.page .t td .small{white-space:normal;min-width:120px}.page .t td .row{flex-wrap:nowrap}.card,.card>*{max-width:100%}.empty,.empty *{word-break:normal;overflow-wrap:normal}.role-legend{grid-template-columns:1fr!important}.notice,.banner{max-width:100%}.page>.stack-l>*,.page>*{max-width:100%}}@media(max-width:700px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.kpis .kpi{padding:12px}.kpis .kpi-v{font-size:20px}.kpis .kpi-l,.kpis .kpi-s{font-size:12px}.page .btn{max-width:100%;white-space:normal;height:auto;min-height:36px;padding-top:6px;padding-bottom:6px;text-align:center}.page table.t.cards{min-width:0;width:100%}.page .card>div:has(>table.t.cards){overflow-x:visible}.t.cards thead{display:none}.t.cards,.t.cards tbody,.t.cards tr,.t.cards td{display:block;width:100%}.t.cards tr{border-bottom:1px solid var(--line);padding:10px 0}.t.cards td{border:0;padding:2px 16px;white-space:normal!important}.t.cards td:first-child{font-size:15px}.t.cards td .row{flex-wrap:wrap!important;margin-top:6px}}.np-item.is-feira{border-left:4px solid var(--warn, #c77700);padding-left:10px}

/* ---- adaptação a qualquer tela ---- */
html,body{max-width:100%;overflow-x:hidden}
.card,.card-b{min-width:0;max-width:100%;overflow-wrap:anywhere}
.input,textarea,select{max-width:100%;min-width:0;box-sizing:border-box}
img,video,iframe{max-width:100%}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:900px){table.t{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}







/* ================================================================
   FACILITY 360° — TEMA DO PAINEL (v3, nov/2026)
   Vinho da marca + grafite + neutros quentes. Uma cor de destaque só,
   muito respiro, tipografia Inter, sombras macias.
   ================================================================ */
@font-face { font-family: "Inter F"; src: url(/assets/fonts/Inter-Regular.woff) format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter F"; src: url(/assets/fonts/Inter-Medium.woff) format("woff"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Inter F"; src: url(/assets/fonts/Inter-SemiBold.woff) format("woff"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Inter F"; src: url(/assets/fonts/Inter-Bold.woff) format("woff"); font-weight: 700 800; font-display: swap; }
@font-face { font-family: "Inter Display F"; src: url(/assets/fonts/InterDisplay-SemiBold.woff) format("woff"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Inter Display F"; src: url(/assets/fonts/InterDisplay-Bold.woff) format("woff"); font-weight: 700 800; font-display: swap; }

:root {
  --font: "Inter F", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-d: "Inter Display F", "Inter F", system-ui, sans-serif;
  --red: #9e1b32; --red-700: #821428; --red-50: #fbf1f3; --red-100: #f4dbe0;
  --ink: #1c1a1f; --ink-2: #57535c; --muted: #8b8790; --line: #ebe8e6; --line-2: #f3f1ef;
  --bg: #f6f5f3; --surface: #ffffff; --surface-2: #faf9f8;
  --good: #1a7a46; --good-bg: #eaf6ef; --warn: #94570b; --warn-bg: #fdf3e2; --bad: #b4232f; --bad-bg: #fdeeee; --info: #2b5f93; --info-bg: #edf3fa;
  --r: 16px; --r-s: 10px;
  --shadow: 0 1px 2px rgba(28,22,26,.04), 0 6px 20px -10px rgba(28,22,26,.10);
  --shadow-m: 0 2px 4px rgba(28,22,26,.05), 0 14px 32px -14px rgba(28,22,26,.18);
  --shadow-l: 0 24px 60px -16px rgba(28,22,26,.32);
  --side-1: #1c1418; --side-2: #110c0f; --side-ink: #cfc8cc; --side-mute: #8a7f86;
}
html, body { background: var(--bg); font-family: var(--font); font-feature-settings: "cv11", "ss01", "tnum" 0; letter-spacing: -.003em; }
body { background: radial-gradient(900px 420px at 100% -8%, rgba(158,27,50,.055), transparent 70%), radial-gradient(700px 380px at -10% 110%, rgba(158,27,50,.035), transparent 70%), var(--bg); background-attachment: fixed; }
.num, .kpi-v, td.r, .money { font-feature-settings: "tnum" 1; }
h1, h2, h3, .topbar h1 { font-family: var(--font-d); }
::selection { background: rgba(158,27,50,.16); }
* { scrollbar-width: thin; scrollbar-color: #d6d1cd transparent; }

/* ---------- Menu lateral ---------- */
@media (min-width: 901px) { .admin { grid-template-columns: 256px minmax(0, 1fr); } }
.side { background: linear-gradient(180deg, var(--side-1) 0%, var(--side-2) 100%); border-right: 0; color: var(--side-ink); box-shadow: 1px 0 0 rgba(255,255,255,.04), 8px 0 30px -18px rgba(0,0,0,.5); }
.side .brand { padding: 24px 22px 18px; border-bottom: 1px solid rgba(255,255,255,.05); }
.side .brand img { height: 30px; background: #fff; padding: 7px 11px; border-radius: 12px; box-sizing: content-box; box-shadow: 0 8px 20px -8px rgba(0,0,0,.6); }
.side .brand small { color: var(--side-mute); letter-spacing: .24em; font-size: 10px; margin-top: 12px; }
.nav { padding: 10px 14px 18px; scrollbar-color: rgba(255,255,255,.12) transparent; }
.nav .grp { display: block; color: var(--side-mute); font-size: 10.5px; letter-spacing: .16em; font-weight: 600; padding: 20px 10px 8px; }
.nav .grp::before, .nav .grp::after { content: none; }
.nav a { color: var(--side-ink); padding: 9px 12px; border-radius: 10px; margin: 1px 0; position: relative; font-weight: 500; font-size: 13.5px; transition: background .18s ease, color .18s ease; }
.nav a svg { color: #9d9399; opacity: .9; transition: color .18s; }
.nav a:hover { background: rgba(255,255,255,.045); color: #fff; }
.nav a:hover svg { color: #e6dfe3; }
.nav a.on { background: linear-gradient(90deg, rgba(158,27,50,.42), rgba(158,27,50,.12)); color: #fff; font-weight: 600; box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); }
.nav a.on::before { content: ""; position: absolute; left: -14px; top: 9px; bottom: 9px; width: 3px; border-radius: 0 3px 3px 0; background: #e2516f; box-shadow: 0 0 12px rgba(226,81,111,.7); }
.nav a.on svg { color: #fff; }
.nav a .cnt { background: #e2516f; color: #fff; font-weight: 700; box-shadow: none; }
.nav a.app-link { border: 1px dashed rgba(255,255,255,.14); margin-top: 16px; color: #fff; }
.side .me { border-top: 1px solid rgba(255,255,255,.05); background: rgba(255,255,255,.02); color: #fff; padding: 14px 16px; }
.side .me .muted { color: var(--side-mute) !important; }
.side .me .icon-btn { color: var(--side-ink); } .side .me .icon-btn:hover { background: rgba(255,255,255,.07); }
.avatar { background: linear-gradient(135deg, #b8233f, #7c1226); color: #fff; box-shadow: 0 4px 12px -4px rgba(158,27,50,.7); }
.side-close { color: #fff; }

/* ---------- Topo e página ---------- */
.topbar { background: rgba(246,245,243,.78); backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid rgba(28,22,26,.06); padding: 16px 36px; }
.topbar h1 { font-size: 22px; font-weight: 700; letter-spacing: -.025em; color: var(--ink); }
.topbar h1::before { content: none; }
.page { padding: 24px 36px 56px; }
.page > * { animation: entra .32s cubic-bezier(.2,.7,.2,1) both; }
@keyframes entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .page > * { animation: none; } }
.backup-alert { border-radius: 14px !important; border: 1px solid #f1dfc0 !important; box-shadow: none; }

/* ---------- Cartões ---------- */
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); transition: box-shadow .25s ease; }
.card:hover { box-shadow: var(--shadow-m); }
.card-h { background: transparent; border-bottom: 1px solid var(--line-2); padding: 16px 22px; }
.card-h::before { content: none; }
.card-h h3 { font-size: 15px; font-weight: 650; letter-spacing: -.01em; }
.card-b { padding: 20px 22px; }

/* ---------- Indicadores ---------- */
@media (min-width: 701px) { .kpis { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; } }
.kpi { position: relative; padding: 18px 20px; gap: 6px; border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); background: var(--surface); transition: transform .2s ease, box-shadow .2s ease, border-color .2s; overflow: hidden; }
.kpi::before, .kpi::after { content: none; }
.kpi.clickable:hover { transform: translateY(-2px); box-shadow: var(--shadow-m); border-color: #e2d9db; }
.kpi-l { font-size: 12.5px; text-transform: none; letter-spacing: 0; font-weight: 550; color: var(--ink-2); }
.kpi-l svg { color: var(--red); width: 15px; height: 15px; padding: 6px; box-sizing: content-box; border-radius: 9px; background: var(--red-50); order: 2; margin-left: auto; }
.kpi-v { font-family: var(--font-d); font-size: clamp(20px, 1.55vw, 27px); font-weight: 700; letter-spacing: -.03em; color: var(--ink); }
.kpi-s { color: var(--muted); font-size: 12px; }
.kpi-bad .kpi-v { color: var(--bad); } .kpi-good .kpi-v { color: var(--good); }
.kpi-red { background: radial-gradient(140% 120% at 100% 0%, #c42a4c 0%, #9e1b32 48%, #6e0f22 100%); border-color: transparent; box-shadow: 0 16px 34px -16px rgba(158,27,50,.75); }
.kpi-red .kpi-l, .kpi-red .kpi-s { color: rgba(255,255,255,.78); } .kpi-red .kpi-v { color: #fff; }
.kpi-red .kpi-l svg { background: rgba(255,255,255,.14); color: #fff; }

/* ---------- Tabelas ---------- */
.t { border-collapse: separate; border-spacing: 0; }
.t th { background: var(--surface-2); color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; font-weight: 600; border-bottom: 1px solid var(--line); padding: 12px 16px; }
.t td { padding: 13px 16px; border-bottom: 1px solid var(--line-2); }
.t tbody tr:nth-child(even) td { background: transparent; }
.t tbody tr { transition: background .12s; }
.t tbody tr:hover td { background: #faf7f6; }
.t tbody tr:last-child td { border-bottom: 0; }
.t tr.sel td { background: var(--red-50) !important; }
.t td.num, .t td.r, .t th.r { white-space: nowrap; }

/* ---------- Botões, campos, selos ---------- */
.btn { border-radius: 11px; font-weight: 600; letter-spacing: -.005em; transition: background .15s, border-color .15s, box-shadow .2s, transform .1s; }
.btn:active:not(:disabled) { transform: translateY(1px); }
.btn-primary { background: var(--red); box-shadow: 0 1px 2px rgba(110,15,34,.25), 0 8px 18px -10px rgba(158,27,50,.7), inset 0 1px 0 rgba(255,255,255,.12); }
.btn-primary:hover:not(:disabled) { background: var(--red-700); }
.btn-secondary { background: #fff; border-color: var(--line); box-shadow: 0 1px 2px rgba(28,22,26,.04); }
.btn-secondary:hover:not(:disabled) { border-color: #d9d3cf; background: #fbfaf9; }
.btn-ghost:hover:not(:disabled) { background: #efedea; }
.icon-btn:hover { background: #efedea; }
.input, select.input, textarea.input, .money-in { background: #fff; border: 1px solid #e4e0dc; border-radius: 11px; transition: border-color .15s, box-shadow .15s; }
.input:hover, .money-in:hover { border-color: #d3cdc8; }
.input:focus, .money-in:focus-within { border-color: var(--red); box-shadow: 0 0 0 4px rgba(158,27,50,.10); }
.field-l { color: var(--ink-2); font-weight: 600; }
.badge { font-weight: 600; height: 23px; padding: 0 9px; }
.seg { background: #eeebe8; padding: 4px; border-radius: 12px; } .seg button { border-radius: 9px; } .seg button.on { color: var(--red); box-shadow: 0 1px 3px rgba(28,22,26,.12); }
.notice { border: 0; border-radius: 12px; }
.filters { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 14px 16px; box-shadow: var(--shadow); }
.section-t { font-size: 11.5px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: 650; }
.section-t::before { content: none; }
.progress { background: #ece8e5; } .progress > span, .hbar .fill { background: linear-gradient(90deg, #9e1b32, #d0405f); }
.tag { border-radius: 7px; }
.ic { width: 1.05em; height: 1.05em; vertical-align: -2px; flex: none; }
.btn .ic { width: 16px; height: 16px; }

/* ---------- Rotas ---------- */
.org-bar { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 12px 16px; margin-bottom: 18px; }
.route-card { border: 1px solid var(--line); border-left: 3px solid var(--red); border-radius: 14px; box-shadow: var(--shadow); overflow: hidden; background: #fff; }
.route-card:nth-child(n) { border-left-color: var(--red); }
.route-card > header { background: #fff; padding: 14px 16px; }
.route-card > header:hover { background: #fbf9f8; }
.route-card + .route-card { margin-top: 12px; }
.group-h, .esp-h { background: var(--surface-2) !important; color: var(--ink-2); text-transform: uppercase; letter-spacing: .06em; font-size: 11px; }
.map { border-radius: 16px; border-color: var(--line); box-shadow: var(--shadow); }

/* ---------- Modais e gaveta ---------- */
.overlay { background: rgba(20,14,18,.48); backdrop-filter: blur(4px); }
.modal { border-radius: 20px; box-shadow: var(--shadow-l); }
.modal header, .drawer header { background: #fff; padding: 18px 22px; }
.drawer { box-shadow: var(--shadow-l); }
.toast { border-radius: 14px; }

/* ---------- Sugestão de dia (fichas novas fora de rota) ---------- */
.sug { flex-basis: 100%; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 7px 11px; border-radius: 10px; background: var(--red-50); border: 1px solid var(--red-100); color: #6e1426; font-size: 12px; }
.sug b { color: var(--red); }
.sug::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--red); }

/* ---------- Celular e tablet em pé ---------- */
@media (max-width: 900px) {
  .admin { grid-template-columns: minmax(0, 1fr) !important; }
  .main { min-width: 0; width: 100%; overflow-x: hidden; }
  .side { width: min(300px, 86vw); }
  .page { padding: 14px 14px 44px; } .topbar { padding: 10px 14px; }
  .topbar h1 { font-size: 19px; }
  .nav a.on::before { left: -14px; }
}
@media (max-width: 700px) {
  .page > * { max-width: 100%; min-width: 0; }
  .card, .filters, .org-bar, .kpi, .route-card { max-width: 100%; min-width: 0; }
  .filters { padding: 12px; gap: 10px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .filters > *, .filters .field { min-width: 0; width: 100%; }
  .input, select.input, textarea.input, .money-in, input[type="date"].input { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
  input[type="date"] { -webkit-appearance: none; appearance: none; text-align: left; }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kpi { padding: 13px 14px; }
  .kpi-l { font-size: 11.5px; } .kpi-l svg { padding: 4px; width: 13px; height: 13px; }
  .kpi-v { font-size: 19px; overflow-wrap: anywhere; }
  .kpi-s { font-size: 11px; }
  .card-h { padding: 13px 16px; } .card-b { padding: 14px 16px; }
  .backup-alert { flex-wrap: wrap; gap: 10px; padding: 12px 14px !important; font-size: 13px; }
  .backup-alert .btn { width: 100%; justify-content: center; }
  .table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .org-bar { flex-wrap: wrap; }
}

/* ================================================================
   v4 (nov/2026) — refinamento corporativo: vermelho só com propósito,
   cinza claro de fundo, grafite estrutural, verde/âmbar semânticos.
   ================================================================ */
body { background: var(--bg); }
.kpi-red { background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--red); box-shadow: var(--shadow); }
.kpi-red .kpi-l, .kpi-red .kpi-s { color: var(--ink-2); } .kpi-red .kpi-v { color: var(--ink); }
.kpi-red .kpi-l svg { background: var(--red-50); color: var(--red); }
.progress > span, .hbar .fill { background: var(--red); }
.nav a.on { background: rgba(255,255,255,.075); box-shadow: none; }
.nav a.on::before { background: var(--red); box-shadow: none; left: -14px; }
.nav a .cnt { background: var(--red); }

/* abas e controles segmentados nunca cortam: rolam na horizontal */
.seg, [role="tablist"] { max-width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.seg::-webkit-scrollbar, [role="tablist"]::-webkit-scrollbar { display: none; }
.seg button, [role="tablist"] > button { flex: none; white-space: nowrap; }

/* descrição de cada módulo no topo */
.topbar .top-desc { font-size: 12.5px; color: var(--muted); margin-top: 2px; font-weight: 450; }
.side .me .roles { display: flex; align-items: center; gap: 5px; }
.side .me .roles .ic { width: 12px; height: 12px; color: #7fbf98; }

/* menu lateral: rolagem própria e modo recolhido (computador) */
.side-mini-btn { display: none; }
@media (min-width: 901px) {
  .side { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; }
  .side .nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
  .side .brand { position: relative; }
  .side-mini-btn { display: inline-flex; position: absolute; right: 12px; top: 22px; color: var(--side-mute); }
  .side-mini-btn:hover { color: #fff; background: rgba(255,255,255,.07) !important; }
  html.nav-mini .admin { grid-template-columns: 76px minmax(0, 1fr); }
  html.nav-mini .side .brand { padding: 18px 10px 14px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
  html.nav-mini .side .brand img { content: url(/assets/icon-mark-192.png); height: 30px; width: 30px; padding: 5px; }
  html.nav-mini .side .brand small { display: none; }
  html.nav-mini .side-mini-btn { position: static; transform: scaleX(-1); }
  html.nav-mini .nav { padding: 6px 10px 14px; }
  html.nav-mini .nav .grp { font-size: 0; padding: 10px 0 6px; } html.nav-mini .nav .grp::after { content: ""; display: block; height: 1px; background: rgba(255,255,255,.07); margin: 0 8px; }
  html.nav-mini .nav a { font-size: 0; justify-content: center; padding: 11px 0; gap: 0; }
  html.nav-mini .nav a svg { width: 19px; height: 19px; margin: 0; }
  html.nav-mini .nav a .cnt { position: absolute; top: 5px; right: 9px; min-width: 8px; height: 8px; padding: 0; font-size: 0; border-radius: 50%; }
  html.nav-mini .nav a.on::before { left: -10px; }
  html.nav-mini .side .me { justify-content: center; padding: 12px 6px; flex-direction: column; gap: 8px; }
  html.nav-mini .side .me .grow { display: none; }
}

/* ---------- Visão geral (central de comando) ---------- */
.vg { display: flex; flex-direction: column; gap: 18px; --cash: #1a7a46; --pix: #2b6cb0; }
.vg-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; }
.vg-eyebrow { font-size: 11px; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.vg-title { font-family: var(--font-d); font-size: 26px; font-weight: 700; letter-spacing: -.03em; margin: 4px 0 8px; color: var(--ink); }
.vg-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: 13px; color: var(--ink-2); }
.vg-date { display: inline-flex; align-items: center; gap: 6px; } .vg-date::first-letter { text-transform: uppercase; } .vg-date .ic { color: var(--muted); }
.vg-status { display: inline-flex; align-items: center; gap: 7px; padding: 4px 11px 4px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; background: #efedea; color: var(--ink-2); }
.vg-status i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.vg-st-good { background: var(--good-bg); color: var(--good); } .vg-st-warn { background: var(--warn-bg); color: var(--warn); } .vg-st-info { background: var(--info-bg); color: var(--info); }
.vg-st-good i { box-shadow: 0 0 0 3px rgba(26,122,70,.16); animation: vgpulse 2s ease-in-out infinite; }
@keyframes vgpulse { 50% { box-shadow: 0 0 0 5px rgba(26,122,70,.05); } }
.vg-sync { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--muted); } .vg-sync .ic { animation: vgspin 1s linear infinite; }
@keyframes vgspin { to { transform: rotate(360deg); } }
.vg-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.vg-filters select.input, .vg-filters input.input { height: 36px; font-size: 13px; padding-top: 0; padding-bottom: 0; width: auto; min-width: 0; }
.vg-filters select.input { max-width: 190px; }
.vg-seg { display: inline-flex; background: #ebe8e5; border-radius: 10px; padding: 3px; gap: 2px; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.vg-seg::-webkit-scrollbar { display: none; }
.vg-seg button { flex: none; border: 0; background: transparent; font: inherit; font-size: 12.5px; font-weight: 600; color: var(--ink-2); padding: 6px 12px; border-radius: 8px; cursor: pointer; white-space: nowrap; transition: background .15s, color .15s; }
.vg-seg button:hover { color: var(--ink); } .vg-seg button.on { background: #fff; color: var(--ink); box-shadow: 0 1px 2px rgba(28,22,26,.12); }
.vg-range { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); } .vg-range input.input { width: 142px; }

.vg-kpis { display: flex; flex-direction: column; gap: 12px; }
.vg-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vg-sec { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.vg-k { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: 6px; min-width: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; box-shadow: 0 1px 2px rgba(28,22,26,.04); transition: border-color .15s, box-shadow .2s, transform .15s; }
.vg-k:hover { border-color: #ddd6d2; box-shadow: var(--shadow-m); } .vg-k:active { transform: translateY(1px); }
.vg-k:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
.vg-kl { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
.vg-kl .ic { width: 15px; height: 15px; color: var(--muted); }
.vg-kv { font-family: var(--font-d); font-size: 22px; font-weight: 700; letter-spacing: -.03em; color: var(--ink); font-feature-settings: "tnum" 1; overflow-wrap: anywhere; }
.vg-ks { font-size: 12px; color: var(--muted); }
.vg-kc { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 2px; }
.vg-kc em { font-style: normal; font-size: 11.5px; color: var(--muted); }
.vg-k-main { padding: 20px 22px; gap: 8px; }
.vg-k-main .vg-kv { font-size: 32px; }
.vg-k-main .vg-kl { font-size: 13px; } .vg-k-main .vg-kl .ic { width: 17px; height: 17px; padding: 7px; border-radius: 9px; background: var(--red-50); color: var(--red); }
.vg-k-rec .vg-kl .ic { background: var(--good-bg); color: var(--good); }
.vg-k-main:first-child { border-top: 3px solid var(--red); padding-top: 18px; }
.vg-k-rec { border-top: 3px solid var(--good); padding-top: 18px; }
.vg-k-bad .vg-kv { color: var(--bad); }
.vg-delta { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 650; padding: 2px 7px; border-radius: 6px; white-space: nowrap; }
.vg-delta .ic { width: 12px; height: 12px; }
.vg-good { background: var(--good-bg); color: var(--good); } .vg-bad { background: var(--bad-bg); color: var(--bad); } .vg-neu { background: #f0eeeb; color: var(--ink-2); }
.vg-prog { display: flex; align-items: center; gap: 10px; } .vg-prog .vg-bar { flex: 1; } .vg-prog b { font-size: 13px; color: var(--good); font-feature-settings: "tnum" 1; }
.vg-bar { height: 6px; border-radius: 99px; background: #ece9e6; overflow: hidden; }
.vg-bar > span { display: block; height: 100%; border-radius: inherit; background: var(--ink); transition: width .6s cubic-bezier(.2,.7,.2,1); }
.vg-bar-good > span { background: var(--good); } .vg-bar-warn > span { background: #c98a1b; } .vg-bar-bad > span { background: var(--bad); }

.vg-sh { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 10px; padding-bottom: 2px; border-bottom: 1px solid var(--line); }
.vg-sh h3 { font-size: 16px; font-weight: 700; letter-spacing: -.015em; margin: 0 0 10px; color: var(--ink); }
.vg-sh span { font-size: 12px; color: var(--muted); }
.vg-g { display: grid; gap: 14px; }
.vg-g-21 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } .vg-g-11 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vg-card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; box-shadow: 0 1px 2px rgba(28,22,26,.04); min-width: 0; }
.vg-card.vg-np { padding: 0; overflow: hidden; } .vg-pad { padding: 18px 20px 14px; }
.vg-ch { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.vg-card h4 { margin: 0; font-size: 14px; font-weight: 650; letter-spacing: -.01em; color: var(--ink); }
.vg-card p { margin: 3px 0 0; font-size: 12px; color: var(--muted); }
.vg-link { all: unset; cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--red); padding: 4px 6px; border-radius: 6px; } .vg-link:hover { background: var(--red-50); }
.vg-link:focus-visible { outline: 2px solid var(--red); }
.vg-leg { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: var(--ink-2); } .vg-leg span { display: inline-flex; align-items: center; gap: 6px; }
.sw { display: inline-block; width: 10px; height: 10px; border-radius: 3px; flex: none; }
.sw-cash { background: var(--cash); } .sw-pix { background: var(--pix); } .sw-rec { background: var(--ink); } .sw-prev { height: 2px; width: 14px; border-radius: 0; background: repeating-linear-gradient(90deg, #57535c 0 4px, transparent 4px 6px); }
.vg-chart { position: relative; } .vg-chart svg { display: block; overflow: visible; }
.vg-grid { stroke: #efecea; stroke-width: 1; } .vg-ax { font-size: 10.5px; fill: #8b8790; font-feature-settings: "tnum" 1; }
.vg-hov { fill: transparent; } .vg-hov.on { fill: rgba(28,22,26,.035); }
.vg-b-cash { fill: var(--cash); } .vg-b-pix { fill: var(--pix); }
.vg-l-prev { fill: none; stroke: #57535c; stroke-width: 1.6; stroke-dasharray: 4 3; } .vg-dot-prev { fill: #fff; stroke: #57535c; stroke-width: 1.4; }
.vg-l-inad { fill: none; stroke: var(--bad); stroke-width: 2; } .vg-a-inad { fill: rgba(180,35,47,.07); } .vg-dot-inad { fill: #fff; stroke: var(--bad); stroke-width: 1.6; }
.vg-tip { position: absolute; top: 4px; transform: translateX(-50%); background: #1c1a1f; color: #fff; border-radius: 10px; padding: 9px 12px; font-size: 12px; line-height: 1.55; pointer-events: none; box-shadow: var(--shadow-l); white-space: nowrap; z-index: 2; }
.vg-tip b { display: block; font-size: 11.5px; color: rgba(255,255,255,.7); font-weight: 600; margin-bottom: 2px; }
.vg-tip strong { font-feature-settings: "tnum" 1; margin-left: 4px; } .vg-tip .sub { color: rgba(255,255,255,.62); font-size: 11.5px; } .vg-tip .sw { margin-right: 6px; } .vg-tip .sw-rec { background: #fff; } .vg-tip .sw-prev { background: repeating-linear-gradient(90deg, #fff 0 4px, transparent 4px 6px); }
.vg-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; padding: 34px 16px; color: var(--muted); font-size: 12.5px; min-height: 140px; }
.vg-empty .ic { width: 26px; height: 26px; padding: 10px; border-radius: 12px; background: #f2f0ed; color: #a19ca4; margin-bottom: 4px; }
.vg-empty b { color: var(--ink-2); font-size: 13.5px; font-weight: 600; }
.vg-ok .ic { background: var(--good-bg); color: var(--good); }
.vg-stack { display: flex; flex-direction: column; gap: 12px; }
.vg-stack hr { border: 0; border-top: 1px solid var(--line-2); margin: 4px 0; width: 100%; }
.vg-big { display: flex; align-items: center; gap: 10px; } .vg-big strong { font-family: var(--font-d); font-size: 34px; font-weight: 700; letter-spacing: -.035em; color: var(--ink); }
.vg-note { font-size: 12px !important; }
.vg-split { display: flex; height: 10px; border-radius: 99px; overflow: hidden; gap: 2px; } .vg-split span { display: block; min-width: 3px; } .vg-s-cash { background: var(--cash); } .vg-s-pix { background: var(--pix); }
.vg-split-l { display: grid; gap: 8px; } .vg-split-l > div { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-2); }
.vg-split-l b { margin-left: auto; color: var(--ink); font-feature-settings: "tnum" 1; } .vg-split-l em { font-style: normal; font-size: 12px; color: var(--muted); width: 38px; text-align: right; }
.vg-hb { display: grid; gap: 11px; } .vg-hbr { display: grid; grid-template-columns: minmax(80px, 140px) minmax(0, 1fr) auto; align-items: center; gap: 12px; font-size: 13px; color: var(--ink-2); }
.vg-hbt { height: 8px; border-radius: 99px; background: #f0edea; overflow: hidden; } .vg-hbt i { display: block; height: 100%; border-radius: inherit; background: #57535c; }
.vg-hbr b { color: var(--ink); font-feature-settings: "tnum" 1; font-size: 12.5px; }
.vg-ops { display: flex; flex-direction: column; gap: 16px; }
.vg-opt { display: flex; justify-content: space-between; font-size: 13px; color: var(--ink-2); margin-bottom: 7px; } .vg-opt b { color: var(--ink); font-feature-settings: "tnum" 1; }
.vg-cells { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.vg-cell { display: flex; flex-direction: column; gap: 2px; padding: 11px 12px; border-radius: 11px; background: var(--surface-2); border: 1px solid var(--line-2); min-width: 0; }
.vg-cell .ic { width: 15px; height: 15px; color: var(--muted); margin-bottom: 4px; }
.vg-cell b { font-family: var(--font-d); font-size: 19px; letter-spacing: -.02em; color: var(--ink); font-feature-settings: "tnum" 1; }
.vg-cell span { font-size: 11.5px; color: var(--muted); line-height: 1.3; }
.vg-c-warn { background: var(--warn-bg); border-color: #f4e2c2; } .vg-c-warn .ic, .vg-c-warn b { color: var(--warn); }
.vg-c-bad { background: var(--bad-bg); border-color: #f6d5d7; } .vg-c-bad .ic, .vg-c-bad b { color: var(--bad); }
.vg-att { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.vg-att li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line-2); }
.vg-att li:first-child { border-top: 0; padding-top: 2px; }
.vg-ai { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #f2f0ed; color: var(--ink-2); } .vg-ai .ic { width: 16px; height: 16px; }
.vg-p-alta .vg-ai { background: var(--bad-bg); color: var(--bad); } .vg-p-media .vg-ai { background: var(--warn-bg); color: var(--warn); }
.vg-at { min-width: 0; display: flex; flex-direction: column; gap: 2px; } .vg-at b { font-size: 13.5px; font-weight: 600; color: var(--ink); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .vg-at > span { font-size: 12px; color: var(--muted); }
.vg-pri { font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 1px 6px; border-radius: 5px; background: #f0eeeb; color: var(--ink-2); }
.vg-p-alta .vg-pri { background: var(--bad-bg); color: var(--bad); } .vg-p-media .vg-pri { background: var(--warn-bg); color: var(--warn); }
.vg-av { text-align: right; display: flex; flex-direction: column; } .vg-av b { font-family: var(--font-d); font-size: 18px; color: var(--ink); font-feature-settings: "tnum" 1; } .vg-av span { font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.vg-go { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 2px; font-size: 12.5px; font-weight: 600; color: var(--ink-2); padding: 6px 8px 6px 10px; border-radius: 8px; border: 1px solid var(--line); background: #fff; white-space: nowrap; transition: border-color .15s, color .15s; }
.vg-go:hover { border-color: #d6cfcb; color: var(--red); } .vg-go:focus-visible { outline: 2px solid var(--red); } .vg-go .ic { width: 15px; height: 15px; }
.vg-t th { position: sticky; top: 0; z-index: 1; }
.vg-who { display: flex; align-items: center; gap: 10px; } .vg-who b { display: block; font-weight: 600; color: var(--ink); } .vg-who small { color: var(--muted); font-size: 11.5px; }
.vg-av0 { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #efedea; color: var(--ink-2); font-size: 11px; font-weight: 700; flex: none; }
.vg-ap { display: flex; align-items: center; gap: 8px; min-width: 120px; } .vg-ap .vg-bar { flex: 1; } .vg-ap b { font-size: 12.5px; font-feature-settings: "tnum" 1; width: 46px; text-align: right; }
.vg-pend { display: inline-block; min-width: 22px; padding: 1px 7px; border-radius: 6px; background: var(--warn-bg); color: var(--warn); font-weight: 650; text-align: center; } .vg-pend.bad { background: var(--bad-bg); color: var(--bad); }
.vg-feed { list-style: none; margin: 0; padding: 0; position: relative; max-height: 470px; overflow-y: auto; }
.vg-feed li { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 10px; padding: 0 0 14px; position: relative; }
.vg-feed li::before { content: ""; position: absolute; left: 6px; top: 14px; bottom: 0; width: 1px; background: var(--line); }
.vg-feed li:last-child::before { content: none; }
.vg-feed li > i { width: 9px; height: 9px; margin: 4px 0 0 2px; border-radius: 50%; background: #c9c3c6; box-shadow: 0 0 0 3px #fff; position: relative; }
.vg-f-pagamento > i { background: var(--good); } .vg-f-caixa > i, .vg-f-fechamento > i { background: var(--ink); } .vg-f-rota > i { background: var(--info); } .vg-f-inadimplencia > i, .vg-f-contrato > i { background: var(--warn); }
.vg-feed b { display: block; font-size: 13px; font-weight: 600; color: var(--ink); } .vg-feed span { display: block; font-size: 12.5px; color: var(--ink-2); overflow-wrap: anywhere; } .vg-feed small { display: block; font-size: 11.5px; color: var(--muted); margin-top: 1px; }
.vg-pager { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; border-top: 1px solid var(--line); font-size: 12.5px; color: var(--muted); }
.vg-pager > div { display: flex; align-items: center; gap: 6px; } .vg-pager b { color: var(--ink-2); font-weight: 600; min-width: 48px; text-align: center; }
.vg-pager .icon-btn:disabled { opacity: .35; cursor: default; }

@media (max-width: 1360px) { .vg-sec { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1180px) { .vg-g-21 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1000px) { .vg-g-11 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  .vg { gap: 14px; }
  .vg-title { font-size: 22px; }
  .vg-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; }
  .vg-filters .vg-seg, .vg-filters .vg-range { grid-column: 1 / -1; }
  .vg-filters select.input { max-width: none; width: 100%; }
  .vg-filters select.input:last-child { grid-column: 1 / -1; }
  .vg-range input.input { width: auto; flex: 1; min-width: 0; }
  .vg-hero { grid-template-columns: minmax(0, 1fr); }
  .vg-sec { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .vg-sec > :last-child { grid-column: 1 / -1; }
  .vg-k { padding: 13px 14px; } .vg-k-main { padding: 16px; } .vg-k-main .vg-kv { font-size: 27px; } .vg-kv { font-size: 18px; }
  .vg-card { padding: 15px 14px; } .vg-pad { padding: 15px 14px 12px; }
  .vg-cells { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-att li { grid-template-columns: auto minmax(0, 1fr) auto; }
  .vg-att .vg-go { grid-column: 2 / -1; justify-self: start; }
  .vg-hbr { grid-template-columns: minmax(70px, 96px) minmax(0, 1fr) auto; gap: 8px; }
  .vg-tip { font-size: 11.5px; padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) { .vg-st-good i, .vg-sync .ic { animation: none; } .vg-bar > span { transition: none; } }
.vg-who b { white-space: nowrap; } .vg-t td, .vg-t th { white-space: nowrap; }
.vg-k-main .vg-kl .ic, .vg-ai .ic, .vg-empty .ic { box-sizing: content-box; }
@media (max-width: 700px) { .vg-ax { font-size: 19px; } .vg-l-prev { stroke-width: 2.4; } }
/* menu lateral fixo no computador: rola sozinho e acompanha a página */
@media (min-width: 901px) {
  .admin > .side { position: fixed; left: 0; top: 0; bottom: 0; width: 256px; height: auto; z-index: 15; }
  .admin > .main { grid-column: 2; }
  html.nav-mini .admin > .side { width: 76px; }
}

/* ================= v5 — central de comando, busca global, notificações, tabelas em cartões ================= */
/* acesso rápido */
.vg-hl { min-width: 0; }
.vg-quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.vg-quick button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--ink-2); padding: 6px 11px; border-radius: 8px; border: 1px solid var(--line); background: #fff; transition: border-color .15s, color .15s, background .15s; }
.vg-quick button:hover { border-color: #d8d1cd; color: var(--ink); background: var(--surface-2); }
.vg-quick button:focus-visible { outline: 2px solid var(--red); outline-offset: 1px; }
.vg-quick .ic { width: 14px; height: 14px; color: var(--muted); }

/* central de inteligência */
.vg-sh h3 em.vg-beta { font-style: normal; font-size: 11px; font-weight: 600; color: var(--muted); margin-left: 6px; letter-spacing: 0; }
.vg-ins-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 12px; margin-top: 14px; }
.vg-ins { position: relative; display: flex; flex-direction: column; gap: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px 14px; min-width: 0; box-shadow: 0 1px 2px rgba(28,22,26,.04); }
.vg-ins::before { content: ""; position: absolute; left: -1px; top: 14px; bottom: 14px; width: 3px; border-radius: 0 3px 3px 0; background: var(--info); }
.vg-ins-risco::before { background: var(--bad); } .vg-ins-atencao::before { background: #c98a1b; } .vg-ins-positivo::before { background: var(--good); }
.vg-ins-h { display: flex; align-items: center; gap: 8px; }
.vg-ins-ic { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--info-bg); color: var(--info); } .vg-ins-ic .ic { width: 14px; height: 14px; }
.vg-ins-risco .vg-ins-ic { background: var(--bad-bg); color: var(--bad); } .vg-ins-atencao .vg-ins-ic { background: var(--warn-bg); color: var(--warn); } .vg-ins-positivo .vg-ins-ic { background: var(--good-bg); color: var(--good); }
.vg-ins-h em { font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.vg-ins h4 { margin: 2px 0 0; font-size: 14.5px; font-weight: 650; letter-spacing: -.01em; color: var(--ink); line-height: 1.35; overflow-wrap: anywhere; }
.vg-ins dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; font-size: 12.5px; line-height: 1.45; }
.vg-ins dt { color: var(--muted); font-weight: 600; white-space: nowrap; } .vg-ins dd { margin: 0; color: var(--ink-2); overflow-wrap: anywhere; }
.vg-ins .vg-go { align-self: flex-start; margin-top: 4px; }
.vg-ins-empty { display: flex; align-items: flex-start; gap: 12px; margin-top: 14px; }
.vg-ins-empty .ic { width: 18px; height: 18px; padding: 8px; box-sizing: content-box; border-radius: 10px; background: var(--good-bg); color: var(--good); flex: none; }
.vg-ins-empty b { display: block; font-size: 13.5px; color: var(--ink); } .vg-ins-empty span { display: block; font-size: 12.5px; color: var(--muted); margin-top: 2px; line-height: 1.45; }

/* esqueleto de carregamento */
.vg-sk { border-radius: 14px; background: linear-gradient(90deg, #eeebe8 25%, #f6f4f2 37%, #eeebe8 63%); background-size: 400% 100%; animation: vgsk 1.3s ease infinite; min-height: 16px; }
.vg-sk-t1 { width: 90px; height: 12px; border-radius: 6px; margin-bottom: 10px; } .vg-sk-t2 { width: min(320px, 80%); height: 28px; border-radius: 8px; }
@keyframes vgsk { from { background-position: 100% 50%; } to { background-position: 0 50%; } }

/* busca global (topo) */
.topbar { gap: 10px; }
.vg-search-btn { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px 0 12px; border-radius: 10px; border: 1px solid var(--line); background: #fff; color: var(--muted); font-size: 13px; min-width: 220px; transition: border-color .15s; }
.vg-search-btn:hover { border-color: #d6cfcb; color: var(--ink-2); } .vg-search-btn:focus-visible { outline: 2px solid var(--red); }
.vg-search-btn span { flex: 1; } .vg-search-btn .ic { width: 15px; height: 15px; }
.vg-search-btn kbd { font: 600 10.5px var(--font); color: var(--muted); background: var(--surface-2); border: 1px solid var(--line); border-radius: 5px; padding: 1px 5px; }
.vg-cmd-o { position: fixed; inset: 0; z-index: 80; background: rgba(20,14,18,.38); display: flex; align-items: flex-start; justify-content: center; padding: 10vh 16px 16px; animation: tbf .15s ease both; }
.vg-cmd { width: min(620px, 100%); max-height: 70vh; display: flex; flex-direction: column; background: #fff; border-radius: 16px; box-shadow: 0 30px 70px -20px rgba(20,14,18,.5); overflow: hidden; }
.vg-cmd-in { display: flex; align-items: center; gap: 10px; padding: 12px 12px 12px 16px; border-bottom: 1px solid var(--line); }
.vg-cmd-in > .ic { width: 18px; height: 18px; color: var(--muted); flex: none; }
.vg-cmd-in input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 15px; color: var(--ink); background: transparent; height: 32px; }
.vg-cmd-l { overflow-y: auto; padding: 6px; }
.vg-cmd-g { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 10px 10px 4px; }
.vg-cmd-l > button { all: unset; box-sizing: border-box; width: 100%; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 10px; }
.vg-cmd-l > button.on { background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line); }
.vg-cmd-l > button svg { width: 17px; height: 17px; color: var(--ink-2); flex: none; }
.vg-cmd-l > button div { min-width: 0; } .vg-cmd-l b { display: block; font-size: 13.5px; font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vg-cmd-l small { display: block; font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vg-cmd-e { padding: 24px; text-align: center; color: var(--muted); font-size: 13px; }

/* notificações */
.vg-bell { position: relative; }
.vg-bell > .icon-btn { position: relative; } .vg-bell > .icon-btn .ic { width: 18px; height: 18px; }
.vg-bell > .icon-btn i { position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px; background: var(--red); color: #fff; font-style: normal; font-size: 10px; font-weight: 700; display: grid; place-items: center; box-shadow: 0 0 0 2px var(--bg); }
.vg-bell-m { position: absolute; right: 0; top: calc(100% + 8px); width: min(320px, calc(100vw - 24px)); background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 20px 50px -18px rgba(28,22,26,.35); padding: 6px; z-index: 60; animation: tbs .16s ease both; }
.vg-bell-t { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 8px 10px 4px; }
.vg-bell-m button { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 9px; font-size: 13px; color: var(--ink-2); }
.vg-bell-m button:hover, .vg-bell-m button:focus-visible { background: var(--surface-2); color: var(--ink); }
.vg-bell-m button svg { width: 16px; height: 16px; color: var(--muted); flex: none; } .vg-bell-m button span { flex: 1; min-width: 0; }
.vg-bell-m button b { font-size: 12px; color: #fff; background: var(--red); border-radius: 99px; padding: 1px 8px; }
.vg-bell-e { padding: 14px 10px; font-size: 13px; color: var(--muted); }
@keyframes tbs { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes tbf { from { opacity: 0; } }

/* modais sempre dentro da tela */
.overlay { padding: 12px; } .modal { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }

@media (max-width: 1100px) { .vg-search-btn { min-width: 0; } .vg-search-btn span, .vg-search-btn kbd { display: none; } .vg-search-btn { width: 38px; padding: 0; justify-content: center; } }
@media (max-width: 700px) {
  .vg-cmd-o { padding: 0; align-items: stretch; } .vg-cmd { max-height: none; height: 100%; border-radius: 0; }
  .vg-quick { gap: 6px; } .vg-quick button { font-size: 12px; padding: 6px 9px; }
  .vg-ins { padding: 14px; } .vg-ins dl { grid-template-columns: minmax(0, 1fr); gap: 0 0; } .vg-ins dd { margin-bottom: 6px; }
  /* abas e controles segmentados quebram linha em vez de sair da tela */
  .seg, [role="tablist"], .vg-seg { flex-wrap: wrap; overflow: visible; height: auto; }
  .seg button, [role="tablist"] > button { flex: 1 1 auto; }
}

/* tabelas largas viram cartões (celular e tablet) — todos os campos continuam visíveis, com o nome da coluna */
@media (max-width: 1100px) {
  .page table.tcard, .page table.tcard > tbody, .page table.tcard > tbody > tr { display: block; width: 100%; max-width: 100%; }
  .page table.tcard { overflow: visible !important; border: 0; background: transparent; min-width: 0 !important; }
  .page table.tcard > thead { display: none; }
  .page table.tcard > tbody > tr { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; margin: 0 0 10px; box-shadow: 0 1px 2px rgba(28,22,26,.04); }
  .page table.tcard > tbody > tr.click:active { background: var(--surface-2); }
  .page table.tcard > tbody > tr > td { display: block; position: relative; padding: 5px 0 5px 40% !important; min-height: 26px; border: 0 !important; text-align: left !important; white-space: normal !important; overflow-wrap: anywhere; width: auto !important; max-width: none !important; font-size: 13px; }
  .page table.tcard > tbody > tr > td::before { content: attr(data-label); position: absolute; left: 0; top: 6px; width: calc(40% - 10px); font-size: 11.5px; font-weight: 600; color: var(--muted); line-height: 1.3; overflow-wrap: anywhere; }
  .page table.tcard > tbody > tr > td[data-label=""] { padding-left: 0 !important; } .page table.tcard > tbody > tr > td[data-label=""]::before { content: none; }
  .page table.tcard > tbody > tr > td:first-child { padding-bottom: 8px !important; margin-bottom: 4px; border-bottom: 1px solid var(--line-2) !important; font-weight: 600; }
  .page table.tcard > tbody > tr.tc-full > td { padding-left: 0 !important; } .page table.tcard > tbody > tr.tc-full > td::before { content: none; }
  .page .table-wrap:has(> table.tcard), .page .vg-card.vg-np:has(table.tcard) { overflow: visible !important; max-height: none !important; border: 0; background: transparent; box-shadow: none; }
  .page .vg-card.vg-np:has(table.tcard) .vg-pad { padding: 0 0 12px; }
  .page .vg-card.vg-np:has(table.tcard) .vg-pager { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
}
@media (min-width: 601px) and (max-width: 1100px) {
  .page table.tcard > tbody { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .page table.tcard > tbody > tr { margin: 0; }
}
@media (max-width: 700px) { .vg-sh h3 em.vg-beta { display: none; } }
@media (max-width: 700px) {
  .seg { width: 100%; max-width: 100%; }
  .seg button, [role="tablist"] > button { white-space: normal !important; min-width: 0; text-align: center; line-height: 1.25; }
}

/* tabela mais larga que o espaço e fora de um contêiner com rolagem: rola dentro dela mesma, nunca é cortada */
.page table.t-scroll { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 1100px) { .page table.t-scroll.tcard { overflow: visible; } }
@media (max-width: 1100px) {
  .page table.tcard td div, .page table.tcard td .row { flex-wrap: wrap; }
  .page table.tcard td .btn { white-space: normal; max-width: 100%; text-align: left; }
  .page table.tcard td * { max-width: 100%; }
}


/* v4.2 — auditoria de responsividade (07/11/2026): nada passa da borda do celular */
@media (max-width: 700px) {
  .page .filters > *, .page .filters input, .page .filters select, .page .app-search { min-width: 0 !important; max-width: 100%; }
  .page .filters .app-search, .page .filters > input.input[style*="min-width"] { width: 100% !important; grid-column: 1 / -1; }
  .page input, .page select, .page textarea { max-width: 100%; }
  .overlay.overlay-right { padding: 0; }
  .overlay-right .drawer { width: 100% !important; max-width: 100% !important; min-width: 0; height: 100%; border-radius: 0; }
  .overlay:not(.overlay-right) { padding: 10px; }
  .overlay .modal { width: 100%; max-width: 100% !important; min-width: 0; max-height: calc(100dvh - 20px); }
}

/* v4.3 — semântica única: dinheiro recebido em verde em todos os gráficos (Pix em azul) */
:root { --cash: #1a7a46; }

/* ================================================================
   v5 (07/11/2026) — painel executivo, notificações por prioridade,
   ambiente do vendedor e login por ambiente
   ================================================================ */
.vg-sub { margin: -2px 0 10px; font-size: 14px; color: var(--ink-2); }
.vg-exec { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.vg-x { min-height: 168px; border-top: 3px solid var(--line); padding-top: 16px; }
.vg-x .vg-kv { font-size: 28px; }
.vg-x-prev { border-top-color: var(--red); } .vg-x-rec { border-top-color: var(--good); } .vg-x-pend { border-top-color: #c98a1b; } .vg-x-op { border-top-color: var(--ink); }
.vg-x .vg-kl .ic { width: 16px; height: 16px; padding: 6px; border-radius: 8px; box-sizing: content-box; background: #f2f0ed; color: var(--ink-2); }
.vg-x-prev .vg-kl .ic { background: var(--red-50); color: var(--red); } .vg-x-rec .vg-kl .ic { background: var(--good-bg); color: var(--good); } .vg-x-pend .vg-kl .ic { background: var(--warn-bg); color: var(--warn); }
.vg-b-warn { color: var(--warn) !important; } .vg-b-ink { color: var(--muted) !important; font-weight: 600 !important; font-size: 11.5px !important; }
.vg-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.vg-strip button { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; column-gap: 8px; align-items: center; padding: 12px 16px; border-left: 1px solid var(--line-2); min-width: 0; transition: background .15s; }
.vg-strip button:first-child { border-left: 0; } .vg-strip button:hover { background: var(--surface-2); } .vg-strip button:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.vg-strip button > .sw, .vg-strip button > .ic { grid-row: 1 / 3; width: 10px; height: 10px; } .vg-strip button > .ic { width: 15px; height: 15px; color: var(--muted); }
.vg-strip span { font-size: 12px; color: var(--muted); font-weight: 600; } .vg-strip b { grid-column: 2; font-size: 15px; color: var(--ink); font-feature-settings: "tnum" 1; white-space: nowrap; }
.vg-strip em, .vg-strip .vg-delta { grid-column: 3; grid-row: 1 / 3; justify-self: end; font-style: normal; font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.vg-strip button.bad b { color: var(--bad); }
@media (max-width: 1180px) { .vg-exec { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vg-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vg-strip button:nth-child(3) { border-left: 0; } .vg-strip button:nth-child(n+3) { border-top: 1px solid var(--line-2); } }
@media (max-width: 700px) { .vg-exec { grid-template-columns: minmax(0, 1fr); gap: 10px; } .vg-x { min-height: 0; } .vg-x .vg-kv { font-size: 26px; } .vg-sub { font-size: 13px; }
  .vg-strip { grid-template-columns: minmax(0, 1fr); } .vg-strip button { border-left: 0 !important; border-top: 1px solid var(--line-2); padding: 11px 14px; } .vg-strip button:first-child { border-top: 0; } }

/* notificações por prioridade */
.vg-bell .icon-btn > i.vg-dot { min-width: 9px; width: 9px; height: 9px; padding: 0; top: 7px; right: 7px; background: #c98a1b; }
.vg-bell-alta > i { background: var(--bad) !important; }
.vg-bell-t { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.vg-bell-t .vg-link { font-size: 12px; text-transform: none; letter-spacing: 0; padding: 2px 4px; }
.vg-bell-g { padding: 4px 0; border-top: 1px solid var(--line-2); } .vg-bell-g:first-of-type { border-top: 0; }
.vg-bell-gt { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 6px 10px 4px; }
.vg-bell-alta .vg-bell-gt { color: var(--bad); } .vg-bell-fin .vg-bell-gt { color: var(--warn); }
.vg-bell-m button[role=menuitem] > span { display: flex; flex-direction: column; min-width: 0; }
.vg-bell-m button[role=menuitem] > span em { font-style: normal; font-size: 11px; font-weight: 600; color: var(--red); }
.vg-bell-m button[role=menuitem]:not(.novo) { color: var(--ink-2); }
.vg-bell-m button[role=menuitem].novo { background: linear-gradient(90deg, rgba(158,27,50,.05), transparent 60%); }
.vg-bell-e { display: flex; align-items: center; gap: 8px; } .vg-bell-e .ic { color: var(--good); }

/* ambiente do vendedor */
.vd-busca { display: flex; flex-direction: column; gap: 14px; }
.vd-busca .search-big { display: flex; align-items: center; gap: 10px; border: 1px solid #e4e0dc; border-radius: 12px; padding: 0 14px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.vd-busca .search-big:focus-within { border-color: var(--red); box-shadow: 0 0 0 4px rgba(158,27,50,.08); }
.vd-busca .search-big .ic { width: 18px; height: 18px; color: var(--muted); flex: none; }
.vd-busca .search-big .input { border: 0 !important; box-shadow: none !important; height: 50px; font-size: 15px; padding: 0; min-width: 0; flex: 1; background: transparent; }
.vd-lista { display: flex; flex-direction: column; }
.vd-cli { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 12px 6px; border-top: 1px solid var(--line-2); border-radius: 10px; transition: background .15s; }
.vd-cli:first-child { border-top: 0; } .vd-cli:hover { background: var(--surface-2); } .vd-cli:focus-visible { outline: 2px solid var(--red); }
.vd-cli > .ic { width: 16px; height: 16px; color: var(--muted); }
.vd-cn { display: flex; flex-direction: column; min-width: 0; } .vd-cn b { font-weight: 600; color: var(--ink); overflow-wrap: anywhere; } .vd-cn span { font-size: 12.5px; color: var(--muted); }
.vd-cs { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; } .vd-cs span { font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.vd-fichas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.vd-ficha { border: 1px solid var(--line); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 12px; background: #fff; min-width: 0; }
.vd-fh { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .vd-fh b { display: block; color: var(--ink); } .vd-fh span { font-size: 12px; color: var(--muted); }
.vd-fv { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } .vd-fv > div { background: var(--surface-2); border-radius: 9px; padding: 8px 10px; }
.vd-fv span { display: block; font-size: 11px; color: var(--muted); } .vd-fv b { font-feature-settings: "tnum" 1; color: var(--ink); } .vd-fv b.bad { color: var(--bad); }
.vd-fa { display: flex; flex-wrap: wrap; gap: 6px; } .vd-fa .btn { flex: 1 1 auto; }
.vd-ctx { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: var(--surface-2); } .vd-ctx .ic { color: var(--muted); }
.vd-ctx b { display: block; } .vd-ctx span { font-size: 12px; color: var(--muted); }
.vd-warn { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; background: var(--warn-bg); color: var(--warn); font-size: 13px; } .vd-warn .ic { flex: none; margin-top: 2px; }
.vd-chs { list-style: none; margin: 0; padding: 0; }
.vd-chs li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 18px; border-top: 1px solid var(--line-2); }
.vd-chs li:first-child { border-top: 0; } .vd-chs li.ok { opacity: .7; }
.vd-chs b { display: block; font-size: 13.5px; color: var(--ink); overflow-wrap: anywhere; } .vd-chs li > div > span { font-size: 12px; color: var(--muted); }
.vd-chr { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex: none; } .vd-chr small { font-size: 11px; color: var(--muted); }
@media (max-width: 700px) { .vd-cli { grid-template-columns: auto minmax(0, 1fr) auto; } .vd-cli > .ic { display: none; } .vd-fichas { grid-template-columns: minmax(0, 1fr); }
  .vd-chs li { flex-direction: column; align-items: flex-start; padding: 12px 14px; } .vd-chr { flex-direction: row; align-items: center; } .vd-fa .btn { flex: 1 1 100%; } }

/* login por ambiente */
.pw-wrap { position: relative; } .pw-wrap .input { padding-right: 46px; width: 100%; }
.pw-eye { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; display: grid; place-items: center; border: 0; background: transparent; color: var(--muted); border-radius: 9px; cursor: pointer; }
.pw-eye:hover { color: var(--ink); background: #f2f0ed; } .pw-eye:focus-visible { outline: 2px solid var(--red); } .pw-eye .ic { width: 18px; height: 18px; }
.login .tag { color: var(--red); letter-spacing: .12em; }
.login .amb-voltar { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); font-weight: 600; text-decoration: none; padding: 6px 8px; border-radius: 8px; }
.login .amb-voltar:hover { background: #f2f0ed; color: var(--ink); }

/* v6 — TEMA ESCURO (ativo com a classe tema-escuro no <html>; o usuário escolhe Claro/Escuro no topo) */
html.tema-escuro { color-scheme: dark;
  --bg: #0a0a0b; --surface: #131315; --surface-2: #19191c; --line: #26262b; --line-2: #1e1e22;
  --ink: #ededef; --ink-2: #b2b2ba; --muted: #7e7e88;
  --red: #c42b45; --red-700: #a3203a; --red-50: rgba(196,43,69,.14); --red-100: rgba(196,43,69,.28);
  --good: #4cc38a; --good-bg: rgba(76,195,138,.12); --warn: #e5a83b; --warn-bg: rgba(229,168,59,.12);
  --bad: #f2636f; --bad-bg: rgba(242,99,111,.12); --info: #6ea8ea; --info-bg: rgba(110,168,234,.12);
  --pix: #5b9fe6; --cash: #4cc38a;
  --border: #26262b; --bg-soft: #18181b; --card: #131315; --primary: #c42b45;
  --side-1: #0f0f11; --side-2: #0b0b0c; --side-ink: #c9c9cf; --side-mute: #6f6f78;
  --shadow: 0 1px 0 rgba(255,255,255,.02) inset, 0 1px 2px rgba(0,0,0,.5);
  --shadow-m: 0 8px 24px -10px rgba(0,0,0,.7); --shadow-l: 0 24px 60px -16px rgba(0,0,0,.85); }
html.tema-escuro, html.tema-escuro body, html.tema-escuro #root { background: var(--bg) !important; color: var(--ink); }
html.tema-escuro ::selection { background: rgba(196,43,69,.45); color: #fff; }
html.tema-escuro * { scrollbar-color: #2c2c32 transparent; }
html.tema-escuro ::-webkit-scrollbar { width: 10px; height: 10px; }
html.tema-escuro ::-webkit-scrollbar-thumb { background: #2a2a30; border-radius: 10px; border: 2px solid var(--bg); }
html.tema-escuro ::-webkit-scrollbar-track { background: transparent; }
html.tema-escuro .admin, html.tema-escuro .main, html.tema-escuro .page { background: transparent !important; }
html.tema-escuro .topbar { background: rgba(10,10,11,.86) !important; border-bottom: 1px solid var(--line) !important; backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px); }
html.tema-escuro .topbar h1 { color: var(--ink) !important; }
html.tema-escuro .side { background: var(--side-1) !important; border-right: 1px solid var(--line) !important; box-shadow: none !important; }
html.tema-escuro .side .brand img { background: #fff; border-radius: 8px; padding: 4px 8px; }
html.tema-escuro .nav a { color: var(--side-ink) !important; }
html.tema-escuro .nav a svg { color: var(--side-mute) !important; }
html.tema-escuro .nav a:hover { background: rgba(255,255,255,.045) !important; color: #fff !important; }
html.tema-escuro .nav a.on { background: rgba(255,255,255,.07) !important; color: #fff !important; }
html.tema-escuro .nav a.on svg { color: #fff !important; }
html.tema-escuro .nav .grp { color: #5d5d66 !important; }
html.tema-escuro .side .me { border-top: 1px solid var(--line) !important; background: transparent !important; }
html.tema-escuro .side .me .avatar { background: #1f1f23 !important; color: var(--ink) !important; }
html.tema-escuro .side-shade { background: rgba(0,0,0,.6) !important; }
html.tema-escuro .card, html.tema-escuro section.card, html.tema-escuro .panel, html.tema-escuro .box, html.tema-escuro .kpi, html.tema-escuro .vg-card, html.tema-escuro .vg-k, html.tema-escuro .vg-strip, html.tema-escuro .vd-ficha, html.tema-escuro .login, html.tema-escuro .modal, html.tema-escuro .drawer, html.tema-escuro .drawer-b, html.tema-escuro .cons-item, html.tema-escuro .table-wrap, html.tema-escuro .vg-bell-m, html.tema-escuro .vg-cmd, html.tema-escuro .seg-card, html.tema-escuro .empty, html.tema-escuro .stat, html.tema-escuro .tile, html.tema-escuro .client-card, html.tema-escuro .guia { background: var(--surface) !important; border-color: var(--line) !important; color: var(--ink); box-shadow: none !important; }
html.tema-escuro .modal header, html.tema-escuro .drawer header, html.tema-escuro .modal footer { background: var(--surface) !important; border-color: var(--line) !important; }
html.tema-escuro .overlay { background: rgba(0,0,0,.66) !important; }
html.tema-escuro h1, html.tema-escuro h2, html.tema-escuro h3, html.tema-escuro h4, html.tema-escuro h5, html.tema-escuro .strong, html.tema-escuro b, html.tema-escuro strong { color: inherit; }
html.tema-escuro .muted, html.tema-escuro .small.muted, html.tema-escuro small.muted { color: var(--muted) !important; }
html.tema-escuro table.t, html.tema-escuro table.t thead, html.tema-escuro table.t tbody, html.tema-escuro table.t tr, html.tema-escuro table.t td, html.tema-escuro table.t th { background: transparent !important; border-color: var(--line-2) !important; color: var(--ink-2); }
html.tema-escuro table.t thead th { color: var(--muted) !important; background: var(--surface-2) !important; }
html.tema-escuro table.t td.strong, html.tema-escuro table.t td .strong, html.tema-escuro table.t td b { color: var(--ink); }
html.tema-escuro table.t tr.click:hover td, html.tema-escuro table.t tbody tr:hover td { background: rgba(255,255,255,.025) !important; }
html.tema-escuro table.tcard tr { background: var(--surface) !important; border-color: var(--line) !important; }
html.tema-escuro table.tcard td::before { color: var(--muted) !important; }
html.tema-escuro .input, html.tema-escuro select.input, html.tema-escuro textarea.input, html.tema-escuro input.input, html.tema-escuro .money-in, html.tema-escuro .search-big, html.tema-escuro .vd-busca .search-big { background: #0f0f11 !important; border-color: #2a2a30 !important; color: var(--ink) !important; }
html.tema-escuro .input::placeholder, html.tema-escuro textarea::placeholder { color: #5f5f68 !important; }
html.tema-escuro .input:focus, html.tema-escuro .money-in:focus-within, html.tema-escuro .vd-busca .search-big:focus-within { border-color: var(--red) !important; box-shadow: 0 0 0 3px rgba(196,43,69,.22) !important; }
html.tema-escuro select.input option { background: #131315; color: var(--ink); }
html.tema-escuro input[type=date].input::-webkit-calendar-picker-indicator { filter: invert(.8); }
html.tema-escuro .btn-primary { background: var(--red) !important; color: #fff !important; box-shadow: none !important; }
html.tema-escuro .btn-primary:hover:not(:disabled) { background: var(--red-700) !important; }
html.tema-escuro .btn-secondary { background: #1a1a1d !important; border-color: #2c2c32 !important; color: var(--ink) !important; }
html.tema-escuro .btn-secondary:hover:not(:disabled) { background: #212125 !important; }
html.tema-escuro .btn-ghost { color: var(--ink-2) !important; background: transparent !important; }
html.tema-escuro .btn-ghost:hover { background: rgba(255,255,255,.05) !important; }
html.tema-escuro .icon-btn { color: var(--ink-2) !important; }
html.tema-escuro .icon-btn:hover { background: rgba(255,255,255,.06) !important; color: var(--ink) !important; }
html.tema-escuro .link, html.tema-escuro a { color: #e2667a; }
html.tema-escuro .seg, html.tema-escuro .vg-seg { background: #161618 !important; border: 1px solid var(--line) !important; }
html.tema-escuro .seg button, html.tema-escuro .vg-seg button { color: var(--muted) !important; }
html.tema-escuro .seg button:hover, html.tema-escuro .vg-seg button:hover { color: var(--ink) !important; }
html.tema-escuro .seg button.on, html.tema-escuro .vg-seg button.on, html.tema-escuro .seg button[aria-selected=true] { background: #26262b !important; color: #fff !important; box-shadow: none !important; }
html.tema-escuro .badge, html.tema-escuro .tag { border: 0 !important; }
html.tema-escuro .badge.tone-neutral, html.tema-escuro .tone-neutral { background: #1f1f23 !important; color: var(--ink-2) !important; }
html.tema-escuro .badge.tone-good, html.tema-escuro .tone-good { background: var(--good-bg) !important; color: var(--good) !important; }
html.tema-escuro .badge.tone-bad, html.tema-escuro .tone-bad { background: var(--bad-bg) !important; color: var(--bad) !important; }
html.tema-escuro .badge.tone-warn, html.tema-escuro .tone-warn { background: var(--warn-bg) !important; color: var(--warn) !important; }
html.tema-escuro .badge.tone-info, html.tema-escuro .tone-info { background: var(--info-bg) !important; color: var(--info) !important; }
html.tema-escuro .errbox { background: var(--bad-bg) !important; color: var(--bad) !important; border-color: transparent !important; }
html.tema-escuro .toast { background: #1c1c20 !important; color: var(--ink) !important; border: 1px solid var(--line) !important; }
html.tema-escuro .backup-alert { background: var(--warn-bg) !important; color: var(--warn) !important; border-color: transparent !important; }
html.tema-escuro .cnt { background: var(--red) !important; color: #fff !important; }
html.tema-escuro .kpi-red { border-top-color: var(--red) !important; }
html.tema-escuro .kpi-v, html.tema-escuro .kpi-l, html.tema-escuro .kpi-s { color: inherit; }
html.tema-escuro .kpi-l, html.tema-escuro .kpi-s { color: var(--muted) !important; }
html.tema-escuro .kpi-v { color: var(--ink) !important; }
html.tema-escuro .progress, html.tema-escuro .track { background: #222226 !important; }
html.tema-escuro .chart-tip { background: #232327 !important; color: var(--ink) !important; border: 1px solid #303036; }
html.tema-escuro .legend, html.tema-escuro .legend span { color: var(--ink-2) !important; }
html.tema-escuro .hbar span { color: var(--ink-2); }
html.tema-escuro svg text { fill: #7e7e88; }
html.tema-escuro svg line[stroke="#eceef0"], html.tema-escuro svg line[stroke="#eef0f2"] { stroke: #222226 !important; }
html.tema-escuro .vg-eyebrow { color: #e2667a; }
html.tema-escuro .vg-title { color: #fff; }
html.tema-escuro .vg-sub, html.tema-escuro .vg-meta, html.tema-escuro .vg-date { color: var(--ink-2); }
html.tema-escuro .vg-status { background: #1b1b1e !important; color: var(--ink-2) !important; }
html.tema-escuro .vg-st-good { background: var(--good-bg) !important; color: var(--good) !important; }
html.tema-escuro .vg-st-warn { background: var(--warn-bg) !important; color: var(--warn) !important; }
html.tema-escuro .vg-st-info { background: var(--info-bg) !important; color: var(--info) !important; }
html.tema-escuro .vg-k:hover { border-color: #34343a !important; background: #161619 !important; }
html.tema-escuro .vg-x { border-top-width: 2px !important; }
html.tema-escuro .vg-x-op { border-top-color: #6c6c76 !important; }
html.tema-escuro .vg-x .vg-kl .ic, html.tema-escuro .vg-k-main .vg-kl .ic { background: #1f1f23 !important; color: var(--ink-2) !important; }
html.tema-escuro .vg-x-prev .vg-kl .ic { background: var(--red-50) !important; color: #e2667a !important; }
html.tema-escuro .vg-x-rec .vg-kl .ic { background: var(--good-bg) !important; color: var(--good) !important; }
html.tema-escuro .vg-x-pend .vg-kl .ic { background: var(--warn-bg) !important; color: var(--warn) !important; }
html.tema-escuro .vg-kv, html.tema-escuro .vg-big strong, html.tema-escuro .vg-cell b, html.tema-escuro .vg-av b, html.tema-escuro .vg-strip b { color: #fff !important; }
html.tema-escuro .vg-kl, html.tema-escuro .vg-strip span, html.tema-escuro .vg-opt { color: var(--ink-2) !important; }
html.tema-escuro .vg-bar, html.tema-escuro .vg-hbt { background: #222226 !important; }
html.tema-escuro .vg-bar > span { background: #d7d7dc; }
html.tema-escuro .vg-hbt i { background: #8a8a94 !important; }
html.tema-escuro .vg-bar-good > span { background: var(--good) !important; }
html.tema-escuro .vg-bar-warn > span { background: var(--warn) !important; }
html.tema-escuro .vg-bar-bad > span { background: var(--bad) !important; }
html.tema-escuro .vg-prog b { color: var(--good) !important; }
html.tema-escuro .vg-strip button { border-color: var(--line-2) !important; }
html.tema-escuro .vg-strip button:hover { background: #18181b !important; }
html.tema-escuro .vg-sh { border-color: var(--line) !important; }
html.tema-escuro .vg-sh h3 { color: #fff !important; }
html.tema-escuro .vg-card h4 { color: #fff !important; }
html.tema-escuro .vg-card p { color: var(--muted) !important; }
html.tema-escuro .vg-cell { background: #161618 !important; border-color: var(--line-2) !important; }
html.tema-escuro .vg-c-warn { background: var(--warn-bg) !important; border-color: transparent !important; }
html.tema-escuro .vg-c-bad { background: var(--bad-bg) !important; border-color: transparent !important; }
html.tema-escuro .vg-ai, html.tema-escuro .vg-av0, html.tema-escuro .vg-empty .ic, html.tema-escuro .vg-ins-ic { background: #1f1f23 !important; color: var(--ink-2) !important; }
html.tema-escuro .vg-p-alta .vg-ai { background: var(--bad-bg) !important; color: var(--bad) !important; }
html.tema-escuro .vg-p-media .vg-ai { background: var(--warn-bg) !important; color: var(--warn) !important; }
html.tema-escuro .vg-pri { background: #1f1f23 !important; color: var(--ink-2) !important; }
html.tema-escuro .vg-p-alta .vg-pri { background: var(--bad-bg) !important; color: var(--bad) !important; }
html.tema-escuro .vg-p-media .vg-pri { background: var(--warn-bg) !important; color: var(--warn) !important; }
html.tema-escuro .vg-att li, html.tema-escuro .vg-feed li::before { border-color: var(--line-2) !important; }
html.tema-escuro .vg-feed li::before { background: var(--line) !important; }
html.tema-escuro .vg-feed li > i { box-shadow: 0 0 0 3px var(--surface) !important; }
html.tema-escuro .vg-at b, html.tema-escuro .vg-feed b, html.tema-escuro .vg-who b, html.tema-escuro .vd-cn b, html.tema-escuro .vd-fh b, html.tema-escuro .vd-chs b, html.tema-escuro .vd-ctx b { color: var(--ink) !important; }
html.tema-escuro .vg-go { background: #1a1a1d !important; border-color: #2c2c32 !important; color: var(--ink-2) !important; }
html.tema-escuro .vg-go:hover { color: #fff !important; border-color: #3a3a40 !important; }
html.tema-escuro .vg-link { color: #e2667a !important; }
html.tema-escuro .vg-link:hover { background: var(--red-50) !important; }
html.tema-escuro .vg-delta.vg-neu, html.tema-escuro .vg-neu { background: #1f1f23 !important; color: var(--ink-2) !important; }
html.tema-escuro .vg-grid { stroke: #1f1f23 !important; }
html.tema-escuro .vg-ax { fill: #6d6d76 !important; }
html.tema-escuro .vg-hov.on { fill: rgba(255,255,255,.035) !important; }
html.tema-escuro .vg-l-prev { stroke: #a9a9b2 !important; }
html.tema-escuro .vg-dot-prev { fill: var(--surface) !important; stroke: #a9a9b2 !important; }
html.tema-escuro .sw-prev { background: repeating-linear-gradient(90deg, #a9a9b2 0 4px, transparent 4px 6px) !important; }
html.tema-escuro .vg-a-inad { fill: rgba(242,99,111,.10) !important; }
html.tema-escuro .vg-l-inad { stroke: var(--bad) !important; }
html.tema-escuro .vg-dot-inad { fill: var(--surface) !important; stroke: var(--bad) !important; }
html.tema-escuro .vg-tip { background: #232327 !important; border: 1px solid #303036; }
html.tema-escuro .vg-sk { background: linear-gradient(90deg, #151517 0%, #1d1d20 50%, #151517 100%) !important; background-size: 200% 100% !important; }
html.tema-escuro .vg-ins, html.tema-escuro .vg-ins-empty { background: var(--surface) !important; border-color: var(--line) !important; }
html.tema-escuro .vg-ins dt { color: var(--muted) !important; }
html.tema-escuro .vg-ins dd, html.tema-escuro .vg-ins h4 { color: var(--ink) !important; }
html.tema-escuro .vg-pend { background: var(--warn-bg) !important; color: var(--warn) !important; }
html.tema-escuro .vg-pend.bad { background: var(--bad-bg) !important; color: var(--bad) !important; }
html.tema-escuro .vg-pager { border-color: var(--line) !important; }
html.tema-escuro .vg-search-btn { background: #141416 !important; border-color: #2a2a30 !important; color: var(--muted) !important; }
html.tema-escuro .vg-search-btn kbd { background: #1f1f23 !important; color: var(--muted) !important; border-color: #2c2c32 !important; }
html.tema-escuro .vg-cmd-in { border-color: var(--line) !important; }
html.tema-escuro .vg-cmd-in input { background: transparent !important; color: var(--ink) !important; }
html.tema-escuro .vg-cmd-l button, html.tema-escuro .vg-bell-m button { color: var(--ink-2) !important; }
html.tema-escuro .vg-cmd-l button.on, html.tema-escuro .vg-cmd-l button:hover, html.tema-escuro .vg-bell-m button:hover { background: #1c1c20 !important; color: #fff !important; }
html.tema-escuro .vg-bell-m button[role=menuitem].novo { background: linear-gradient(90deg, rgba(196,43,69,.12), transparent 70%) !important; color: var(--ink) !important; }
html.tema-escuro .vg-bell-g { border-color: var(--line-2) !important; }
html.tema-escuro .vd-fv > div, html.tema-escuro .vd-ctx { background: #18181b !important; }
html.tema-escuro .vd-chs li { border-color: var(--line-2) !important; }
html.tema-escuro .vd-cli { border-color: var(--line-2) !important; }
html.tema-escuro .vd-cli:hover { background: #18181b !important; }
html.tema-escuro .login-wrap { background: var(--bg) !important; }
html.tema-escuro .login { background: var(--surface) !important; border-color: var(--line) !important; }
html.tema-escuro .login img { background: #fff; border-radius: 10px; padding: 6px 12px; height: 46px !important; box-sizing: content-box; }
html.tema-escuro .login .tag { color: #e2667a !important; }
html.tema-escuro .login .amb-voltar { color: var(--ink-2) !important; }
html.tema-escuro .login .amb-voltar:hover { background: #1c1c20 !important; color: #fff !important; }
html.tema-escuro .pw-eye { color: var(--muted) !important; }
html.tema-escuro .pw-eye:hover { background: #1f1f23 !important; color: #fff !important; }
html.tema-escuro label, html.tema-escuro .field .lbl, html.tema-escuro .lbl { color: var(--ink-2); }
html.tema-escuro .route-card, html.tema-escuro .route-card > header, html.tema-escuro .route-card header { background: var(--surface) !important; border-color: var(--line) !important; color: var(--ink); }
html.tema-escuro .sug { color: var(--ink-2) !important; background: #18181b !important; border-color: var(--line) !important; }
html.tema-escuro .sug b, html.tema-escuro .sug strong { color: var(--ink) !important; }
html.tema-escuro .dk-fix { background: #1a1a1d !important; color: var(--ink-2) !important; border-color: var(--line) !important; }
html.tema-escuro .dk-bd { border-color: var(--line) !important; }
html.tema-escuro .dk-tx { color: var(--ink-2) !important; }
html.tema-escuro .leaflet-container { background: #1a1a1d !important; }
html.tema-escuro .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.9) saturate(.6); }
html.tema-escuro .leaflet-control-zoom a, html.tema-escuro .leaflet-bar a { background: #1a1a1d !important; color: var(--ink) !important; border-color: var(--line) !important; }
html.tema-escuro .leaflet-control-attribution { background: rgba(10,10,11,.7) !important; color: var(--muted) !important; }
html.tema-escuro .map { background: #1a1a1d !important; }
html.tema-escuro .vg { --cash: #3fae7a; --pix: #4f8fd6; }
html.tema-escuro .vg-prog b.vg-b-warn { color: var(--warn) !important; }
html.tema-escuro .vg-prog b.vg-b-ink { color: var(--muted) !important; }
html.tema-escuro .vg-strip button.bad b { color: var(--bad) !important; }


/* ================================================================
   v7 (07/11/2026) — opções fáceis de achar: cor por área no menu,
   letras maiores, botões e filtros destacados; seletor Claro/Escuro
   ================================================================ */
/* cor de cada área (vale nos dois temas) */
html:root .grp-visaogeral, html:root .cat-visaogeral { --c: #e0536a; }
html:root .grp-operacao, html:root .cat-operacao { --c: #f0a030; }
html:root .grp-clientes, html:root .cat-clientes { --c: #4d9be8; }
html:root .grp-financeiro, html:root .cat-financeiro { --c: #2fbf7a; }
html:root .grp-gestao, html:root .cat-gestao { --c: #a48be8; }
html:root .cat-x { --c: #9a9aa3; }
html:root .nav .grp { display: flex !important; align-items: center; gap: 8px; color: var(--c, #9a9aa3) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .12em; padding-top: 18px !important; opacity: 1 !important; }
html:root .nav .grp::before { content: ""; width: 8px; height: 8px; border-radius: 3px; background: var(--c, #9a9aa3); flex: none; }
html:root .nav a { font-size: 14.5px !important; padding-top: 10px !important; padding-bottom: 10px !important; border-radius: 10px !important; }
html:root .nav a svg { color: var(--c, #9a9aa3) !important; width: 19px !important; height: 19px !important; }
html:root .nav a:hover { background: color-mix(in srgb, var(--c, #888) 14%, transparent) !important; color: #fff !important; }
html:root .nav a.on { background: color-mix(in srgb, var(--c, #888) 22%, transparent) !important; color: #fff !important; font-weight: 650 !important; }
html:root .nav a.on::before { background: var(--c, #e0536a) !important; }
html:root .nav a .cnt { font-size: 12px !important; min-width: 22px; height: 20px; }
html:root.nav-mini .nav .grp::before { margin: 0 auto; }
@media (min-width: 901px) { html:root.nav-mini .nav .grp { justify-content: center; } }
html:root /* letras maiores (nada de letra miúda) */
.topbar h1 { font-size: 21px !important; }
html:root .topbar .top-desc { font-size: 13.5px !important; }
html:root .vg-eyebrow { font-size: 12px !important; }
html:root .vg-kl { font-size: 14px !important; }
html:root .vg-ks, html:root .vg-kc em, html:root .vg-strip span, html:root .vg-strip em { font-size: 13px !important; }
html:root .vg-card h4 { font-size: 15.5px !important; }
html:root .vg-card p, html:root .vg-sh span, html:root .vg-at > span, html:root .vg-cell span, html:root .vg-feed span, html:root .vd-cn span, html:root .vd-fh span, html:root .vd-chs li > div > span { font-size: 13px !important; }
html:root .vg-feed small, html:root .vg-av span, html:root .vd-chr small, html:root .vd-cs span { font-size: 12.5px !important; }
html:root .vg-sh h3 { font-size: 18px !important; }
html:root .vg-pri { font-size: 11px !important; }
html:root .vg-delta { font-size: 12.5px !important; }
html:root .vg-at b, html:root .vd-cn b { font-size: 15px !important; }
html:root .small, html:root .muted.small, html:root .kpi-s, html:root .kpi-l { font-size: 13px !important; }
html:root table.t td { font-size: 14px !important; }
html:root table.t th { font-size: 12px !important; }
html:root .badge, html:root .tag, html:root .vg-status { font-size: 12.5px !important; }
html:root .vg-ax { font-size: 12px !important; }
@media (max-width: 700px) { html:root .vg-ax { font-size: 21px !important; } }
html:root /* botões, html:root filtros e abas bem visíveis */
.vg-seg button, html:root .seg button { font-size: 14px !important; padding: 8px 14px !important; }
html:root .vg-seg button.on, html:root .seg button.on, html:root .seg button[aria-selected=true] { background: var(--red) !important; color: #fff !important; }
html:root .vg-filters select.input, html:root .vg-filters input.input { height: 40px !important; font-size: 14px !important; }
html:root .btn { font-size: 14px !important; }
html:root .btn-sm { font-size: 13.5px !important; }
html:root .btn-secondary { border-width: 1.5px !important; }
html:root .vg-go { font-size: 13.5px !important; padding: 8px 10px 8px 12px !important; border-width: 1.5px !important; }
html:root .vg-go:hover { border-color: var(--red) !important; color: var(--red) !important; }
html:root.tema-escuro .vg-go:hover { color: #fff !important; background: var(--red) !important; border-color: var(--red) !important; }
html:root .vg-link { font-size: 13.5px !important; font-weight: 650 !important; }
html:root /* seletor de tema no topo */
.vg-tema { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 12px; border-radius: 10px; border: 1.5px solid var(--line); background: var(--surface); color: var(--ink); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; white-space: nowrap; flex: none; }
html:root .vg-tema:hover { border-color: var(--red); }
html:root .vg-tema:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
html:root .vg-tema .ic { width: 17px; height: 17px; color: var(--warn); }
html:root:not(.tema-escuro) .vg-tema .ic { color: #5b5b66; }
@media (max-width: 700px) { html:root .vg-tema { width: 38px; padding: 0; justify-content: center; }
html:root .vg-tema span { display: none; } }

/* v8 — painel executivo mais curto: prioridades lado a lado e análises em abas */
html:root .vg-top2 { align-items: start; }
html:root .vg-top2 .vg-intel .vg-sh { margin-top: 0; border: 0; padding: 0; }
html:root .vg-top2 .vg-intel .vg-sh h3 { font-size: 15.5px !important; margin: 0 0 10px; }
html:root .vg-top2 .vg-ins-g { grid-template-columns: minmax(0, 1fr) !important; gap: 10px; }
html:root .vg-top2 .vg-ins { padding: 14px 16px; }
html:root .vg-top2 .vg-ins dl { margin: 6px 0 8px; }
html:root .vg-more { all: unset; box-sizing: border-box; cursor: pointer; display: block; width: 100%; text-align: center; margin-top: 10px; padding: 10px; border-radius: 10px; border: 1.5px dashed var(--line); color: var(--ink-2); font-weight: 600; font-size: 13.5px; }
html:root .vg-more:hover { border-color: var(--red); color: var(--red); }
html:root .vg-abas { display: flex; flex-direction: column; gap: 14px; }
html:root .vg-abas-bar { display: flex; gap: 6px; flex-wrap: wrap; padding: 5px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; }
html:root .vg-abas-bar button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 10px; font-size: 14.5px; font-weight: 650; color: var(--ink-2); flex: 1 1 auto; justify-content: center; }
html:root .vg-abas-bar button .ic { width: 17px; height: 17px; }
html:root .vg-abas-bar button:hover { background: var(--surface-2); color: var(--ink); }
html:root .vg-abas-bar button.on { background: var(--red); color: #fff; }
html:root .vg-abas-bar button:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
html:root .vg-aba { display: flex; flex-direction: column; gap: 14px; animation: entra .2s ease both; }
html:root .vg-aba > .vg-sh { margin-top: 0; }
@media (max-width: 700px) { html:root .vg-abas-bar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } html:root .vg-abas-bar button { padding: 10px 6px; font-size: 13.5px; } }

/* assistência técnica com área própria */
html:root .grp-assistenciatecnica, html:root .cat-assistenciatecnica { --c: #2cc5c9; }

/* não pagaram + remanejamento */
html:root .np-tabs { display: flex; gap: 6px; padding: 5px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; }
html:root .np-tabs button { all: unset; box-sizing: border-box; cursor: pointer; flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 14px; border-radius: 10px; font-size: 15px; font-weight: 650; color: var(--ink-2); }
html:root .np-tabs button .ic { width: 18px; height: 18px; }
html:root .np-tabs button.on { background: var(--red); color: #fff; }
html:root .np-tabs button em { font-style: normal; font-size: 12px; font-weight: 700; background: #f0a030; color: #1a1205; border-radius: 99px; padding: 1px 8px; }
html:root .rm-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid #f0a030; }
html:root .rm-head b { display: block; font-size: 15px; color: var(--ink); } html:root .rm-head span { font-size: 13px; color: var(--muted); }
html:root .rm-tot { display: grid; grid-template-columns: auto auto; column-gap: 8px; row-gap: 2px; align-items: baseline; }
html:root .rm-tot strong { font-family: var(--font-d); font-size: 20px; color: var(--ink); text-align: right; } html:root .rm-tot span { font-size: 13px; color: var(--muted); }
html:root .rm-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 6px; font-size: 13px; color: var(--ink-2); }
html:root .rm-val { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
html:root .rm-val strong { font-family: var(--font-d); font-size: 19px; color: var(--bad); } html:root .rm-val span { font-size: 12.5px; color: var(--muted); max-width: 220px; }
html:root .rm-parcial .rm-val strong { color: var(--warn); }
@media (max-width: 700px) { html:root .rm-val { align-items: flex-start; text-align: left; } html:root .np-tabs button { font-size: 14px; padding: 10px 8px; } }
html:root .rm-dias { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; }
html:root .rm-dias button { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); text-align: center; min-width: 0; }
html:root .rm-dias button b { font-size: 14.5px; font-weight: 700; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
html:root .rm-dias button span { font-size: 12px; color: var(--muted); }
html:root .rm-dias button em { font-style: normal; font-size: 13px; font-weight: 700; min-width: 26px; padding: 1px 8px; border-radius: 99px; background: #f0a030; color: #1a1205; margin-top: 3px; }
html:root .rm-dias button.zero em { background: var(--line); color: var(--muted); }
html:root .rm-dias button.on { background: var(--red); border-color: var(--red); }
html:root .rm-dias button.on b, html:root .rm-dias button.on span { color: #fff; }
html:root .rm-dias button:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
@media (max-width: 900px) { html:root .rm-dias { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---- Painel executivo enxuto (ve-*) ---- */
.ve{display:flex;flex-direction:column;gap:20px}
.ve-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.ve-head .vg-sub{text-transform:capitalize;margin:2px 0 0}
.ve-filt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:40px}
.ve-sync{font-size:12px;color:var(--muted);min-width:118px;text-align:right;white-space:nowrap;transition:color .2s}
.ve-sync.on{color:var(--info)}
.ve-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;transition:opacity .2s}
.ve-grid.ve-busy{opacity:.72}
@media (max-width:900px){.ve-grid{grid-template-columns:minmax(0,1fr)}.ve-head{align-items:flex-start}.ve-sync{text-align:left;min-width:0}}
.ve-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px;min-width:0;display:flex;flex-direction:column;gap:12px;min-height:240px}
.ve-card h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:0;color:var(--ink)}
.ve-card h3 .ic{color:var(--muted);font-size:16px}
.ve-tot{font-size:12px;color:var(--muted);margin-top:-6px}
.ve-empty{color:var(--muted);font-size:13px;padding:22px 0;text-align:center;margin:auto 0}
.ve-big{display:flex;align-items:baseline;gap:10px}
.ve-big strong{font-size:40px;line-height:1;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.ve-big span{color:var(--muted);font-size:13px}
.ve-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}
.ve-meta .up{color:var(--good)}.ve-meta .down{color:var(--bad)}
.ve-ped{display:flex;flex-direction:column;gap:10px;flex:1}
.ve-spark{display:flex;align-items:flex-end;gap:3px;height:72px;margin-top:auto}
.ve-spark i{flex:1;min-width:2px;background:var(--red);border-radius:3px 3px 0 0;opacity:.85}
.ve-spark i.z{background:var(--line);opacity:1}
.ve-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ve-list li{display:flex;gap:12px;align-items:center;min-width:0}
.ve-pos{width:22px;height:22px;flex:none;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;color:var(--ink-2)}
.ve-li{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.ve-lt{display:flex;justify-content:space-between;gap:10px;min-width:0}
.ve-lt b{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ve-lt span{font-size:12px;color:var(--muted);white-space:nowrap}
@media (max-width:480px){.ve-lt{flex-direction:column;gap:1px}.ve-lt span{white-space:normal}}
.ve-bar{height:6px;border-radius:999px;background:var(--line-2);overflow:hidden}
.ve-bar i{display:block;height:100%;border-radius:999px;background:var(--red)}
.ve-bar-green i{background:var(--good)}.ve-bar-amber i{background:var(--warn)}

/* ---- Ficha virtual sempre branca, mesmo no tema escuro ---- */
html.tema-escuro .ficha-stage,html.tema-escuro .ficha-paper{color-scheme:light;
  --ink:#23272e;--ink-2:#545b66;--muted:#858c96;--line:#e7e8eb;--line-2:#f0f1f3;--bg:#f5f5f6;--surface:#fff;--surface-2:#fafafa;
  --good:#14753c;--good-bg:#e7f5ec;--warn:#8a4b00;--warn-bg:#fff3e0;--bad:#b42318;--bad-bg:#fdecea;--info:#1f5f99;--info-bg:#e9f1fa;--red:#9e1b32;--border:#e7e8eb;--bg-soft:#f3f6f9;--card:#fff}
html.tema-escuro .ficha-paper{background-color:#fff;color:#1d2026}
html.tema-escuro .ficha-paper :is(b,strong,h1,h2,h3,h4,h5,small,span,div,td,th,p):not([class]){color:inherit}
html.tema-escuro .ficha-paper table.t,html.tema-escuro .ficha-paper table.t :is(thead,tbody,tr,td,th){background:transparent;color:inherit;border-color:#d9dbe0}

.ve-filt .ve-sync{flex:0 0 100%;min-height:17px;text-align:left}

/* painel executivo v2: regiões, produtos, assistência, histórico */
.ve-bar-blue i{background:#1f6feb}.ve-bar-violet i{background:#7c3aed}
.ve-list li.ve-pick{cursor:pointer;border-radius:10px;transition:background .15s}
.ve-list li.ve-pick:hover,.ve-list li.ve-pick:focus-visible{background:var(--surface-2,rgba(0,0,0,.04));outline:none}
.ve-go{font-style:normal;color:var(--muted,#6b7280);font-size:20px;line-height:1;padding:0 4px;align-self:center}
.ve-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 12px}
.ve-trio>div{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ve-trio strong{font-size:22px;font-weight:700;line-height:1.1}.ve-trio span{font-size:12px;color:var(--muted,#6b7280)}
.ve-trio .warn strong{color:var(--warn,#d97706)}
.ve-link{margin-top:8px;align-self:flex-start}
body.ve-lock{overflow:hidden}
.ve-modal{position:fixed;inset:0;z-index:1000;background:rgba(15,18,24,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.ve-dlg{background:var(--surface,#fff);color:inherit;border-radius:16px;width:min(640px,100%);max-height:min(82vh,760px);display:flex;flex-direction:column;gap:12px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ve-dlg-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ve-dlg-h h3{margin:2px 0 0;font-size:18px}
.ve-x{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:var(--muted,#6b7280);padding:0 4px}
.ve-rows{list-style:none;margin:0;padding:0;overflow:auto;-webkit-overflow-scrolling:touch}
.ve-rows li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line,#e5e7eb)}
.ve-rows li:last-child{border-bottom:0}
.ve-rows .ve-lt{min-width:0}.ve-rows .ve-lt b{display:block;overflow-wrap:anywhere}
.ve-rows .ve-lt span{font-size:12px;color:var(--muted,#6b7280)}
.ve-nf{font-size:12px;color:var(--muted,#6b7280);white-space:nowrap}
.ve-hist{padding:18px}
.ve-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:10px}
.ve-ht{min-width:640px}.ve-ht td small{display:block;font-size:11px;color:var(--muted,#6b7280)}
@media (max-width:560px){.ve-dlg{max-height:90vh;padding:14px;border-radius:14px}.ve-trio strong{font-size:18px}.ve-modal{align-items:flex-end;padding:0}.ve-dlg{border-radius:16px 16px 0 0;width:100%}}

/* correção: a animação de entrada das páginas deixava um transform que prendia os modais no meio da página */
.page > *{animation-fill-mode:backwards!important}
.modal{max-height:calc(100dvh - 24px);overflow:auto}
/* trocar cliente de rota / local */
.vt-dlg{width:min(680px,100%)}
.vt-sub{font-size:13px;color:var(--muted,#6b7280);margin-top:2px}
.vt-body{overflow:auto;display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch;min-height:0}
.vt-body h4{margin:0 0 8px;font-size:14px}
.vt-rotas{display:flex;flex-wrap:wrap;gap:8px}
.vt-filt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;margin:8px 0}
.vt-lbl{font-size:12px;font-weight:600;color:var(--muted,#6b7280);margin-bottom:4px}
.vt-sug{border:1px dashed var(--line,#e5e7eb);border-radius:12px;padding:6px 10px}
.vt-list{max-height:300px}
.vt-loc{cursor:pointer;border-radius:10px;padding:8px 8px!important}
.vt-loc:hover{background:var(--surface-2,rgba(0,0,0,.04))}
.vt-loc.on{background:rgba(31,111,235,.10);outline:2px solid #1f6feb}
.vt-tag{font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(124,58,237,.12);color:#7c3aed}
.vt-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line,#e5e7eb);padding-top:12px}
@media (max-width:560px){.vt-filt{grid-template-columns:1fr}.vt-foot .btn{flex:1}}

.vt-btn{font-size:15px;font-weight:700}

.vc-info{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px;font-size:11px;color:var(--muted,#6b7280)}.vc-info .bad{color:var(--bad,#b42318);font-weight:600}
.vc-btn{font-weight:700;font-size:16px}

/* catálogo e estoque */
.ca-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ca-err{font-size:12px;color:var(--bad,#b42318);font-weight:600}
.ca-filt{display:flex;flex-direction:column;gap:10px;margin:6px 0 10px}.ca-filt .vg-seg{flex-wrap:wrap}
.ca-cnt{font-size:12px;color:var(--muted,#6b7280);margin-bottom:6px}
.ca-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ca-it{background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:14px;overflow:hidden}
.ca-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px}
.ca-row[role=button]{cursor:pointer}.ca-row[role=button]:hover{background:var(--surface-2,rgba(0,0,0,.03))}
.ca-ft{width:56px;height:56px;border-radius:10px;object-fit:cover;background:#f3f4f6}.ca-ph{display:grid;place-items:center;color:#9ca3af;font-size:24px}
.ca-tx{min-width:0}.ca-tx b{display:block;overflow-wrap:anywhere;line-height:1.3}.ca-tx span{font-size:12px;color:var(--muted,#6b7280)}
.ca-aviso{margin-top:6px;font-size:12px;font-weight:600;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:6px 8px}
.ca-st{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.ca-st small{font-size:12px;color:var(--muted,#6b7280);white-space:nowrap}
.ca-det{border-top:1px solid var(--line,#e5e7eb);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.ca-deps{display:flex;flex-wrap:wrap;gap:8px}.ca-deps div{background:var(--surface-2,#f6f7f9);border-radius:10px;padding:6px 10px;display:flex;gap:8px;font-size:13px}
@media (max-width:560px){.ca-row{grid-template-columns:44px minmax(0,1fr);}.ca-ft{width:44px;height:44px}.ca-st{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start}}
.ca-fotos{display:flex;gap:6px;overflow-x:auto}.ca-fotos img{width:72px;height:72px;object-fit:cover;border-radius:10px;background:#f3f4f6}
.ca-ft{cursor:zoom-in}.ca-fotos button{border:0;padding:0;background:none;cursor:zoom-in}
.ca-lbx{background:var(--surface,#fff);border-radius:16px;width:min(860px,100%);max-height:94dvh;display:flex;flex-direction:column;overflow:hidden}
.ca-lbh{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line,#e5e7eb)}.ca-lbh b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-lbh span{font-size:12px;color:var(--muted,#6b7280)}
.ca-lbi{position:relative;background:#fff;display:grid;place-items:center;min-height:240px;flex:1;overflow:hidden}.ca-lbi img{max-width:100%;max-height:70dvh;object-fit:contain}
.ca-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:26px;line-height:1;cursor:pointer}.ca-nav.l{left:10px}.ca-nav.r{right:10px}
.ca-lbt{display:flex;gap:6px;overflow-x:auto;padding:8px 10px;border-top:1px solid var(--line,#e5e7eb)}.ca-lbt button{border:2px solid transparent;border-radius:8px;padding:0;background:none;cursor:pointer;flex:none}.ca-lbt button.on{border-color:#c8102e}.ca-lbt img{width:56px;height:56px;object-fit:cover;border-radius:6px;display:block}
.va-t{margin:18px 0 6px;font-size:15px}.va-res{margin-top:8px}
.vm-k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 12px}.vm-k>div{background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:12px;min-width:0}
.vm-k span{display:block;font-size:12px;color:var(--muted,#6b7280)}.vm-k b{display:block;font-size:20px}.vm-k small{font-size:12px;color:var(--muted,#6b7280)}
.vm-m{display:flex;align-items:flex-end;gap:6px;height:110px;padding:8px 4px 0;margin-bottom:12px}.vm-m>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.vm-m i{display:block;width:70%;max-width:34px;background:#c8102e;border-radius:6px 6px 0 0}.vm-m span{font-size:11px;color:var(--muted,#6b7280);margin-top:4px}
.vm-v{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
@media (max-width:560px){.vm-k{grid-template-columns:1fr 1fr}.vm-k>div:last-child{grid-column:1/-1}}
.or-ok{background:#ecfdf3;border:1px solid #abefc6;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.or-ok span{font-size:13px;color:#067647}.or-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.or-add{margin-bottom:12px}.or-sug{margin-top:6px;background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:0 10px}
.or-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.or-it{background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}
.or-h{display:flex;gap:10px;align-items:flex-start}.or-h img{width:48px;height:48px;border-radius:10px;object-fit:cover;flex:none;background:#f3f4f6}.or-h .ve-lt{flex:1;min-width:0}.or-h .ve-lt b{display:block;overflow-wrap:anywhere}.or-h .ve-lt span{font-size:12px;color:var(--muted,#6b7280)}
.or-f{display:grid;grid-template-columns:80px 1fr 1fr;gap:8px}.or-f label span{display:block;font-size:11px;color:var(--muted,#6b7280);margin-bottom:3px}.or-f .input{width:100%;font-size:16px}
.or-r{display:grid;grid-template-columns:1fr 1fr 2fr;gap:8px}.or-r div{background:var(--surface-2,#f6f7f9);border-radius:10px;padding:8px 10px;min-width:0}.or-r span{display:block;font-size:11px;color:var(--muted,#6b7280)}.or-r b{font-size:14px}.or-p b{color:#c8102e}
.or-tot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.or-tot div{background:#1d2026;color:#fff;border-radius:12px;padding:10px 12px;min-width:0}.or-tot span{display:block;font-size:11px;opacity:.75}.or-tot b{font-size:17px}
.or-cli{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.or-cli .input{font-size:16px}.or-send{width:100%;height:48px;font-size:16px}
.ca-add{margin-top:6px}.ca-orc{position:relative}
@media (max-width:560px){.or-r{grid-template-columns:1fr 1fr}.or-p{grid-column:1/-1}.or-tot{grid-template-columns:1fr}.or-f{grid-template-columns:70px 1fr 1fr}}

.or .or-it .or-f{grid-template-columns:90px}.or .or-r1{grid-template-columns:1fr}.or-pg{margin-top:14px}.or .or-pg .or-f{grid-template-columns:1fr 1fr}.or .or-tot{grid-template-columns:repeat(4,minmax(0,1fr))}.or-tp b{color:#ffd166}
@media (max-width:560px){.or .or-tot{grid-template-columns:1fr 1fr}.or .or-tp{grid-column:1/-1}}

/* rolagem de modais e fichas no celular: só a janela aberta rola, a página de trás fica parada */
html:has(.overlay),body:has(.overlay){overflow:hidden!important;overscroll-behavior:none}
.overlay{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.overlay:not(.overlay-right){place-items:start center}.overlay:not(.overlay-right)>*{margin-top:auto!important;margin-bottom:auto!important}
.modal{max-height:calc(100dvh - 32px)}.drawer{height:100dvh;max-height:100dvh}
.modal-b,.drawer-b{min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:700px){.modal{max-height:calc(100dvh - 16px)}}

/* ficha no celular: sem efeito 3D (no iPhone o 3D trava a rolagem e quem rola é a página de trás) */
@media (max-width:900px),(hover:none){.ficha-stage{perspective:none}.ficha-paper{transform:none!important;transition:none}.ficha-stage,.ficha-paper{touch-action:pan-x pan-y pinch-zoom}}

/* ===== Logística ===== */
.lg .lg-hint{font-size:13px;color:var(--muted,#6b7280)}.lg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lg-col{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.lg-st{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap;background:#64748b22;color:var(--ink-2,#475569)}
.lg-st.lg-b,.lg-stop.lg-b .lg-n{background:#2563eb1f;color:#2563eb}.lg-st.lg-i{background:#7c3aed1f;color:#7c3aed}.lg-st.lg-w{background:#f59e0b26;color:#b45309}.lg-st.lg-r{background:#dc262622;color:#dc2626}.lg-st.lg-g{background:#16a34a22;color:#15803d}
.lg-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.lg-kpi{border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);color:inherit;border-radius:14px;padding:12px 14px;text-align:left;cursor:pointer;font:inherit}
.lg-kpi span{display:block;font-size:12px;color:var(--muted,#6b7280)}.lg-kpi b{font-size:26px}.lg-kpi.w b{color:#b45309}.lg-kpi.g b{color:#15803d}.lg-kpi.r b{color:#dc2626}.lg-kpi.on{outline:2px solid #c8102e}
.lg-tabs{display:flex;gap:6px;overflow-x:auto;margin:6px 0 12px;border-bottom:1px solid var(--line,#e5e7eb)}.lg-tabs button{border:0;background:none;color:var(--muted,#6b7280);font:inherit;font-weight:600;padding:8px 10px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.lg-tabs button.on{color:inherit;border-bottom-color:#c8102e}
.lg-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.lg-chips button{border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);color:inherit;border-radius:999px;padding:5px 11px;font:inherit;font-size:13px;cursor:pointer}.lg-chips button.on{background:#c8102e;border-color:#c8102e;color:#fff}
.lg-li{cursor:pointer}.lg-alert{background:#dc26261a;color:#b91c1c;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;margin:8px 0;display:block;width:100%;text-align:left;border:0;font-family:inherit}.lg-alertb{cursor:pointer}
.lg-okbox{background:#16a34a1a;color:#15803d;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;margin:8px 0}
.lg-ia{background:#7c3aed14;border:1px solid #7c3aed40;border-radius:12px;padding:10px 12px;margin:8px 0;display:flex;flex-direction:column;gap:6px}.lg-ia b{color:#7c3aed}.lg-ia span{font-size:13px}
.lg-rota,.lg-ra{border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:12px;margin-bottom:12px;background:var(--surface,#fff)}.lg-ra .lg-rota{border:0;padding:0;margin:8px 0 0}
.lg-rh{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.lg-rh span{display:block;font-size:13px;color:var(--muted,#6b7280)}
.lg-stops{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.lg-stop{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:10px}.lg-stop.lg-g{opacity:.7}
.lg-sh{display:flex;gap:10px;align-items:flex-start}.lg-n{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#1d2026;color:#fff;font-size:13px}
.lg-lt{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:3px}.lg-lt>span{font-size:13px;color:var(--muted,#6b7280)}.lg-mv{display:flex;flex-direction:column;gap:2px}.lg-mv .icon-btn{width:30px;height:26px;font-size:11px}
.lg-links{margin-top:8px}.lg-file{position:relative;overflow:hidden;cursor:pointer}.lg-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.lg-big{width:100%;padding:14px;font-size:15px;font-weight:800}.lg-warn{color:#dc2626!important;font-weight:700}
.lg-reg,.lg-sep,.lg-det{display:flex;flex-direction:column;gap:10px;margin-top:10px}.lg-det{margin-top:0}.lg-pb{display:flex;flex-direction:column;gap:8px}
.lg-it{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}.lg-ith span{display:block;font-size:12px;color:var(--muted,#6b7280)}
.lg-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.lg-unit{border:1px dashed #94a3b8;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px}.lg-unit.ok{border:1px solid #16a34a80;background:#16a34a0d}.lg-unit .input{font-size:16px}
.lg-ph{height:90px;border-radius:8px;background:var(--surface-2,#f6f7f9);display:grid;place-items:center;font-size:12px;color:var(--muted,#6b7280)}
.lg-mds{display:flex;flex-wrap:wrap;gap:8px}.lg-md{position:relative;display:flex;flex-direction:column;gap:3px}.lg-md img,.lg-md video{width:110px;height:110px;object-fit:cover;border-radius:8px;background:#000;display:block}.lg-unit .lg-md img{width:100%;height:110px}
.lg-md span{font-size:11px;color:var(--muted,#6b7280)}.lg-x{position:absolute;top:4px;right:4px;border:0;border-radius:999px;background:#000a;color:#fff;width:22px;height:22px;cursor:pointer}
.lg-info{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.lg-info div{background:var(--surface-2,#f6f7f9);border-radius:10px;padding:8px 10px;min-width:0}.lg-info span{display:block;font-size:11px;color:var(--muted,#6b7280)}
.lg-h4{margin:8px 0 0;font-size:14px}.lg-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.lg-ev{list-style:none;padding:0;margin:0;font-size:12px;display:flex;flex-direction:column;gap:4px}.lg-ev b{margin-right:6px}
.lg-filt{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.lg-filt>.input{flex:1 1 220px;font-size:16px}.lg-filt label span{display:block;font-size:11px;color:var(--muted,#6b7280)}
.lg-peds li{cursor:pointer;display:flex;gap:10px;align-items:center}.lg-peds li.on{background:#c8102e0f}.lg-peds input{width:18px;height:18px;flex:0 0 auto}
.lg-gbar{position:sticky;bottom:0;display:flex;gap:8px;flex-wrap:wrap;background:var(--surface,#fff);padding:10px 0;border-top:1px solid var(--line,#e5e7eb);margin-top:10px;z-index:2}.lg-gbar .input{flex:1 1 160px}.lg-gbar .btn{flex:1 1 220px;font-weight:800}
.lg-sel{max-width:220px}.lg-sepli{display:block!important}.lg-sepli .lg-sh{cursor:pointer;justify-content:space-between}
@media (max-width:700px){.lg-kpis{grid-template-columns:1fr 1fr}.lg-info{grid-template-columns:1fr}.lg-units{grid-template-columns:1fr 1fr}}

.lg .vg-sub,.or .vg-sub{text-transform:none}

.lg-cards{display:flex;flex-direction:column;gap:8px}.lg-card{border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:12px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:8px;transition:border-color .15s,background .15s}
.lg-card.on{border-color:#c8102e;background:#c8102e0a}.lg-ch{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.lg-cm{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;text-align:left}
.lg-cped{font-size:12px;color:var(--muted,#6b7280);font-weight:600}.lg-cli{all:unset;cursor:pointer;font-weight:800;font-size:15px;color:inherit;text-decoration:underline;text-decoration-color:#c8102e66;text-underline-offset:3px}.lg-cli:hover{color:#c8102e}.lg-cli0{font-size:15px}
.lg-cend{font-size:13px;color:var(--ink-2,#475569)}.lg-cval{font-size:13px}
.lg-pick{flex:0 0 auto;border:1.5px solid #c8102e;color:#c8102e;background:transparent;border-radius:999px;padding:8px 14px;font:inherit;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}.lg-pick.on{background:#c8102e;color:#fff}
.lg-ajbtn{all:unset;cursor:pointer;font-size:12.5px;font-weight:600;color:#7c3aed;align-self:flex-start}.lg-aj{display:flex;flex-direction:column;gap:8px;border-top:1px dashed var(--line,#e5e7eb);padding-top:8px}.lg-aj .input{font-size:16px;width:100%}
.lg-bai{position:relative}.lg-baiul{position:absolute;left:0;right:0;top:100%;z-index:20;list-style:none;margin:4px 0 0;padding:4px;background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:10px;box-shadow:0 8px 24px #0002;max-height:240px;overflow:auto}
.lg-baiul li{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.lg-baiul li:hover{background:var(--surface-2,#f6f7f9)}.lg-baiul span{font-size:12px;color:var(--muted,#6b7280)}
.lg-obs{background:#7c3aed14;border-left:4px solid #7c3aed;color:inherit;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600}.lg-obs-s{display:block;margin-top:2px}
.lg-dt{border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:8px 10px}.lg-dt summary{cursor:pointer;font-weight:700;font-size:13px}.lg-dt[open] summary{margin-bottom:8px}.lg-selbar{justify-content:space-between;margin-bottom:8px}
.lg-rota .lg-sel[type=date]{max-width:160px}

.f360-up{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:4000;background:#1d2026;color:#fff;border-radius:12px;padding:10px 14px;font-size:13px;box-shadow:0 8px 30px #0005;display:flex;gap:10px;align-items:center;max-width:calc(100vw - 24px)}
.f360-up button{border:0;background:#c8102e;color:#fff;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer}

.lg-rec2{display:grid;grid-template-columns:1fr 2fr;gap:8px}.lg-rec2 label span,.lg-recf label span{display:block;font-size:11px;color:var(--muted,#6b7280);margin-bottom:3px}
.lg-recbox{border:1.5px solid #f59e0b80;background:#f59e0b0d;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.lg-rech span{display:block;font-size:13px;color:var(--ink-2,#475569)}
.lg-recf{display:flex;flex-direction:column;gap:8px}.lg-recf .input{font-size:16px}.lg-alertw{background:#f59e0b22;color:#b45309;cursor:pointer}
@media (max-width:560px){.lg-rec2{grid-template-columns:1fr}}

.lg-semser{display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:600}.lg-semser input{width:18px;height:18px;margin-top:1px}.lg-lock{opacity:.6}

/* logística v6 */
.lg-st.lg-o,.lg-stop.lg-o .lg-n{background:#ea580c22;color:#c2410c}
.lg-st.lg-t,.lg-stop.lg-t .lg-n{background:#0d948826;color:#0f766e}
.lg-ith{display:flex;gap:10px;align-items:flex-start}
.lg-ithm{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.lg-pfoto{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:0 0 64px;background:#f1f5f9;cursor:zoom-in;border:1px solid var(--line,#e5e7eb)}
.lg-pfoto0{display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--muted,#6b7280);cursor:default}
.lg-it.lg-itok{border-color:#0d948866;background:#0d94880a}
.lg-it.lg-itlock{border-color:#f59e0b88;background:#f59e0b0d}
.lg-itrem{opacity:.6;text-decoration:line-through}
.btn.lg-falta{background:#dc2626;color:#fff;border:0;font-weight:700}
.btn.lg-falta:hover{background:#b91c1c;color:#fff}
.lg-insf{align-items:center;background:#dc262612;border-radius:10px;padding:8px}
.lg-troca{border-top:1px dashed var(--line,#e5e7eb);padding-top:8px;display:flex;flex-direction:column;gap:6px}
.lg-trul{position:static;max-height:260px}
.lg-itl{display:block;font-size:12.5px;color:var(--ink,#111827);margin-top:3px}
.lg-cref{display:block;font-size:11.5px;color:var(--muted,#9ca3af);font-style:italic}
.lg-cend small{color:var(--muted,#6b7280);font-weight:400}
.lg-endal{display:block;background:#f59e0b22;color:#b45309;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600;margin-top:4px}
.lg-baiul li.lg-bnovo{color:#2563eb}
.lg-bcria{align-items:center}
.lg-sh .ve-lt{flex-direction:column;justify-content:flex-start;flex:1;min-width:0;gap:3px}
.lg-sh .ve-lt b,.lg-sh .ve-lt span{white-space:normal;overflow:visible}
.lg-ithm>span{display:block}
.lg-ithm .lg-st{align-self:flex-start}

/* deploy 1794162047364 */

.f360-vc-btn{position:fixed;left:12px;bottom:12px;z-index:9998;background:#111827;color:#fff;border:0;border-radius:999px;padding:8px 14px;font:600 12px system-ui,sans-serif;opacity:.85;box-shadow:0 2px 8px #0004;cursor:pointer}
.f360-vc-pn{position:fixed;left:12px;right:12px;bottom:12px;max-width:380px;z-index:9999;background:#fff;color:#111;border-radius:14px;padding:14px;box-shadow:0 10px 30px #0006;font:14px system-ui,sans-serif}
.f360-vc-pn p{margin:6px 0 10px;font-size:12.5px;color:#555}
.f360-vc-ps{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.f360-vc-ps button{border:1px solid #e5e7eb;background:#f8fafc;border-radius:10px;padding:11px 6px;font:600 13px system-ui,sans-serif;cursor:pointer;color:#111}
.f360-vc-pn input{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:10px;font-size:16px}
.f360-vc-er{color:#b91c1c;font-size:12.5px;min-height:16px}
.f360-vc-x{background:none;border:0;color:#6b7280;padding:6px 0;cursor:pointer}
.f360-vc-bar{position:fixed;left:0;right:0;top:0;z-index:9999;background:#9e1b32;color:#fff;font:600 13px system-ui,sans-serif;padding:6px 10px;text-align:center}
.f360-vc-bar button{margin-left:8px;background:#fff;color:#9e1b32;border:0;border-radius:999px;padding:4px 10px;font:700 12px system-ui,sans-serif;cursor:pointer}
body.f360-vc-on{padding-top:34px}

.rk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:12px 0 18px}
.rk-card{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:12px 14px;background:var(--card,transparent)}
.rk-card h3{margin:0 0 6px;font-size:14px}
.rk-li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-top:1px solid var(--line,#eee);font-size:13px}
.rk-li>span:last-child{color:var(--muted,#6b7280);text-align:right;white-space:nowrap}
.rk-n{display:inline-block;width:26px;color:var(--muted,#6b7280)}
.rk-h{font-size:14px;margin:4px 0 8px}

/* cores dos grupos Catálogo e estoque e Logística */
html:root .grp-catalogoeestoque, html:root .cat-catalogoeestoque { --c: #a16bf0; }
html:root .grp-logistica, html:root .cat-logistica { --c: #36c178; }
.cat-catalogoeestoque .ic, .cat-logistica .ic { color: inherit; }

/* app do motorista: acessível (letras grandes, botões grandes, alto contraste) */
.le{max-width:720px;margin:0 auto;font-size:17px}
.le-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}
.le-head h2{margin:0;font-size:26px}
.le-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:12px 14px;border-radius:14px;border:0;font:800 17px/1.2 inherit;font-family:inherit;text-align:center;text-decoration:none;cursor:pointer;width:100%;box-sizing:border-box}
.le-btn:disabled{opacity:.5}
.le-main{background:#16a34a;color:#fff}
.le-go{background:#2563eb;color:#fff;font-size:18px}
.le-sec{background:var(--card-2,#eef2f7);color:var(--ink,#111827);border:2px solid var(--line,#d1d5db)}
.le-atu{width:auto;min-height:46px;font-size:14px}
.le-acts{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.le-acts2{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:10px}
.le-rota{border:2px solid var(--line,#e5e7eb);border-radius:18px;padding:14px;margin:12px 0;background:var(--card,transparent)}
.le-rh h3{margin:0;font-size:21px}
.le-rh>span{display:block;font-size:15px;color:var(--muted,#6b7280);margin-top:2px}
.le-bar{height:10px;border-radius:99px;background:var(--line,#e5e7eb);margin:10px 0 4px;overflow:hidden}
.le-bar i{display:block;height:100%;background:#16a34a;border-radius:99px}
.le-step{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:start;border-radius:14px;padding:12px;margin:12px 0;background:#2563eb14;border:2px solid #2563eb55}
.le-step>.le-btn,.le-step>.le-acts2{grid-column:1/-1}
.le-step b{display:block;font-size:18px}
.le-step span{display:block;font-size:15px;margin-top:2px}
.le-ia{background:#7c3aed14;border-color:#7c3aed66}
.le-sn{width:36px;height:36px;border-radius:50%;background:#2563eb;color:#fff;display:flex!important;align-items:center;justify-content:center;font-weight:800;font-size:18px;margin:0!important}
.le-mapa{margin:6px 0 10px;min-height:50px;font-size:15px}
.le-stops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.le-stop{border:2px solid var(--line,#e5e7eb);border-radius:16px;padding:14px;position:relative}
.le-prox{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}
.le-feita{opacity:.75}
.le-tag{display:inline-block;background:#2563eb;color:#fff;font-weight:800;font-size:13px;border-radius:99px;padding:4px 10px;margin-bottom:8px}
.le-top{display:flex;align-items:center;gap:10px}
.le-num{flex:0 0 44px;height:44px;border-radius:50%;background:var(--ink,#111827);color:var(--bg,#fff);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}
.le-feita .le-num{background:#16a34a;color:#fff}
.le-cli{flex:1;min-width:0}
.le-cli b{display:block;font-size:20px;line-height:1.2}
.le-cli span{display:block;font-size:14px;color:var(--muted,#6b7280)}
.le-end,.le-prod{display:flex;gap:10px;margin-top:12px;font-size:17px;line-height:1.35}
.le-end b{display:block;font-size:18px}
.le-end span{display:block;color:var(--muted,#6b7280);font-size:16px}
.le-ico{font-size:22px;line-height:1}
.le-obs{background:#fde68a;color:#78350f;border-radius:12px;padding:12px;font-weight:700;font-size:17px;margin-top:12px}
.le-rec{background:#fecaca;color:#7f1d1d;border-radius:12px;padding:12px;font-weight:800;font-size:17px;margin-top:12px}
.le-okline{margin-top:12px;background:#16a34a22;color:#15803d;border-radius:12px;padding:12px;font-weight:700}
.le-reg{margin-top:12px;border-top:2px dashed var(--line,#e5e7eb);padding-top:12px}
.le-reg .btn{min-height:52px;font-size:16px;font-weight:700}
.le-reg .btn-sm{min-height:48px;font-size:15px}
.le-reg .input{min-height:50px;font-size:17px}
.le-reg .lg-alert,.le-reg .lg-hint{font-size:16px}
.le-mud{display:grid;grid-template-columns:44px 1fr 56px 56px;gap:8px;align-items:center;border:2px solid var(--line,#e5e7eb);border-radius:14px;padding:10px}
.le-arr{min-height:56px;border-radius:12px;border:2px solid var(--line,#d1d5db);background:var(--card-2,#eef2f7);font-size:22px;cursor:pointer;color:var(--ink,#111)}
.le-arr:disabled{opacity:.3}
.le-fim{margin-top:14px;background:#16a34a;color:#fff;border-radius:14px;padding:16px;font-weight:800;font-size:18px;text-align:center}
.le-vazio{border:2px dashed var(--line,#e5e7eb);border-radius:16px;padding:28px 16px;text-align:center}
.le-vazio b{display:block;font-size:20px}
.le-vazio span{display:block;color:var(--muted,#6b7280);margin-top:6px}
.le-ant{margin-top:18px}
.le .lg-kpis{gap:10px}
.le .lg-kpi b{font-size:20px}

/* app do motorista: contraste no tema escuro e registro com botões grandes */
.le a.le-btn.le-go{color:#fff!important}
.le .le-sec{background:rgba(148,163,184,.16)!important;color:inherit!important;border:2px solid rgba(148,163,184,.55)!important}
.le a.le-btn.le-sec{color:inherit!important}
.le .le-arr{background:rgba(148,163,184,.16);color:inherit}
.le-reg .lg-regdica{font-size:17px;font-weight:700;line-height:1.4;margin-bottom:12px}
.le-reg .lg-row{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
.le-reg .lg-file{min-height:60px;font-size:17px!important;font-weight:800!important;justify-content:center;border-radius:14px!important;width:100%}
.le-reg .lg-row>.lg-file:first-child{grid-column:1/-1;background:#2563eb!important;color:#fff!important;border:0!important;min-height:66px;font-size:19px!important}
.le-reg .lg-ajbtn{display:block;width:100%;min-height:54px;border:2px solid rgba(148,163,184,.55);border-radius:14px;font-size:16px;font-weight:700;margin:12px 0;color:inherit;background:transparent;text-decoration:none}
.le-reg .lg-big{min-height:62px;font-size:19px!important;font-weight:800!important;width:100%;border-radius:14px!important}
.le-reg .lg-warn{width:100%;min-height:54px;border:2px solid #dc2626!important;color:#ef4444!important;font-size:16px!important;font-weight:800!important;margin-top:10px;border-radius:14px!important}
.le-reg .input{width:100%;box-sizing:border-box}

.le-reg .lg-big:not(:disabled){background:#16a34a!important;color:#fff!important;border:0!important}
.lg-irent{width:100%;min-height:58px;font-size:18px!important;font-weight:800!important;margin:10px 0 4px}
.lg .lg-big{min-height:58px;font-size:18px;font-weight:800}
.lg-sepli .lg-sh b{font-size:16px}
.lg-it .btn{min-height:46px}

/* Montar rota / Pedidos da rota de hoje */
.mr-ok{display:flex;flex-direction:column;gap:6px;border-radius:14px;padding:14px;margin:8px 0 14px;background:#16a34a1a;border:1px solid #16a34a55}
.mr-ok b{font-size:16px}.mr-ok .btn{align-self:flex-start}
.rh-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 14px}
.rh-k{border-radius:14px;padding:12px;border:1px solid var(--line,#e5e7eb)}
.rh-k b{display:block;font-size:26px;line-height:1.1}.rh-k span{font-size:13px;color:var(--muted,#6b7280)}
.rh-w b{color:#d97706}.rh-b b{color:#2563eb}.rh-o b{color:#ea580c}.rh-g b{color:#16a34a}
.rh-sec{margin:0 0 16px}.rh-h{font-size:15px;margin:0 0 8px;padding-left:10px;border-left:4px solid currentColor}
.rh-h.rh-w{color:#d97706}.rh-h.rh-b{color:#2563eb}.rh-h.rh-o{color:#ea580c}.rh-h.rh-g{color:#16a34a}
.rh-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rh-card{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:12px;cursor:pointer}
.rh-card:hover{border-color:var(--c,#2563eb)}
.rh-l{display:flex;flex-direction:column;gap:3px;min-width:0}.rh-l b{font-size:15px}
.rh-l span{font-size:13px;color:var(--muted,#6b7280)}
.rh-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}
.rh-p{display:inline-block;font-weight:700;font-size:13px!important;border-radius:8px;padding:4px 8px;margin-top:2px;align-self:flex-start}
.rh-pix{background:#2563eb1f;color:#2563eb!important}.rh-din{background:#16a34a1f;color:#15803d!important}.rh-rec{background:#dc26261a;color:#dc2626!important}
.rh-ver{font-size:13px;color:var(--muted,#6b7280)}
@media (max-width:560px){.rh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* cores dos setores: uma cor para cada (sem repetir) */
html:root .grp-catalogoeestoque, html:root .cat-catalogoeestoque { --c: #cf6bd6; }
html:root .grp-logistica, html:root .cat-logistica { --c: #8fbf3a; }

.f360-vc-btn{left:auto!important;right:12px}
.f360-vc-pn{left:auto!important;right:12px}

/* Montar rota: dias, ações por pedido; histórico; app: abas de dia e pedido cancelado */
.mr-dias{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 14px}
.mr-dl{font-weight:700;font-size:14px;margin-right:2px}
.mr-dia{border:1px solid var(--line,#d1d5db);background:transparent;color:inherit;border-radius:999px;padding:8px 14px;font:600 13px inherit;font-family:inherit;cursor:pointer}
.mr-dia.on{background:var(--c,#2563eb);border-color:var(--c,#2563eb);color:#fff}
.mr-acts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.mr-acts .btn{border:1px solid var(--line,#d1d5db)}
.mr-canc{color:#dc2626!important;border-color:#dc262655!important}
.he-data{display:flex;align-items:center;gap:6px;font-size:13px}.he-data .input{width:auto;min-height:36px}
.he-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.he-rota{border:1px solid var(--line,#e5e7eb);border-radius:14px;overflow:hidden}
.he-rota.on{border-color:var(--c,#2563eb)}
.he-rh{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;color:inherit;padding:14px;text-align:left;cursor:pointer;font-family:inherit}
.he-rt{flex:1;min-width:0}.he-rt b{display:block;font-size:15px}.he-rt span{font-size:13px;color:var(--muted,#6b7280)}
.he-n{text-align:right}.he-n b{display:block;font-size:18px}.he-n span{font-size:12px;color:var(--muted,#6b7280)}
.he-chev{color:var(--muted,#6b7280)}
.he-ents{padding:0 12px 12px}
.le-dias{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.le-dia{min-height:54px;border-radius:14px;border:2px solid rgba(148,163,184,.55);background:transparent;color:inherit;font:800 14px/1.2 inherit;font-family:inherit;cursor:pointer;padding:6px}
.le-dia.on{background:#2563eb;border-color:#2563eb;color:#fff}
.le-canc{border-color:#dc2626!important;background:#dc26260d}
.le-tagr{background:#dc2626!important}
.le-motc{background:#dc262614!important;color:#ef4444!important}
.rh-x b{color:#dc2626}.rh-h.rh-x{color:#dc2626}

/* ==========================================================================
   FACILITY 360° · DESIGN SYSTEM PREMIUM (v2)
   Camada visual única: tokens (cores, tipografia, raios, sombras, foco) + componentes base.
   Só aparência — nenhuma regra de negócio, permissão ou fluxo depende daqui.
   Tema claro = padrão. Tema escuro = html.tema-escuro (escolha salva no aparelho).
   ========================================================================== */
:root {
  --red: #8c1c32; --red-700: #721427; --red-50: #fbf2f4; --red-100: #f2d8de;
  --brand-grad: linear-gradient(180deg, #9a2139 0%, #84182d 100%);
  --ink: #12151b; --ink-2: #474e5b; --muted: #7a818d;
  --line: #e4e7ec; --line-2: #eff1f4; --line-strong: #d3d8e0;
  --bg: #f5f6f8; --surface: #ffffff; --surface-2: #f8f9fb; --surface-3: #f1f3f6;
  --good: #137a43; --good-bg: #e8f6ee; --warn: #8f4f00; --warn-bg: #fff4e3;
  --bad: #b42318; --bad-bg: #fdeeec; --info: #1d5f9e; --info-bg: #eaf2fb;
  --r: 14px; --r-s: 10px; --r-l: 18px;
  --shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .04);
  --shadow-m: 0 8px 20px -10px rgba(15, 23, 42, .16), 0 2px 6px -2px rgba(15, 23, 42, .06);
  --shadow-l: 0 28px 56px -18px rgba(15, 23, 42, .28), 0 8px 18px -8px rgba(15, 23, 42, .10);
  --ring: 0 0 0 3px rgba(140, 28, 50, .16);
  --ease: cubic-bezier(.2, .7, .2, 1);
  color-scheme: light;
}
html.tema-escuro {
  color-scheme: dark;
  --red: #d23a55; --red-700: #b72c46; --red-50: rgba(210, 58, 85, .13); --red-100: rgba(210, 58, 85, .26);
  --brand-grad: linear-gradient(180deg, #d8435e 0%, #b92d47 100%);
  --ink: #eceef2; --ink-2: #b3b8c2; --muted: #808693;
  --line: #262a32; --line-2: #1e2128; --line-strong: #343944;
  --bg: #0c0d10; --surface: #14161b; --surface-2: #1a1d23; --surface-3: #20232a;
  --border: #262a32; --bg-soft: #17191e; --card: #14161b; --primary: #d23a55;
  --good: #4fc68d; --good-bg: rgba(79, 198, 141, .12); --warn: #e9ad45; --warn-bg: rgba(233, 173, 69, .12);
  --bad: #f2676f; --bad-bg: rgba(242, 103, 111, .12); --info: #72aced; --info-bg: rgba(114, 172, 237, .12);
  --shadow: 0 1px 0 rgba(255, 255, 255, .025) inset, 0 1px 2px rgba(0, 0, 0, .45);
  --shadow-m: 0 10px 28px -12px rgba(0, 0, 0, .75);
  --shadow-l: 0 30px 70px -20px rgba(0, 0, 0, .9);
  --ring: 0 0 0 3px rgba(210, 58, 85, .30);
}
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-feature-settings: "cv11", "ss01"; }
h1, h2, h3, .vg-title { letter-spacing: -.018em; }
.num, .val, .money, td.r, th.r, .kpi b, .kpi strong, [class*="-tot"], [class*="valor"] { font-variant-numeric: tabular-nums; }
::selection { background: var(--red-100); color: var(--ink); }
.topbar { background: color-mix(in srgb, var(--bg) 80%, transparent) !important; -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid var(--line); }
.card, .kpi, .modal { border-color: var(--line); }
.card, .kpi { border-radius: var(--r); box-shadow: var(--shadow); transition: box-shadow .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease); }
button.kpi:hover, a.kpi:hover, .card.clickable:hover { box-shadow: var(--shadow-m); border-color: var(--line-strong); }
.modal { border-radius: var(--r-l); box-shadow: var(--shadow-l); }
.overlay { background: rgba(10, 12, 16, .46); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.btn { border-radius: var(--r-s); font-weight: 600; letter-spacing: -.005em; transition: background-color .15s var(--ease), border-color .15s var(--ease), box-shadow .15s var(--ease), color .15s var(--ease), transform .08s var(--ease); }
.btn:active:not(:disabled) { transform: translateY(1px); }
.btn:focus-visible, .icon-btn:focus-visible, a:focus-visible, button:focus-visible { outline: none; box-shadow: var(--ring); }
.btn-primary { background: var(--brand-grad); color: #fff; box-shadow: 0 1px 2px rgba(80, 10, 24, .22), inset 0 1px 0 rgba(255, 255, 255, .14); }
.btn-primary:hover:not(:disabled) { background: var(--red-700); }
.btn-secondary { background: var(--surface); border-color: var(--line); color: var(--ink); box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.btn-secondary:hover:not(:disabled) { background: var(--surface-2); border-color: var(--line-strong); }
.btn-ghost:hover:not(:disabled) { background: var(--surface-3); }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.input, input.input, select.input, textarea.input, .admin select, .admin textarea { background-color: var(--surface); border-color: var(--line-strong); border-radius: var(--r-s); color: var(--ink); transition: border-color .15s var(--ease), box-shadow .15s var(--ease); }
.input:hover, .admin select:hover, .admin textarea:hover { border-color: color-mix(in srgb, var(--line-strong) 60%, var(--muted)); }
.input:focus, .input:focus-within, .admin select:focus, .admin textarea:focus { outline: none; border-color: var(--red); box-shadow: var(--ring); }
.input::placeholder, .admin input::placeholder, .admin textarea::placeholder { color: var(--muted); opacity: .9; }
.admin table th { font-size: 11.5px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.admin table tbody tr { transition: background-color .12s var(--ease); }
.admin table tbody tr:hover > td { background-color: var(--surface-2); }
.admin table td { border-color: var(--line-2); }
.badge { border-radius: 999px; font-weight: 600; letter-spacing: .005em; }
.section-t { font-size: 11.5px; text-transform: uppercase; letter-spacing: .09em; color: var(--muted); font-weight: 650; }
.vg-tema { border-radius: 999px !important; }
html:not(.tema-escuro) * { scrollbar-color: #cfd4dc transparent; }
html:not(.tema-escuro) ::-webkit-scrollbar { width: 10px; height: 10px; }
html:not(.tema-escuro) ::-webkit-scrollbar-thumb { background: #d3d8df; border-radius: 10px; border: 2px solid var(--bg); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
/* menu lateral grafite (as cores de cada setor continuam) */
.side { background: linear-gradient(180deg, #16181e 0%, #0e1014 100%) !important; box-shadow: 1px 0 0 rgba(255,255,255,.05) !important; }
html.tema-escuro .side { background: linear-gradient(180deg, #111318 0%, #0b0c0f 100%) !important; box-shadow: 1px 0 0 var(--line) !important; }
.side .nav a, .side .nav button { border-radius: 9px; transition: background-color .15s var(--ease), color .15s var(--ease); }
.side .nav a:hover:not(.on), .side .nav button:hover:not(.on) { background: rgba(255,255,255,.05) !important; }
/* cabeçalho das páginas */
.vg-title { font-size: clamp(24px, 2.2vw, 30px) !important; font-weight: 700 !important; letter-spacing: -.025em !important; }
.vg-eyebrow { letter-spacing: .14em !important; font-size: 11px !important; }
/* seletores de período / abas */
.admin .vg-seg { background: var(--surface-3) !important; border: 1px solid var(--line) !important; padding: 3px !important; border-radius: 12px !important; gap: 2px !important; box-shadow: none !important; }
.admin .vg-seg > button { border-radius: 9px !important; }
.ve-card { padding: 20px 22px !important; }


/* ================================================================
   v9 (08/11/2026) — menu recolhível, carrinho do orçamento, áreas de acesso, início da assistência, remanejamento por bairro
   ================================================================ */
/* menu: setinha para recolher cada categoria */
html:root .side .nav .grp[role="button"] { cursor: pointer; user-select: none; border-radius: 8px; }
html:root .side .nav .grp[role="button"]:hover { background: rgba(255,255,255,.04); }
html:root .side .nav .grp[role="button"]:focus-visible { outline: 2px solid var(--c, #e0536a); outline-offset: 1px; }
html:root:not(.nav-mini) .side .nav .grp::after { content: ""; margin-left: auto; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px,-2px); transition: transform .18s ease; opacity: .75; flex: none; display: block; background: none; height: 7px; }
html:root:not(.nav-mini) .side .nav .grp[aria-expanded="false"]::after { transform: rotate(-45deg); }
html:root .side .nav[data-fech~="visaogeral"] a.cat-visaogeral:not(.on),
html:root .side .nav[data-fech~="operacao"] a.cat-operacao:not(.on),
html:root .side .nav[data-fech~="clientes"] a.cat-clientes:not(.on),
html:root .side .nav[data-fech~="catalogoeestoque"] a.cat-catalogoeestoque:not(.on),
html:root .side .nav[data-fech~="logistica"] a.cat-logistica:not(.on),
html:root .side .nav[data-fech~="assistenciatecnica"] a.cat-assistenciatecnica:not(.on),
html:root .side .nav[data-fech~="financeiro"] a.cat-financeiro:not(.on),
html:root .side .nav[data-fech~="gestao"] a.cat-gestao:not(.on) { display: none !important; }
html:root.nav-mini .side .nav[data-fech] a { display: flex !important; }

/* "Ver como" do master: no perfil do canto inferior esquerdo */
.f360-vc-btn { display: none !important; }
body.f360-vc-master .side .me { cursor: pointer; border-radius: 12px; transition: background .15s; }
body.f360-vc-master .side .me:hover { background: rgba(255,255,255,.05); }
body.f360-vc-master .side .me .grow::after { content: "Ver como outro perfil \25BE"; display: block; margin-top: 3px; font-size: 11.5px; font-weight: 600; color: #e2667a; }
html.nav-mini body.f360-vc-master .side .me .grow::after { content: none; }
.f360-vc-pn { left: 12px !important; right: auto !important; bottom: 76px !important; width: min(360px, calc(100vw - 24px)); }
.f360-vc-pn b { font-size: 15px; }
.f360-vc-ps button { text-align: left; padding: 11px 12px !important; }
.f360-vc-ps button:hover { border-color: #9e1b32 !important; }

/* Equipe e escalas: departamentos */
.ar-pick { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.ar-ops { display: flex; flex-wrap: wrap; gap: 6px; }
.ar-op { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 10px; padding: 7px 11px; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.ar-op.on { border-color: var(--red); background: color-mix(in srgb, var(--red) 10%, transparent); }
.ar-op input { margin: 0; }
.ar-old { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ar-t th.c, .ar-t td.c { text-align: center; }

/* Início do Administrativo Assistência */
.aa-h h2 { font-size: clamp(24px, 3vw, 30px); letter-spacing: -.02em; margin: 4px 0; }
.aa-h p { margin: 0; color: var(--muted); font-size: 15px; }
.aa-ks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.aa-kpi { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid #2cc5c9; }
.aa-kpi strong { font-size: 30px; font-weight: 700; line-height: 1.1; color: var(--ink); }
.aa-kpi span { font-size: 14px; color: var(--muted); }
.aa-kpi:focus-visible, .aa-c:focus-visible { outline: 2px solid #2cc5c9; outline-offset: 2px; }
.aa-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.aa-c { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); transition: border-color .15s, transform .15s; min-width: 0; }
.aa-c:hover { border-color: #2cc5c9; transform: translateY(-1px); }
.aa-i { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; flex: none; background: color-mix(in srgb, #2cc5c9 16%, transparent); color: #1a9ea2; font-size: 21px; }
.aa-t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.aa-t b { font-size: 16px; color: var(--ink); } .aa-t small { font-size: 13px; color: var(--muted); }
.aa-go { font-size: 26px; color: var(--muted); }
@media (max-width: 700px) { .aa-g, .aa-ks { grid-template-columns: minmax(0, 1fr); } }

/* Carrinho do orçamento */
.orc-fab { position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 60; display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px 10px 12px; border: 0; border-radius: 999px; background: #9e1b32; color: #fff; box-shadow: 0 10px 28px rgba(158,27,50,.35), 0 2px 6px rgba(0,0,0,.2); cursor: pointer; font: inherit; transition: transform .2s ease, box-shadow .2s; }
.orc-fab:hover { transform: translateY(-2px); }
.orc-fab:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.orc-fab .ic { width: 22px; height: 22px; }
.orc-fab em { font-style: normal; font-weight: 700; font-size: 12px; min-width: 22px; height: 22px; border-radius: 99px; background: #fff; color: #9e1b32; display: grid; place-items: center; padding: 0 6px; margin-left: -18px; margin-top: -18px; }
.orc-fab-t { display: flex; flex-direction: column; line-height: 1.15; text-align: left; }
.orc-fab-t b { font-size: 14px; } .orc-fab-t small { font-size: 12px; opacity: .85; }
.orc-fab.pul { animation: orcPul .7s ease; }
@keyframes orcPul { 0% { transform: scale(1); } 35% { transform: scale(1.12); } 100% { transform: scale(1); } }
.orc-shade { position: fixed; inset: 0; z-index: 70; background: rgba(10,10,12,.45); animation: orcFade .18s ease; }
.orc-dw { position: fixed; z-index: 71; top: 0; right: 0; bottom: 0; width: min(420px, 100vw); display: flex; flex-direction: column; background: var(--surface, #fff); color: var(--ink); box-shadow: -12px 0 40px rgba(0,0,0,.25); animation: orcIn .22s ease; }
.orc-dw-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 18px 18px 12px; border-bottom: 1px solid var(--line); }
.orc-dw-h h3 { font-size: 20px; margin-top: 2px; }
.orc-dw-l { list-style: none; margin: 0; padding: 8px 18px; overflow: auto; flex: 1; }
.orc-dw-l li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.orc-dw-l img, .orc-ph { width: 56px; height: 56px; border-radius: 10px; object-fit: contain; background: #fff; border: 1px solid var(--line); flex: none; display: grid; place-items: center; color: var(--muted); }
.orc-tx { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.orc-tx > b { font-size: 14.5px; line-height: 1.3; } .orc-tx > span { font-size: 12.5px; color: var(--muted); }
.orc-q { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.orc-q strong { font-size: 15px; }
.orc-step { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.orc-step button { all: unset; box-sizing: border-box; width: 36px; height: 36px; display: grid; place-items: center; cursor: pointer; font-size: 18px; font-weight: 700; color: var(--ink); }
.orc-step button:disabled { opacity: .35; cursor: default; }
.orc-step input { width: 44px; height: 36px; border: 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); text-align: center; font-size: 16px; font-weight: 600; background: transparent; color: var(--ink); }
.orc-rm { all: unset; cursor: pointer; font-size: 13px; color: var(--bad, #b42318); margin-left: auto; padding: 4px 2px; }
.orc-dw-f { padding: 14px 18px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.orc-tot { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; color: var(--muted); }
.orc-tot strong { font-size: 22px; color: var(--ink); }
.orc-dw-f .btn { width: 100%; justify-content: center; min-height: 46px; font-size: 15px; }
@keyframes orcIn { from { transform: translateX(30px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes orcFade { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 700px) {
  .orc-fab { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); padding: 9px 14px 9px 11px; }
  .orc-dw { top: auto; left: 0; width: 100%; max-height: 86vh; border-radius: 18px 18px 0 0; animation-name: orcUp; }
  @keyframes orcUp { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
}
.ca-wrap { padding-bottom: 72px; }
@media (prefers-reduced-motion: reduce) { .orc-fab, .orc-dw, .orc-shade, .orc-fab.pul { animation: none !important; transition: none !important; } }

/* Remanejamento: escolha de rota, bairro e posição */
.rx2 { gap: 14px; }
.rx2-s { display: flex; flex-direction: column; gap: 8px; }
.rx2-s > b { font-size: 14px; }
.rx2-rotas { display: flex; flex-direction: column; gap: 6px; }
.rx2-bairros { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 6px; }
.rx2-b { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); min-width: 0; }
.rx2-b b { font-size: 14px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rx2-b small { font-size: 12px; color: var(--muted); }
.rx2-b em { font-style: normal; font-size: 11.5px; font-weight: 700; color: #f0a030; }
.rx2-b.on { border-color: var(--red); box-shadow: inset 0 0 0 1px var(--red); background: color-mix(in srgb, var(--red) 8%, var(--surface)); }
.rx2-b:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

/* ================================================================
   v10 (09/11/2026) — tabela mais larga que o espaço no computador (inclusive dentro de janelas): vira cartões, nada fica escondido à direita
   ================================================================ */
@media (min-width: 1101px) {
  html:root table.tc-desk, html:root table.tc-desk > tbody, html:root table.tc-desk > tbody > tr { display: block; width: 100%; max-width: 100%; }
  html:root table.tc-desk { overflow: visible !important; border: 0; background: transparent; min-width: 0 !important; }
  html:root table.tc-desk > thead { display: none; }
  html:root table.tc-desk > tbody { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
  html:root table.tc-desk > tbody > tr { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 10px 14px; margin: 0; }
  html:root table.tc-desk > tbody > tr > td { display: block; position: relative; padding: 5px 0 5px 40% !important; min-height: 26px; border: 0 !important; text-align: left !important; white-space: normal !important; overflow-wrap: anywhere; width: auto !important; max-width: none !important; font-size: 13.5px; }
  html:root table.tc-desk > tbody > tr > td::before { content: attr(data-label); position: absolute; left: 0; top: 6px; width: calc(40% - 10px); font-size: 12px; font-weight: 600; color: var(--muted); line-height: 1.3; }
  html:root table.tc-desk > tbody > tr > td[data-label=""] { padding-left: 0 !important; }
  html:root table.tc-desk > tbody > tr > td[data-label=""]::before { content: none; }
  html:root table.tc-desk > tbody > tr > td:first-child { padding-bottom: 8px !important; margin-bottom: 4px; border-bottom: 1px solid var(--line-2) !important; font-weight: 600; }
  html:root table.tc-desk > tbody > tr.tc-full > td { padding-left: 0 !important; }
  html:root table.tc-desk > tbody > tr.tc-full > td::before { content: none; }
  html:root .table-wrap:has(> table.tc-desk) { overflow: visible !important; max-height: none !important; border: 0; background: transparent; box-shadow: none; }
}
/* janelas (fichas do cliente etc.): sempre roláveis até o fim, também em telas baixas */
html:root .overlay { overflow-y: auto; overscroll-behavior: contain; }
html:root .modal { max-height: calc(100dvh - 24px); }
html:root .modal > .modal-b { overflow-y: auto; min-height: 0; flex: 1 1 auto; }
@media (max-width: 1100px) { html:root .overlay table.tcard, html:root .overlay table.tcard > tbody, html:root .overlay table.tcard > tbody > tr { display: block; width: 100%; } html:root .overlay table.tcard > thead { display: none; } html:root .overlay .table-wrap:has(> table.tcard) { overflow: visible !important; } }

/* ================================================================
   v11 (09/11/2026) — Montar rota de entrega mais simples; ficha inteira na janela
   ================================================================ */
.modal .ficha-stage.fi-fit .ficha-paper { cursor: zoom-in; }
.modal .ficha-stage .ficha-paper[data-fit="0"] { cursor: zoom-out; }
.modal .ficha-stage.fi-fit { display: flex; justify-content: center; }

.mr2 { display: flex; flex-direction: column; gap: 14px; }
.mr2-bar { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.mr2-q { flex: 1 1 320px; min-width: 0; height: 46px; font-size: 15px; }
.mr2-desde { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); }
.mr2-desde .input { height: 46px; width: 170px; }
.mr2-chips { margin: 0; }
.mr2-cnt { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 14px; color: var(--muted); margin-bottom: 8px; }
.mr2-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 460px), 1fr)); gap: 12px; }
.mr2-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); transition: border-color .15s, box-shadow .15s; min-width: 0; }
.mr2-card.on { border-color: #36c178; box-shadow: inset 4px 0 0 #36c178; }
.mr2-card.warn:not(.on) { box-shadow: inset 4px 0 0 #f0a030; }
.mr2-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.mr2-who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mr2-cli { all: unset; cursor: pointer; font-size: 16.5px; font-weight: 700; color: var(--ink); line-height: 1.25; overflow-wrap: anywhere; }
button.mr2-cli:hover { text-decoration: underline; }
.mr2-ped { font-size: 12.5px; color: var(--muted); }
.mr2-val { font-size: 17px; white-space: nowrap; color: var(--ink); }
.mr2-info { display: flex; flex-direction: column; gap: 6px; }
.mr2-l { display: flex; gap: 8px; font-size: 13.5px; color: var(--ink-2); line-height: 1.4; min-width: 0; }
.mr2-l > span:last-child { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.mr2-ic { flex: none; width: 18px; text-align: center; }
.mr2-alert { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 8px 12px; border-radius: 10px; font-size: 13px; font-weight: 600; background: color-mix(in srgb, #f0a030 14%, transparent); color: #b8740a; }
html.tema-escuro .mr2-alert { color: #f0b860; }
.mr2-alert.ok { background: color-mix(in srgb, #36c178 14%, transparent); color: #1f8a52; }
html.tema-escuro .mr2-alert.ok { color: #6fd9a0; }
.mr2-alert .check { margin: 0; font-weight: 600; color: var(--ink); }
.mr2-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mr2-act { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding-top: 4px; border-top: 1px solid var(--line-2, var(--line)); }
.mr2-split { display: inline-flex; }
.mr2-split .mr2-main { border-top-right-radius: 0; border-bottom-right-radius: 0; min-height: 40px; font-size: 14px; }
.mr2-split .mr2-more { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left: 1px solid rgba(255,255,255,.35); min-height: 40px; padding: 0 12px; font-size: 13px; }
.mr2-in { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: #1f8a52; font-weight: 600; }
html.tema-escuro .mr2-in { color: #6fd9a0; }
.mr2-in .mr2-more { all: unset; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--muted); text-decoration: underline; }
.mr2-det { color: var(--muted); }
.mr2-menu { position: absolute; z-index: 30; left: 0; top: calc(100% + 6px); width: min(320px, 100%); background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.22); padding: 6px; display: flex; flex-direction: column; animation: mr2In .14s ease; }
.mr2-mt { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 8px 10px 4px; }
.mr2-menu button { all: unset; box-sizing: border-box; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; font-size: 14px; color: var(--ink); }
.mr2-menu button span { font-size: 12.5px; color: var(--muted); }
.mr2-menu button:hover, .mr2-menu button:focus-visible { background: var(--surface-2, rgba(0,0,0,.05)); }
.mr2-menu button.on { background: color-mix(in srgb, #36c178 14%, transparent); }
.mr2-menu .mr2-tirar { color: var(--bad, #b42318); justify-content: center; margin-top: 4px; border-top: 1px solid var(--line); border-radius: 0 0 10px 10px; }
@keyframes mr2In { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.mr2-x { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: 12px; background: var(--surface-2, rgba(0,0,0,.03)); border: 1px dashed var(--line); }
.mr2-ref { font-size: 13px; color: var(--muted); font-style: italic; }
.mr2-xi, .mr2-xb { display: flex; flex-wrap: wrap; gap: 8px; }
.mr2-send { position: sticky; bottom: 12px; z-index: 20; display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-radius: 18px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 -6px 30px rgba(0,0,0,.18); }
.mr2-st { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #36c178; }
.mr2-g { display: grid; grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto; align-items: center; gap: 12px; padding-top: 10px; border-top: 1px solid var(--line-2, var(--line)); }
.mr2-g:first-of-type { border-top: 0; padding-top: 0; }
.mr2-gt { display: flex; flex-direction: column; } .mr2-gt b { font-size: 15px; } .mr2-gt span { font-size: 13px; color: var(--muted); }
.mr2-gs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mr2-gh { font-size: 13px; color: var(--muted); }
.mr2-g > .btn { min-height: 44px; white-space: nowrap; }
@media (max-width: 760px) {
  .mr2-g { grid-template-columns: minmax(0, 1fr); }
  .mr2-gs { grid-template-columns: minmax(0, 1fr); }
  .mr2-g > .btn { width: 100%; }
  .mr2-desde { flex: 1 1 100%; } .mr2-desde .input { width: 100%; }
  .mr2-split { flex: 1 1 auto; } .mr2-split .mr2-main { flex: 1; }
  .mr2-menu { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .mr2-menu { animation: none; } }
/* rotas montadas: ficam agrupadas no topo; os pedidos somem da lista inicial */
.mr2-send { position: static; box-shadow: none; }
.mr2-g { grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto; }
.mr2-ver { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2, transparent); min-width: 0; }
.mr2-ver span { display: flex; flex-direction: column; } .mr2-ver b { font-size: 14.5px; color: var(--ink); } .mr2-ver small { font-size: 12.5px; color: var(--muted); }
.mr2-ver i { font-style: normal; color: var(--muted); }
.mr2-ver:hover, .mr2-g.ab .mr2-ver { border-color: #36c178; }
.mr2-ver:focus-visible { outline: 2px solid #36c178; outline-offset: 2px; }
.mr2-gl { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mr2-gl li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); }
.mr2-gli { display: flex; flex-direction: column; min-width: 0; } .mr2-gli b { font-size: 14px; } .mr2-gli span { font-size: 12.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr2-glv { font-size: 14px; white-space: nowrap; }
.mr2-gla { position: relative; display: flex; gap: 12px; }
.mr2-gla .mr2-more, .mr2-tira { all: unset; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--muted); text-decoration: underline; }
.mr2-tira { color: var(--bad, #b42318); }
.mr2-gla .mr2-menu { left: auto; right: 0; }
@media (max-width: 760px) { .mr2-g { grid-template-columns: minmax(0, 1fr); } .mr2-gl li { grid-template-columns: minmax(0, 1fr) auto; } .mr2-gla { grid-column: 1 / -1; } }

/* v12: ficha sempre inteira — janela da ficha com altura fixa da tela; sem inclinação 3D quando ajustada */
.modal:has(.ficha-stage) { height: calc(100dvh - 24px) !important; max-height: calc(100dvh - 24px) !important; display: flex !important; flex-direction: column; overflow: hidden !important; transform: none !important; }
.modal:has(.ficha-stage) > header, .modal:has(.ficha-stage) > .modal-h, .modal:has(.ficha-stage) > .modal-f, .modal:has(.ficha-stage) > footer { flex: none; }
.modal:has(.ficha-stage) > .modal-b { flex: 1 1 auto; min-height: 0; overflow: auto; }
.ficha-stage.fi-fit { display: flex; justify-content: center; perspective: none; }
.ficha-stage.fi-fit .ficha-paper { transform: none !important; cursor: zoom-in; }
.ficha-stage.fi-full .ficha-paper { cursor: zoom-out; }
@media (max-width: 700px) { .modal:has(.ficha-stage) { height: calc(100dvh - 16px) !important; max-height: calc(100dvh - 16px) !important; } }

/* ================================================================
   v12 (09/11/2026) — carrinho do orçamento sempre visível no celular (a barra flutuante do Safari cobria o botão)
   ================================================================ */
@media (max-width: 700px) {
  html:root .orc-fab { position: sticky; top: 8px; right: auto; bottom: auto; width: 100%; justify-content: space-between; margin: 0 0 12px; z-index: 40; border-radius: 14px; padding: 12px 14px; }
  html:root .orc-fab em { margin: 0; }
  html:root .orc-fab-t { flex-direction: row; align-items: baseline; gap: 10px; flex: 1; justify-content: space-between; }
  html:root .orc-fab-t small { font-size: 14px; font-weight: 700; opacity: 1; }
  html:root .orc-dw { top: 0; bottom: auto; left: 0; width: 100%; max-height: 82dvh; border-radius: 0 0 18px 18px; animation-name: orcDown; }
  html:root .orc-dw-f { padding-bottom: 16px; }
  html:root .ca-wrap { padding-bottom: 0; }
  html:root .main:has(.orc-fab), html:root body:has(.orc-fab), html:root:has(.orc-fab) { overflow-x: clip; }
  html:root .orc-cart { display: contents; }
  @keyframes orcDown { from { transform: translateY(-30px); opacity: 0; } to { transform: none; opacity: 1; } }
}

/* v13: janela sempre na área visível (iPhone com teclado aberto ou barra do Safari) */
.cons-item .cons-ped { display: block; font-size: 12.5px; font-weight: 600; color: var(--ink-2, inherit); margin-top: 2px; }

/* v14: resultado da consulta sem cortar texto no celular */
.cons-item .grow { min-width: 0; }
.cons-item .r { flex: 0 1 auto !important; min-width: 0; max-width: 60%; }
.cons-item .cons-ped { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .cons-item { flex-direction: column; align-items: stretch !important; gap: 6px !important; }
  .cons-item .r { max-width: none; text-align: left !important; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
  .cons-item .r > * { margin: 0 !important; }
}

/* v15 (09/11/2026): carrinho do orçamento = botão redondo pequeno no canto inferior direito (acima da barra do Safari no celular) */
html:root .orc-fab { position: fixed !important; top: auto !important; left: auto !important; right: 18px !important; bottom: calc(env(safe-area-inset-bottom, 0px) + 22px) !important;
  width: 54px !important; height: 54px !important; padding: 0 !important; margin: 0 !important; border-radius: 50% !important; justify-content: center !important; gap: 0 !important; z-index: 60 !important;
  box-shadow: 0 8px 22px rgba(158,27,50,.38), 0 2px 6px rgba(0,0,0,.25) !important; }
html:root .orc-fab .ic { width: 24px; height: 24px; }
html:root .orc-fab-t { display: none !important; }
html:root .orc-fab em { position: absolute; top: -3px; right: -3px; margin: 0 !important; min-width: 22px; height: 22px; font-size: 12px; box-shadow: 0 0 0 2px #9e1b32; }
html:root .ca-wrap { padding-bottom: 80px !important; }
@media (max-width: 700px) {
  html:root .orc-fab { right: 14px !important; bottom: calc(env(safe-area-inset-bottom, 0px) + 74px) !important; width: 52px !important; height: 52px !important; }
  html:root .ca-wrap { padding-bottom: 140px !important; }
}

/* v16: excluir orçamento */
.or-mact{display:flex;gap:6px;flex:none}.or-del{color:var(--bad,#b42318)!important}

/* v17 (09/11/2026): janelas e gavetas com a altura real da tela (sem cálculo pelo teclado), rolagem só dentro delas */
.overlay { overscroll-behavior: contain; }
.overlay .modal { max-height: calc(100dvh - 20px); }
.drawer { height: 100dvh !important; max-height: 100dvh !important; overscroll-behavior: contain; }
.drawer-b, .modal-b { -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
/* carrinho: fixo no canto inferior direito, por cima da página; some quando uma janela está aberta */
#f360-cart .orc-cart { display: block !important; }
body:has(.overlay) #f360-cart .orc-fab, body:has(.drawer) #f360-cart .orc-fab, body:has(.side.open) #f360-cart .orc-fab { display: none !important; }
#f360-cart .orc-shade { z-index: 900; } #f360-cart .orc-dw { z-index: 901; } #f360-cart .orc-fab { z-index: 800 !important; }

/* ================================================================
   v18 (09/11/2026) — janelas no celular nunca passam da tela; fundo não rola junto
   ================================================================ */
@media (max-width: 700px) {
  .overlay:not(.overlay-right) { padding: 10px !important; }
  .overlay .modal, .overlay .modal.modal-wide { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; max-height: calc(100dvh - 20px) !important; }
  .overlay .modal .modal-b { min-width: 0; overflow-x: hidden; }
  .drawer { width: 100vw !important; max-width: 100vw !important; left: auto; right: 0; }
}
html:has(.overlay), body:has(.overlay), html:has(.drawer), body:has(.drawer) { overflow: hidden !important; }
.overlay .modal .modal-b img, .drawer .drawer-b img { max-width: 100%; height: auto; }

/* ================================================================
   v19 (09/11/2026) — Remanejamento: A decidir / Remanejados / Não remanejar / Pagaram depois
   ================================================================ */
.rm3-abas { display: flex; gap: 6px; flex-wrap: wrap; }
.rm3-aba { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); font-size: 14px; font-weight: 600; color: var(--ink-2, var(--ink)); }
.rm3-aba em { font-style: normal; font-size: 12px; min-width: 22px; text-align: center; padding: 1px 7px; border-radius: 999px; background: var(--surface-2, rgba(0,0,0,.06)); color: var(--muted); }
.rm3-aba.on { background: var(--ink); color: var(--surface); border-color: var(--ink); }
.rm3-aba.on em { background: rgba(255,255,255,.2); color: inherit; }
.rm3-aba.alerta:not(.on) em { background: #b42318; color: #fff; }
.rm3-aba:focus-visible { outline: 2px solid #36c178; outline-offset: 2px; }
.rm3-bar { flex-wrap: wrap; }
.rm3-bar select { width: auto; min-width: 190px; flex: 0 1 240px; }
.rm3-q { flex: 1 1 220px; min-width: 0; }
.rm3-sel { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.rm3-ck { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: #36c178; cursor: pointer; }
.rm-item.rm3-on { box-shadow: inset 4px 0 0 #36c178; background: color-mix(in srgb, #36c178 6%, transparent); }
.rm3-info { margin-top: 6px; font-size: 13px; color: var(--muted); }
.rm3-dec { margin-top: 6px; display: inline-block; font-size: 13px; font-weight: 600; padding: 5px 10px; border-radius: 8px; background: var(--surface-2, rgba(0,0,0,.05)); color: var(--ink-2, var(--ink)); }
.rm3-dec.ok { background: color-mix(in srgb, #36c178 14%, transparent); color: #1f8a52; }
html.tema-escuro .rm3-dec.ok { color: #6fd9a0; }
.rm3-act { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.rm3-sug { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; height: auto !important; min-height: 40px; padding: 6px 12px !important; text-align: left; white-space: normal; max-width: 100%; }
.rm3-sug small { font-size: 11.5px; font-weight: 500; opacity: .85; }
.rm3-alt { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.rm3-man, .rm3-lpick { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; padding: 12px; border-radius: 12px; border: 1px dashed var(--line); background: var(--surface-2, rgba(0,0,0,.03)); }
.rm3-man .btn, .rm3-lpick .btn { align-self: flex-start; }
.rm3-lote { position: sticky; bottom: 12px; z-index: 30; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 16px; border-radius: 16px; background: var(--surface); border: 1px solid #36c178; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.rm3-lt { display: flex; flex-direction: column; } .rm3-lt span { font-size: 13px; color: var(--muted); }
.rm3-lb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rm3-lote .rm3-lpick { flex: 1 1 100%; margin-top: 0; }
@media (max-width: 700px) {
  .rm3-aba { padding: 8px 11px; font-size: 13px; }
  .rm3-bar select { flex: 1 1 100%; }
  .rm3-act > .btn, .rm3-act > button { flex: 1 1 100%; justify-content: center; }
  .rm3-sug { align-items: center; text-align: center; }
  .rm3-lote { bottom: calc(10px + env(safe-area-inset-bottom)); }
  .rm3-lb { width: 100%; } .rm3-lb .btn { flex: 1 1 auto; }
}
.rm3-lote { position: fixed; bottom: calc(14px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: min(820px, calc(100vw - 24px)); max-height: 70dvh; overflow: auto; }
@media (min-width: 901px) { .rm3-lote { left: calc(50% + 130px); width: min(820px, calc(100vw - 300px)); } }
.rm3:has(.rm3-lote) { padding-bottom: 150px; }
body:has(.rm3-lote) #f360-cart .orc-fab { display: none !important; }

.or-env{display:inline-flex;flex-direction:column;gap:4px}.or-env-m{font-size:12.5px;color:#1f8a52;font-weight:600}html.tema-escuro .or-env-m{color:#6fd9a0}

/* v20: situação na planilha-espelho */
.rm3-pl{margin-top:6px;font-size:12.5px;font-weight:600;color:var(--muted)}.rm3-pl-feito{color:#1f8a52}html.tema-escuro .rm3-pl-feito{color:#6fd9a0}.rm3-pl-erro,.rm3-pl-sem_bloco,.rm3-pl-sem_aba,.rm3-pl-vencido{color:#b8740a}

/* v21: barra "Desfazer" depois de incluir alguém numa rota */
#f360-ud .ud-bar { position: fixed; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 950; width: min(460px, calc(100vw - 24px));
  display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-radius: 16px; background: var(--surface); color: var(--ink); border: 1px solid var(--line); box-shadow: 0 14px 40px rgba(0,0,0,.28); }
#f360-ud .ud-h { display: flex; align-items: center; justify-content: space-between; }
#f360-ud .ud-x { all: unset; cursor: pointer; font-size: 22px; line-height: 1; padding: 0 6px; color: var(--muted); }
.ud-it { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid var(--line); }
.ud-it span { display: flex; flex-direction: column; min-width: 0; } .ud-it small { font-size: 12.5px; color: var(--muted); }
.ud-it b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ud-msg { color: #1f8a52; font-weight: 600; } html.tema-escuro .ud-msg { color: #6fd9a0; }
.ud-mais { color: var(--muted); }
.ud-lista { display: flex; flex-direction: column; gap: 2px; }
body:has(#f360-ud .ud-bar) #f360-cart .orc-fab { bottom: calc(150px + env(safe-area-inset-bottom)) !important; }
body:has(.rm3-lote) #f360-ud .ud-bar, body:has(.overlay) #f360-ud .ud-bar { bottom: auto; top: calc(12px + env(safe-area-inset-top)); }
body:has(#f360-ud .ud-bar) .page { padding-bottom: 190px; }
@media (max-width: 700px) { #f360-ud .ud-bar { padding: 10px 12px; gap: 4px; } #f360-ud .ud-it { padding: 4px 0; } }

/* ================================================================
   v22 (09/11/2026) — ficha do painel igual à ficha impressa (pedido do Bling): legível, em tamanho real, rolando dentro da janela
   ================================================================ */
.ficha-stage { display: block !important; padding: 6px 0 16px !important; }
.ficha-paper { max-width: 860px; margin: 0 auto; padding: 26px 26px 26px 50px !important; font-family: Arial, Helvetica, sans-serif !important; font-size: 12px !important; line-height: 1.32 !important; color: #111 !important; background: #fff !important; }
.ficha-paper .fb { display: flex; flex-direction: column; color: #111; }
.fb-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.fb-logo { height: 46px; width: auto; }
.fb-co { text-align: right; font-size: 10.5px; color: #222; line-height: 1.35; }
.fb-ped { text-align: center; font-weight: 700; font-size: 17px; margin: 10px 0 4px; color: #111; }
.fb-bar { display: flex; justify-content: center; }
.fb-bar .ficha-barcode { width: 150px; height: 40px; fill: #111; }
.fb-dia { position: absolute; right: 34px; top: 92px; }
.fb-lbl { font-weight: 700; font-size: 11px; margin: 12px 0 3px; color: #111; }
.fb-box { border: 1px solid #222; padding: 6px 9px; font-size: 11.5px; color: #111; }
.fb-cli { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.fb-cbox b { font-weight: 700; }
.fb-ref { color: #444; }
.fb-vend { max-width: 340px; min-height: 26px; }
.ficha-paper table.fb-kv { width: auto; border-collapse: collapse; font-size: 11.5px; }
.fb-kv th, .fb-kv td { border: 1px solid #222; padding: 5px 10px; text-align: left; white-space: nowrap; color: #111; }
.fb-kv th { font-weight: 700; }
.ficha-paper table.fb-t { width: 100%; border-collapse: collapse; }
.fb-t th, .fb-t td { border: 1px solid #222; padding: 4px 7px; font-size: 11.5px; text-align: left; color: #111; background: #fff; vertical-align: middle; }
.fb-t th { font-weight: 700; }
.fb-t .r { text-align: right; } .fb-t .c { text-align: center; }
.fb-itens td { height: 30px; }
.fb-itens tr.fb-tot td { border-top: 1px solid #222; height: auto; line-height: 1.45; font-size: 11px; }
.fb-itens tr.fb-tot td:first-child { border-right: 0; } .fb-itens tr.fb-tot td:nth-child(2) { border-left: 0; border-right: 0; }
.fb-parc td { height: 22px; }
.fb-parc td:first-child { width: 46px; }
.fb-parc tr.late td:nth-child(2) { color: #b42318; font-weight: 700; }
.fb-parc .pen { font-size: 15px; }
.fb-sit { display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: flex-end; margin-top: 8px; font-size: 11.5px; color: #333; }
.fb-st { font-weight: 700; } .fb-st.st-atrasado { color: #b42318; } .fb-st.st-quitado, .fb-st.st-adiantado, .fb-st.st-em_dia { color: #1f7a45; }
.fb-mut { color: #666; font-size: 10.5px; }
.ficha-paper .ficha-lbl { font-size: 11px !important; color: #111 !important; }
.ficha-paper .ficha-obs { border: 1px solid #222 !important; min-height: 28px; padding: 6px 9px; font-size: 11.5px; color: #111; }
html.tema-escuro .ficha-paper .fb, html.tema-escuro .ficha-paper .fb * { color: #111; }
html.tema-escuro .ficha-paper .fb .fb-st.st-atrasado, html.tema-escuro .fb-parc tr.late td:nth-child(2) { color: #b42318; }
html.tema-escuro .ficha-paper .fb .pen { color: #1a3fa8; }
/* celular: a mesma ficha, com a tabela de itens empilhada para caber sem letra miúda */
@media (max-width: 700px) {
  .ficha-paper { padding: 16px 12px 16px 30px !important; font-size: 11px !important; }
  .fb-logo { height: 30px; } .fb-co { font-size: 8.5px; }
  .fb-cli { grid-template-columns: minmax(0, 1fr); }
  .fb-t th, .fb-t td { padding: 3px 4px; font-size: 10.5px; }
  .fb-itens th, .fb-itens td { font-size: 9.5px; padding: 3px; }
  .fb-parc .pen { font-size: 13px; }
  .fb-dia { top: 64px; right: 14px; }
}
.ficha-paper img.fb-logo { height: 46px !important; width: auto !important; max-width: 230px !important; flex: none; object-fit: contain; }
.fb-co { flex: 1 1 auto; min-width: 0; }
.fb-itens tr.fb-tot td { white-space: nowrap; }
@media (max-width: 700px) { .ficha-paper img.fb-logo { height: 30px !important; max-width: 140px !important; } }
.fb-t th { white-space: nowrap; }
@media (max-width: 700px) { .fb-t th { white-space: normal; } }
.ficha-paper .fb-dia { position: absolute; right: 40px; top: auto; margin-top: 118px; font-size: 20px; }
@media (max-width: 700px) { .ficha-paper .fb-dia { right: 16px; margin-top: 70px; font-size: 16px; } }

/* v23: escolha do WhatsApp no "Avisar" */
.wa-pick { position: relative; display: inline-flex; }
.wa-menu { position: absolute; z-index: 60; bottom: calc(100% + 8px); left: 0; min-width: 240px; display: flex; flex-direction: column; gap: 6px; padding: 10px; border-radius: 14px; background: var(--surface, #fff); color: var(--ink, #111); border: 1px solid var(--line, #ddd); box-shadow: 0 14px 36px rgba(0,0,0,.25); }
.wa-menu b { font-size: 13px; }
.wa-menu small { font-size: 11.5px; color: var(--muted, #666); line-height: 1.35; }
.wa-op { all: unset; box-sizing: border-box; cursor: pointer; padding: 12px 14px; border-radius: 10px; font-size: 15px; font-weight: 700; text-align: left; background: #25d366; color: #fff; }
.wa-op.wa-business { background: #128c7e; }
.wa-op:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
@media (max-width: 700px) { .wa-menu { position: fixed; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); min-width: 0; z-index: 960; } .wa-op { padding: 15px 16px; font-size: 16px; } }
.wa-cancel { all: unset; cursor: pointer; text-align: center; padding: 8px; font-size: 14px; font-weight: 600; color: var(--muted, #666); }

/* v24: rota do Fábio (Pix) */
.route-card.rp-pix .esp-h .b { letter-spacing: .04em; }
.route-card.rp-pix .esp.rp-rem .esp-h { background: color-mix(in srgb, #2cc5c9 18%, transparent); }
.route-card.rp-pix .esp.rp-rem .esp-h .b { color: #1aa3a7; }
html.tema-escuro .route-card.rp-pix .esp.rp-rem .esp-h .b { color: #5fe0e3; }
.rp-pixnote { padding: 6px 14px 0; font-size: 12.5px; color: var(--muted); }

/* ================================================================ v25 (09/11/2026) ================================================================ */
.lg-eq { display: flex; flex-wrap: wrap; gap: 10px; padding: 10px 12px; margin: 6px 0 10px; border-radius: 12px; border: 1px dashed var(--line); background: var(--surface-2, rgba(0,0,0,.03)); }
.lg-eq label { display: flex; flex-direction: column; gap: 4px; flex: 1 1 180px; font-size: 12px; color: var(--muted); }
.lg-eq select { min-height: 42px; }
.lg-eq-err { flex: 1 1 100%; color: var(--bad, #b42318); font-size: 13px; }
.lg-unit .lg-cancfoto { margin-top: 4px; color: var(--bad, #b42318); }
.lr-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 6px 0 12px; }
.lr-q { flex: 1 1 260px; min-width: 0; height: 44px; }
.lr-bar label { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.lr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lr-it { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); overflow: hidden; }
.lr-it.on { border-color: #36c178; }
.lr-h { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; }
.lr-hl, .lr-hr { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .lr-hr { align-items: flex-end; text-align: right; }
.lr-hl span, .lr-hr small { font-size: 12.5px; color: var(--muted); }
.lr-st { font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: var(--surface-2, rgba(0,0,0,.06)); }
.lr-b { padding: 4px 14px 14px; display: flex; flex-direction: column; gap: 10px; }
.lr-t { width: 100%; border-collapse: collapse; font-size: 13px; } .lr-t th, .lr-t td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); }
.lr-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 14px; margin: 0; font-size: 13px; } .lr-dl dt { color: var(--muted); } .lr-dl dd { margin: 0; }
.lr-mds .lg-md span { font-size: 11.5px; }
@media (max-width: 700px) { .lr-h { flex-direction: column; } .lr-hr { align-items: flex-start; text-align: left; } .lr-dl { grid-template-columns: minmax(0, 1fr); } .lr-dl dt { margin-top: 6px; } }
.rt-busca { position: relative; margin: 0 0 12px; }
.rt-busca .app-search { margin: 0; }
.rt-res { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 4px); max-height: 380px; overflow: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.25); padding: 4px; }
.rt-it { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 9px; }
.rt-it span { display: flex; flex-direction: column; min-width: 0; } .rt-it small { font-size: 12px; color: var(--muted); } .rt-it em { font-style: normal; font-size: 12.5px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.rt-it:hover, .rt-it:focus-visible { background: var(--surface-2, rgba(0,0,0,.05)); }
.rt-flash { animation: rtFlash 2.4s ease; } @keyframes rtFlash { 0%, 60% { box-shadow: inset 0 0 0 2px #f0a030; background: color-mix(in srgb, #f0a030 18%, transparent); } 100% { box-shadow: none; } }
.nav-ord { all: unset; box-sizing: border-box; cursor: pointer; display: block; width: calc(100% - 20px); margin: 8px 10px; padding: 8px 10px; border-radius: 10px; font-size: 12px; color: var(--side-mute, #888); border: 1px dashed rgba(255,255,255,.14); text-align: center; }
.nav-ord:hover { color: var(--side-ink, #fff); border-color: rgba(255,255,255,.3); }
html.nav-mini .nav-ord { display: none; }
.nav-ord-m { max-width: 420px; }
.nav-ord-l { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; counter-reset: o; }
.nav-ord-l li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font-weight: 600; }
.nav-ord-m .modal-h, .nav-ord-m .modal-f { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; }
/* ===== v26: valor de entrada, baixa na ficha, despesas ===== */
.lg-ent{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 14px;padding:8px 10px;margin:6px 0 2px;border-radius:10px;border:1px dashed var(--line,#d8d8de);background:var(--bg-soft,#f7f7f9);flex-basis:100%}
.lg-ent.falta{border-color:#e5a83b;background:rgba(229,168,59,.10)}
.lg-ent.ok{border-style:solid}
.lg-ent-v{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600}
.lg-ent-in{display:flex;align-items:center;gap:6px}.lg-ent-in i{font-style:normal;font-weight:700;opacity:.75}
.lg-ent-in .input{width:120px;min-height:38px}
.lg-ent-sem{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;min-height:38px;cursor:pointer}
.lg-ent-sem input{width:18px;height:18px}
.mr2-gl li{flex-wrap:wrap}
.mr2-fe{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;color:#b06d00;background:rgba(229,168,59,.14);border:1px solid rgba(229,168,59,.5);border-radius:999px;padding:4px 10px;cursor:pointer}
.mr2-fe.ok{color:var(--good,#1f8a55);background:rgba(47,191,122,.12);border-color:rgba(47,191,122,.45);cursor:default}
.lg-bx{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:600}
.lg-bx.ok{background:rgba(47,191,122,.12);color:var(--good,#1f8a55)}
.lg-bx.pend{background:rgba(229,168,59,.14);color:#9a5e00}
.dp-page{display:flex;flex-direction:column;gap:12px}
.dp-bar{display:flex;flex-wrap:wrap;gap:10px}.dp-bar label{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600}
.dp-bar .input{min-width:150px}
.dp-tot{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.dp-k{border:1px solid var(--line,#e2e2e7);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.dp-k span{font-size:13px;opacity:.8}.dp-k b{font-size:17px}.dp-k.main{border-color:#2fbf7a}
.dp-cobs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px}
.dp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.dp-it{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line,#e2e2e7);border-radius:12px;padding:10px 12px}
.dp-it.rec{opacity:.6}.dp-it.rec .dp-v{text-decoration:line-through}.dp-it.apr{border-color:rgba(47,191,122,.5)}
.dp-l{display:flex;flex-direction:column;gap:2px;min-width:0}.dp-l span,.dp-l small{font-size:13px;opacity:.8}.dp-l em{font-style:normal;font-size:14px;overflow-wrap:anywhere}
.dp-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.dp-v{font-size:16px}
.dp-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dp-rec{color:var(--bad,#c42b45)}
.dp-fech .dp-fl{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}
.dp-fech .dp-fl li{display:flex;justify-content:space-between;gap:8px}.dp-fech .dp-fl li.rec{opacity:.55;text-decoration:line-through}
@media (max-width:700px){.dp-it{flex-direction:column}.dp-r{align-items:flex-start}.dp-bar label,.dp-bar .input{width:100%}.lg-ent-in .input{width:100%}.lg-ent-v{flex:1 1 140px}}
.lg-entadm{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line,#e2e2e7);border-radius:12px;margin-top:8px}
.lg-entadm-r{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lg-entadm .lg-ent-in .input{width:130px}
.lg-entadm-b{margin-top:8px}
/* v26: menu lateral rola de novo no celular (a ordem das categorias usa flex: sem quebrar em colunas e sem encolher os itens) */
.side .nav{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.side .nav>*{flex-shrink:0}
.am-page{display:flex;flex-direction:column;gap:10px;max-width:760px}
.am-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.am-it{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line,#e2e2e7);border-radius:12px;padding:10px 12px}
.am-it.on{border-color:#c42b45}.am-it div{display:flex;flex-direction:column;gap:2px;min-width:0}.am-it span{font-size:13px;opacity:.8}
.am-x{color:var(--bad,#c42b45)}

/* v27: pedido que voltou da entrega */
.mr2-volt{margin:6px 0 2px;padding:7px 10px;border-radius:10px;font-size:13px;font-weight:600;color:#9a5e00;background:rgba(229,168,59,.14);border:1px solid rgba(229,168,59,.45)}
.lg-volt{font-weight:700}
/* v28 */
.lg-confent{display:flex;flex-direction:column;gap:8px;padding:12px;border:2px solid #e5a83b;border-radius:12px;background:rgba(229,168,59,.08);width:100%}
.lg-confent .lg-ent-in .input{width:130px}
/* v29: aviso da planilha */
.esp-st-w{display:flex;flex-direction:column;gap:8px;align-items:flex-start;width:100%}
.esp-st{width:100%;border:1px solid var(--line,#e2e2e7);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:13px}
.esp-st.ok{border-color:rgba(47,191,122,.5);background:rgba(47,191,122,.07)}
.esp-st.off,.esp-st.err{border-color:rgba(229,168,59,.6);background:rgba(229,168,59,.08)}
.esp-st-l{display:flex;flex-wrap:wrap;gap:2px 16px}
.esp-st-e{color:var(--bad,#c42b45);font-weight:600}
/* v33 */
.lg-ent{flex-direction:column;align-items:stretch}
.lg-ent-info{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:13px;font-weight:600}
.lg-ent-info .rec{color:#9a5e00}
.lg-ent-r{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}
.lg-ent-pago{align-self:flex-start}
.lg-ent-r select.input{width:auto;min-width:120px}
.lg-ent-pt{font-size:13px;align-self:center}
/* v34 */
.rm-ter{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:12px 14px;border:1px solid var(--line,#e3e3e8);border-radius:12px;background:var(--bg-soft,#f7f7f9)}
.rm-ter.on{border-color:#2fbf7a;background:rgba(47,191,122,.08)}
.rm-ter b{display:block;font-size:14px}.rm-ter span{font-size:13px;opacity:.85}
/* v35 */
.fr-op{display:flex;flex-direction:column;gap:6px;margin-top:6px;min-width:260px;max-width:460px}
.fr-op-b{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:7px 10px;border-radius:10px;border:1px solid var(--line,#dcdce2);background:var(--bg-soft,#f7f7f9);cursor:pointer;font:inherit}
.fr-op-b b{font-size:13px}.fr-op-b span{font-size:12px;opacity:.8}
.fr-op-b.top{border-color:#2fbf7a}.fr-op-b.feira b{color:#b7791f}.fr-op-b:hover{filter:brightness(.97)}
.fr-op-av{color:#9a5e00}
.fr-op-out{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px dashed var(--line,#dcdce2);border-radius:10px}
.fr-op-l{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fr-op-l select.input{width:auto;min-width:110px}
.fr-op-mais{align-self:flex-start}
.fr-op-l .grow{flex:1 1 100%;min-width:0}
/* v36 */
.mr-top{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;align-items:flex-end}
.mr-top b{display:block;font-size:15px}.mr-top .input{width:auto;min-width:180px}
.mr-c{padding:0;overflow:hidden}
.mr-h{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;width:100%;padding:12px 14px;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.mr-h b{display:block}.mr-ar{opacity:.6}
.mr-b{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px}
.mr-t{font-weight:700;font-size:13px;margin-top:6px}
.mr-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.mr-i{display:flex;flex-direction:column;gap:4px}.mr-i .lg-md{width:100%}.mr-i .lg-md img,.mr-i .lg-md video{width:100%;max-height:220px;object-fit:cover;border-radius:8px}
.mr-bts{display:flex;gap:6px}.mr-bts .btn{flex:1;justify-content:center}.mr-del{color:#c0392b}
/* v37 — Resultado da empresa */
.re-top{display:flex;flex-direction:column;gap:10px}.re-top b{display:block;font-size:18px}.re-top span{font-size:13px;color:var(--muted)}
.re-per{display:flex;flex-wrap:wrap;gap:6px}.re-per button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
.re-per button.on{background:var(--red);border-color:var(--red);color:#fff}
.re-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:1100px){.re-grid{grid-template-columns:1fr 1fr}}
.re-c{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0;border-top:4px solid var(--red)}
.re-cob{border-top-color:var(--good)}
.re-ch{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.re-ch small{color:var(--muted)}
.re-tag{font-weight:800;font-size:12px;letter-spacing:.08em;color:var(--red)}.re-cob .re-tag{color:var(--good)}
.re-big{font-size:34px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.re-sub{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.re-d{font-weight:700;font-size:12px}.re-d.up{color:var(--good)}.re-d.down{color:var(--bad)}
.re-split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.re-split.re-3{grid-template-columns:repeat(3,1fr)}
.re-split>div{background:var(--surface-2,var(--bg));border:1px solid var(--line);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.re-split small{font-size:11px;color:var(--muted)}.re-split b{font-size:15px;font-variant-numeric:tabular-nums}.re-split span{font-size:11px;color:var(--muted)}
.re-bars{display:flex;flex-direction:column;gap:4px}.re-bw{display:flex;align-items:flex-end;gap:2px;height:90px}
.re-b{flex:1;height:100%;display:flex;align-items:flex-end;min-width:2px}.re-b i{display:block;width:100%;background:var(--red);border-radius:3px 3px 0 0;opacity:.85}
.re-cob .re-b i{background:var(--good)}.re-bl{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.re-st{font-weight:700;font-size:14px;margin-top:4px}
.re-tab{display:flex;flex-direction:column}.re-tr{display:grid;grid-template-columns:1fr 70px 130px;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}
.re-th{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase}.re-tr span:nth-child(2),.re-tr span:nth-child(3){text-align:right}
.re-nm{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:center;min-width:0}.re-nm b{color:var(--muted);font-weight:700}
.re-pb{display:block;flex-basis:100%;height:4px;background:var(--line);border-radius:3px;overflow:hidden}.re-pb em{display:block;height:100%;background:var(--red)}.re-cob .re-pb em{background:var(--good)}
.re-v{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums;font-weight:700}.re-v small{font-weight:500;color:var(--muted);font-size:11px}
.re-note{font-size:12px;background:var(--info-bg,var(--bg));border-radius:10px;padding:8px 10px}
.re-vazio{font-size:13px;color:var(--muted);padding:8px 0}
@media (max-width:520px){.re-big{font-size:28px}.re-split.re-3{grid-template-columns:1fr 1fr}.re-tr{grid-template-columns:1fr 54px 104px}}
/* v38 */
.am-chk{margin-top:12px;padding:10px 12px;border:1px solid var(--red-100,#f3c9cf);background:var(--red-50,#fdf2f3);border-radius:12px}
html.tema-escuro .am-chk{background:rgba(196,43,69,.12);border-color:rgba(196,43,69,.4)}
/* v39 — faixa da conta aberta pelo master */
.f360-imp-bar{position:fixed;left:0;right:0;bottom:0;z-index:99999;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#7a4b00;color:#fff;font:600 14px/1.3 Inter,system-ui,sans-serif;box-shadow:0 -6px 24px rgba(0,0,0,.25)}
.f360-imp-bar button{background:#fff;color:#7a4b00;border:0;border-radius:999px;padding:7px 14px;font:700 13px Inter,system-ui,sans-serif;cursor:pointer}
body.f360-imp-on{padding-bottom:64px}
.imp-box{margin-top:10px}

/* ===== v84: visual profissional (padrão) — menu lateral sóbrio, sem emojis, Fichas fora de rota e Remanejamento mais limpos ===== */
/* menu lateral (layout padrão; o antigo colorido fica em Layout: Colorido) */
html:not([data-lay]) .nav [class*="cat-"], html:not([data-lay]) .nav .grp { --c: #8b909a !important; }
html:not([data-lay]) .nav .grp { font-size: 10.5px !important; letter-spacing: .11em !important; font-weight: 650 !important; color: #7d828c !important; padding-top: 20px !important; padding-bottom: 6px !important; }
html:not([data-lay]) .nav .grp::before { display: none !important; }
html:not([data-lay]) .nav .grp svg { opacity: .55; }
html:not([data-lay]) .nav a { font-size: 13.5px !important; font-weight: 500 !important; line-height: 1.3 !important; color: #c6c9cf !important; padding-top: 8px !important; padding-bottom: 8px !important; border-radius: 8px !important; }
html:not([data-lay]) .nav a svg { color: #868b95 !important; width: 17px !important; height: 17px !important; flex: none; }
html:not([data-lay]) .nav a:hover { background: rgba(255,255,255,.05) !important; color: #fff !important; }
html:not([data-lay]) .nav a.on { background: rgba(255,255,255,.08) !important; color: #fff !important; font-weight: 600 !important; box-shadow: none !important; }
html:not([data-lay]) .nav a.on svg { color: #fff !important; }
html:not([data-lay]) .nav a.on::before { background: #c42b45 !important; box-shadow: none !important; width: 3px !important; }
html:not([data-lay]) .nav a .cnt { font-size: 11px !important; font-weight: 600 !important; min-width: 20px !important; height: 18px !important; padding: 0 6px !important; background: rgba(196,43,69,.9) !important; color: #fff !important; border-radius: 9px !important; }
html:not([data-lay]) .side .me .avatar { background: #2a2d34 !important; color: #e5e7eb !important; }

/* Fichas novas fora de rota — coluna “Colocar na rota” */
.sug { background: transparent !important; border: 0 !important; padding: 2px 0 0 !important; color: var(--muted) !important; font-size: 12.5px !important; }
.sug::before { display: none !important; }
.sug b { color: var(--ink) !important; font-weight: 600; }
.fr-op { gap: 6px !important; }
.fr-op-b { background: var(--surface) !important; border: 1px solid var(--line) !important; border-radius: 8px !important; padding: 8px 12px !important; transition: border-color .15s, background .15s; }
.fr-op-b:hover { filter: none !important; border-color: #b9bcc3 !important; background: var(--surface-2, #fafafa) !important; }
.fr-op-b.top { border-color: var(--line) !important; box-shadow: inset 3px 0 0 #2f7d57; }
.fr-op-b b { font-size: 13px !important; font-weight: 600 !important; color: var(--ink) !important; }
.fr-op-b.feira b { color: var(--ink) !important; }
.fr-op-b span { font-size: 12px !important; color: var(--muted) !important; opacity: 1 !important; }
.fr-op .btn-ghost, .fr-op a { font-size: 12.5px !important; color: var(--ink-2) !important; text-decoration: none !important; }
.fr-op .btn-ghost:hover, .fr-op a:hover { color: var(--ink) !important; text-decoration: underline !important; }

/* Remanejamento */
.rm3-sug { background: var(--surface) !important; color: var(--ink) !important; border: 1px solid #b9bcc3 !important; box-shadow: inset 3px 0 0 #c42b45 !important; border-radius: 8px !important; min-height: 38px !important; padding: 6px 12px 6px 14px !important; }
.rm3-sug:hover { background: var(--surface-2, #f7f7f8) !important; border-color: #9aa0a8 !important; }
.rm3-sug span { font-size: 13px; font-weight: 600; }
.rm3-sug small { color: var(--muted) !important; font-size: 11.5px !important; opacity: 1 !important; }
.rm3-alt { gap: 6px !important; padding-top: 8px; border-top: 1px dashed var(--line); }
.rm3-alt > b { font-weight: 600 !important; color: var(--muted) !important; font-size: 12px !important; margin-right: 2px; }
.rm3-alt .chip { background: transparent !important; border: 1px solid var(--line) !important; color: var(--ink-2) !important; font-size: 12px !important; font-weight: 500 !important; border-radius: 6px !important; padding: 4px 10px !important; }
.rm3-alt .chip:hover { border-color: #9aa0a8 !important; color: var(--ink) !important; }
.rm3-info, .rm-meta { color: var(--muted) !important; }
.rm-val strong { font-size: 17px !important; }
.rm-val span { font-size: 12px !important; }
html.tema-escuro .rm3-sug, html.tema-escuro .fr-op-b { background: var(--surface) !important; border-color: var(--line) !important; }
.le-ico:empty, .mr2-ic:empty { display: none !important; }
tr:has(.fr-op) > td { vertical-align: top; padding-top: 16px !important; padding-bottom: 16px !important; }
tr:has(.fr-op) > td:nth-child(6), tr:has(.fr-op) > td:nth-child(7) { white-space: nowrap; }
tr:has(.fr-op) a { color: var(--ink) !important; text-decoration: none !important; font-weight: 600; }
tr:has(.fr-op) a:hover { text-decoration: underline !important; }
.cl69av { background: linear-gradient(135deg, var(--red), var(--red-700)) !important; }

/* ===== v85: LAYOUTS EMPRESARIAIS (computador) ===== */

@font-face { font-family: "Poppins F"; src: url(/assets/fonts/Poppins-Regular.woff) format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins F"; src: url(/assets/fonts/Poppins-Medium.woff) format("woff"); font-weight: 500 600; font-display: swap; }
@font-face { font-family: "Poppins F"; src: url(/assets/fonts/Poppins-Bold.woff) format("woff"); font-weight: 700 800; font-display: swap; }
@font-face { font-family: "Lora F"; src: url(/assets/fonts/Lora-Variable.woff) format("woff"); font-weight: 400 700; font-display: swap; }

@media (min-width: 901px) {
/* --- executivo --- */
html:not([data-lay]):not(.tema-escuro) { --bg:#f4f4f5; --surface:#ffffff; --surface-2:#fafafa; --ink:#18181b; --ink-2:#3f3f46; --muted:#5f5f68; --line:#e4e4e7; --line-2:#f1f1f3;
  --red:#a11d33; --red-700:#861629; --red-50:#fbeff1; --red-100:#f3d3d9; --cash:#a11d33; --r:12px; --r-s:8px;
  --shadow:0 1px 2px rgba(24,24,27,.05); --shadow-l:0 16px 40px -12px rgba(24,24,27,.25); --font:"Inter F", Inter, system-ui, sans-serif; --font-d:"Inter Display F", "Inter F", system-ui, sans-serif; }
html:not([data-lay]):not(.tema-escuro) body, html:not([data-lay]):not(.tema-escuro) .page { background:#f4f4f5 !important; }
html:not([data-lay]):not(.tema-escuro) body, html:not([data-lay]):not(.tema-escuro) button, html:not([data-lay]):not(.tema-escuro) input, html:not([data-lay]):not(.tema-escuro) select, html:not([data-lay]):not(.tema-escuro) textarea { font-family:"Inter F", Inter, system-ui, sans-serif !important; }
html:not([data-lay]):not(.tema-escuro) h1, html:not([data-lay]):not(.tema-escuro) h2, html:not([data-lay]):not(.tema-escuro) h3, html:not([data-lay]):not(.tema-escuro) .vg-title, html:not([data-lay]):not(.tema-escuro) .card-h h3 { font-family:"Inter Display F", "Inter F", system-ui, sans-serif !important; letter-spacing:-.012em; }
html:not([data-lay]):not(.tema-escuro) .topbar { background:rgba(244,244,245,.86) !important; border-bottom:1px solid #e4e4e7 !important; backdrop-filter:saturate(1.4) blur(10px); }
html:not([data-lay]):not(.tema-escuro) .topbar h1 { font-size:20px !important; font-weight:700 !important; color:#18181b !important; }
/* menu lateral */
html:not([data-lay]):not(.tema-escuro) .side { background:linear-gradient(180deg,#18181b 0%,#111113 100%) !important; border-right:1px solid rgba(255,255,255,.06) !important; box-shadow:none !important; color:#d4d4d8 !important; }
html:not([data-lay]):not(.tema-escuro) .side .brand img { box-shadow:none !important;  }
html:not([data-lay]):not(.tema-escuro) .side .brand, html:not([data-lay]):not(.tema-escuro) .side .brand * { color:#71717a !important; }
html:not([data-lay]):not(.tema-escuro) .nav [class*="cat-"], html:not([data-lay]):not(.tema-escuro) .nav .grp { --c:#71717a !important; }
html:not([data-lay]):not(.tema-escuro) .nav .grp { color:#71717a !important; font-size:10.5px !important; letter-spacing:.12em !important; font-weight:650 !important; padding-top:20px !important; }
html:not([data-lay]):not(.tema-escuro) .nav .grp::before { display:none !important; }
html:not([data-lay]):not(.tema-escuro) .nav a { color:#d4d4d8 !important; font-size:13.5px !important; font-weight:500 !important; border-radius:8px !important; padding-top:8px !important; padding-bottom:8px !important; }
html:not([data-lay]):not(.tema-escuro) .nav a svg { color:#71717a !important; width:17px !important; height:17px !important; }
html:not([data-lay]):not(.tema-escuro) .nav a:hover { background:rgba(255,255,255,.05) !important; color:#ffffff !important; }
html:not([data-lay]):not(.tema-escuro) .nav a.on { background:rgba(255,255,255,.08) !important; color:#ffffff !important; font-weight:600 !important; box-shadow:none !important; }
html:not([data-lay]):not(.tema-escuro) .nav a.on svg { color:#ffffff !important; }
html:not([data-lay]):not(.tema-escuro) .nav a.on::before { background:#e0465f !important; box-shadow:none !important;  }
html:not([data-lay]):not(.tema-escuro) .nav a .cnt { background:#a11d33 !important; color:#fff !important; font-size:11px !important; height:18px !important; min-width:20px !important; border-radius:9px !important; }
html:not([data-lay]):not(.tema-escuro) .side .me { background:transparent !important; border-top:1px solid rgba(255,255,255,.06) !important; color:#ffffff !important; }
html:not([data-lay]):not(.tema-escuro) .side .me .avatar { background:#27272a !important; color:#e4e4e7 !important; }
html:not([data-lay]):not(.tema-escuro) .side .me .muted, html:not([data-lay]):not(.tema-escuro) .side .me small, html:not([data-lay]):not(.tema-escuro) .side .me span { color:#71717a !important; }
html:not([data-lay]):not(.tema-escuro) .side [class*="org"], html:not([data-lay]):not(.tema-escuro) .side .nav-ord, html:not([data-lay]):not(.tema-escuro) .side button[class*="ord"] { color:#71717a !important; border-color:rgba(255,255,255,.06) !important; }
html:not([data-lay]):not(.tema-escuro) .side-mini-btn { color:#71717a !important; }
/* superfícies */
html:not([data-lay]):not(.tema-escuro) .card, html:not([data-lay]):not(.tema-escuro) .vg-card, html:not([data-lay]):not(.tema-escuro) .kpi, html:not([data-lay]):not(.tema-escuro) .stat, html:not([data-lay]):not(.tema-escuro) .client-card, html:not([data-lay]):not(.tema-escuro) .tile { background:#ffffff !important; border:1px solid #e4e4e7 !important; border-radius:12px !important; box-shadow:0 1px 2px rgba(24,24,27,.05) !important; }
html:not([data-lay]):not(.tema-escuro) .card-h { border-bottom-color:#f1f1f3 !important; }
html:not([data-lay]):not(.tema-escuro) th, html:not([data-lay]):not(.tema-escuro) .t th { background:#fafafa !important; color:#71717a !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:650 !important; border-bottom:1px solid #e4e4e7 !important; }
html:not([data-lay]):not(.tema-escuro) td { border-bottom-color:#f1f1f3 !important; }
html:not([data-lay]):not(.tema-escuro) tbody tr:hover > td { background:#fafafa !important; }
html:not([data-lay]):not(.tema-escuro) .btn { border-radius:9px !important; font-weight:600 !important; }
html:not([data-lay]):not(.tema-escuro) .btn-primary { background:#a11d33 !important; border-color:#a11d33 !important; color:#fff !important; box-shadow:0 1px 2px rgba(0,0,0,.12) !important; }
html:not([data-lay]):not(.tema-escuro) .btn-primary:hover:not(:disabled) { background:#861629 !important; }
html:not([data-lay]):not(.tema-escuro) .btn-secondary { background:#ffffff !important; border-color:#e4e4e7 !important; color:#18181b !important; box-shadow:none !important; }
html:not([data-lay]):not(.tema-escuro) .input, html:not([data-lay]):not(.tema-escuro) select.input, html:not([data-lay]):not(.tema-escuro) textarea.input { border-radius:9px !important; border-color:#e4e4e7 !important; background:#ffffff !important; color:#18181b !important; }
html:not([data-lay]):not(.tema-escuro) .input:focus { border-color:#a11d33 !important; box-shadow:0 0 0 3px rgba(161,29,51,.14) !important; outline:none !important; }
html:not([data-lay]):not(.tema-escuro) .seg { background:#f1f1f3 !important; border-radius:9px !important; }
html:not([data-lay]):not(.tema-escuro) .seg button.on, html:not([data-lay]):not(.tema-escuro) .seg .on { background:#ffffff !important; color:#18181b !important; box-shadow:0 1px 2px rgba(24,24,27,.05) !important; }
html:not([data-lay]):not(.tema-escuro) .vg-tema, html:not([data-lay]):not(.tema-escuro) .vg-lay, html:not([data-lay]):not(.tema-escuro) .vg-cmd, html:not([data-lay]):not(.tema-escuro) [class*="vg-bell"] { background:#ffffff !important; border-color:#e4e4e7 !important; color:#18181b !important; border-radius:9px !important; }
html:not([data-lay]):not(.tema-escuro) a {  }


/* --- nordico --- */
html[data-lay="nordico"]:not(.tema-escuro) { --bg:#f7f6f3; --surface:#ffffff; --surface-2:#fbfaf8; --ink:#1d1d1f; --ink-2:#424245; --muted:#6b6b70; --line:#e8e6e1; --line-2:#f0eee9;
  --red:#1d1d1f; --red-700:#000000; --red-50:#f2f1ee; --red-100:#e6e4df; --cash:#1d1d1f; --r:16px; --r-s:10px;
  --shadow:0 1px 1px rgba(0,0,0,.02), 0 6px 24px -12px rgba(0,0,0,.08); --shadow-l:0 24px 60px -20px rgba(0,0,0,.18); --font:"Inter F", Inter, system-ui, sans-serif; --font-d:"Inter Display F", "Inter F", system-ui, sans-serif; }
html[data-lay="nordico"]:not(.tema-escuro) body, html[data-lay="nordico"]:not(.tema-escuro) .page { background:#f7f6f3 !important; }
html[data-lay="nordico"]:not(.tema-escuro) body, html[data-lay="nordico"]:not(.tema-escuro) button, html[data-lay="nordico"]:not(.tema-escuro) input, html[data-lay="nordico"]:not(.tema-escuro) select, html[data-lay="nordico"]:not(.tema-escuro) textarea { font-family:"Inter F", Inter, system-ui, sans-serif !important; }
html[data-lay="nordico"]:not(.tema-escuro) h1, html[data-lay="nordico"]:not(.tema-escuro) h2, html[data-lay="nordico"]:not(.tema-escuro) h3, html[data-lay="nordico"]:not(.tema-escuro) .vg-title, html[data-lay="nordico"]:not(.tema-escuro) .card-h h3 { font-family:"Inter Display F", "Inter F", system-ui, sans-serif !important; letter-spacing:-.02em; }
html[data-lay="nordico"]:not(.tema-escuro) .topbar { background:rgba(247,246,243,.85) !important; border-bottom:1px solid transparent !important; backdrop-filter:blur(14px); }
html[data-lay="nordico"]:not(.tema-escuro) .topbar h1 { font-size:22px !important; font-weight:650 !important; color:#1d1d1f !important; }
/* menu lateral */
html[data-lay="nordico"]:not(.tema-escuro) .side { background:#fbfaf8 !important; border-right:1px solid #ebe9e4 !important; box-shadow:none !important; color:#3a3a3c !important; }
html[data-lay="nordico"]:not(.tema-escuro) .side .brand img { box-shadow:none !important; border:1px solid #ebe9e4; }
html[data-lay="nordico"]:not(.tema-escuro) .side .brand, html[data-lay="nordico"]:not(.tema-escuro) .side .brand * { color:#a1a1a6 !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav [class*="cat-"], html[data-lay="nordico"]:not(.tema-escuro) .nav .grp { --c:#9a9a9f !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav .grp { color:#a1a1a6 !important; font-size:10.5px !important; letter-spacing:.12em !important; font-weight:650 !important; padding-top:20px !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav .grp::before { display:none !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a { color:#3a3a3c !important; font-size:13.5px !important; font-weight:500 !important; border-radius:10px !important; padding-top:8px !important; padding-bottom:8px !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a svg { color:#9a9a9f !important; width:17px !important; height:17px !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a:hover { background:#f0eee9 !important; color:#1d1d1f !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.on { background:#ffffff !important; color:#1d1d1f !important; font-weight:600 !important; box-shadow:0 1px 2px rgba(0,0,0,.06), 0 0 0 1px #ebe9e4 !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.on svg { color:#a11d33 !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.on::before { background:transparent !important; box-shadow:none !important;  }
html[data-lay="nordico"]:not(.tema-escuro) .nav a .cnt { background:#1d1d1f !important; color:#fff !important; font-size:11px !important; height:18px !important; min-width:20px !important; border-radius:9px !important; }
html[data-lay="nordico"]:not(.tema-escuro) .side .me { background:transparent !important; border-top:1px solid #ebe9e4 !important; color:#1d1d1f !important; }
html[data-lay="nordico"]:not(.tema-escuro) .side .me .avatar { background:#1d1d1f !important; color:#fff !important; }
html[data-lay="nordico"]:not(.tema-escuro) .side .me .muted, html[data-lay="nordico"]:not(.tema-escuro) .side .me small, html[data-lay="nordico"]:not(.tema-escuro) .side .me span { color:#a1a1a6 !important; }
html[data-lay="nordico"]:not(.tema-escuro) .side [class*="org"], html[data-lay="nordico"]:not(.tema-escuro) .side .nav-ord, html[data-lay="nordico"]:not(.tema-escuro) .side button[class*="ord"] { color:#a1a1a6 !important; border-color:#ebe9e4 !important; }
html[data-lay="nordico"]:not(.tema-escuro) .side-mini-btn { color:#a1a1a6 !important; }
/* superfícies */
html[data-lay="nordico"]:not(.tema-escuro) .card, html[data-lay="nordico"]:not(.tema-escuro) .vg-card, html[data-lay="nordico"]:not(.tema-escuro) .kpi, html[data-lay="nordico"]:not(.tema-escuro) .stat, html[data-lay="nordico"]:not(.tema-escuro) .client-card, html[data-lay="nordico"]:not(.tema-escuro) .tile { background:#ffffff !important; border:1px solid #ebe9e4 !important; border-radius:16px !important; box-shadow:0 1px 1px rgba(0,0,0,.02), 0 6px 24px -12px rgba(0,0,0,.08) !important; }
html[data-lay="nordico"]:not(.tema-escuro) .card-h { border-bottom-color:#f0eee9 !important; }
html[data-lay="nordico"]:not(.tema-escuro) th, html[data-lay="nordico"]:not(.tema-escuro) .t th { background:#fbfaf8 !important; color:#8e8e93 !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:650 !important; border-bottom:1px solid #e8e6e1 !important; }
html[data-lay="nordico"]:not(.tema-escuro) td { border-bottom-color:#f0eee9 !important; }
html[data-lay="nordico"]:not(.tema-escuro) tbody tr:hover > td { background:#fbfaf8 !important; }
html[data-lay="nordico"]:not(.tema-escuro) .btn { border-radius:999px !important; font-weight:600 !important; }
html[data-lay="nordico"]:not(.tema-escuro) .btn-primary { background:#1d1d1f !important; border-color:#1d1d1f !important; color:#fff !important; box-shadow:none !important; }
html[data-lay="nordico"]:not(.tema-escuro) .btn-primary:hover:not(:disabled) { background:#000000 !important; }
html[data-lay="nordico"]:not(.tema-escuro) .btn-secondary { background:#ffffff !important; border-color:#e8e6e1 !important; color:#1d1d1f !important; box-shadow:none !important; }
html[data-lay="nordico"]:not(.tema-escuro) .input, html[data-lay="nordico"]:not(.tema-escuro) select.input, html[data-lay="nordico"]:not(.tema-escuro) textarea.input { border-radius:999px !important; border-color:#e8e6e1 !important; background:#ffffff !important; color:#1d1d1f !important; }
html[data-lay="nordico"]:not(.tema-escuro) .input:focus { border-color:#1d1d1f !important; box-shadow:0 0 0 3px rgba(29,29,31,.10) !important; outline:none !important; }
html[data-lay="nordico"]:not(.tema-escuro) .seg { background:#efede8 !important; border-radius:999px !important; }
html[data-lay="nordico"]:not(.tema-escuro) .seg button.on, html[data-lay="nordico"]:not(.tema-escuro) .seg .on { background:#ffffff !important; color:#1d1d1f !important; box-shadow:0 1px 1px rgba(0,0,0,.02), 0 6px 24px -12px rgba(0,0,0,.08) !important; }
html[data-lay="nordico"]:not(.tema-escuro) .vg-tema, html[data-lay="nordico"]:not(.tema-escuro) .vg-lay, html[data-lay="nordico"]:not(.tema-escuro) .vg-cmd, html[data-lay="nordico"]:not(.tema-escuro) [class*="vg-bell"] { background:#ffffff !important; border-color:#e8e6e1 !important; color:#1d1d1f !important; border-radius:999px !important; }
html[data-lay="nordico"]:not(.tema-escuro) a {  }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.on::before { display:none !important; } html[data-lay="nordico"]:not(.tema-escuro) .page { padding-left:40px !important; padding-right:40px !important; } html[data-lay="nordico"]:not(.tema-escuro) .badge, html[data-lay="nordico"]:not(.tema-escuro) .tag { border-radius:999px !important; }

/* --- editorial --- */
html[data-lay="editorial"]:not(.tema-escuro) { --bg:#f8f5ef; --surface:#fffdf9; --surface-2:#faf6ee; --ink:#221a17; --ink-2:#4a3f3a; --muted:#73665d; --line:#e6ddd0; --line-2:#efe8dd;
  --red:#7a1426; --red-700:#5e0f1d; --red-50:#f6ece9; --red-100:#ead6d1; --cash:#7a1426; --r:6px; --r-s:4px;
  --shadow:none; --shadow-l:0 20px 50px -20px rgba(60,30,20,.25); --font:"Inter F", Inter, system-ui, sans-serif; --font-d:"Lora F", Georgia, "Times New Roman", serif; }
html[data-lay="editorial"]:not(.tema-escuro) body, html[data-lay="editorial"]:not(.tema-escuro) .page { background:#f8f5ef !important; }
html[data-lay="editorial"]:not(.tema-escuro) body, html[data-lay="editorial"]:not(.tema-escuro) button, html[data-lay="editorial"]:not(.tema-escuro) input, html[data-lay="editorial"]:not(.tema-escuro) select, html[data-lay="editorial"]:not(.tema-escuro) textarea { font-family:"Inter F", Inter, system-ui, sans-serif !important; }
html[data-lay="editorial"]:not(.tema-escuro) h1, html[data-lay="editorial"]:not(.tema-escuro) h2, html[data-lay="editorial"]:not(.tema-escuro) h3, html[data-lay="editorial"]:not(.tema-escuro) .vg-title, html[data-lay="editorial"]:not(.tema-escuro) .card-h h3 { font-family:"Lora F", Georgia, "Times New Roman", serif !important; letter-spacing:-.005em; }
html[data-lay="editorial"]:not(.tema-escuro) .topbar { background:#f8f5ef !important; border-bottom:1px solid #e6ddd0 !important;  }
html[data-lay="editorial"]:not(.tema-escuro) .topbar h1 { font-size:26px !important; font-weight:600 !important; color:#221a17 !important; }
/* menu lateral */
html[data-lay="editorial"]:not(.tema-escuro) .side { background:linear-gradient(180deg,#2a0f17 0%,#1c0a10 100%) !important; border-right:1px solid rgba(214,180,120,.18) !important; box-shadow:none !important; color:#e9dccb !important; }
html[data-lay="editorial"]:not(.tema-escuro) .side .brand img { box-shadow:none !important;  }
html[data-lay="editorial"]:not(.tema-escuro) .side .brand, html[data-lay="editorial"]:not(.tema-escuro) .side .brand * { color:#a8906f !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav [class*="cat-"], html[data-lay="editorial"]:not(.tema-escuro) .nav .grp { --c:#b39a74 !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav .grp { color:#a8906f !important; font-size:10.5px !important; letter-spacing:.12em !important; font-weight:650 !important; padding-top:20px !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav .grp::before { display:none !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a { color:#e9dccb !important; font-size:13.5px !important; font-weight:500 !important; border-radius:4px !important; padding-top:8px !important; padding-bottom:8px !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a svg { color:#b39a74 !important; width:17px !important; height:17px !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a:hover { background:rgba(214,180,120,.08) !important; color:#fff8ea !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.on { background:rgba(214,180,120,.14) !important; color:#fff8ea !important; font-weight:600 !important; box-shadow:none !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.on svg { color:#e2c48d !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.on::before { background:#d6b478 !important; box-shadow:none !important;  }
html[data-lay="editorial"]:not(.tema-escuro) .nav a .cnt { background:#d6b478 !important; color:#2a0f17 !important; font-size:11px !important; height:18px !important; min-width:20px !important; border-radius:9px !important; }
html[data-lay="editorial"]:not(.tema-escuro) .side .me { background:transparent !important; border-top:1px solid rgba(214,180,120,.18) !important; color:#fff8ea !important; }
html[data-lay="editorial"]:not(.tema-escuro) .side .me .avatar { background:#3a1520 !important; color:#e2c48d !important; }
html[data-lay="editorial"]:not(.tema-escuro) .side .me .muted, html[data-lay="editorial"]:not(.tema-escuro) .side .me small, html[data-lay="editorial"]:not(.tema-escuro) .side .me span { color:#a8906f !important; }
html[data-lay="editorial"]:not(.tema-escuro) .side [class*="org"], html[data-lay="editorial"]:not(.tema-escuro) .side .nav-ord, html[data-lay="editorial"]:not(.tema-escuro) .side button[class*="ord"] { color:#a8906f !important; border-color:rgba(214,180,120,.18) !important; }
html[data-lay="editorial"]:not(.tema-escuro) .side-mini-btn { color:#a8906f !important; }
/* superfícies */
html[data-lay="editorial"]:not(.tema-escuro) .card, html[data-lay="editorial"]:not(.tema-escuro) .vg-card, html[data-lay="editorial"]:not(.tema-escuro) .kpi, html[data-lay="editorial"]:not(.tema-escuro) .stat, html[data-lay="editorial"]:not(.tema-escuro) .client-card, html[data-lay="editorial"]:not(.tema-escuro) .tile { background:#fffdf9 !important; border:1px solid #e6ddd0 !important; border-radius:6px !important; box-shadow:none !important; }
html[data-lay="editorial"]:not(.tema-escuro) .card-h { border-bottom-color:#efe8dd !important; }
html[data-lay="editorial"]:not(.tema-escuro) th, html[data-lay="editorial"]:not(.tema-escuro) .t th { background:#f3ede2 !important; color:#7d6b5d !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:650 !important; border-bottom:1px solid #e6ddd0 !important; }
html[data-lay="editorial"]:not(.tema-escuro) td { border-bottom-color:#efe8dd !important; }
html[data-lay="editorial"]:not(.tema-escuro) tbody tr:hover > td { background:#fbf7f0 !important; }
html[data-lay="editorial"]:not(.tema-escuro) .btn { border-radius:4px !important; font-weight:600 !important; }
html[data-lay="editorial"]:not(.tema-escuro) .btn-primary { background:#7a1426 !important; border-color:#7a1426 !important; color:#fff !important; box-shadow:none !important; }
html[data-lay="editorial"]:not(.tema-escuro) .btn-primary:hover:not(:disabled) { background:#5e0f1d !important; }
html[data-lay="editorial"]:not(.tema-escuro) .btn-secondary { background:#fffdf9 !important; border-color:#e6ddd0 !important; color:#221a17 !important; box-shadow:none !important; }
html[data-lay="editorial"]:not(.tema-escuro) .input, html[data-lay="editorial"]:not(.tema-escuro) select.input, html[data-lay="editorial"]:not(.tema-escuro) textarea.input { border-radius:4px !important; border-color:#e6ddd0 !important; background:#fffdf9 !important; color:#221a17 !important; }
html[data-lay="editorial"]:not(.tema-escuro) .input:focus { border-color:#7a1426 !important; box-shadow:0 0 0 3px rgba(122,20,38,.12) !important; outline:none !important; }
html[data-lay="editorial"]:not(.tema-escuro) .seg { background:#efe8dd !important; border-radius:4px !important; }
html[data-lay="editorial"]:not(.tema-escuro) .seg button.on, html[data-lay="editorial"]:not(.tema-escuro) .seg .on { background:#fffdf9 !important; color:#221a17 !important; box-shadow:none !important; }
html[data-lay="editorial"]:not(.tema-escuro) .vg-tema, html[data-lay="editorial"]:not(.tema-escuro) .vg-lay, html[data-lay="editorial"]:not(.tema-escuro) .vg-cmd, html[data-lay="editorial"]:not(.tema-escuro) [class*="vg-bell"] { background:#fffdf9 !important; border-color:#e6ddd0 !important; color:#221a17 !important; border-radius:4px !important; }
html[data-lay="editorial"]:not(.tema-escuro) a {  }
html[data-lay="editorial"]:not(.tema-escuro) .topbar h1 { font-style:normal; } html[data-lay="editorial"]:not(.tema-escuro) .card-h { border-bottom:1px solid #e6ddd0 !important; } html[data-lay="editorial"]:not(.tema-escuro) .card-h h3, html[data-lay="editorial"]:not(.tema-escuro) .vg-title { font-weight:600 !important; } html[data-lay="editorial"]:not(.tema-escuro) .nav .grp { font-family:"Lora F", Georgia, serif !important; text-transform:none !important; letter-spacing:.02em !important; font-size:12.5px !important; font-style:italic; }

/* --- fintech --- */
html[data-lay="fintech"]:not(.tema-escuro) { --bg:#f6f7fb; --surface:#ffffff; --surface-2:#f9fafc; --ink:#0f172a; --ink-2:#334155; --muted:#526177; --line:#e6e8f0; --line-2:#eef0f6;
  --red:#4f46e5; --red-700:#4338ca; --red-50:#eef2ff; --red-100:#e0e7ff; --cash:#4f46e5; --r:18px; --r-s:12px;
  --shadow:0 1px 2px rgba(15,23,42,.04), 0 8px 24px -16px rgba(79,70,229,.25); --shadow-l:0 30px 60px -24px rgba(79,70,229,.35); --font:"Poppins F", Poppins, system-ui, sans-serif; --font-d:"Poppins F", Poppins, system-ui, sans-serif; }
html[data-lay="fintech"]:not(.tema-escuro) body, html[data-lay="fintech"]:not(.tema-escuro) .page { background:#f6f7fb !important; }
html[data-lay="fintech"]:not(.tema-escuro) body, html[data-lay="fintech"]:not(.tema-escuro) button, html[data-lay="fintech"]:not(.tema-escuro) input, html[data-lay="fintech"]:not(.tema-escuro) select, html[data-lay="fintech"]:not(.tema-escuro) textarea { font-family:"Poppins F", Poppins, system-ui, sans-serif !important; }
html[data-lay="fintech"]:not(.tema-escuro) h1, html[data-lay="fintech"]:not(.tema-escuro) h2, html[data-lay="fintech"]:not(.tema-escuro) h3, html[data-lay="fintech"]:not(.tema-escuro) .vg-title, html[data-lay="fintech"]:not(.tema-escuro) .card-h h3 { font-family:"Poppins F", Poppins, system-ui, sans-serif !important; letter-spacing:-.015em; }
html[data-lay="fintech"]:not(.tema-escuro) .topbar { background:rgba(246,247,251,.85) !important; border-bottom:1px solid transparent !important; backdrop-filter:blur(12px); }
html[data-lay="fintech"]:not(.tema-escuro) .topbar h1 { font-size:21px !important; font-weight:700 !important; color:#0f172a !important; }
/* menu lateral */
html[data-lay="fintech"]:not(.tema-escuro) .side { background:#ffffff !important; border-right:1px solid #eceef5 !important; box-shadow:none !important; color:#475569 !important; }
html[data-lay="fintech"]:not(.tema-escuro) .side .brand img { box-shadow:none !important; border:1px solid #eceef5; }
html[data-lay="fintech"]:not(.tema-escuro) .side .brand, html[data-lay="fintech"]:not(.tema-escuro) .side .brand * { color:#94a3b8 !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav [class*="cat-"], html[data-lay="fintech"]:not(.tema-escuro) .nav .grp { --c:#94a3b8 !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav .grp { color:#94a3b8 !important; font-size:10.5px !important; letter-spacing:.12em !important; font-weight:650 !important; padding-top:20px !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav .grp::before { display:none !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a { color:#475569 !important; font-size:13.5px !important; font-weight:500 !important; border-radius:12px !important; padding-top:8px !important; padding-bottom:8px !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a svg { color:#94a3b8 !important; width:17px !important; height:17px !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a:hover { background:#f4f5fb !important; color:#0f172a !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.on { background:linear-gradient(90deg,#eef2ff,#f5f3ff) !important; color:#0f172a !important; font-weight:600 !important; box-shadow:none !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.on svg { color:#4f46e5 !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.on::before { background:#4f46e5 !important; box-shadow:none !important;  }
html[data-lay="fintech"]:not(.tema-escuro) .nav a .cnt { background:#4f46e5 !important; color:#fff !important; font-size:11px !important; height:18px !important; min-width:20px !important; border-radius:9px !important; }
html[data-lay="fintech"]:not(.tema-escuro) .side .me { background:transparent !important; border-top:1px solid #eceef5 !important; color:#0f172a !important; }
html[data-lay="fintech"]:not(.tema-escuro) .side .me .avatar { background:linear-gradient(135deg,#6366f1,#8b5cf6) !important; color:#fff !important; }
html[data-lay="fintech"]:not(.tema-escuro) .side .me .muted, html[data-lay="fintech"]:not(.tema-escuro) .side .me small, html[data-lay="fintech"]:not(.tema-escuro) .side .me span { color:#94a3b8 !important; }
html[data-lay="fintech"]:not(.tema-escuro) .side [class*="org"], html[data-lay="fintech"]:not(.tema-escuro) .side .nav-ord, html[data-lay="fintech"]:not(.tema-escuro) .side button[class*="ord"] { color:#94a3b8 !important; border-color:#eceef5 !important; }
html[data-lay="fintech"]:not(.tema-escuro) .side-mini-btn { color:#94a3b8 !important; }
/* superfícies */
html[data-lay="fintech"]:not(.tema-escuro) .card, html[data-lay="fintech"]:not(.tema-escuro) .vg-card, html[data-lay="fintech"]:not(.tema-escuro) .kpi, html[data-lay="fintech"]:not(.tema-escuro) .stat, html[data-lay="fintech"]:not(.tema-escuro) .client-card, html[data-lay="fintech"]:not(.tema-escuro) .tile { background:#ffffff !important; border:1px solid #eceef5 !important; border-radius:18px !important; box-shadow:0 1px 2px rgba(15,23,42,.04), 0 8px 24px -16px rgba(79,70,229,.25) !important; }
html[data-lay="fintech"]:not(.tema-escuro) .card-h { border-bottom-color:#eef0f6 !important; }
html[data-lay="fintech"]:not(.tema-escuro) th, html[data-lay="fintech"]:not(.tema-escuro) .t th { background:#f9fafc !important; color:#94a3b8 !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:650 !important; border-bottom:1px solid #e6e8f0 !important; }
html[data-lay="fintech"]:not(.tema-escuro) td { border-bottom-color:#eef0f6 !important; }
html[data-lay="fintech"]:not(.tema-escuro) tbody tr:hover > td { background:#f8f9ff !important; }
html[data-lay="fintech"]:not(.tema-escuro) .btn { border-radius:12px !important; font-weight:600 !important; }
html[data-lay="fintech"]:not(.tema-escuro) .btn-primary { background:#4f46e5 !important; border-color:#4f46e5 !important; color:#fff !important; box-shadow:0 6px 16px -8px rgba(79,70,229,.6) !important; }
html[data-lay="fintech"]:not(.tema-escuro) .btn-primary:hover:not(:disabled) { background:#4338ca !important; }
html[data-lay="fintech"]:not(.tema-escuro) .btn-secondary { background:#ffffff !important; border-color:#e6e8f0 !important; color:#0f172a !important; box-shadow:none !important; }
html[data-lay="fintech"]:not(.tema-escuro) .input, html[data-lay="fintech"]:not(.tema-escuro) select.input, html[data-lay="fintech"]:not(.tema-escuro) textarea.input { border-radius:12px !important; border-color:#e6e8f0 !important; background:#ffffff !important; color:#0f172a !important; }
html[data-lay="fintech"]:not(.tema-escuro) .input:focus { border-color:#4f46e5 !important; box-shadow:0 0 0 3px rgba(79,70,229,.15) !important; outline:none !important; }
html[data-lay="fintech"]:not(.tema-escuro) .seg { background:#eef0f6 !important; border-radius:12px !important; }
html[data-lay="fintech"]:not(.tema-escuro) .seg button.on, html[data-lay="fintech"]:not(.tema-escuro) .seg .on { background:#ffffff !important; color:#0f172a !important; box-shadow:0 1px 2px rgba(15,23,42,.04), 0 8px 24px -16px rgba(79,70,229,.25) !important; }
html[data-lay="fintech"]:not(.tema-escuro) .vg-tema, html[data-lay="fintech"]:not(.tema-escuro) .vg-lay, html[data-lay="fintech"]:not(.tema-escuro) .vg-cmd, html[data-lay="fintech"]:not(.tema-escuro) [class*="vg-bell"] { background:#ffffff !important; border-color:#e6e8f0 !important; color:#0f172a !important; border-radius:12px !important; }
html[data-lay="fintech"]:not(.tema-escuro) a {  }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.on { color:#4338ca !important; } html[data-lay="fintech"]:not(.tema-escuro) .btn-primary { background:linear-gradient(180deg,#5b54ee,#4f46e5) !important; } html[data-lay="fintech"]:not(.tema-escuro) .tag, html[data-lay="fintech"]:not(.tema-escuro) .badge { border-radius:999px !important; }

/* --- midnight --- */
html[data-lay="midnight"] { --bg:#0a0e17; --surface:#111725; --surface-2:#0e1420; --ink:#e6ebf5; --ink-2:#b6c0d4; --muted:#97a3bc; --line:#1e2738; --line-2:#182032;
  --red:#2f8cff; --red-700:#1f74e0; --red-50:rgba(47,140,255,.12); --red-100:rgba(47,140,255,.22); --cash:#2f8cff; --r:14px; --r-s:10px;
  --shadow:0 0 0 1px rgba(255,255,255,.02), 0 12px 30px -18px rgba(0,0,0,.8); --shadow-l:0 30px 70px -20px rgba(0,0,0,.9); --font:"Inter F", Inter, system-ui, sans-serif; --font-d:"Inter Display F", "Inter F", system-ui, sans-serif; }
html[data-lay="midnight"] body, html[data-lay="midnight"] .page { background:#0a0e17 !important; }
html[data-lay="midnight"] body, html[data-lay="midnight"] button, html[data-lay="midnight"] input, html[data-lay="midnight"] select, html[data-lay="midnight"] textarea { font-family:"Inter F", Inter, system-ui, sans-serif !important; }
html[data-lay="midnight"] h1, html[data-lay="midnight"] h2, html[data-lay="midnight"] h3, html[data-lay="midnight"] .vg-title, html[data-lay="midnight"] .card-h h3 { font-family:"Inter Display F", "Inter F", system-ui, sans-serif !important; letter-spacing:-.015em; }
html[data-lay="midnight"] .topbar { background:rgba(10,14,23,.82) !important; border-bottom:1px solid #1a2233 !important; backdrop-filter:blur(12px); }
html[data-lay="midnight"] .topbar h1 { font-size:20px !important; font-weight:700 !important; color:#e6ebf5 !important; }
/* menu lateral */
html[data-lay="midnight"] .side { background:linear-gradient(180deg,#0d1320 0%,#080b12 100%) !important; border-right:1px solid #182032 !important; box-shadow:none !important; color:#aab4c8 !important; }
html[data-lay="midnight"] .side .brand img { box-shadow:none !important;  }
html[data-lay="midnight"] .side .brand, html[data-lay="midnight"] .side .brand * { color:#5d6a85 !important; }
html[data-lay="midnight"] .nav [class*="cat-"], html[data-lay="midnight"] .nav .grp { --c:#5d6a85 !important; }
html[data-lay="midnight"] .nav .grp { color:#5d6a85 !important; font-size:10.5px !important; letter-spacing:.12em !important; font-weight:650 !important; padding-top:20px !important; }
html[data-lay="midnight"] .nav .grp::before { display:none !important; }
html[data-lay="midnight"] .nav a { color:#aab4c8 !important; font-size:13.5px !important; font-weight:500 !important; border-radius:10px !important; padding-top:8px !important; padding-bottom:8px !important; }
html[data-lay="midnight"] .nav a svg { color:#5d6a85 !important; width:17px !important; height:17px !important; }
html[data-lay="midnight"] .nav a:hover { background:rgba(47,140,255,.07) !important; color:#ffffff !important; }
html[data-lay="midnight"] .nav a.on { background:linear-gradient(90deg,rgba(47,140,255,.20),rgba(47,140,255,.04)) !important; color:#ffffff !important; font-weight:600 !important; box-shadow:none !important; }
html[data-lay="midnight"] .nav a.on svg { color:#5fb0ff !important; }
html[data-lay="midnight"] .nav a.on::before { background:#2f8cff !important; box-shadow:none !important; box-shadow:0 0 14px rgba(47,140,255,.8) !important; }
html[data-lay="midnight"] .nav a .cnt { background:#2f8cff !important; color:#fff !important; font-size:11px !important; height:18px !important; min-width:20px !important; border-radius:9px !important; }
html[data-lay="midnight"] .side .me { background:transparent !important; border-top:1px solid #182032 !important; color:#ffffff !important; }
html[data-lay="midnight"] .side .me .avatar { background:#1a2336 !important; color:#9fc9ff !important; }
html[data-lay="midnight"] .side .me .muted, html[data-lay="midnight"] .side .me small, html[data-lay="midnight"] .side .me span { color:#5d6a85 !important; }
html[data-lay="midnight"] .side [class*="org"], html[data-lay="midnight"] .side .nav-ord, html[data-lay="midnight"] .side button[class*="ord"] { color:#5d6a85 !important; border-color:#182032 !important; }
html[data-lay="midnight"] .side-mini-btn { color:#5d6a85 !important; }
/* superfícies */
html[data-lay="midnight"] .card, html[data-lay="midnight"] .vg-card, html[data-lay="midnight"] .kpi, html[data-lay="midnight"] .stat, html[data-lay="midnight"] .client-card, html[data-lay="midnight"] .tile { background:#111725 !important; border:1px solid #1c2435 !important; border-radius:14px !important; box-shadow:0 0 0 1px rgba(255,255,255,.02), 0 12px 30px -18px rgba(0,0,0,.8) !important; }
html[data-lay="midnight"] .card-h { border-bottom-color:#182032 !important; }
html[data-lay="midnight"] th, html[data-lay="midnight"] .t th { background:#0e1420 !important; color:#6b7893 !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:650 !important; border-bottom:1px solid #1e2738 !important; }
html[data-lay="midnight"] td { border-bottom-color:#182032 !important; }
html[data-lay="midnight"] tbody tr:hover > td { background:#141c2d !important; }
html[data-lay="midnight"] .btn { border-radius:10px !important; font-weight:600 !important; }
html[data-lay="midnight"] .btn-primary { background:#2f8cff !important; border-color:#2f8cff !important; color:#fff !important; box-shadow:0 8px 20px -10px rgba(47,140,255,.8) !important; }
html[data-lay="midnight"] .btn-primary:hover:not(:disabled) { background:#1f74e0 !important; }
html[data-lay="midnight"] .btn-secondary { background:#111725 !important; border-color:#1e2738 !important; color:#e6ebf5 !important; box-shadow:none !important; }
html[data-lay="midnight"] .input, html[data-lay="midnight"] select.input, html[data-lay="midnight"] textarea.input { border-radius:10px !important; border-color:#1e2738 !important; background:#0d1320 !important; color:#e6ebf5 !important; }
html[data-lay="midnight"] .input:focus { border-color:#2f8cff !important; box-shadow:0 0 0 3px rgba(47,140,255,.25) !important; outline:none !important; }
html[data-lay="midnight"] .seg { background:#0e1420 !important; border-radius:10px !important; }
html[data-lay="midnight"] .seg button.on, html[data-lay="midnight"] .seg .on { background:#111725 !important; color:#e6ebf5 !important; box-shadow:0 0 0 1px rgba(255,255,255,.02), 0 12px 30px -18px rgba(0,0,0,.8) !important; }
html[data-lay="midnight"] .vg-tema, html[data-lay="midnight"] .vg-lay, html[data-lay="midnight"] .vg-cmd, html[data-lay="midnight"] [class*="vg-bell"] { background:#111725 !important; border-color:#1e2738 !important; color:#e6ebf5 !important; border-radius:10px !important; }
html[data-lay="midnight"] a {  }
html[data-lay="midnight"] .muted, html[data-lay="midnight"] .small.muted { color:#7d89a3 !important; } html[data-lay="midnight"] td, html[data-lay="midnight"] .card, html[data-lay="midnight"] .vg-card { color:#d5dcea; } html[data-lay="midnight"] [style*="background:#fff"], html[data-lay="midnight"] [style*="background: #fff"] { background:#111725 !important; }

/* --- corporativo --- */
html[data-lay="corporativo"]:not(.tema-escuro) { --bg:#f2f4f8; --surface:#ffffff; --surface-2:#f7f8fb; --ink:#161616; --ink-2:#393939; --muted:#5a5a5a; --line:#d8dde6; --line-2:#e8ebf1;
  --red:#0f62fe; --red-700:#0043ce; --red-50:#edf5ff; --red-100:#d0e2ff; --cash:#0f62fe; --r:4px; --r-s:2px;
  --shadow:none; --shadow-l:0 12px 32px -12px rgba(0,0,0,.3); --font:"Inter F", Inter, system-ui, sans-serif; --font-d:"Inter F", Inter, system-ui, sans-serif; }
html[data-lay="corporativo"]:not(.tema-escuro) body, html[data-lay="corporativo"]:not(.tema-escuro) .page { background:#f2f4f8 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) body, html[data-lay="corporativo"]:not(.tema-escuro) button, html[data-lay="corporativo"]:not(.tema-escuro) input, html[data-lay="corporativo"]:not(.tema-escuro) select, html[data-lay="corporativo"]:not(.tema-escuro) textarea { font-family:"Inter F", Inter, system-ui, sans-serif !important; }
html[data-lay="corporativo"]:not(.tema-escuro) h1, html[data-lay="corporativo"]:not(.tema-escuro) h2, html[data-lay="corporativo"]:not(.tema-escuro) h3, html[data-lay="corporativo"]:not(.tema-escuro) .vg-title, html[data-lay="corporativo"]:not(.tema-escuro) .card-h h3 { font-family:"Inter F", Inter, system-ui, sans-serif !important; letter-spacing:-.005em; }
html[data-lay="corporativo"]:not(.tema-escuro) .topbar { background:#ffffff !important; border-bottom:1px solid #d8dde6 !important;  }
html[data-lay="corporativo"]:not(.tema-escuro) .topbar h1 { font-size:19px !important; font-weight:600 !important; color:#161616 !important; }
/* menu lateral */
html[data-lay="corporativo"]:not(.tema-escuro) .side { background:#0b2545 !important; border-right:1px solid rgba(255,255,255,.08) !important; box-shadow:none !important; color:#c9d6ea !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .side .brand img { box-shadow:none !important;  }
html[data-lay="corporativo"]:not(.tema-escuro) .side .brand, html[data-lay="corporativo"]:not(.tema-escuro) .side .brand * { color:#7f96b8 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav [class*="cat-"], html[data-lay="corporativo"]:not(.tema-escuro) .nav .grp { --c:#8fa6c8 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav .grp { color:#7f96b8 !important; font-size:10.5px !important; letter-spacing:.12em !important; font-weight:650 !important; padding-top:20px !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav .grp::before { display:none !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a { color:#c9d6ea !important; font-size:13.5px !important; font-weight:500 !important; border-radius:0px !important; padding-top:8px !important; padding-bottom:8px !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a svg { color:#8fa6c8 !important; width:17px !important; height:17px !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a:hover { background:rgba(255,255,255,.06) !important; color:#ffffff !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.on { background:#13315c !important; color:#ffffff !important; font-weight:600 !important; box-shadow:none !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.on svg { color:#ffffff !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.on::before { background:#4589ff !important; box-shadow:none !important;  }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a .cnt { background:#da1e28 !important; color:#fff !important; font-size:11px !important; height:18px !important; min-width:20px !important; border-radius:9px !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .side .me { background:transparent !important; border-top:1px solid rgba(255,255,255,.08) !important; color:#ffffff !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .side .me .avatar { background:#13315c !important; color:#ffffff !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .side .me .muted, html[data-lay="corporativo"]:not(.tema-escuro) .side .me small, html[data-lay="corporativo"]:not(.tema-escuro) .side .me span { color:#7f96b8 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .side [class*="org"], html[data-lay="corporativo"]:not(.tema-escuro) .side .nav-ord, html[data-lay="corporativo"]:not(.tema-escuro) .side button[class*="ord"] { color:#7f96b8 !important; border-color:rgba(255,255,255,.08) !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .side-mini-btn { color:#7f96b8 !important; }
/* superfícies */
html[data-lay="corporativo"]:not(.tema-escuro) .card, html[data-lay="corporativo"]:not(.tema-escuro) .vg-card, html[data-lay="corporativo"]:not(.tema-escuro) .kpi, html[data-lay="corporativo"]:not(.tema-escuro) .stat, html[data-lay="corporativo"]:not(.tema-escuro) .client-card, html[data-lay="corporativo"]:not(.tema-escuro) .tile { background:#ffffff !important; border:1px solid #d8dde6 !important; border-radius:4px !important; box-shadow:none !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .card-h { border-bottom-color:#e8ebf1 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) th, html[data-lay="corporativo"]:not(.tema-escuro) .t th { background:#eef1f6 !important; color:#525252 !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:650 !important; border-bottom:1px solid #d8dde6 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) td { border-bottom-color:#e8ebf1 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) tbody tr:hover > td { background:#f4f6fa !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .btn { border-radius:2px !important; font-weight:600 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .btn-primary { background:#0f62fe !important; border-color:#0f62fe !important; color:#fff !important; box-shadow:none !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .btn-primary:hover:not(:disabled) { background:#0043ce !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .btn-secondary { background:#ffffff !important; border-color:#d8dde6 !important; color:#161616 !important; box-shadow:none !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .input, html[data-lay="corporativo"]:not(.tema-escuro) select.input, html[data-lay="corporativo"]:not(.tema-escuro) textarea.input { border-radius:2px !important; border-color:#d8dde6 !important; background:#ffffff !important; color:#161616 !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .input:focus { border-color:#0f62fe !important; box-shadow:0 0 0 3px rgba(15,98,254,.18) !important; outline:none !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .seg { background:#e8ebf1 !important; border-radius:2px !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .seg button.on, html[data-lay="corporativo"]:not(.tema-escuro) .seg .on { background:#ffffff !important; color:#161616 !important; box-shadow:none !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .vg-tema, html[data-lay="corporativo"]:not(.tema-escuro) .vg-lay, html[data-lay="corporativo"]:not(.tema-escuro) .vg-cmd, html[data-lay="corporativo"]:not(.tema-escuro) [class*="vg-bell"] { background:#ffffff !important; border-color:#d8dde6 !important; color:#161616 !important; border-radius:2px !important; }
html[data-lay="corporativo"]:not(.tema-escuro) a {  }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.on::before { left:0 !important; top:0 !important; bottom:0 !important; width:3px !important; border-radius:0 !important; } html[data-lay="corporativo"]:not(.tema-escuro) tbody tr:nth-child(even) > td { background:#fafbfd; } html[data-lay="corporativo"]:not(.tema-escuro) .card-h { background:#f7f8fb; }

/* --- perola --- */
html[data-lay="perola"]:not(.tema-escuro) { --bg:#e8e6e1; --surface:#f4f3ef; --surface-2:#eeece7; --ink:#23201d; --ink-2:#4a4540; --muted:#6d665d; --line:#d9d5cd; --line-2:#e4e1da;
  --red:#7d2232; --red-700:#621a27; --red-50:#efe4e1; --red-100:#e3cfca; --cash:#7d2232; --r:14px; --r-s:10px;
  --shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 1px 2px rgba(60,45,30,.06), 0 10px 26px -18px rgba(60,45,30,.35); --shadow-l:0 26px 60px -24px rgba(60,45,30,.45); --font:"Inter F", Inter, system-ui, sans-serif; --font-d:"Inter Display F", "Inter F", system-ui, sans-serif; }
html[data-lay="perola"]:not(.tema-escuro) body, html[data-lay="perola"]:not(.tema-escuro) .page { background:#e8e6e1 !important; }
html[data-lay="perola"]:not(.tema-escuro) body, html[data-lay="perola"]:not(.tema-escuro) button, html[data-lay="perola"]:not(.tema-escuro) input, html[data-lay="perola"]:not(.tema-escuro) select, html[data-lay="perola"]:not(.tema-escuro) textarea { font-family:"Inter F", Inter, system-ui, sans-serif !important; }
html[data-lay="perola"]:not(.tema-escuro) h1, html[data-lay="perola"]:not(.tema-escuro) h2, html[data-lay="perola"]:not(.tema-escuro) h3, html[data-lay="perola"]:not(.tema-escuro) .vg-title, html[data-lay="perola"]:not(.tema-escuro) .card-h h3 { font-family:"Inter Display F", "Inter F", system-ui, sans-serif !important; letter-spacing:-.015em; }
html[data-lay="perola"]:not(.tema-escuro) .topbar { background:rgba(232,230,225,.88) !important; border-bottom:1px solid #dcd8d0 !important; backdrop-filter:blur(12px); }
html[data-lay="perola"]:not(.tema-escuro) .topbar h1 { font-size:21px !important; font-weight:650 !important; color:#23201d !important; }
/* menu lateral */
html[data-lay="perola"]:not(.tema-escuro) .side { background:linear-gradient(180deg,#2c2723 0%,#1e1a17 100%) !important; border-right:1px solid rgba(184,149,90,.16) !important; box-shadow:none !important; color:#ddd5ca !important; }
html[data-lay="perola"]:not(.tema-escuro) .side .brand img { box-shadow:none !important;  }
html[data-lay="perola"]:not(.tema-escuro) .side .brand, html[data-lay="perola"]:not(.tema-escuro) .side .brand * { color:#9a8f80 !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav [class*="cat-"], html[data-lay="perola"]:not(.tema-escuro) .nav .grp { --c:#a3967f !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav .grp { color:#9a8f80 !important; font-size:10.5px !important; letter-spacing:.12em !important; font-weight:650 !important; padding-top:20px !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav .grp::before { display:none !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav a { color:#ddd5ca !important; font-size:13.5px !important; font-weight:500 !important; border-radius:9px !important; padding-top:8px !important; padding-bottom:8px !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav a svg { color:#a3967f !important; width:17px !important; height:17px !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav a:hover { background:rgba(184,149,90,.08) !important; color:#fbf6ee !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.on { background:rgba(184,149,90,.15) !important; color:#fbf6ee !important; font-weight:600 !important; box-shadow:none !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.on svg { color:#d9b77a !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.on::before { background:#c9a464 !important; box-shadow:none !important;  }
html[data-lay="perola"]:not(.tema-escuro) .nav a .cnt { background:#7d2232 !important; color:#fff !important; font-size:11px !important; height:18px !important; min-width:20px !important; border-radius:9px !important; }
html[data-lay="perola"]:not(.tema-escuro) .side .me { background:transparent !important; border-top:1px solid rgba(184,149,90,.16) !important; color:#fbf6ee !important; }
html[data-lay="perola"]:not(.tema-escuro) .side .me .avatar { background:#3a332d !important; color:#e6cf9f !important; }
html[data-lay="perola"]:not(.tema-escuro) .side .me .muted, html[data-lay="perola"]:not(.tema-escuro) .side .me small, html[data-lay="perola"]:not(.tema-escuro) .side .me span { color:#9a8f80 !important; }
html[data-lay="perola"]:not(.tema-escuro) .side [class*="org"], html[data-lay="perola"]:not(.tema-escuro) .side .nav-ord, html[data-lay="perola"]:not(.tema-escuro) .side button[class*="ord"] { color:#9a8f80 !important; border-color:rgba(184,149,90,.16) !important; }
html[data-lay="perola"]:not(.tema-escuro) .side-mini-btn { color:#9a8f80 !important; }
/* superfícies */
html[data-lay="perola"]:not(.tema-escuro) .card, html[data-lay="perola"]:not(.tema-escuro) .vg-card, html[data-lay="perola"]:not(.tema-escuro) .kpi, html[data-lay="perola"]:not(.tema-escuro) .stat, html[data-lay="perola"]:not(.tema-escuro) .client-card, html[data-lay="perola"]:not(.tema-escuro) .tile { background:#f4f3ef !important; border:1px solid #dcd8d0 !important; border-radius:14px !important; box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 1px 2px rgba(60,45,30,.06), 0 10px 26px -18px rgba(60,45,30,.35) !important; }
html[data-lay="perola"]:not(.tema-escuro) .card-h { border-bottom-color:#e4e1da !important; }
html[data-lay="perola"]:not(.tema-escuro) th, html[data-lay="perola"]:not(.tema-escuro) .t th { background:#ecebe6 !important; color:#7d766d !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:650 !important; border-bottom:1px solid #d9d5cd !important; }
html[data-lay="perola"]:not(.tema-escuro) td { border-bottom-color:#e4e1da !important; }
html[data-lay="perola"]:not(.tema-escuro) tbody tr:hover > td { background:#efede8 !important; }
html[data-lay="perola"]:not(.tema-escuro) .btn { border-radius:10px !important; font-weight:600 !important; }
html[data-lay="perola"]:not(.tema-escuro) .btn-primary { background:#7d2232 !important; border-color:#7d2232 !important; color:#fff !important; box-shadow:0 1px 2px rgba(60,20,25,.25) !important; }
html[data-lay="perola"]:not(.tema-escuro) .btn-primary:hover:not(:disabled) { background:#621a27 !important; }
html[data-lay="perola"]:not(.tema-escuro) .btn-secondary { background:#f4f3ef !important; border-color:#d9d5cd !important; color:#23201d !important; box-shadow:none !important; }
html[data-lay="perola"]:not(.tema-escuro) .input, html[data-lay="perola"]:not(.tema-escuro) select.input, html[data-lay="perola"]:not(.tema-escuro) textarea.input { border-radius:10px !important; border-color:#d9d5cd !important; background:#f8f7f3 !important; color:#23201d !important; }
html[data-lay="perola"]:not(.tema-escuro) .input:focus { border-color:#7d2232 !important; box-shadow:0 0 0 3px rgba(125,34,50,.14) !important; outline:none !important; }
html[data-lay="perola"]:not(.tema-escuro) .seg { background:#e2dfd8 !important; border-radius:10px !important; }
html[data-lay="perola"]:not(.tema-escuro) .seg button.on, html[data-lay="perola"]:not(.tema-escuro) .seg .on { background:#f4f3ef !important; color:#23201d !important; box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 1px 2px rgba(60,45,30,.06), 0 10px 26px -18px rgba(60,45,30,.35) !important; }
html[data-lay="perola"]:not(.tema-escuro) .vg-tema, html[data-lay="perola"]:not(.tema-escuro) .vg-lay, html[data-lay="perola"]:not(.tema-escuro) .vg-cmd, html[data-lay="perola"]:not(.tema-escuro) [class*="vg-bell"] { background:#f4f3ef !important; border-color:#d9d5cd !important; color:#23201d !important; border-radius:10px !important; }
html[data-lay="perola"]:not(.tema-escuro) a {  }
html[data-lay="perola"]:not(.tema-escuro) .topbar h1 { letter-spacing:-.02em; } html[data-lay="perola"]:not(.tema-escuro) .tag, html[data-lay="perola"]:not(.tema-escuro) .badge { border-radius:999px !important; }

}
@media (min-width: 901px) {
html:not([data-lay]):not(.tema-escuro) .nav a.cat-visaogeral { --c:#e07a8a !important; } html:not([data-lay]):not(.tema-escuro):has(.nav a.on.cat-visaogeral) { --pg:#e07a8a; }
html:not([data-lay]):not(.tema-escuro) .nav a.cat-operacao { --c:#d9a55a !important; } html:not([data-lay]):not(.tema-escuro):has(.nav a.on.cat-operacao) { --pg:#d9a55a; }
html:not([data-lay]):not(.tema-escuro) .nav a.cat-clientes { --c:#6fa8dc !important; } html:not([data-lay]):not(.tema-escuro):has(.nav a.on.cat-clientes) { --pg:#6fa8dc; }
html:not([data-lay]):not(.tema-escuro) .nav a.cat-catalogoeestoque { --c:#c9a77c !important; } html:not([data-lay]):not(.tema-escuro):has(.nav a.on.cat-catalogoeestoque) { --pg:#c9a77c; }
html:not([data-lay]):not(.tema-escuro) .nav a.cat-logistica { --c:#5fb3a8 !important; } html:not([data-lay]):not(.tema-escuro):has(.nav a.on.cat-logistica) { --pg:#5fb3a8; }
html:not([data-lay]):not(.tema-escuro) .nav a.cat-assistenciatecnica { --c:#67b7c7 !important; } html:not([data-lay]):not(.tema-escuro):has(.nav a.on.cat-assistenciatecnica) { --pg:#67b7c7; }
html:not([data-lay]):not(.tema-escuro) .nav a.cat-financeiro { --c:#6cbf8c !important; } html:not([data-lay]):not(.tema-escuro):has(.nav a.on.cat-financeiro) { --pg:#6cbf8c; }
html:not([data-lay]):not(.tema-escuro) .nav a.cat-gestao { --c:#a596d6 !important; } html:not([data-lay]):not(.tema-escuro):has(.nav a.on.cat-gestao) { --pg:#a596d6; }
html:not([data-lay]):not(.tema-escuro) .nav a svg { color:var(--c) !important; opacity:.92; } html:not([data-lay]):not(.tema-escuro) .nav a.on svg { color:var(--c) !important; opacity:1; }
html:not([data-lay]):not(.tema-escuro) .nav a.cat-listasemoculto { --c:#8b909a !important; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-visaogeral { --c:#b8475a !important; } html[data-lay="nordico"]:not(.tema-escuro):has(.nav a.on.cat-visaogeral) { --pg:#b8475a; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-operacao { --c:#a8741f !important; } html[data-lay="nordico"]:not(.tema-escuro):has(.nav a.on.cat-operacao) { --pg:#a8741f; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-clientes { --c:#3b78b5 !important; } html[data-lay="nordico"]:not(.tema-escuro):has(.nav a.on.cat-clientes) { --pg:#3b78b5; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-catalogoeestoque { --c:#8f714a !important; } html[data-lay="nordico"]:not(.tema-escuro):has(.nav a.on.cat-catalogoeestoque) { --pg:#8f714a; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-logistica { --c:#2c8576 !important; } html[data-lay="nordico"]:not(.tema-escuro):has(.nav a.on.cat-logistica) { --pg:#2c8576; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-assistenciatecnica { --c:#2a8598 !important; } html[data-lay="nordico"]:not(.tema-escuro):has(.nav a.on.cat-assistenciatecnica) { --pg:#2a8598; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-financeiro { --c:#3b8f5c !important; } html[data-lay="nordico"]:not(.tema-escuro):has(.nav a.on.cat-financeiro) { --pg:#3b8f5c; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-gestao { --c:#7360b5 !important; } html[data-lay="nordico"]:not(.tema-escuro):has(.nav a.on.cat-gestao) { --pg:#7360b5; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a svg { color:var(--c) !important; opacity:.92; } html[data-lay="nordico"]:not(.tema-escuro) .nav a.on svg { color:var(--c) !important; opacity:1; }
html[data-lay="nordico"]:not(.tema-escuro) .nav a.cat-listasemoculto { --c:#8b909a !important; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-visaogeral { --c:#e3a3ab !important; } html[data-lay="editorial"]:not(.tema-escuro):has(.nav a.on.cat-visaogeral) { --pg:#e3a3ab; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-operacao { --c:#e2c48d !important; } html[data-lay="editorial"]:not(.tema-escuro):has(.nav a.on.cat-operacao) { --pg:#e2c48d; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-clientes { --c:#a9c1d9 !important; } html[data-lay="editorial"]:not(.tema-escuro):has(.nav a.on.cat-clientes) { --pg:#a9c1d9; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-catalogoeestoque { --c:#d8c3a0 !important; } html[data-lay="editorial"]:not(.tema-escuro):has(.nav a.on.cat-catalogoeestoque) { --pg:#d8c3a0; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-logistica { --c:#a7c9b8 !important; } html[data-lay="editorial"]:not(.tema-escuro):has(.nav a.on.cat-logistica) { --pg:#a7c9b8; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-assistenciatecnica { --c:#9cc6cf !important; } html[data-lay="editorial"]:not(.tema-escuro):has(.nav a.on.cat-assistenciatecnica) { --pg:#9cc6cf; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-financeiro { --c:#b7d1a1 !important; } html[data-lay="editorial"]:not(.tema-escuro):has(.nav a.on.cat-financeiro) { --pg:#b7d1a1; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-gestao { --c:#c3b4dd !important; } html[data-lay="editorial"]:not(.tema-escuro):has(.nav a.on.cat-gestao) { --pg:#c3b4dd; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a svg { color:var(--c) !important; opacity:.92; } html[data-lay="editorial"]:not(.tema-escuro) .nav a.on svg { color:var(--c) !important; opacity:1; }
html[data-lay="editorial"]:not(.tema-escuro) .nav a.cat-listasemoculto { --c:#8b909a !important; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-visaogeral { --c:#d1456a !important; } html[data-lay="fintech"]:not(.tema-escuro):has(.nav a.on.cat-visaogeral) { --pg:#d1456a; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-operacao { --c:#c27a12 !important; } html[data-lay="fintech"]:not(.tema-escuro):has(.nav a.on.cat-operacao) { --pg:#c27a12; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-clientes { --c:#2f74d0 !important; } html[data-lay="fintech"]:not(.tema-escuro):has(.nav a.on.cat-clientes) { --pg:#2f74d0; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-catalogoeestoque { --c:#9b6b3f !important; } html[data-lay="fintech"]:not(.tema-escuro):has(.nav a.on.cat-catalogoeestoque) { --pg:#9b6b3f; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-logistica { --c:#0f9b8e !important; } html[data-lay="fintech"]:not(.tema-escuro):has(.nav a.on.cat-logistica) { --pg:#0f9b8e; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-assistenciatecnica { --c:#0e8fb0 !important; } html[data-lay="fintech"]:not(.tema-escuro):has(.nav a.on.cat-assistenciatecnica) { --pg:#0e8fb0; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-financeiro { --c:#2e9a5c !important; } html[data-lay="fintech"]:not(.tema-escuro):has(.nav a.on.cat-financeiro) { --pg:#2e9a5c; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-gestao { --c:#6d5ae6 !important; } html[data-lay="fintech"]:not(.tema-escuro):has(.nav a.on.cat-gestao) { --pg:#6d5ae6; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a svg { color:var(--c) !important; opacity:.92; } html[data-lay="fintech"]:not(.tema-escuro) .nav a.on svg { color:var(--c) !important; opacity:1; }
html[data-lay="fintech"]:not(.tema-escuro) .nav a.cat-listasemoculto { --c:#8b909a !important; }
html[data-lay="midnight"] .nav a.cat-visaogeral { --c:#ff8fa3 !important; } html[data-lay="midnight"]:has(.nav a.on.cat-visaogeral) { --pg:#ff8fa3; }
html[data-lay="midnight"] .nav a.cat-operacao { --c:#ffc26b !important; } html[data-lay="midnight"]:has(.nav a.on.cat-operacao) { --pg:#ffc26b; }
html[data-lay="midnight"] .nav a.cat-clientes { --c:#7cc4ff !important; } html[data-lay="midnight"]:has(.nav a.on.cat-clientes) { --pg:#7cc4ff; }
html[data-lay="midnight"] .nav a.cat-catalogoeestoque { --c:#e0c08a !important; } html[data-lay="midnight"]:has(.nav a.on.cat-catalogoeestoque) { --pg:#e0c08a; }
html[data-lay="midnight"] .nav a.cat-logistica { --c:#5ee0c0 !important; } html[data-lay="midnight"]:has(.nav a.on.cat-logistica) { --pg:#5ee0c0; }
html[data-lay="midnight"] .nav a.cat-assistenciatecnica { --c:#67d7f0 !important; } html[data-lay="midnight"]:has(.nav a.on.cat-assistenciatecnica) { --pg:#67d7f0; }
html[data-lay="midnight"] .nav a.cat-financeiro { --c:#7fe0a0 !important; } html[data-lay="midnight"]:has(.nav a.on.cat-financeiro) { --pg:#7fe0a0; }
html[data-lay="midnight"] .nav a.cat-gestao { --c:#b7a3ff !important; } html[data-lay="midnight"]:has(.nav a.on.cat-gestao) { --pg:#b7a3ff; }
html[data-lay="midnight"] .nav a svg { color:var(--c) !important; opacity:.92; } html[data-lay="midnight"] .nav a.on svg { color:var(--c) !important; opacity:1; }
html[data-lay="midnight"] .nav a.cat-listasemoculto { --c:#8b909a !important; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-visaogeral { --c:#f28b9b !important; } html[data-lay="corporativo"]:not(.tema-escuro):has(.nav a.on.cat-visaogeral) { --pg:#f28b9b; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-operacao { --c:#f1c21b !important; } html[data-lay="corporativo"]:not(.tema-escuro):has(.nav a.on.cat-operacao) { --pg:#f1c21b; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-clientes { --c:#78a9ff !important; } html[data-lay="corporativo"]:not(.tema-escuro):has(.nav a.on.cat-clientes) { --pg:#78a9ff; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-catalogoeestoque { --c:#d6b98c !important; } html[data-lay="corporativo"]:not(.tema-escuro):has(.nav a.on.cat-catalogoeestoque) { --pg:#d6b98c; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-logistica { --c:#3ddbd9 !important; } html[data-lay="corporativo"]:not(.tema-escuro):has(.nav a.on.cat-logistica) { --pg:#3ddbd9; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-assistenciatecnica { --c:#82cfff !important; } html[data-lay="corporativo"]:not(.tema-escuro):has(.nav a.on.cat-assistenciatecnica) { --pg:#82cfff; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-financeiro { --c:#6fdc8c !important; } html[data-lay="corporativo"]:not(.tema-escuro):has(.nav a.on.cat-financeiro) { --pg:#6fdc8c; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-gestao { --c:#be95ff !important; } html[data-lay="corporativo"]:not(.tema-escuro):has(.nav a.on.cat-gestao) { --pg:#be95ff; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a svg { color:var(--c) !important; opacity:.92; } html[data-lay="corporativo"]:not(.tema-escuro) .nav a.on svg { color:var(--c) !important; opacity:1; }
html[data-lay="corporativo"]:not(.tema-escuro) .nav a.cat-listasemoculto { --c:#8b909a !important; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-visaogeral { --c:#d99aa0 !important; } html[data-lay="perola"]:not(.tema-escuro):has(.nav a.on.cat-visaogeral) { --pg:#d99aa0; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-operacao { --c:#d9b77a !important; } html[data-lay="perola"]:not(.tema-escuro):has(.nav a.on.cat-operacao) { --pg:#d9b77a; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-clientes { --c:#9fb6cf !important; } html[data-lay="perola"]:not(.tema-escuro):has(.nav a.on.cat-clientes) { --pg:#9fb6cf; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-catalogoeestoque { --c:#cdb592 !important; } html[data-lay="perola"]:not(.tema-escuro):has(.nav a.on.cat-catalogoeestoque) { --pg:#cdb592; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-logistica { --c:#9fc3b4 !important; } html[data-lay="perola"]:not(.tema-escuro):has(.nav a.on.cat-logistica) { --pg:#9fc3b4; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-assistenciatecnica { --c:#94bcc6 !important; } html[data-lay="perola"]:not(.tema-escuro):has(.nav a.on.cat-assistenciatecnica) { --pg:#94bcc6; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-financeiro { --c:#a9c79a !important; } html[data-lay="perola"]:not(.tema-escuro):has(.nav a.on.cat-financeiro) { --pg:#a9c79a; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-gestao { --c:#bba9d1 !important; } html[data-lay="perola"]:not(.tema-escuro):has(.nav a.on.cat-gestao) { --pg:#bba9d1; }
html[data-lay="perola"]:not(.tema-escuro) .nav a svg { color:var(--c) !important; opacity:.92; } html[data-lay="perola"]:not(.tema-escuro) .nav a.on svg { color:var(--c) !important; opacity:1; }
html[data-lay="perola"]:not(.tema-escuro) .nav a.cat-listasemoculto { --c:#8b909a !important; }

  /* título da página com a cor da categoria (identifica a área sem pintar tudo) */
  .topbar h1 { display:flex; align-items:center; gap:10px; }
  .topbar h1::before { content:""; flex:none; width:4px; height:20px; border-radius:3px; background:var(--pg, var(--red)); }
  /* letras maiores para leitura no computador (os números continuam como estão) */
  body { font-size:15px; }
  .small, small, .muted.small, .rm-meta, .rm3-info, .lg-hint, .hint, .help { font-size:13.5px !important; }
  .topbar .sub, .topbar .top-desc { font-size:13.5px !important; }
  .card-h h3 { font-size:15.5px !important; }
  label, .field > span, .lbl { font-size:13.5px; }
  .input, select.input, textarea.input { font-size:14.5px !important; }
  .btn { font-size:14px !important; } .btn-sm { font-size:13.5px !important; }
  .tag, .badge { font-size:12.5px !important; }
  th, .t th { font-size:12px !important; }
  td, .t td { font-size:14px; }
  .nav a { font-size:14px !important; }
  .np-item .link.strong, .np-item .strong { font-size:15px !important; }
  .rm-item .muted.small { font-size:13.5px !important; }
  .rm3-alt .chip { font-size:13px !important; padding:5px 11px !important; }
  .rm3-alt > b { font-size:13px !important; }
  .rm3-sug span { font-size:14px !important; } .rm3-sug small { font-size:12.5px !important; }
  .np-item [class*="mot"], .rm-item blockquote, .rm-item q { font-size:14px !important; }
}
/* botão da sugestão do Remanejamento: legível em todos os layouts */
html .rm3-sug.btn-primary, html[data-lay] .rm3-sug.btn-primary, html:not([data-lay]) .rm3-sug.btn-primary { background:var(--surface) !important; color:var(--ink) !important; border:1px solid var(--line) !important; box-shadow:inset 3px 0 0 var(--red) !important; background-image:none !important; }
html .rm3-sug.btn-primary:hover, html[data-lay] .rm3-sug.btn-primary:hover { background:var(--surface-2) !important; }
html .rm3-sug small, html[data-lay] .rm3-sug small { color:var(--muted) !important; opacity:1 !important; }
html .rm3-sug span, html[data-lay] .rm3-sug span { color:var(--ink) !important; }
/* grupos recolhidos do Remanejamento (mesmo padrão do Fechamento) */
.rm87 { margin-bottom:12px; }
.rm87 .cl69av { border-radius:12px !important; }
.rm87 .cl69av svg { width:20px; height:20px; color:#fff; }
.rm87b { border-top:1px solid var(--line); padding:12px 16px 16px; background:var(--bg); }
.rm87b .np-list { display:flex; flex-direction:column; gap:10px; }


/* seletor de layout (galeria) */
.lay85-btn { display:none; }
@media (min-width: 901px) {
  .lay85-btn { display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 12px 0 8px; border-radius:10px; border:1.5px solid var(--line); background:var(--surface); color:var(--ink); font:600 13px var(--font); cursor:pointer; }
  .lay85-btn i { display:inline-grid; grid-template-columns:8px 14px; gap:2px; width:24px; height:18px; border-radius:4px; overflow:hidden; }
  .lay85-btn i b { display:block; } .lay85-btn i b:first-child { background:var(--lb-s,#18181b); } .lay85-btn i b:last-child { background:var(--lb-a,#a11d33); opacity:.9; }
}
.lay85-ov { position:fixed; inset:0; z-index:4000; background:rgba(10,10,14,.55); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:28px; }
.lay85-m { width:min(1080px,100%); max-height:92vh; overflow:auto; background:#fff; color:#18181b; border-radius:20px; box-shadow:0 40px 100px -20px rgba(0,0,0,.5); padding:28px 30px 26px; font-family:"Inter F",Inter,system-ui,sans-serif; }
.lay85-h { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.lay85-h h2 { margin:0; font:700 22px/1.2 "Inter Display F","Inter F",system-ui,sans-serif; letter-spacing:-.02em; color:#18181b; }
.lay85-h p { margin:6px 0 0; color:#71717a; font-size:13.5px; }
.lay85-x { border:0; background:#f4f4f5; width:36px; height:36px; border-radius:50%; font-size:18px; cursor:pointer; color:#3f3f46; }
.lay85-g { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.lay85-c { all:unset; box-sizing:border-box; cursor:pointer; border:1.5px solid #e4e4e7; border-radius:16px; padding:10px; background:#fff; transition:transform .15s, box-shadow .2s, border-color .2s; display:flex; flex-direction:column; gap:10px; }
.lay85-c:hover { transform:translateY(-2px); box-shadow:0 18px 40px -20px rgba(0,0,0,.35); border-color:#d4d4d8; }
.lay85-c.on { border-color:#18181b; box-shadow:0 0 0 3px rgba(24,24,27,.12); }
.lay85-pv { position:relative; height:150px; border-radius:10px; overflow:hidden; display:grid; grid-template-columns:30% 1fr; border:1px solid rgba(0,0,0,.06); }
.lay85-pv .s { padding:10px 8px; display:flex; flex-direction:column; gap:6px; }
.lay85-pv .s .lg { height:10px; width:60%; border-radius:3px; background:#fff; opacity:.95; margin-bottom:6px; }
.lay85-pv .s .it { height:6px; border-radius:3px; }
.lay85-pv .s .it.on { height:10px; }
.lay85-pv .m { padding:12px; display:flex; flex-direction:column; gap:8px; }
.lay85-pv .m .tt { height:9px; width:46%; border-radius:3px; }
.lay85-pv .m .kp { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.lay85-pv .m .kp div { height:30px; }
.lay85-pv .m .tb { flex:1; }
.lay85-pv .m .bt { position:absolute; right:12px; top:10px; width:34px; height:12px; }
.lay85-n { display:flex; justify-content:space-between; align-items:baseline; gap:8px; padding:2px 4px 2px; }
.lay85-n b { font-size:14.5px; letter-spacing:-.01em; }
.lay85-n span { font-size:11px; color:#a1a1aa; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.lay85-d { font-size:12.5px; color:#71717a; line-height:1.45; padding:0 4px 4px; }
.lay85-f { display:flex; justify-content:space-between; align-items:center; margin-top:20px; gap:12px; color:#71717a; font-size:12.5px; }
.lay85-f button { all:unset; cursor:pointer; background:#18181b; color:#fff; font-weight:600; font-size:13.5px; padding:10px 18px; border-radius:10px; }

/* ===== v86: Fechamento de rota — leitura maior, sem rolagem presa, seções claras ===== */
.cl69 { font-size: 14.5px; }
.cl69c { border-radius: 14px; }
.cl69h { padding: 16px 20px !important; gap: 16px !important; }
.cl69av { width: 42px !important; height: 42px !important; font-size: 16px !important; }
.cl69nm { font-size: 17px !important; }
.cl69st { font-size: 12px !important; padding: 3px 10px !important; }
.cl69sub { font-size: 13.5px !important; margin-top: 3px !important; }
.cl69vv { font-size: 18px !important; }
.cl69vs { font-size: 13px !important; }
.cl69bar { height: 6px !important; }
.cl69f { font-size: 13.5px !important; margin-left: 78px !important; padding: 8px 12px !important; line-height: 1.45 !important; }
.cl69b { padding: 18px 20px 20px !important; }
.cl69s .input { height: 42px !important; font-size: 14.5px !important; }
/* sem rolagem dentro da lista: a página rola inteira, a lista não "prende" o mouse */
.cl69 .table-wrap { max-height: none !important; overflow-y: visible !important; overflow-x: auto !important; }
.cl69 .table-wrap th { position: static !important; }
/* números do cobrador */
.cl69 .closing-card .card-b { padding: 18px 20px !important; gap: 16px !important; }
.cl69 .closing-nums { gap: 12px !important; }
.cl69 .closing-nums > div { padding: 14px 16px !important; border-radius: 12px !important; background: var(--surface-2, #fafafa) !important; border: 1px solid var(--line) !important; }
.cl69 .closing-nums span { font-size: 12.5px !important; text-transform: uppercase; letter-spacing: .05em; color: var(--muted) !important; font-weight: 600; }
.cl69 .closing-nums b { font-size: 21px !important; font-weight: 700 !important; letter-spacing: -.01em; display: block; margin-top: 4px; }
.cl69 .closing-nums small { font-size: 12.5px !important; }
.cl69 .closing-card .row.small, .cl69 .closing-card .small { font-size: 13.5px !important; }
/* títulos das seções (Dinheiro, Quem pagou...) */
.cl69 .closing-card .card-b > div > b, .cl69 .closing-card .card-b h4, .cl69 .closing-card .sec-t { font-size: 15.5px !important; }
.cl69 .closing-card .card-b > * + * { border-top-color: var(--line-2) !important; }
/* tabela de quem pagou */
.cl69 .t { font-size: 14.5px !important; }
.cl69 .t th { font-size: 12px !important; padding: 11px 14px !important; }
.cl69 .t td { padding: 13px 14px !important; vertical-align: middle; }
.cl69 .t td b, .cl69 .t td strong { font-size: 14.5px; }
.cl69 .t td .muted, .cl69 .t td small { font-size: 12.5px !important; }
.cl69 .t .tag, .cl69 .t [class*="badge"] { font-size: 12.5px !important; padding: 3px 10px !important; }
.cl69 .t .btn-sm { height: 34px !important; font-size: 13.5px !important; padding: 0 14px !important; }
.cl69 .t .icon-btn { width: 34px !important; height: 34px !important; }
.ver-comp { height: 32px !important; padding: 0 12px !important; font-size: 13px !important; gap: 6px !important; white-space: nowrap; }
.ver-comp svg { width: 15px !important; height: 15px !important; }
.cl69 .closing-card .input { height: 42px !important; font-size: 15px !important; }
.cl69 .closing-card .card-b > .small.muted, .cl69 .closing-card p.small { font-size: 13px !important; line-height: 1.5; }
.cl69 .t td .strong { font-size: 15px !important; font-weight: 650 !important; }
.cl69 .t td { font-size: 14.5px !important; }
.cl69 .t td.num, .cl69 .t td.r { font-size: 15px !important; }
.cl69 .t .badge { font-size: 12.5px !important; padding: 4px 10px !important; border-radius: 999px !important; }
.cl69 .t button.link { color: var(--ink-2) !important; text-decoration: none !important; border-bottom: 1px dashed var(--line); font-size: 14.5px !important; }
.cl69 .t button.link:hover { color: var(--ink) !important; border-bottom-color: var(--ink-2); }
.cl69 .t tr.row-partial > td { background: #fff8eb !important; }
.cl69 .t tr.row-partial > td:first-child { box-shadow: inset 3px 0 0 #e0a030 !important; }
html.tema-escuro .cl69 .t tr.row-partial > td { background: rgba(224,160,48,.08) !important; }
.cl69 .closing-block { padding-top: 16px !important; margin-top: 4px; border-top: 1px solid var(--line-2) !important; }
.cl69 .closing-block > .row:first-child, .cl69 .closing-block > div:first-child { font-size: 15.5px !important; }
.cl69 .closing-block > .row:first-child b, .cl69 .closing-block > div:first-child b { font-size: 15.5px !important; font-weight: 650 !important; }

/* v87: estilos dos cartões recolhidos (Fechamento e Remanejamento) */
.cl69c{background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:14px;margin-bottom:12px;overflow:hidden;transition:box-shadow .15s}
.cl69c:hover{box-shadow:0 4px 14px #0000000f}
.cl69c.on{box-shadow:0 6px 20px #00000012}
.cl69h{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;background:none;border:0;cursor:pointer;text-align:left;color:inherit;font:inherit}
.cl69av{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:16px;color:#fff;background:linear-gradient(135deg,#c42b45,#8f1d33)}
.cl69n{flex:1 1 auto;min-width:0}
.cl69nm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:700;font-size:16px}
.cl69st{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px}
.cl69sub{font-size:13px;color:var(--muted,#6b7280);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl69v{flex:none;text-align:right;min-width:130px}
.cl69vv{font-weight:700;font-size:16px}
.cl69vs{font-size:12.5px;color:var(--muted,#6b7280)}
.cl69bar{height:5px;border-radius:9px;background:var(--line,#e5e7eb);margin-top:6px;overflow:hidden}
.cl69bar i{display:block;height:100%;background:#2fbf7a;border-radius:9px}
.cl69ar{flex:none;font-size:22px;line-height:1;color:var(--muted,#9ca3af);transition:transform .15s}
.cl69c.on .cl69ar{transform:rotate(90deg)}
.cl69f{margin:0 18px 12px 72px;padding:7px 11px;border-radius:9px;background:#f59e0b1c;color:#b45309;font-size:13px;line-height:1.4}
.cl69b{border-top:1px solid var(--line,#e5e7eb);padding:14px 18px 16px;background:var(--bg,#f8fafc)}
.cl69s{position:relative;max-width:420px;margin-bottom:12px}
.cl69s span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:16px}
.cl69s .input{padding-left:32px;width:100%}
.cl69 .closing-card{width:100%;max-width:none;margin:0;box-shadow:none}
.cl69 .closing-card>.card-h{display:none}
@media (max-width:700px){.cl69h{padding:12px;gap:10px}
.cl69av{width:34px;height:34px;font-size:14px}
.cl69v{min-width:96px}
.cl69f{margin:0 12px 10px}
.cl69b{padding:12px}
}

.np-item .link.strong, .rm-item .link.strong { color: var(--ink) !important; text-decoration: none !important; }
.np-item .link.strong:hover, .rm-item .link.strong:hover { text-decoration: underline !important; text-underline-offset: 3px; }
