:root {
  --bg:      #0a0a14;
  --bg2:     #0f0f1e;
  --bg3:     #161628;
  --bg4:     #1e1e35;
  --border:  rgba(255,255,255,0.07);
  --border2: rgba(255,255,255,0.12);
  --blue:    #0891b2;
  --blue2:   #22d3ee;
  --green:   #4ade80;
  --amber:   #fbbf24;
  --red:     #f87171;
  --text:    #e8e6ff;
  --text2:   rgba(232,230,255,0.55);
  --text3:   rgba(232,230,255,0.3);
  --mono:    monospace;
  --sans:    system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:var(--sans);min-height:100vh;}

/* LOGIN */
#login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem;}
.login-card{width:100%;max-width:380px;background:var(--bg2);border:1px solid var(--border2);border-radius:20px;padding:2.5rem 2rem;}
.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:2rem;}
.login-logo-ico{width:40px;height:40px;background:var(--blue);border-radius:10px;display:flex;align-items:center;justify-content:center;}
.login-logo-txt{font-size:18px;font-weight:700;}
.login-title{font-size:22px;font-weight:700;margin-bottom:6px;}
.login-sub{font-size:13px;color:var(--text2);margin-bottom:2rem;}
.field{margin-bottom:1rem;}
.field label{display:block;font-size:12px;color:var(--text2);margin-bottom:6px;font-family:var(--mono);}
.field input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:11px 14px;color:var(--text);font-size:14px;font-family:var(--sans);outline:none;transition:border-color .2s;}
.field input:focus{border-color:var(--blue);}
.login-btn{width:100%;padding:12px;background:var(--blue);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;transition:opacity .2s;margin-top:.5rem;}
.login-btn:hover{opacity:.85;}
.login-err{color:var(--red);font-size:12px;text-align:center;margin-top:10px;min-height:16px;}

/* APP */
#app{min-height:100vh;}
.is-hidden{display:none!important;}
.topbar{background:var(--bg2);border-bottom:1px solid var(--border);padding:14px 1.5rem 10px;min-height:68px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.topbar-logo{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;}
.topbar-logo-ico{width:28px;height:28px;background:var(--blue);border-radius:7px;display:flex;align-items:center;justify-content:center;}
.topbar-right{display:flex;align-items:center;gap:12px;}
.topbar-nome{font-size:13px;color:var(--text2);}
.logout-btn{background:none;border:1px solid var(--border2);border-radius:8px;padding:5px 12px;color:var(--text2);font-size:12px;cursor:pointer;font-family:var(--sans);transition:all .15s;}
.logout-btn:hover{border-color:var(--red);color:var(--red);}
.content{padding:1.5rem;max-width:900px;margin:0 auto;}
.section-title{font-size:18px;font-weight:700;margin-bottom:4px;}
.section-sub{font-size:13px;color:var(--text2);margin-bottom:1.5rem;}
.nav-tabs{position:sticky;top:68px;z-index:90;display:flex;gap:8px;overflow-x:auto;background:rgba(10,10,20,.96);border-bottom:1px solid var(--border);padding:.75rem 1.5rem;}
.nav-tab{flex:0 0 auto;background:var(--bg3);border:1px solid var(--border);border-radius:99px;color:var(--text2);font-size:12px;font-weight:700;padding:8px 14px;cursor:pointer;font-family:var(--sans);}
.nav-tab.on{background:rgba(8,145,178,.22);border-color:rgba(34,211,238,.45);color:var(--blue2);}
.seller-page{animation:fadeIn .16s ease-out;}
@keyframes fadeIn{from{opacity:.45;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

.wallet-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,rgba(8,145,178,.18),rgba(15,15,30,.98));border:1px solid rgba(34,211,238,.28);border-radius:16px;padding:1.25rem;margin-bottom:1.75rem;}
.wallet-label,.cart-label{font-size:11px;color:var(--text2);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;}
.wallet-value{font-size:32px;font-weight:800;color:var(--blue2);line-height:1.1;margin:4px 0;font-family:var(--mono);}
.wallet-sub{font-size:12px;color:var(--text2);}
.wallet-actions{display:grid;grid-template-columns:110px 150px;gap:8px;align-items:center;}
.wallet-input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:9px;color:var(--text);padding:9px 10px;font-size:13px;outline:none;}
.wallet-input:focus{border-color:var(--blue2);}
.cart-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem;margin:-.75rem 0 2rem;}
.cart-total{font-size:18px;font-weight:800;color:var(--text);margin-top:3px;}
.cart-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.quick-card{display:grid;text-align:left;gap:5px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;color:var(--text);padding:1.1rem;cursor:pointer;font-family:var(--sans);}
.quick-card span{font-size:15px;font-weight:800;}
.quick-card small{font-size:12px;color:var(--text2);line-height:1.4;}
.quick-card:hover{border-color:rgba(34,211,238,.35);background:rgba(8,145,178,.1);}

