:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d11;--panel:#151820;--panel-2:#1d212b;--line:#2a303d;--text:#f7f8fb;--muted:#9ea6b6;--brand:#8b5cf6;--brand-2:#6d3ee8;--green:#2dd4a0;--amber:#f6b73c;--red:#fb7185;--blue:#60a5fa;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}button,input{font:inherit}button{cursor:pointer}.oculto{display:none!important}.login-shell{background:radial-gradient(circle at top, #251847 0, var(--bg) 46%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#151820f2;border-radius:24px;width:min(440px,100%);padding:32px;box-shadow:0 24px 80px #0000006b}.login-card h1{letter-spacing:-.04em;margin:4px 0;font-size:clamp(36px,10vw,54px)}.marca,.eyebrow{color:#bda7ff;letter-spacing:.16em;margin:0;font-size:12px;font-weight:800}.subtitulo{color:var(--muted);margin:0 0 28px}.form-stack{gap:10px;display:grid}.form-stack label{color:var(--muted);font-size:14px;font-weight:700}input{border:1px solid var(--line);width:100%;min-height:50px;color:var(--text);background:#0f1218;border-radius:13px;outline:none;padding:0 15px}input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #8b5cf62e}#pin{text-align:center;letter-spacing:.3em;min-height:62px;font-size:28px}details{color:var(--muted);margin-top:22px}summary{cursor:pointer}.secundario-form{margin-top:18px}.mensaje-error{min-height:20px;color:var(--red);font-size:14px}.btn{min-height:44px;color:var(--text);border:0;border-radius:12px;padding:10px 16px;font-weight:800}.btn.primario{background:linear-gradient(135deg, var(--brand), var(--brand-2))}.btn.neutro{background:var(--panel-2);border:1px solid var(--line)}.btn.peligro{color:#ff9aaa;background:#fb718524;border:1px solid #fb71854d}.btn.exito{color:#66e6bd;background:#2dd4a026;border:1px solid #2dd4a04d}.btn.texto{color:var(--muted);background:0 0}.btn.grande{min-height:54px;font-size:16px}.btn:disabled{opacity:.45;cursor:not-allowed}.topbar{z-index:20;min-height:72px;padding:12px max(18px, env(safe-area-inset-right)) 12px max(18px, env(safe-area-inset-left));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b0d11eb;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:8px;display:flex}.badge{min-height:30px;color:var(--green);background:#2dd4a01f;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}main{width:min(1440px,100%);margin:0 auto}.vista{padding:24px}.vista-head,.seccion-titulo{justify-content:space-between;align-items:center;gap:14px;display:flex}.vista-head h2{margin:3px 0 0;font-size:30px}.filtros{align-items:center;gap:16px;margin:20px 0;display:flex}.filtros input{max-width:420px}.leyenda{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.leyenda span{align-items:center;gap:6px;display:flex}.punto{border-radius:50%;width:9px;height:9px}.punto.libre{background:var(--green)}.punto.propia{background:var(--brand)}.punto.ajena{background:var(--amber)}.mesas-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.mesa-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius);min-height:142px;color:var(--text);background:var(--panel);flex-direction:column;justify-content:space-between;align-items:flex-start;padding:18px;display:flex}.mesa-card:hover{border-color:#454d60;transform:translateY(-2px)}.mesa-card.libre{border-top:3px solid var(--green)}.mesa-card.propia{border-top:3px solid var(--brand);background:linear-gradient(145deg, #8b5cf621, var(--panel))}.mesa-card.ajena{border-top:3px solid var(--amber)}.mesa-card strong{font-size:20px}.mesa-card small{color:var(--muted)}.mesa-card .estado{letter-spacing:.08em;font-size:11px;font-weight:900}.mesa-card .alerta{color:var(--red);font-weight:800}.panel-centro{place-items:center;min-height:calc(100vh - 73px);padding:24px;display:grid}.empty-card{text-align:center;border:1px solid var(--line);background:var(--panel);border-radius:24px;max-width:480px;padding:40px}.empty-card p{color:var(--muted)}.icono-grande{color:var(--brand);font-size:48px}.volver{margin:0 0 14px -12px}.cuenta-header{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);justify-content:space-between;gap:16px;margin-bottom:16px;padding:20px;display:flex}.cuenta-header h2{margin:0 0 4px}.cuenta-header p{color:var(--muted);margin:0}.cuenta-layout{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.4fr);align-items:start;gap:18px;display:grid}.caja-layout{grid-template-columns:minmax(480px,1.4fr) minmax(280px,.65fr);align-items:start;gap:18px;margin-top:20px;display:grid}.cuadre-grid{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-top:18px;display:grid}.cuadre-item{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:14px}.cuadre-item small{color:var(--muted);margin-bottom:6px;display:block}.cuadre-item strong{font-size:20px}.cuentas-caja-list{gap:12px;margin-top:14px;display:grid}.cuenta-caja-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px}.cuenta-caja-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cuenta-caja-card p{color:var(--muted)}.pagos-list{gap:6px;margin:12px 0;display:grid}.pago-row{background:var(--panel-2);border-radius:10px;justify-content:space-between;gap:12px;padding:9px 10px;font-size:13px;display:flex}.cobro-actions{flex-wrap:wrap;gap:8px;display:flex}.cierre-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:12px;padding:20px;display:grid;position:sticky;top:92px}.cierre-panel h3,.cierre-panel p{margin:0}.cierre-panel p{color:var(--muted)}.cierre-panel label{color:var(--muted);font-size:13px;font-weight:700}.pedido-panel,.catalogo-panel,.alterna-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.pedido-panel,.catalogo-panel{padding:18px}.seccion-titulo h3{margin:0}.lineas-list{gap:9px;margin-top:15px;display:grid}.linea{background:var(--panel-2);border-radius:12px;grid-template-columns:1fr auto;gap:10px;padding:12px;display:grid}.linea small{color:var(--muted);margin-top:3px;display:block}.estado-chip{color:#cbd1df;background:#303647;border-radius:999px;margin-top:6px;padding:3px 7px;font-size:10px;font-weight:900;display:inline-flex}.estado-chip.ACEPTADA{color:var(--green);background:#2dd4a01f}.estado-chip.PENDIENTE_RECEPCION{color:var(--amber);background:#f6b73c1f}.estado-chip.REQUIERE_REVISION{color:var(--red);background:#fb71851f}.acciones-sticky{gap:8px;margin-top:18px;display:grid}.catalogo-head{margin-bottom:12px}.cantidad-control{text-align:center;border:1px solid var(--line);border-radius:12px;grid-template-columns:38px 42px 38px;align-items:center;display:grid;overflow:hidden}.cantidad-control button{background:var(--panel-2);min-height:38px;color:var(--text);border:0;font-size:20px}.productos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:calc(100vh - 260px);padding:12px 2px 2px;display:grid;overflow:auto}.producto{text-align:left;border:1px solid var(--line);background:var(--panel-2);min-height:108px;color:var(--text);border-radius:13px;flex-direction:column;justify-content:space-between;gap:8px;padding:13px;display:flex}.producto:hover{border-color:var(--brand)}.producto small{color:var(--muted)}.producto b{color:#c8b8ff}#alternas-pendientes{gap:10px;margin-bottom:16px;display:grid}.alterna-card{border-color:#f6b73c59;padding:16px}.alterna-card-head{justify-content:space-between;gap:12px;display:flex}.alterna-card p{color:var(--muted)}.alterna-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.check-cliente{color:var(--text);align-items:center;gap:8px;font-weight:700;display:flex}.check-cliente input{width:20px;min-height:20px}.toast{z-index:50;left:50%;bottom:max(24px, env(safe-area-inset-bottom));border:1px solid var(--line);background:#252a36;border-radius:13px;width:min(520px,100% - 32px);padding:13px 16px;position:fixed;transform:translate(-50%);box-shadow:0 14px 50px #00000073}.toast.error{color:#ffadba;border-color:#fb718580}.loading{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#07080bb8;place-content:center;justify-items:center;gap:12px;display:grid;position:fixed;inset:0}.spinner{border:4px solid #333947;border-top-color:var(--brand);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=840px){.vista{padding:18px 14px 100px}.filtros{flex-direction:column;align-items:stretch}.filtros input{max-width:none}.cuenta-layout,.caja-layout{grid-template-columns:1fr}.cuadre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cierre-panel{position:static}.catalogo-panel{order:-1}.productos-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.acciones-sticky{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#151820f0;border-radius:14px;margin:18px -8px -8px;padding:10px;position:sticky;bottom:10px}}@media (width<=480px){.login-card{padding:24px 20px}.topbar{padding-inline:14px}.badge{display:none}.mesas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mesa-card{min-height:130px;padding:14px}.cuenta-header{flex-direction:column}}.print-ticket{display:none}@media print{@page{size:80mm auto;margin:4mm}body{color:#000;background:#fff}.app-shell,.toast,.loading{display:none!important}.print-ticket{color:#000;background:#fff;width:72mm;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:block}.print-ticket h1{text-align:center;margin:0;font-size:18px}.print-ticket>p,.print-ticket>strong{text-align:center;margin:4px 0;display:block}.print-ticket hr{border:0;border-top:1px dashed #000;margin:8px 0}.ticket-line,.ticket-total{justify-content:space-between;gap:8px;margin:5px 0;display:flex}.ticket-line span:first-child{max-width:48mm}.ticket-total{font-size:14px}}
