:root{--primary:#8b5cf6;--primary-hover:#7c3aed;--bg-main:#0f172a;--bg-card:#1e293bb3;--text-main:#f8fafc;--text-muted:#94a3b8;--border:#ffffff1a;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--glass-shadow:0 8px 32px 0 #0000005e}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}body{background-color:var(--bg-main);color:var(--text-main);background-image:radial-gradient(at 0 0,#8b5cf626 0,#0000 50%),radial-gradient(at 100% 100%,#10b9811a 0,#0000 50%);min-height:100vh}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:var(--glass-shadow);border-radius:16px}.btn{cursor:pointer;color:#fff;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), #a78bfa);color:#fff!important}.btn-success{background:linear-gradient(135deg,#10b981,#34d399);color:#fff!important}.btn-danger{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff!important}.btn-warning{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff!important}.btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.grid-tables{grid-template-columns:repeat(3,1fr);gap:20px;padding:20px;display:grid}.table-card{text-align:center;cursor:pointer;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.table-card:hover{border-color:var(--primary);transform:scale(1.02)}.status-idle{color:var(--success)}.status-playing{color:var(--primary)}.status-booked{color:var(--warning)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:700}input,select{border:1px solid var(--border);color:#fff;background:#0f172ae6;border-radius:8px;width:100%;padding:12px}option{color:#fff;background-color:#1e293b}input:focus{border-color:var(--primary);background:#ffffff14;outline:none}@keyframes pulse-red{0%{background-color:#ef44441a;box-shadow:0 0 #ef4444b3}70%{background-color:#ef44444d;box-shadow:0 0 0 15px #ef444400}to{background-color:#ef44441a;box-shadow:0 0 #ef444400}}.ending-soon{animation:2s infinite pulse-red;background-color:#ef444433!important;border:2px solid #ef4444!important}.ending-soon h3,.ending-soon p{text-shadow:0 0 8px #ef444480;color:#ff4d4d!important}@media print{@page{size:auto;margin:0!important}html,body{color:#000!important;background:#fff!important}body>:not(#print-section):not(#print-report-section){display:none!important}#print-section{visibility:visible!important;opacity:1!important;background:#fff!important;width:48mm!important;margin:0 auto!important;padding:0!important;display:block!important;position:static!important;top:auto!important;left:auto!important}#print-section *{visibility:visible!important;color:#000!important;background:0 0!important}}.receipt-container{color:#000;word-break:break-word;background:#fff;margin:0;padding:0 2mm;font-family:Courier New,Courier,monospace;font-size:8px;line-height:1.2;box-sizing:border-box!important;overflow:hidden!important}.receipt-header{text-align:center;margin-bottom:6px}.receipt-divider{border-top:1px dashed #000;margin:4px 0}.receipt-row{justify-content:space-between;margin:1px 0;display:flex}.receipt-total{margin-top:4px;font-size:10px;font-weight:700}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#fff3}.spinner-small{border:2px solid #ffffff1a;border-left-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-4{gap:16px}.w-full{width:100%}.text-center{text-align:center}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s forwards fadeIn}
