*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#04080f;--bg2:#070f1a;--bg3:#0a1525;--bg4:#0d1e35;
  --border:#0e2a44;--border2:#163a5a;
  --cyan:#00d4ff;--cyan2:#0099cc;
  --orange:#ff7b2c;--green:#00ff9d;--red:#ff4444;--yellow:#ffd700;--purple:#bf7fff;
  --text:#d0e8f8;--text2:#7ab0d0;--text3:#3a6a8a;
  --font:'Rajdhani',sans-serif;--mono:'Share Tech Mono',monospace;
}
body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;}
body::after{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.03) 2px,rgba(0,0,0,0.03) 4px);pointer-events:none;z-index:9999;}

/* ── LOGIN ── */
.login-screen{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:1000;}
.login-logo{font-family:var(--mono);font-size:22px;color:var(--cyan);letter-spacing:8px;}
.login-sub{font-size:11px;letter-spacing:4px;color:var(--text3);text-transform:uppercase;}
.login-box{background:var(--bg2);border:1px solid var(--border2);padding:32px;border-radius:4px;display:flex;flex-direction:column;gap:16px;width:300px;}
.login-input{font-family:var(--mono);font-size:13px;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:3px;outline:none;width:100%;letter-spacing:2px;}
.login-input:focus{border-color:var(--cyan2);}
.login-btn{font-family:var(--font);font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:10px;background:transparent;border:1px solid var(--cyan2);color:var(--cyan);cursor:pointer;border-radius:3px;width:100%;}
.login-btn:hover{background:rgba(0,212,255,0.1);}
.login-err{font-family:var(--mono);font-size:11px;color:#ff6060;text-align:center;display:none;}

/* ── HEADER ── */
.hdr{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:48px;border-bottom:1px solid var(--border);background:var(--bg2);position:sticky;top:0;z-index:200;}
.logo{font-family:var(--mono);font-size:13px;color:var(--cyan);letter-spacing:4px;display:flex;align-items:center;gap:10px;}
.dot{width:6px;height:6px;background:var(--cyan);border-radius:50%;animation:pulse 2s infinite;box-shadow:0 0 6px var(--cyan);}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.3}}
.pill{font-family:var(--mono);font-size:10px;padding:3px 10px;border:1px solid var(--border2);color:var(--text2);border-radius:2px;}
.pill.live{border-color:var(--green);color:var(--green);}
.btn{font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:5px 14px;background:transparent;border:1px solid var(--cyan2);color:var(--cyan);cursor:pointer;border-radius:2px;transition:all .2s;}
.btn:hover{background:rgba(0,212,255,0.1);}
.btn:disabled{opacity:0.4;cursor:not-allowed;}
.btn.danger{border-color:#ff4444;color:#ff4444;}
.btn.danger:hover{background:rgba(255,68,68,0.1);}

/* ── TABS ── */
.tabs{display:flex;align-items:center;background:var(--bg2);border-bottom:1px solid var(--border);padding:0 24px;gap:0;}
.tab{font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;padding:10px 24px;cursor:pointer;color:var(--text3);border-bottom:2px solid transparent;transition:all .2s;user-select:none;}
.tab:hover{color:var(--text2);}
.tab.active{color:var(--cyan);border-bottom-color:var(--cyan);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* ── FILTER BAR ── */
.fbar{display:flex;align-items:center;gap:12px;padding:10px 24px;background:var(--bg2);border-bottom:1px solid var(--border);flex-wrap:wrap;}
.flbl{font-size:10px;letter-spacing:2px;color:var(--text3);text-transform:uppercase;}
.finput{font-family:var(--mono);font-size:11px;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:2px;outline:none;}
.finput:focus{border-color:var(--cyan2);}
.fselect{font-family:var(--font);font-size:12px;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:2px;outline:none;cursor:pointer;}

/* ── COUNTERS ── */
.counters{display:flex;gap:8px;padding:10px 24px;background:var(--bg2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;}
.counter{display:flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--border);border-radius:2px;font-size:11px;}
.counter-dot{width:7px;height:7px;border-radius:50%;}
.counter-label{color:var(--text2);}
.counter-val{font-family:var(--mono);font-weight:700;margin-left:2px;}

/* ── LOADING ── */
.ldg{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:20px;}
.ldg-logo{font-family:var(--mono);font-size:18px;color:var(--cyan);letter-spacing:6px;}
.ldg-bar-wrap{width:280px;height:2px;background:var(--bg3);border-radius:1px;overflow:hidden;}
.ldg-bar{height:100%;background:linear-gradient(90deg,var(--cyan2),var(--cyan));width:0%;transition:width .3s;}
.ldg-txt{font-family:var(--mono);font-size:11px;color:var(--text2);letter-spacing:2px;}

/* ── OPERACIONAL TABLE ── */
.table-wrap{padding:0 24px 24px;overflow-x:auto;}
.leads-table{width:100%;border-collapse:collapse;font-size:13px;}
.leads-table th{font-size:9px;letter-spacing:2px;color:var(--text3);text-transform:uppercase;padding:10px;border-bottom:2px solid var(--border);text-align:left;font-weight:500;white-space:nowrap;background:var(--bg);}
.leads-table td{padding:8px 10px;border-bottom:1px solid var(--bg3);vertical-align:middle;}
.leads-table tr:hover td{background:rgba(0,212,255,0.02);}
.td-num{font-family:var(--mono);font-size:10px;color:var(--text3);width:36px;text-align:center;}
.td-hora{font-family:var(--mono);font-size:11px;color:var(--text3);width:55px;}
.td-cliente-nome{font-weight:600;color:var(--text);}
.td-cliente-tel{font-size:11px;color:var(--text2);margin-top:2px;font-family:var(--mono);}
.td-tipo{font-size:10px;letter-spacing:1px;color:var(--text3);margin-top:2px;}
.td-imovel{color:var(--text2);font-size:12px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.td-fonte{font-size:11px;color:var(--text2);max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.td-corretor{font-size:12px;color:var(--text2);max-width:110px;}
.td-valor{font-family:var(--mono);font-size:11px;color:var(--cyan);white-space:nowrap;}
.status-select{font-family:var(--font);font-size:11px;font-weight:600;padding:5px 8px;border-radius:3px;border:1px solid;cursor:pointer;outline:none;min-width:170px;transition:all .2s;}
.status-select option{background:#0a1525;color:#d0e8f8;font-weight:600;}
.s-novo{background:rgba(0,212,255,0.08);border-color:rgba(0,212,255,0.25);color:var(--cyan);}
.s-atendeu{background:rgba(0,255,157,0.08);border-color:rgba(0,255,157,0.25);color:var(--green);}
.s-nao{background:rgba(255,68,68,0.08);border-color:rgba(255,68,68,0.25);color:var(--red);}
.s-visita{background:rgba(255,215,0,0.08);border-color:rgba(255,215,0,0.25);color:var(--yellow);}
.s-proposta{background:rgba(191,127,255,0.08);border-color:rgba(191,127,255,0.25);color:var(--purple);}
.s-semint{background:rgba(74,122,154,0.08);border-color:rgba(74,122,154,0.25);color:var(--text2);}
.s-aguard{background:rgba(255,123,44,0.08);border-color:rgba(255,123,44,0.25);color:var(--orange);}
.s-permuta{background:rgba(255,170,0,0.08);border-color:rgba(255,170,0,0.25);color:#ffaa00;}
.s-parceria{background:rgba(0,255,157,0.08);border-color:rgba(0,255,157,0.25);color:var(--green);}
.aguard-sync{border:1px solid var(--orange)!important;background:rgba(255,123,44,0.06)!important;}
.aguard-sync td{border-bottom:1px solid rgba(255,123,44,0.15)!important;}
.s-conversando{background:rgba(0,180,255,0.08);border-color:rgba(0,180,255,0.25);color:#00b4ff;}
.s-parou{background:rgba(120,120,120,0.08);border-color:rgba(120,120,120,0.25);color:#888888;}
.s-semtel{background:rgba(255,80,80,0.08);border-color:rgba(255,80,80,0.25);color:#ff5050;}
.s-finalizado{background:rgba(0,255,157,0.12);border-color:rgba(0,255,157,0.4);color:var(--green);font-weight:700;}
.s-viscancelada{background:rgba(255,50,50,0.08);border-color:rgba(255,50,50,0.3);color:#ff3232;text-decoration:line-through;}
.s-visrealizada{background:rgba(0,200,100,0.1);border-color:rgba(0,200,100,0.3);color:#00cc66;}
.s-repetido{background:rgba(180,100,255,0.08);border-color:rgba(180,100,255,0.25);color:#b464ff;}
.s-imovelvend{background:rgba(0,212,255,0.12);border-color:rgba(0,212,255,0.4);color:#00d4ff;font-weight:700;}
.s-negociofech{background:rgba(255,215,0,0.12);border-color:rgba(255,215,0,0.4);color:#ffd700;font-weight:700;}
.obs-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:8000;align-items:center;justify-content:center;}
.obs-modal-overlay.active{display:flex;}
.obs-modal{background:var(--bg2);border:1px solid var(--cyan2);border-radius:6px;padding:20px;width:480px;max-width:95vw;box-shadow:0 8px 48px rgba(0,0,0,0.8);}
.obs-modal-title{font-size:10px;letter-spacing:3px;color:var(--cyan2);text-transform:uppercase;font-family:var(--mono);margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:8px;}
.obs-modal-textarea{width:100%;height:160px;background:var(--bg3);border:1px solid var(--border2);color:var(--text);font-family:var(--font);font-size:13px;padding:10px;border-radius:4px;outline:none;resize:vertical;line-height:1.6;}
.obs-modal-textarea:focus{border-color:var(--cyan2);}
.obs-modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;}
.obs-modal-cnt{font-family:var(--mono);font-size:10px;color:var(--text3);}
.obs-modal-btn{font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:6px 18px;background:linear-gradient(135deg,var(--cyan3),var(--cyan2));border:none;color:#fff;cursor:pointer;border-radius:3px;}
.obs-input{font-family:var(--font);font-size:12px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);padding:3px 4px;outline:none;width:160px;transition:border-color .2s;}
.obs-input:focus{border-color:var(--cyan2);}
.obs-input::placeholder{color:var(--text3);}
/* OBS TOOLTIP */
.obs-tooltip{display:none;position:fixed;z-index:9000;background:var(--bg2);border:1px solid var(--cyan2);border-radius:4px;padding:10px 14px;font-family:var(--font);font-size:12px;color:var(--text);max-width:420px;min-width:180px;max-height:60vh;overflow-y:auto;white-space:pre-wrap;word-break:break-word;box-shadow:0 4px 24px rgba(0,0,0,0.6);pointer-events:none;line-height:1.6;}
.obs-tooltip::before{content:'Observação';display:block;font-size:9px;letter-spacing:2px;color:var(--cyan2);text-transform:uppercase;font-family:var(--mono);margin-bottom:6px;border-bottom:1px solid var(--border);padding-bottom:4px;}
.prox-input{font-family:var(--mono);font-size:11px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text2);padding:3px 4px;outline:none;width:110px;transition:border-color .2s;}
.prox-input:focus{border-color:var(--cyan2);}
.save-indicator{font-family:var(--mono);font-size:10px;color:var(--green);opacity:0;transition:opacity .3s;letter-spacing:1px;}
.save-indicator.show{opacity:1;}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:12px;}
.empty-txt{font-family:var(--mono);font-size:11px;color:var(--text3);letter-spacing:2px;}

/* ── BI DASHBOARD ── */
.bi-main{padding:16px 24px;display:flex;flex-direction:column;gap:12px;}
.bi-fbar{display:flex;align-items:center;gap:10px;padding:10px 24px;background:var(--bg2);border-bottom:1px solid var(--border);flex-wrap:wrap;}
.bi-af{display:flex;gap:8px;flex-wrap:wrap;padding:8px 24px;background:var(--bg2);border-bottom:1px solid var(--border);min-height:36px;align-items:center;}
.af-tag{font-family:var(--mono);font-size:10px;padding:3px 10px;background:rgba(0,212,255,0.1);border:1px solid var(--cyan2);color:var(--cyan);border-radius:2px;cursor:pointer;display:flex;align-items:center;gap:6px;}
.bi-ldg{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:20px;}
.bi-ldg-bar-wrap{width:280px;height:2px;background:var(--bg3);border-radius:1px;overflow:hidden;}
.bi-ldg-bar{height:100%;background:linear-gradient(90deg,var(--cyan2),var(--cyan));width:0%;transition:width .3s;}
.krow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.kcard{background:var(--bg2);border:1px solid var(--border);border-top:2px solid var(--cyan2);padding:16px;border-radius:2px;}
.kcard.org{border-top-color:var(--orange);}
.kcard.grn{border-top-color:var(--green);}
.kcard.dim{border-top-color:var(--border2);}
.klbl{font-size:10px;letter-spacing:3px;color:var(--text3);text-transform:uppercase;margin-bottom:8px;font-family:var(--mono);}
.kval{font-family:var(--mono);font-size:28px;color:var(--cyan);line-height:1;margin-bottom:4px;}
.kcard.org .kval{color:var(--orange);}
.kcard.grn .kval{color:var(--green);}
.kcard.dim .kval{color:var(--text2);font-size:18px;margin-top:4px;}
.ksub{font-size:11px;color:var(--text2);}
.kbar{margin-top:10px;height:2px;background:var(--bg3);border-radius:1px;}
.kbar-fill{height:100%;background:linear-gradient(90deg,var(--cyan2),var(--cyan));border-radius:1px;transition:width 1s ease;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.g4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;}
.g22{display:grid;grid-template-columns:2fr 1fr;gap:10px;}
.card{background:var(--bg2);border:1px solid var(--border);border-radius:2px;padding:16px;}
.ctitle{font-size:10px;letter-spacing:3px;color:var(--text2);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:8px;font-family:var(--mono);}
.ctitle::before{content:'';width:12px;height:1px;background:var(--cyan);}
.ctitle-sep{flex:1;height:1px;background:var(--border);}
.dwrap{display:flex;align-items:center;gap:16px;}
.dcwrap{position:relative;flex-shrink:0;}
.dcenter{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.dcval{font-family:var(--mono);font-size:16px;color:var(--cyan);line-height:1;}
.dclbl{font-size:9px;color:var(--text3);letter-spacing:1px;margin-top:2px;font-family:var(--mono);}
.dleg{flex:1;}
.legitem{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:2px;transition:background .15s;}
.legitem:hover{background:rgba(0,212,255,0.05);}
.legitem.selected{background:rgba(0,212,255,0.1);border-left:2px solid var(--cyan);padding-left:6px;}
.legdot{width:5px;height:5px;border-radius:50%;margin-right:7px;flex-shrink:0;}
.legname{flex:1;color:var(--text2);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.legval{font-family:var(--mono);font-size:11px;color:var(--cyan);margin-left:8px;}
.hbitem{margin-bottom:10px;cursor:pointer;padding:4px;border-radius:2px;transition:background .15s;}
.hbitem:hover{background:rgba(0,212,255,0.05);}
.hbitem.selected{background:rgba(0,212,255,0.1);border-left:2px solid var(--cyan);padding-left:6px;}
.hbtop{display:flex;justify-content:space-between;margin-bottom:4px;font-size:12px;}
.hbname{color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.hbval{font-family:var(--mono);font-size:11px;color:var(--cyan);}
.hbtrack{height:3px;background:var(--bg3);border-radius:2px;overflow:hidden;}
.hbfill{height:100%;border-radius:2px;transition:width .8s ease;}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;}
.bitem{background:var(--bg3);border:1px solid var(--border);padding:10px;text-align:center;border-radius:2px;cursor:pointer;transition:border-color .15s;}
.bitem:hover{border-color:var(--border2);}
.bitem.selected{border-color:var(--cyan);background:rgba(0,212,255,0.05);}
.bval{font-family:var(--mono);font-size:18px;color:var(--cyan);line-height:1;}
.bname{font-size:10px;color:var(--text2);margin-top:4px;}
.cross-table{width:100%;border-collapse:collapse;font-size:12px;}
.cross-table th{font-size:9px;letter-spacing:2px;color:var(--text3);text-transform:uppercase;padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;font-weight:500;font-family:var(--mono);}
.cross-table td{padding:6px 10px;border-bottom:1px solid var(--bg3);color:var(--text2);}
.cross-table td:first-child{color:var(--text);}
.cross-table td.num{font-family:var(--mono);font-size:11px;color:var(--cyan);text-align:right;}
.cross-table td.num.org{color:var(--orange);}
.cross-table td.num.grn{color:var(--green);}
.cross-table tr:hover td{background:rgba(0,212,255,0.03);}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;background:var(--bg3);border:1px solid var(--border);font-family:var(--mono);font-size:9px;color:var(--text3);margin-right:6px;}
tr:first-child .rank-badge{background:rgba(0,212,255,0.12);border-color:var(--cyan2);color:var(--cyan);}
tr:nth-child(2) .rank-badge{background:rgba(107,154,184,0.1);border-color:var(--border2);color:var(--text2);}
.bi-errbox{background:rgba(255,60,60,0.05);border:1px solid rgba(255,60,60,0.3);padding:12px 16px;border-radius:2px;font-family:var(--mono);font-size:12px;color:#ff6060;margin:12px 24px;display:none;}
.section-lbl{font-size:9px;letter-spacing:4px;color:var(--text3);text-transform:uppercase;font-family:var(--mono);display:flex;align-items:center;gap:12px;}
.section-lbl::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent);}

::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px;}
