/* ════ Tokens e base → bidz-tokens.css ════ */

/* Light mode — sobrescreve as variáveis do tokens */
.light{
  --bg:#F0F2F7;--bg2:#FFF;--bg3:#E8ECF5;--bg4:#DDE2EE;
  --bd:rgba(0,0,0,.07);--bd2:rgba(0,0,0,.13);
  --t1:#0F172A;--t2:#4B5563;--t3:#9CA3AF;
  --sh:0 1px 3px rgba(0,0,0,.07),0 4px 16px rgba(0,0,0,.05);
  --sh2:0 8px 32px rgba(0,0,0,.12);
}
html,body{height:100%;overflow:hidden;}
body{transition:background .25s,color .25s;}

/* ════ LOGIN ════ */
#login-screen{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:9999;}
.login-box{background:var(--bg2);border:1px solid var(--bd2);border-radius:20px;padding:40px;width:400px;max-width:95vw;box-shadow:var(--sh2);}
.login-logo{display:flex;align-items:baseline;margin-bottom:4px;}
.login-logo span:first-child{font-size:36px;font-weight:800;color:var(--t1);letter-spacing:-1px;}
.login-logo span:last-child{font-size:36px;font-weight:800;color:var(--z);letter-spacing:-1px;}
.login-tag{font-size:11px;color:var(--t3);margin-bottom:32px;}
.login-err{background:var(--rbg);border:1px solid var(--rbd);color:var(--red);border-radius:8px;padding:9px 12px;font-size:12px;margin-bottom:12px;display:none;}

/* ════ LAYOUT ════ */
#app{display:flex;height:100vh;}
.sidebar{width:var(--sb);background:var(--bg2);border-right:1px solid var(--bd);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;}
.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;}
.topbar{height:54px;background:var(--bg2);border-bottom:1px solid var(--bd);display:flex;align-items:center;padding:0 22px;gap:12px;flex-shrink:0;}
.content{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:16px;}

/* ════ SIDEBAR ════ */
.sb-brand{padding:18px 16px 14px;border-bottom:1px solid var(--bd);flex-shrink:0;}
.logo-w{display:flex;align-items:baseline;}
.logo-bid{font-size:26px;font-weight:800;color:var(--t1);letter-spacing:-.5px;}
.logo-z{font-size:26px;font-weight:800;color:var(--z);letter-spacing:-.5px;}
.logo-tag{font-size:9.5px;color:var(--t3);margin-top:2px;letter-spacing:.03em;}
.lbadge{margin-top:10px;background:var(--z-bg);border:1px solid var(--z-bd);border-radius:6px;padding:4px 10px;display:flex;align-items:center;gap:6px;}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--gbg);flex-shrink:0;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 2px var(--gbg)}50%{box-shadow:0 0 0 5px rgba(34,197,94,.05)}}
.lbadge-txt{font-size:10px;font-weight:600;color:var(--z);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-sec{padding:12px 16px 3px;font-size:10px;font-weight:700;color:var(--t3);letter-spacing:.08em;text-transform:uppercase;}
.nav{display:flex;flex-direction:column;gap:1px;padding:2px 8px;}
.ni{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:7px;cursor:pointer;color:var(--t2);font-size:12.5px;font-weight:500;transition:all .14s;user-select:none;}
.ni:hover{background:var(--bg3);color:var(--t1);}
.ni.active{background:var(--z-bg);color:var(--z);}
.ni-ic{width:16px;text-align:center;flex-shrink:0;font-size:14px;}
.ni-lbl{flex:1;}
.ni-badge{background:var(--red);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:20px;min-width:16px;text-align:center;}
.ni-chip{background:var(--bg4);color:var(--t3);font-size:9px;font-weight:600;padding:1px 5px;border-radius:5px;}
.sb-foot{margin-top:auto;padding:10px;border-top:1px solid var(--bd);flex-shrink:0;}
.user-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer;transition:all .14s;}
.user-row:hover{background:var(--bg3);}
.avatar{width:30px;height:30px;border-radius:8px;background:var(--z);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex-shrink:0;}
.user-name{font-size:12px;font-weight:600;}
.user-role{font-size:10px;color:var(--t3);}

