@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";
:root{--font-outfit:"Outfit", sans-serif;--bg-main:#090d16;--bg-card:#121a2fa6;--bg-card-hover:#1a2542cc;--border-color:#ffffff14;--border-focus:#6366f166;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--color-libre:#10b981;--color-ocupada:#ef4444;--color-atendida:#3b82f6;--color-cuenta:#f59e0b;--accent-primary:#6366f1;--accent-secondary:#ec4899;--shadow-premium:0 8px 32px 0 #0000005e;--shadow-inset:inset 0 2px 4px 0 #ffffff0d}
.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:var(--shadow-premium), var(--shadow-inset)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-premium);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-card:hover{background:var(--bg-card-hover);border-color:#ffffff26;transform:translateY(-2px)}.glass-input{border:1px solid var(--border-color);color:var(--text-primary);background:#0f172a99;border-radius:10px;outline:none;padding:12px 16px;font-size:.95rem;transition:all .2s}.glass-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--border-focus)}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px}50%{box-shadow:0 0 18px 4px}}.pulse-glow-libre{color:var(--color-libre);animation:2s infinite pulseGlow}.pulse-glow-ocupada{color:var(--color-ocupada);animation:2s infinite pulseGlow}.pulse-glow-atendida{color:var(--color-atendida);animation:2s infinite pulseGlow}.pulse-glow-cuenta{color:var(--color-cuenta);animation:2s infinite pulseGlow}
.resp-layout-grid{gap:20px;display:grid}.pos-products-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important;gap:10px!important}.stats-container{scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:12px;width:100%;padding-bottom:8px;display:flex;overflow-x:auto}.stats-container>div{flex:0 0 170px;padding:10px!important}.app-sidebar{transition:width .3s cubic-bezier(.4,0,.2,1);overflow:visible!important}.sidebar-nav-btn{width:100%;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:12px;transition:all .2s}.sidebar-nav-btn.active{border:1px solid #6366f133;color:var(--text-primary)!important;background:#6366f11a!important}.sidebar-nav-btn:hover{color:var(--text-primary);background:#ffffff0d}.main-content{width:100%;overflow-x:hidden;padding:calc(20px + env(safe-area-inset-top,0px)) 10px calc(16px + env(safe-area-inset-bottom,0px)) 10px!important}@media (max-width:1023px){.app-sidebar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);top:0;box-shadow:5px 0 25px #00000080;z-index:1000!important;background:#0d1223fc!important;width:260px!important;height:100vh!important;transition:left .3s cubic-bezier(.4,0,.2,1)!important;position:fixed!important;left:0!important}.app-sidebar>button{display:none!important}.app-sidebar.collapsed{border-right:none!important;left:-260px!important}.mobile-hamburger-btn,.mobile-close-sidebar-btn{display:flex!important}}.room-grid{grid-template-columns:1fr}.room-tables-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))!important;gap:10px!important;width:100%!important;max-width:100%!important}.room-map-container{width:100%!important;max-width:100%!important;padding:12px!important;overflow:hidden!important}.room-details-panel{width:100%!important;max-width:100%!important;padding:16px!important}.pos-grid{grid-template-columns:1fr}@media (min-width:576px){.pos-products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:12px!important}.room-tables-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))!important;gap:12px!important}}@media (min-width:768px){.stats-container{flex-wrap:wrap;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding-bottom:0;display:grid;overflow-x:visible}.stats-container>div{flex:initial}.main-content{padding:24px!important}.room-tables-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;gap:16px!important}.room-map-container,.room-details-panel{padding:20px!important}}@media (min-width:992px){.room-grid{grid-template-columns:1fr minmax(280px,320px);gap:20px;max-width:100%!important}.room-tables-grid{grid-template-columns:repeat(auto-fill,minmax(115px,1fr))!important;gap:16px!important}.room-map-container,.room-details-panel{padding:24px!important}.pos-grid{grid-template-columns:1fr 360px;gap:20px}}@media (min-width:1200px){.room-grid{grid-template-columns:1fr minmax(300px,350px);gap:24px}.room-tables-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important;gap:20px!important}}
*{box-sizing:border-box;font-family:var(--font-outfit);-webkit-font-smoothing:antialiased;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);background-image:radial-gradient(circle at 10% 20%,#6366f10d 0%,#0000 40%),radial-gradient(circle at 90% 80%,#ec48990d 0%,#0000 40%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f172a4d}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent-primary) 0%, #4f46e5 100%);color:#fff;box-shadow:0 4px 14px #6366f166}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px #6366f199}.btn-secondary{border-color:var(--border-color);color:var(--text-primary);background:#ffffff0d}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.btn-danger{color:#f87171;background:#ef44441a;border-color:#ef444433}.btn-danger:hover{background:#ef444433;border-color:#ef444466}.btn-success{color:#34d399;background:#10b98126;border-color:#10b98133}.btn-success:hover{background:#10b98140;border-color:#10b98166}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-libre{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-ocupada{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.badge-atendida{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.badge-cuenta{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}