/* COMPRAS */
.produtos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:2rem;}
.produto-card{background:linear-gradient(135deg,rgba(8,145,178,.18),rgba(30,30,53,.95));border:1px solid rgba(34,211,238,.28);border-radius:14px;padding:1.1rem;}
.produto-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:1rem;}
.produto-nome{font-size:14px;font-weight:700;line-height:1.3;}
.produto-sub{font-size:11px;color:var(--text2);margin-top:4px;}
.produto-preco{display:grid;justify-items:end;gap:2px;font-family:var(--mono);font-size:13px;color:var(--blue2);white-space:nowrap;}
.produto-preco small{font-family:var(--sans);font-size:10px;color:var(--text2);font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.produto-buy{display:grid;grid-template-columns:82px 1fr;gap:8px;}
.produto-qtd{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:9px;color:var(--text);padding:9px 10px;font-size:13px;outline:none;}
.produto-qtd:focus{border-color:var(--blue2);}
.produto-btn{padding:9px;background:var(--blue);border:none;border-radius:9px;color:#fff;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--sans);}
.produto-btn:disabled{opacity:.55;cursor:not-allowed;}

/* COTAS */
.cotas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:2rem;}
.cota-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:1.25rem;}
.cota-nome{font-size:12px;color:var(--text2);margin-bottom:10px;line-height:1.4;}
.cota-saldo{font-size:32px;font-weight:700;color:var(--blue2);font-family:var(--mono);line-height:1;margin-bottom:6px;}
.cota-sub{font-size:11px;color:var(--text3);}
.cota-btn{width:100%;margin-top:12px;padding:9px;background:var(--blue);border:none;border-radius:9px;color:#fff;font-size:12px;font-weight:600;font-family:var(--sans);cursor:pointer;transition:opacity .2s;}
.cota-btn:hover{opacity:.85;}
.cota-btn:disabled{opacity:.4;cursor:not-allowed;}

/* TABELA */
.table-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:1.5rem;}
.table-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-wrap:gap;}
.table-title{font-size:14px;font-weight:600;}
.filter-row{display:flex;gap:8px;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.filter-btn{padding:5px 12px;border-radius:99px;border:1px solid var(--border2);background:transparent;color:var(--text2);font-size:12px;cursor:pointer;font-family:var(--sans);transition:all .15s;}
.filter-btn:hover,.filter-btn.on{background:rgba(37,99,235,.15);border-color:var(--blue);color:var(--blue2);}
table{width:100%;border-collapse:collapse;}
th{padding:10px 16px;font-size:11px;color:var(--text3);font-family:var(--mono);text-align:left;border-bottom:1px solid var(--border);font-weight:400;letter-spacing:.04em;}
td{padding:11px 16px;font-size:13px;border-bottom:1px solid var(--border);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(255,255,255,.02);}
.code-badge{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--blue2);background:rgba(37,99,235,.1);padding:4px 10px;border-radius:6px;letter-spacing:.05em;}
.status-pill{padding:3px 10px;border-radius:99px;font-size:11px;font-weight:500;font-family:var(--mono);}
.pill-disp{background:rgba(74,222,128,.1);color:var(--green);}
.pill-usado{background:rgba(37,99,235,.1);color:var(--blue2);}
.pill-rev{background:rgba(248,113,113,.1);color:var(--red);}
.copy-btn{padding:4px 10px;border-radius:7px;border:1px solid var(--border2);background:transparent;color:var(--text2);font-size:11px;cursor:pointer;font-family:var(--sans);transition:all .15s;}
.copy-btn:hover{border-color:var(--blue);color:var(--blue2);}
.table-date{color:var(--text2);}
.empty-state{padding:3rem;text-align:center;color:var(--text3);font-size:13px;}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:200;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:1.5rem;width:100%;max-width:400px;}
.modal-title{font-size:16px;font-weight:600;margin-bottom:6px;}
.modal-sub{font-size:13px;color:var(--text2);margin-bottom:1.25rem;line-height:1.5;}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:1rem;}
.modal-cancel{padding:9px 18px;background:transparent;border:1px solid var(--border2);border-radius:9px;color:var(--text2);font-size:13px;cursor:pointer;font-family:var(--sans);}
.modal-confirm{padding:9px 18px;background:var(--blue);border:none;border-radius:9px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--sans);}
.modal-label{display:block;font-size:12px;color:var(--text2);margin-bottom:6px;font-family:var(--mono);}
.modal-input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:10px 14px;color:var(--text);font-size:13px;font-family:var(--sans);outline:none;margin-bottom:1rem;}
.modal-input:focus{border-color:var(--blue);}
.result-box{background:var(--bg3);border:1px solid var(--border2);border-radius:12px;padding:1.25rem;margin-top:1rem;display:none;}
.result-label{font-size:11px;color:var(--text3);font-family:var(--mono);margin-bottom:8px;}
.result-code{font-family:var(--mono);font-size:32px;font-weight:700;color:var(--blue2);letter-spacing:.12em;margin-bottom:12px;}
.result-copy{display:flex;align-items:center;gap:6px;padding:8px 14px;background:rgba(37,99,235,.15);border:1px solid rgba(37,99,235,.3);border-radius:8px;color:var(--blue2);font-size:12px;cursor:pointer;font-family:var(--sans);width:fit-content;}
.result-copy:hover{background:rgba(37,99,235,.25);}
.modal-pix{max-width:460px;}
.pix-qrcode-wrap{display:flex;justify-content:center;margin:.75rem 0 1rem;}
.pix-qrcode{width:180px;height:180px;border-radius:12px;background:#fff;padding:8px;}
.pix-copy-input{min-height:90px;resize:vertical;font-family:var(--mono);font-size:11px;line-height:1.35;}
.result-codes{display:grid;gap:8px;}
.pix-code{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.24);border-radius:9px;color:var(--blue2);font-family:var(--mono);font-size:16px;font-weight:700;padding:10px 12px;cursor:pointer;}
.pix-code span{font-size:11px;font-weight:500;color:var(--text2);}