/* ════ TOPBAR ════ */
.tb-l{flex:1;display:flex;align-items:center;gap:6px;min-width:0;}
.tb-title{font-size:14.5px;font-weight:700;white-space:nowrap;}
.tb-dot{color:var(--t3);}
.tb-sub{font-size:11.5px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tb-r{display:flex;align-items:center;gap:8px;}
.ib{width:32px;height:32px;border-radius:7px;border:1px solid var(--bd);background:var(--bg3);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:var(--t2);transition:all .14s;}
.ib:hover{color:var(--t1);border-color:var(--bd2);}

/* ════ BUTTONS ════ */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;border:none;font-family:var(--font);transition:all .14s;white-space:nowrap;}
.btn:active{transform:scale(.97);}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn-primary{background:var(--z);color:#fff;}
.btn-primary:hover:not(:disabled){background:var(--z-h);}
.btn-ghost{background:transparent;color:var(--t2);border:1px solid var(--bd);}
.btn-ghost:hover{background:var(--bg3);color:var(--t1);border-color:var(--bd2);}
.btn-sec{background:var(--bg3);color:var(--t1);border:1px solid var(--bd2);}
.btn-sec:hover{background:var(--bg4);}
.btn-sm{padding:5px 11px;font-size:11.5px;}
.btn-xs{padding:3px 8px;font-size:10.5px;}
.btn-green{background:var(--gbg);color:var(--green);border:1px solid var(--gbd);}
.btn-green:hover{background:var(--green);color:#fff;}
.btn-red{background:var(--rbg);color:var(--red);border:1px solid var(--rbd);}
.btn-red:hover{background:var(--red);color:#fff;}

/* ════ CARDS ════ */
.card{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r2);box-shadow:var(--sh);overflow:hidden;}
.card-hd{padding:13px 18px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.card-title{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:7px;}
.card-body{padding:16px 18px;}

/* ════ CHIPS ════ */
.chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap;}
.ch-z{background:var(--z-bg);color:var(--z);}
.ch-g{background:var(--gbg);color:var(--green);}
.ch-r{background:var(--rbg);color:var(--red);}
.ch-b{background:var(--bbg);color:var(--blue);}
.ch-a{background:var(--abg);color:var(--amber);}
.ch-m{background:var(--bg3);color:var(--t3);}

/* ════ KPIs ════ */
.kr{display:grid;gap:12px;}
.k5{grid-template-columns:repeat(5,1fr);}
.k4{grid-template-columns:repeat(4,1fr);}
.k3{grid-template-columns:repeat(3,1fr);}
.k2{grid-template-columns:repeat(2,1fr);}
.kpi{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r2);padding:15px 16px;position:relative;overflow:hidden;box-shadow:var(--sh);}
.kpi-stripe{position:absolute;top:0;left:0;right:0;height:3px;}
.kpi-lbl{font-size:10.5px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;}
.kpi-val{font-size:22px;font-weight:800;line-height:1;letter-spacing:-.5px;}
.kpi-sub{font-size:10.5px;color:var(--t3);margin-top:5px;}

/* ════ GRIDS ════ */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gfc{display:flex;flex-direction:column;gap:16px;}

/* ════ TABLES ════ */
.tbl{width:100%;border-collapse:collapse;font-size:12.5px;}
.tbl th{padding:9px 14px;text-align:left;font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--bd);background:var(--bg3);white-space:nowrap;}
.tbl td{padding:10px 14px;border-bottom:1px solid var(--bd);vertical-align:middle;}
.tbl tbody tr:last-child td{border-bottom:none;}
.tbl tbody tr:hover td{background:var(--bg3);}
.tbl .tot td{background:var(--bg3);font-weight:700;font-size:13px;}
.tr{text-align:right;}.tc{text-align:center;}
.mono{font-family:var(--mono);font-size:11.5px;}

/* ════ FORMS ════ */
.fg{display:flex;flex-direction:column;gap:4px;}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.flbl{font-size:11px;font-weight:600;color:var(--t2);}
.req{color:var(--red);}
.finp{background:var(--bg3);border:1px solid var(--bd2);border-radius:7px;padding:8px 11px;color:var(--t1);font-family:var(--font);font-size:13px;width:100%;outline:none;transition:border-color .14s;}
.finp:focus{border-color:var(--z);box-shadow:0 0 0 3px var(--z-bg);}
.finp::placeholder{color:var(--t3);}
select.finp option{background:var(--bg2);color:var(--t1);}
.ig{display:flex;}
.ig .finp{border-radius:0;}
.ig .finp:first-child{border-radius:7px 0 0 7px;}
.ig .finp:last-child{border-radius:0 7px 7px 0;}
.pfx,.sfx{background:var(--bg4);border:1px solid var(--bd2);padding:8px 10px;font-size:12px;color:var(--t3);display:flex;align-items:center;font-family:var(--mono);}
.pfx{border-right:none;border-radius:7px 0 0 7px;}
.sfx{border-left:none;border-radius:0 7px 7px 0;}
.fchk{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--t2);}
.fchk input{accent-color:var(--z);width:15px;height:15px;cursor:pointer;}

