/* Mr. Robot + Matrix vibe */
:root{--bg:#070b0c;--fg:#a3ffb3;--fg-dim:#7cff90;--line:#102018;--radius:14px;--mono:"SFMono-Regular",Menlo,Monaco,Consolas,"Courier New",monospace;}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;background:#070b0c;color:var(--fg);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif}
.bg-grid::before{content:"";position:fixed;inset:0;background:linear-gradient(rgba(0,255,120,.05) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(0,255,120,.05) 1px,transparent 1px) 0 0/24px 24px;pointer-events:none}
.scanlines::after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 2px,transparent 2px,transparent 4px);mix-blend-mode:overlay;pointer-events:none}
.matrix-bg{position:relative;overflow:hidden}
.container{width:min(1100px,92%);margin:42px auto}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:rgba(6,10,8,.8);backdrop-filter:blur(6px);border-bottom:1px solid #0f2318}
.topbar .ghost{color:var(--fg);opacity:.85;text-decoration:none;margin-left:12px}.topbar .ghost:hover{opacity:1}
.terminal-card{background:linear-gradient(180deg,#0c1411 0%,#070b0c 100%);border:1px solid #0f2318;border-radius:var(--radius);padding:22px;margin:18px 0;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.brand .logo{font-family:var(--mono);letter-spacing:.2em;font-size:28px}.brand .subtitle{color:#7cff90aa;display:block;margin-top:4px}
.alert{padding:10px 12px;border-radius:10px;background:#0e2a17;border:1px solid #1b3f25;margin:10px 0}.alert.error{background:#2a0e0e;border-color:#441b1b;color:#ffb1b1}.alert.success{background:#0e2a17;border-color:#1b3f25;color:#a3ffb3}.alert.info{background:#0c1f14;border-color:#183323;color:#c4ffd0}
.tabs{display:flex;gap:10px;margin:10px 0 18px}.tab{background:#0f1814;color:var(--fg);border:1px solid #173624;border-radius:9px;padding:8px 12px;cursor:pointer}.tab.active,.tab:hover{background:#12281a}
.panel{display:none}.panel.active{display:block}
label{display:block;margin:12px 0 6px;color:#dfffdf}
input,select,textarea{width:100%;background:#0f1514;color:var(--fg);border:1px solid #163a22;border-radius:9px;padding:12px 12px;outline:0;font-size:15px}
input:focus,textarea:focus{border-color:#2fdc75;box-shadow:0 0 0 3px #2fdc7525} textarea{resize:vertical}
.btn{background:#1b3f25;border:1px solid #265d38;color:#a3ffb3;padding:10px 14px;border-radius:10px;cursor:pointer;margin-top:12px}
.btn:hover{filter:brightness(1.15)} .btn.ghost{background:#0f1614;border-color:#1b3f25}
.footer{margin-top:18px;color:#8ee9a2aa;font-size:12px}
.mono{font-family:var(--mono);font-size:13px}
.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px dashed #183323;padding:10px 8px;font-size:14px}.table th{color:#b8ffca;text-align:left}
.tag{padding:3px 8px;border-radius:999px;border:1px solid #1e3a29;background:#0f1d15}.tag.pago{border-color:#2e7d32;background:#12351a;color:#baffc5}.tag.pendente{border-color:#665c11;background:#1f1c0c;color:#ffe08a}.tag.cancelado{border-color:#5d1e1e;background:#2a0e0e;color:#ffb1b1}.tag.expirado{border-color:#434343;background:#191919;color:#ccc}
.qrcode{width:260px;height:260px;border-radius:12px;border:1px solid #163a22;background:#0f1514;object-fit:contain}
.pix-box{display:flex;gap:18px;align-items:flex-start;margin-top:12px}.pix-info textarea{width:100%;font-family:var(--mono)}
h2.glitch{font-family:var(--mono);position:relative;font-size:20px;letter-spacing:.1em}
h2.glitch::before,h2.glitch::after{content:attr(data-text);position:absolute;left:0;top:0;width:100%}
h2.glitch::before{transform:translateX(-1px);color:#00ffaa80;mix-blend-mode:screen}
h2.glitch::after{transform:translateX(1px);color:#ff3e3e80;mix-blend-mode:screen}
.dot{animation:blink .8s infinite alternate}.blink{animation:blink 1s steps(2) infinite}.dim{opacity:.7}.hidden-on-user{display:none}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#matrixCanvas{position:fixed;inset:0;z-index:-1;opacity:.25}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:99}
.modal.hidden{display:none}
.modal-content{background:#0b100f;border:1px solid #163a22;border-radius:12px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.6);max-width:92vw}
.modal-content .close{background:#0f1614;color:#a3ffb3;border:1px solid #1b3f25;border-radius:8px;font-size:22px;line-height:1;padding:6px 10px;float:right;cursor:pointer}