/* TOAST */
.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--bg3);border:1px solid var(--border2);border-radius:12px;padding:12px 16px;font-size:13px;z-index:300;transform:translateY(80px);opacity:0;transition:all .3s;pointer-events:none;}
.toast.show{transform:translateY(0);opacity:1;}
.toast.success{border-color:rgba(74,222,128,.3);}
.toast.error{border-color:rgba(248,113,113,.3);}

@media(max-width:600px){
  .content{padding:1rem;}
  .topbar{padding:18px 1rem 10px;min-height:74px;}
  .nav-tabs{top:74px;padding:.65rem 1rem;}
  .quick-grid{grid-template-columns:1fr;}
  .wallet-card,.cart-bar{align-items:stretch;flex-direction:column;}
  .wallet-actions{grid-template-columns:1fr;}
  .cart-actions{justify-content:stretch;}
  .cart-actions button{flex:1;}
  .cotas-grid{grid-template-columns:1fr 1fr;}
  table thead{display:none;}
  table,tbody,tr,td{display:block;width:100%;}
  tr{background:var(--bg3);border-radius:10px;margin-bottom:8px;padding:10px;}
  td{border:none;padding:4px 0;font-size:12px;}
  td:before{content:attr(data-label);font-size:10px;color:var(--text3);font-family:var(--mono);display:block;}
}
