:root{--bg:#0a0e17;--bg-soft:#0d1320;--surface:#121a2b;--surface-2:#18213a;--border:rgba(148,163,184,0.12);--border-strong:rgba(148,163,184,0.22);--text:#e8edf7;--muted:#8b96ad;--accent:#6366f1;--accent-2:#22d3ee;--hot:#fb7185;--warm:#fbbf24;--cold:#38bdf8;--ok:#34d399;--bad:#f87171;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--bg-soft);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:6px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;letter-spacing:-.5px}.brand strong{display:block;font-size:14px}.brand span{display:block;font-size:11px;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;background:none;border:none;color:var(--muted);font-size:13.5px;font-weight:500;text-align:left;width:100%;transition:all .15s}.nav-item:hover{color:var(--text);background:rgba(148,163,184,.07)}.nav-item.active{color:var(--text);background:linear-gradient(90deg,rgba(99,102,241,.18),rgba(34,211,238,.06));box-shadow:inset 2px 0 0 var(--accent)}.sidebar-footer{margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--border)}.sidebar-footer .who{font-size:12.5px}.sidebar-footer .who small{color:var(--muted);display:block}.btn-logout{margin-top:10px;width:100%;background:none;border:1px solid var(--border);border-radius:8px;color:var(--muted);padding:7px;font-size:12.5px}.btn-logout:hover{color:var(--bad);border-color:var(--bad)}.main{flex:1 1;padding:28px 32px;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.topbar h1{font-size:22px;font-weight:700;letter-spacing:-.4px}.topbar p{color:var(--muted);font-size:13px;margin-top:3px}.btn{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);border-radius:9px;padding:8px 14px;font-size:13px;transition:all .15s}.btn:hover{border-color:var(--accent)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-bottom:22px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%);opacity:.6}.kpi .label{color:var(--muted);font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px}.kpi .value{font-size:26px;font-weight:700;letter-spacing:-.8px;margin-top:6px}.kpi .hint{color:var(--muted);font-size:11.5px;margin-top:3px}.kpi.hot:before{background:linear-gradient(90deg,var(--hot),transparent 70%)}.kpi.ok:before{background:linear-gradient(90deg,var(--ok),transparent 70%)}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}@media (max-width:1100px){.grid-2{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-title h2{font-size:15px;font-weight:650}.panel-title small{color:var(--muted);font-size:12px}.tag-restrito{font-size:10.5px;color:var(--warm);border:1px solid rgba(251,191,36,.35);border-radius:20px;padding:2px 9px;font-weight:600}.funnel-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.funnel-row .stage{width:130px;font-size:12.5px;color:var(--muted);flex-shrink:0}.funnel-row .bar-wrap{flex:1 1;background:rgba(148,163,184,.07);border-radius:7px;height:26px;overflow:hidden}.funnel-row .bar{height:100%;border-radius:7px;background:linear-gradient(90deg,var(--accent),var(--accent-2));display:flex;align-items:center;padding-left:10px;font-size:12px;font-weight:600;color:#fff;min-width:34px;transition:width .5s}.funnel-row .conv{width:56px;text-align:right;font-size:12px;color:var(--muted);flex-shrink:0}.sla-buckets{display:flex;gap:10px}.sla-bucket{flex:1 1;text-align:center;padding:13px 8px;border-radius:10px;background:var(--bg-soft);border:1px solid var(--border)}.sla-bucket .pct{font-size:21px;font-weight:700}.sla-bucket .lbl{font-size:11px;color:var(--muted);margin-top:3px}.sla-headline{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.sla-headline .big{font-size:34px;font-weight:800;letter-spacing:-1px}.sla-headline .big.good{color:var(--ok)}.sla-headline .big.mid{color:var(--warm)}.sla-headline .big.poor{color:var(--bad)}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:12px;gap:12px}.live-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:14px;position:relative}.live-card[data-heat=hot]{border-color:rgba(251,113,133,.4);box-shadow:0 0 18px rgba(251,113,133,.07)}.live-card[data-heat=warm]{border-color:rgba(251,191,36,.3)}.live-card .head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.live-card .name{font-weight:600;font-size:13.5px}.live-card .who{font-size:11.5px;color:var(--accent-2);margin-top:2px}.live-card .score{font-size:17px;font-weight:800}.live-card .score.hot{color:var(--hot)}.live-card .score.warm{color:var(--warm)}.live-card .score.cold{color:var(--cold)}.live-card .msg{margin-top:9px;font-size:12px;color:var(--muted);font-style:italic;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.live-card .action{margin-top:8px;font-size:11.5px;color:var(--ok)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px;font-weight:600}td,th{border-bottom:1px solid var(--border)}td{padding:10px;font-size:13px}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right}.scorepill{display:inline-block;min-width:38px;text-align:center;border-radius:7px;padding:3px 8px;font-weight:700;font-size:12px}.scorepill.good{background:rgba(52,211,153,.12);color:var(--ok)}.scorepill.mid{background:rgba(251,191,36,.12);color:var(--warm)}.scorepill.poor{background:rgba(248,113,113,.12);color:var(--bad)}.prod-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.prod-row .nm{width:150px;font-size:12.5px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prod-row .bar-wrap{flex:1 1;height:18px;background:rgba(148,163,184,.07);border-radius:6px;overflow:hidden}.prod-row .bar{height:100%;background:linear-gradient(90deg,var(--ok),var(--accent-2));border-radius:6px}.prod-row .pc{width:52px;text-align:right;font-size:12.5px;font-weight:600;flex-shrink:0}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1000px 500px at 50% -10%,rgba(99,102,241,.15),transparent),var(--bg)}.login-card{width:360px;background:var(--surface);border:1px solid var(--border-strong);border-radius:18px;padding:34px}.login-card h1{font-size:19px;margin:14px 0 4px}.login-card p{color:var(--muted);font-size:13px;margin-bottom:22px}.login-card label{display:block;font-size:12px;color:var(--muted);margin:12px 0 5px}.login-card input{width:100%;background:var(--bg-soft);border:1px solid var(--border-strong);border-radius:9px;padding:10px 12px;color:var(--text);font-size:14px}.login-card input:focus{outline:none;border-color:var(--accent)}.btn-primary{width:100%;margin-top:20px;padding:11px;background:linear-gradient(135deg,var(--accent),#818cf8);border:none;border-radius:9px;color:#fff;font-weight:600;font-size:14px}.btn-primary:disabled{opacity:.6}.login-err{margin-top:12px;color:var(--bad);font-size:12.5px}.empty{padding:28px;font-size:13px}.empty,.loading{color:var(--muted);text-align:center}.loading{padding:40px}