
:root{
 --bg:#06150f;--bg2:#0a2117;--panel:rgba(255,255,255,.065);--panel2:rgba(255,255,255,.035);
 --line:rgba(255,255,255,.11);--text:#f3fff9;--muted:#9fc5b1;--green:#37e58d;--green2:#14965a;
 --blue:#5ab8ff;--yellow:#ffd166;--red:#ff6674;--purple:#b693ff;--shadow:0 20px 60px rgba(0,0,0,.30)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:
radial-gradient(circle at 8% 0,#174b32 0,transparent 30%),radial-gradient(circle at 95% 10%,#102d43 0,transparent 24%),linear-gradient(145deg,#06150f,#020706 70%);color:var(--text);min-height:100vh}
a{color:inherit}.shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.side{padding:23px 17px;border-right:1px solid var(--line);background:rgba(2,15,10,.80);backdrop-filter:blur(18px);position:sticky;top:0;height:100vh;z-index:10;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:25px}.logo{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--green),#0c7a49);display:grid;place-items:center;color:#032015;font-weight:950;box-shadow:0 10px 30px rgba(55,229,141,.18)}.brand strong{display:block}.brand small{color:var(--muted);display:block;margin-top:3px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#668d79;margin:20px 12px 7px}nav{display:grid;gap:5px}nav a{color:var(--muted);text-decoration:none;padding:10px 12px;border-radius:13px;font-size:13px;display:flex;align-items:center;gap:9px}nav a:hover,nav a.active{background:rgba(55,229,141,.12);color:#fff}.nav-dot{width:7px;height:7px;border-radius:50%;background:#456558}.active .nav-dot{background:var(--green);box-shadow:0 0 10px var(--green)}.logout{margin-top:24px;padding-top:15px;border-top:1px solid var(--line)}
main{padding:28px;min-width:0}.top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.eyebrow{color:var(--green);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}h1{margin:5px 0 6px;font-size:36px;line-height:1.1}h2{margin:0 0 7px;font-size:20px}h3{margin:0 0 8px}.muted{color:var(--muted)}small{color:var(--muted)}.right-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn{border:0;border-radius:13px;padding:10px 15px;font-weight:800;cursor:pointer;background:linear-gradient(135deg,var(--green),var(--green2));color:#032015;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{filter:brightness(1.07)}.btn.ghost{background:rgba(255,255,255,.065);color:#fff;border:1px solid var(--line)}.btn.danger{background:rgba(255,102,116,.13);color:#ff9aa4;border:1px solid rgba(255,102,116,.25)}.btn.small{padding:7px 10px;font-size:12px}
.card,.kpi{background:var(--panel);border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow);backdrop-filter:blur(15px)}.card{padding:19px;margin-bottom:15px}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin:17px 0}.kpi{padding:16px;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-25px;top:-25px;background:var(--green);opacity:.09}.kpi span,.kpi small{display:block;color:var(--muted)}.kpi span{font-size:12px}.kpi strong{display:block;font-size:30px;margin:8px 0}.grid{display:grid;gap:15px}.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))}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--line);text-align:left;font-size:12.5px;vertical-align:middle}.table th{color:var(--muted);font-weight:700;white-space:nowrap}.table tr:hover td{background:rgba(255,255,255,.018)}.tag{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(55,229,141,.13);color:var(--green);font-size:10.5px;font-weight:800}.tag.blue{background:rgba(90,184,255,.13);color:var(--blue)}.tag.warn{background:rgba(255,209,102,.13);color:var(--yellow)}.tag.danger{background:rgba(255,102,116,.13);color:var(--red)}.tag.purple{background:rgba(182,147,255,.13);color:var(--purple)}
input,select,textarea{width:100%;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:11px;padding:10px;color:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:rgba(55,229,141,.5);box-shadow:0 0 0 3px rgba(55,229,141,.08)}textarea{min-height:88px;resize:vertical}label{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.full{grid-column:1/-1}.checks{display:flex;flex-wrap:wrap;gap:9px 13px}.checks label{display:flex;gap:6px;align-items:center;margin:0}.checks input{width:auto}.filterbar{display:grid;grid-template-columns:140px 1fr 1fr 1fr auto;gap:10px;align-items:end}.filterbar.compact{grid-template-columns:180px 1fr 1fr auto}.hidden{display:none!important}
.bars{display:grid;gap:9px}.barrow{display:grid;grid-template-columns:120px 1fr 45px;gap:9px;align-items:center;font-size:12px}.bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue))}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.shot{background:rgba(0,0,0,.20);border:1px solid var(--line);border-radius:16px;overflow:hidden}.shot img{width:100%;height:145px;object-fit:cover;display:block;background:#03100b}.shot .meta{padding:10px;font-size:11px}.shot .meta strong{font-size:13px;display:block;margin-bottom:4px}.thumb{width:68px;height:48px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#02100a}.face-thumb{width:100px;height:100px;object-fit:cover;border-radius:15px;border:1px solid var(--line)}
.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.module-card{padding:13px;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.16)}.module-card b{display:block;margin-bottom:5px}
.canvas-wrap{position:relative;width:100%;border-radius:17px;overflow:hidden;background:#020806;border:1px solid var(--line);user-select:none}.canvas-wrap img{width:100%;height:auto;display:block}.canvas-wrap svg,.canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.editor-help{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0}.help-step{padding:10px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid var(--line);font-size:11px;color:var(--muted)}.help-step b{color:#fff;display:block;margin-bottom:3px}
.floorplan-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px}.floor-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(0,0,0,.17)}.floor-card img{width:100%;height:150px;object-fit:cover;background:#05110c}.floor-card .body{padding:13px}
.heat-stage{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:#020806}.heat-stage img{width:100%;display:block}.heat-zone{position:absolute;border:2px solid rgba(255,255,255,.8);background:rgba(55,229,141,.10);clip-path:polygon(var(--poly));pointer-events:none}.heat-dot{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,71,71,.75) 0,rgba(255,209,102,.42) 35%,rgba(55,229,141,.13) 65%,transparent 72%);pointer-events:none}
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.tab{padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer}.tab.active{background:rgba(55,229,141,.13);color:#fff;border-color:rgba(55,229,141,.25)}.tabpane{display:none}.tabpane.active{display:block}.notice{padding:12px 14px;border-radius:13px;border:1px solid rgba(90,184,255,.2);background:rgba(90,184,255,.08);color:#cdeaff;font-size:12px}.notice.warn{border-color:rgba(255,209,102,.22);background:rgba(255,209,102,.08);color:#ffe5a2}
.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login .card{width:min(430px,100%);padding:30px}.toast{position:fixed;right:18px;bottom:18px;z-index:99;padding:12px 15px;border-radius:12px;background:#123524;border:1px solid var(--line);box-shadow:var(--shadow);display:none}.empty{padding:25px;text-align:center;color:var(--muted)}.metric-big{font-size:42px;font-weight:900;margin:7px 0}.sparkrow{display:flex;gap:4px;height:100px;align-items:end}.sparkrow i{flex:1;min-width:4px;border-radius:5px 5px 0 0;background:linear-gradient(var(--green),var(--blue));opacity:.75}
@media(max-width:1350px){.kpis{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}.filterbar{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.side{height:auto;position:relative}.side nav{grid-template-columns:repeat(2,1fr)}main{padding:17px}.g2,.g3,.g4,.formgrid,.kpis,.editor-help{grid-template-columns:1fr}.filterbar,.filterbar.compact{grid-template-columns:1fr}.top{display:block}.right-actions{margin-top:12px}}


/* Paginação V4 */
.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.pager-info{font-size:12px;color:var(--muted)}
.pager-actions{display:flex;align-items:center;gap:6px}
.pager-btn{min-width:34px;height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);cursor:pointer}
.pager-btn:hover:not(:disabled){border-color:rgba(55,229,141,.38);background:rgba(55,229,141,.08)}
.pager-btn.active{background:var(--green);border-color:var(--green);color:#052014;font-weight:800}
.pager-btn:disabled{opacity:.35;cursor:not-allowed}
.result-tools{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.result-tools .page-size{max-width:120px}
@media(max-width:700px){.pagination{align-items:flex-start}.pager-actions{max-width:100%;overflow:auto}}


/* =====================================================================
   HEATMAP / FLUXO RELATIVO V5
   ===================================================================== */
.heat-stage-v2{min-height:260px}
.heat-stage-v2 img{position:relative;z-index:1}
.heat-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;filter:saturate(1.06) contrast(1.01)}
.heat-label{position:absolute;z-index:3;transform:translate(-50%,-50%);pointer-events:none;display:grid;justify-items:center;gap:2px;text-shadow:0 1px 4px rgba(0,0,0,.9)}
.heat-label b{font-size:11px;line-height:1.1;color:#fff;max-width:120px;text-align:center}
.heat-label span{font-size:10px;font-weight:900;padding:2px 6px;border-radius:999px;background:rgba(2,8,6,.72);border:1px solid rgba(255,255,255,.18);color:#fff}
.heat-legend{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);white-space:nowrap}
.heat-legend i{display:block;width:120px;height:10px;border-radius:999px;background:linear-gradient(90deg,#2882ff,#32df78,#ffe63c,#ff7d22,#ff2823);box-shadow:0 0 12px rgba(255,100,40,.16)}
.mini-intensity{margin-top:5px;width:100%;max-width:150px;height:4px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.mini-intensity i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green),#ffd34e,#ff6c45)}

/* Heatmap V6 - confirmação visual e renderer ampliado */
.heat-render-version{font-style:normal;font-size:9px;font-weight:900;color:#032015;background:var(--green);padding:2px 5px;border-radius:999px;margin-left:2px}
.heat-canvas{filter:saturate(1.06) contrast(1.01)}


/* HEATMAP V7 - escala menos saturada */

/* HEATMAP V8 - intensidade intermediária entre V6 e V7 */
.vision-insights{margin-top:18px}.insight-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 20px}.insight-bar-row{display:grid;grid-template-columns:74px 1fr 64px;gap:8px;align-items:center;margin:8px 0;font-size:12px}.insight-bar{height:10px;background:rgba(120,160,145,.16);border-radius:999px;overflow:hidden}.insight-bar i{display:block;height:100%;background:linear-gradient(90deg,#1dbe79,#4cd7b0);border-radius:999px}.insight-bar-row b{text-align:right}.vision-insights h3{margin:6px 0 12px}@media(max-width:900px){.insight-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V8 - menu Vision alinhado ao padrão visual do Volta Carrinho */
.shell{grid-template-columns:285px 1fr}.side{padding:28px 22px;background:rgba(3,18,12,.75);border-right:1px solid var(--line);backdrop-filter:blur(18px)}.side .brand{gap:14px;margin-bottom:38px}.side .logo{width:52px;height:52px;border-radius:18px}.side .brand strong{font-size:18px}.side .brand small{font-size:12px}.side .nav-label{margin:22px 12px 9px;font-size:10px}.side nav{display:grid;gap:10px}.side nav a{padding:13px 16px;border-radius:16px;font-size:13px;border:1px solid transparent}.side nav a:hover,.side nav a.active{background:rgba(47,226,133,.15);border-color:rgba(47,226,133,.25);color:#fff}.side .logout{margin-top:28px;padding-top:18px}.side #adminCompanyBox{margin-top:14px!important}main{padding:32px}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{padding:22px;height:auto}.side nav{grid-template-columns:1fr 1fr}main{padding:20px}}
.routing-stack{display:grid;gap:7px;min-width:190px}.routing-line{display:grid;grid-template-columns:72px 1fr;gap:7px;align-items:center}.routing-line span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.routing-line select{padding:7px 9px;border-radius:9px;font-size:11px}
