:root{--bg: #0b0d12;--bg-2: #141821;--ink: #f4f1ea;--muted: #9a9388;--line: #2a303a;--lime: #e8c36a;--lime-ink: #1a1406;--mint: #e8c36a;--danger: #ff8b7a;--ok: #6ee7b7;--amber: #e8c36a;--shadow: 0 24px 60px rgba(0, 0, 0, .4);--sidebar: 240px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(900px 480px at 12% -10%,rgba(232,195,106,.12),transparent 42%),radial-gradient(700px 400px at 100% 0%,rgba(110,231,183,.05),transparent 40%),linear-gradient(180deg,#10141c 0%,var(--bg) 38%);font-family:DM Sans,sans-serif}h1,h2,.brand-mark{font-family:Bebas Neue,Impact,sans-serif;font-weight:400;letter-spacing:.06em;text-transform:uppercase}h1{margin:0 0 .7rem;font-size:clamp(4rem,10vw,7.5rem);line-height:.85}h2{margin:0 0 1rem;font-size:1.8rem}p{margin:0}button,input,select{font:inherit}.mono,.ticket dd,.remote,.amount{font-family:IBM Plex Mono,ui-monospace,monospace}.boot{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(100%,26rem);display:grid;gap:.95rem;background:var(--bg-2);border:1px solid var(--line);border-radius:24px;padding:2.2rem 1.8rem 1.8rem;box-shadow:var(--shadow)}.login-card .brand-mark{font-size:3.4rem;color:var(--lime);line-height:.85}.login-card h2{margin:0;font-size:1.8rem}.login-card button{margin-top:.3rem}.gate{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.gate-panel,.gate-form-wrap{display:flex;flex-direction:column;justify-content:center;padding:4rem}.gate-panel{border-right:1px solid var(--line)}.eyebrow{margin-bottom:.7rem;color:var(--mint);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}.lede{max-width:32rem;color:var(--muted);line-height:1.65}.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:20px;padding:1.4rem;box-shadow:var(--shadow)}.form{display:grid;gap:.95rem;width:min(100%,26rem)}.form.compact{width:min(100%,40rem);grid-template-columns:repeat(3,1fr)}.form.compact button,.form.compact .error,.form.compact .ok{grid-column:1 / -1}.form label,.reload label,.amount-label,.filters label,.login-card label{display:grid;gap:.4rem;color:var(--muted);font-size:.84rem}input,select{width:100%;border:1px solid var(--line);border-radius:12px;background:#0d1118;color:var(--ink);padding:.8rem .9rem}input:focus,select:focus{outline:2px solid rgba(232,195,106,.4);border-color:var(--lime)}button{border:0;border-radius:12px;background:var(--lime);color:var(--lime-ink);padding:.85rem 1rem;font-weight:700;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button.ghost,a.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:500;padding:.45rem .75rem;border-radius:8px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}a.ghost.active{border-color:var(--lime);color:var(--lime)}.hint,.quiet,.operator,.brand-sub{color:var(--muted);font-size:.84rem}.error{color:var(--danger)}.error-banner{background:#ff8b7a1f;border:1px solid rgba(255,139,122,.35);border-radius:12px;padding:.8rem 1rem}.ok{color:var(--ok)}.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1.2rem;padding:1.4rem 1.1rem;border-right:1px solid var(--line);background:#10141cf5;z-index:20}.sidebar .brand-mark{display:block;font-size:2rem;color:var(--lime);line-height:1}.side-nav{display:grid;gap:.35rem}.side-nav a{color:var(--ink);text-decoration:none;padding:.65rem .8rem;border-radius:10px;border:1px solid transparent}.side-nav a.active{background:#e8c36a1f;border-color:#e8c36a66;color:var(--lime)}.side-foot{margin-top:auto;display:grid;gap:.45rem}.side-user{font-weight:600}.limit-chip{display:grid;gap:.15rem;color:var(--muted);font-size:.75rem}.limit-chip strong{color:var(--lime);font-size:1rem}.badge{display:inline-flex;width:fit-content;border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.badge.admin{color:var(--amber);border-color:#ffc85766}.badge.agent{color:var(--mint);border-color:#3dff9a59}.badge.ok{color:var(--ok);border-color:#7dffb059}.badge.off{color:var(--danger);border-color:#ff7a6e66}.app-main{min-width:0}.topbar{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem .4rem}.topbar h1{font-size:2.2rem;margin:0;flex:1}.menu-btn{display:none}.app-content{padding:1rem 1.4rem 3rem}.kiosk-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.stack{display:grid;gap:1rem;align-content:start}.panel-head,.pair{display:flex;justify-content:space-between;gap:.8rem;align-items:start}.pair{display:grid;grid-template-columns:1fr 1fr}.pills{display:flex;gap:.4rem}.pill{border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.72rem;letter-spacing:.08em}.pill.charged{color:var(--amber);border-color:#ffc85766}.amount-row{display:flex;align-items:baseline;gap:.4rem;color:var(--lime);font-size:2rem}.amount{border:0;background:transparent;color:var(--ink);font-size:clamp(2.6rem,6vw,4.4rem);padding:0}.presets{display:flex;flex-wrap:wrap;gap:.45rem;margin:.4rem 0 .8rem}.preset{background:#10151d;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;font-weight:500}.preset.on{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}.reload-btn{width:100%;margin-top:.4rem;padding:1rem;font-size:1.05rem}.limit-banner,.confirm{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:14px;background:#10151d}.confirm{display:grid;margin-top:.4rem}.ticket{display:grid;gap:.7rem;margin:1rem 0}.ticket dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.ticket dd{margin:.25rem 0 0;overflow-wrap:anywhere}.history ul{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.45rem}.history button{width:100%;display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;background:#10151d;color:var(--ink);border:1px solid var(--line);text-align:left;font-weight:500}.history button span{grid-column:1;color:var(--muted);font-size:.78rem}.history button em{grid-row:1 / span 2;font-style:normal;font-size:.78rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-grid.compact{grid-template-columns:repeat(4,1fr)}.stat{background:var(--bg-2);border:1px solid var(--line);border-radius:20px;padding:1.1rem 1.2rem}.stat-value{font-family:Bebas Neue,Impact,sans-serif;font-size:2.2rem;letter-spacing:.03em;margin:.2rem 0 .35rem}.table-wrap{overflow:auto;margin-top:.8rem}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:.7rem .55rem;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.filters{display:grid;grid-template-columns:1.6fr .8fr;gap:.8rem;margin:.4rem 0 .6rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;padding:1rem;z-index:40}.modal{width:min(520px,100%);max-height:calc(100vh - 2rem);overflow:auto}.modal.form{width:min(520px,100%)}.check{display:flex!important;align-items:center;gap:.6rem}.check input{width:auto}.scrim{display:none}.receipt-layout{display:grid;justify-items:center;gap:1rem}.receipt-actions{width:min(420px,100%);display:flex;justify-content:space-between;gap:.8rem}.receipt-paper{width:min(420px,100%);background:#f7f4ea;color:#1a1a1a;padding:1.6rem 1.5rem 1.4rem;border-radius:8px;box-shadow:var(--shadow);position:relative}.receipt-sample{text-align:center;letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:#9a6b12;border:1px dashed #d6a35b;padding:.3rem;margin:0 0 .9rem}.receipt-paper h1{font-size:3rem;margin:0;color:#111}.receipt-kicker,.receipt-foot,.receipt-note,.receipt-paper header p{color:#5c584c;font-size:.82rem}.receipt-no{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.05rem;margin:1rem 0 .2rem}.receipt-when{color:#5c584c;margin-bottom:1rem}.receipt-paper dl{display:grid;gap:.7rem;margin:0 0 1.1rem}.receipt-paper dt{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#6f6a5c}.receipt-paper dd{margin:.15rem 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;overflow-wrap:anywhere}.receipt-paper dd span{display:block;color:#6f6a5c;font-family:DM Sans,sans-serif;font-size:.78rem}@media(max-width:1100px){.stat-grid,.stat-grid.compact{grid-template-columns:1fr 1fr}}@media(max-width:860px){.gate,.kiosk-grid,.pair,.form.compact,.filters,.app,.login-screen{grid-template-columns:1fr}.gate-panel,.gate-form-wrap{padding:2rem 1.2rem}.gate-panel{border-right:0;border-bottom:1px solid var(--line)}.sidebar{position:fixed;left:0;top:0;transform:translate(-110%);transition:transform .18s ease;width:min(280px,88vw)}.sidebar.open{transform:none}.menu-btn,.scrim{display:inline-flex}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;border:0;z-index:15}.topbar,.app-content{padding-left:1rem;padding-right:1rem}}@media print{body{background:#fff!important;color:#111!important}.sidebar,.topbar,.no-print,.scrim{display:none!important}.app,.app-main,.app-content,.receipt-layout{display:block;width:100%;padding:0;margin:0;min-height:0}.receipt-paper{width:100%;box-shadow:none;border-radius:0}}