/* ════ MODAIS ════ */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9000;opacity:0;pointer-events:none;transition:opacity .2s;}
.overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--bg2);border:1px solid var(--bd2);border-radius:var(--r3);width:580px;max-width:95vw;max-height:87vh;overflow-y:auto;box-shadow:var(--sh2);transform:translateY(10px);transition:transform .2s;}
.modal.wide{width:680px;}
.overlay.open .modal{transform:none;}
.mhd{padding:18px 20px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;}
.m-title{font-size:15px;font-weight:700;}
.m-x{cursor:pointer;width:26px;height:26px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--t3);font-size:16px;transition:all .14s;}
.m-x:hover{background:var(--bg3);color:var(--t1);}
.mbody{padding:20px;display:flex;flex-direction:column;gap:13px;}
.mfoot{padding:14px 20px;border-top:1px solid var(--bd);display:flex;justify-content:flex-end;gap:8px;}

/* ════ ALERTS ════ */
.alert{border-radius:8px;padding:10px 13px;font-size:12px;display:flex;gap:8px;}
.al-i{background:var(--bbg);border:1px solid var(--bbd);color:var(--blue);}
.al-s{background:var(--gbg);border:1px solid var(--gbd);color:var(--green);}
.al-w{background:var(--abg);border:1px solid var(--abd);color:var(--amber);}
.al-e{background:var(--rbg);border:1px solid var(--rbd);color:var(--red);}

/* ════ CONTA CARD ════ */
.cc{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r2);padding:18px;position:relative;overflow:hidden;box-shadow:var(--sh);}
.cc-stripe{position:absolute;top:0;left:0;right:0;height:4px;}
.cc-bank{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;}
.cc-num{font-size:11px;color:var(--t3);font-family:var(--mono);margin-bottom:12px;}
.cc-saldo{font-size:26px;font-weight:800;letter-spacing:-.8px;}

/* ════ DRE ════ */
.dre-blk{background:var(--bg3);border-radius:9px;margin-bottom:8px;overflow:hidden;}
.dre-hd{padding:10px 16px;display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;}
.dre-row{padding:7px 16px 7px 26px;border-top:1px solid var(--bd);display:flex;justify-content:space-between;font-size:12.5px;}
.dre-row:hover{background:var(--bg4);}
.dre-total{padding:11px 16px;border-top:1px solid var(--bd2);display:flex;justify-content:space-between;font-size:14px;font-weight:800;}

/* ════ MISC ════ */
.srow{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--bd);font-size:12.5px;}
.srow:last-child{border-bottom:none;}
.muted{color:var(--t3);}
.bold{font-weight:700;}
.green{color:var(--green);}.red{color:var(--red);}.orange{color:var(--z);}.blue{color:var(--blue);}.amber{color:var(--amber);}
.sec-lbl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;}
.empty{text-align:center;padding:40px 20px;color:var(--t3);font-size:13px;}
.loading{text-align:center;padding:40px;color:var(--t3);font-size:13px;}
.leilao-banner{background:var(--bg2);border:1px solid var(--bd);border-left:4px solid var(--z);border-radius:var(--r2);padding:14px 18px;display:flex;align-items:center;gap:20px;box-shadow:var(--sh);}
.tabs{display:flex;gap:2px;background:var(--bg3);border-radius:8px;padding:3px;}
.tab{padding:5px 13px;border-radius:6px;cursor:pointer;color:var(--t3);font-size:11.5px;font-weight:600;transition:all .14s;}
.tab.active{background:var(--bg2);color:var(--t1);box-shadow:var(--sh);}

/* ════ TOAST ════ */
#tw{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:99999;}
.toast{background:var(--bg2);border:1px solid var(--bd2);border-radius:9px;padding:11px 15px;font-size:12px;display:flex;align-items:center;gap:9px;box-shadow:var(--sh2);animation:tin .22s ease;max-width:310px;}
.toast.s{border-left:3px solid var(--green);}
.toast.e{border-left:3px solid var(--red);}
.toast.i{border-left:3px solid var(--z);}
@keyframes tin{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
