@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,400,0,0&display=swap";:root{--brand-blue:#0a1931;--brand-orange:#ff5722;--soft-orange:#fff0eb;--text-main:#1d1d1f;--text-muted:#86868b;--bg:#fff;--bg-secondary:#f5f5f7;--mesh-accent:#eef2f7;--bg-gradient:radial-gradient(circle at 12% 18%, #fff0ebf2, transparent 30%), radial-gradient(circle at 88% 8%, #eef2f7f2, transparent 34%), linear-gradient(135deg, #fff 0%, #fff0eb 48%, #eef2f7 100%);--card:#fffffff5;--text:var(--text-main);--muted:var(--text-muted);--orange:var(--brand-orange);--orange-soft:var(--soft-orange);--blue:var(--brand-blue);--border:#0a19311a;--shadow:0 18px 45px #0000000d;--shadow-soft:0 10px 28px #0000000d;--shadow-orange:0 16px 30px #ff572233;--ease-tech:cubic-bezier(.175, .885, .32, 1.275);--radius-card:30px;--radius-hero:35px;--radius-control:15px;--radius-xl:var(--radius-card);--radius-lg:var(--radius-card);--radius-md:var(--radius-control);font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{background:var(--bg-gradient);min-height:100%;margin:0}body{color:var(--text);font-weight:400}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-size:1.25rem;font-style:normal;font-weight:400;line-height:1;display:inline-flex}.reveal{opacity:0;animation:reveal .5s var(--ease-tech) forwards;transform:translateY(18px)}@keyframes reveal{to{opacity:1;transform:translateY(0)}}@keyframes floatMobile{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.top-barra{width:100%;box-shadow:var(--shadow-soft);z-index:1200;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #0a19310f;position:sticky;top:0}.top-barra-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1280px;min-height:78px;margin:0 auto;padding:0 24px;display:flex}.logo-text-export{letter-spacing:0;color:var(--blue);align-items:center;font-size:1.6rem;font-weight:700;line-height:1;display:flex}.logo-text-export span{color:var(--brand-orange)}.top-barra-right{align-items:center;gap:12px;display:flex}.restaurante-pill{border-radius:var(--radius-control);background:var(--orange-soft);min-height:36px;color:var(--orange);align-items:center;padding:0 14px;font-size:.84rem;font-weight:700;display:inline-flex}.icono{color:currentColor;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem}.hero-icon-box .icono{width:1.25rem;height:1.25rem}.login-shell{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #dce5f0;border-radius:34px;flex-direction:column;justify-content:center;width:min(632px,100%);min-height:560px;padding:58px 60px;display:flex;box-shadow:0 30px 46px #0a19311f}.login-brand{text-align:center;margin-bottom:40px}.login-logo{color:var(--brand-blue);letter-spacing:0;justify-content:center;align-items:baseline;gap:4px;font-size:2.55rem;font-weight:800;line-height:1;display:flex}.login-logo span{color:var(--brand-orange)}.login-logo small{color:#8b95a1;letter-spacing:0;text-transform:uppercase;margin-left:4px;font-size:.7rem;font-weight:800}.login-brand p{color:#63738d;margin:14px 0 0;font-size:1.28rem;font-weight:500}.login-form{gap:18px;display:grid}.login-field{display:block}.login-field span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.login-field input{border-radius:var(--radius-control);color:#050505;width:100%;height:70px;font:inherit;transition:border-color .3s var(--ease-tech), box-shadow .3s var(--ease-tech), background .3s var(--ease-tech);background:#edf4ff;border:3px solid #dfe7f2;outline:none;padding:0 26px;font-size:1.34rem;font-weight:700}.login-field input::placeholder{color:#6f7780;opacity:1}.login-field input:focus{border-color:var(--brand-orange);background:#fff;box-shadow:0 0 0 4px #ff57221f}.login-error{color:#b91c1c;background:#fef2f2;border-radius:12px;margin:-4px 0 0;padding:12px 14px;font-weight:700}.login-submit{color:#fff;width:100%;height:82px;font:inherit;cursor:pointer;transition:transform .3s var(--ease-tech), background .3s var(--ease-tech), box-shadow .3s var(--ease-tech);background:#ff5127;border:none;border-radius:16px;margin-top:22px;font-size:1.48rem;font-weight:800;box-shadow:0 18px 26px #ff51272e}.login-submit:hover{background:#e64a19;transform:translateY(-2px)}.login-submit:active{transform:scale(.99)}@keyframes meshMove{0%{background-position:0%}to{background-position:100%}}.login-submit:disabled,.login-field input:disabled{opacity:.68;cursor:not-allowed}.barra-shell{width:100%;max-width:1280px;margin:0 auto;padding:32px 24px}.hero-barra{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;padding:24px;display:flex}.hero-main{min-width:0}.hero-title-row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.hero-icon-box{border-radius:var(--radius-md);background:var(--blue);color:#fff;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.hero-badge{color:var(--orange);margin-top:3px;font-size:.86rem;font-weight:700;display:block}.hero-barra h1{letter-spacing:0;color:var(--text);margin:0;font-size:1.55rem;font-weight:700}.hero-barra p{color:var(--muted);max-width:620px;margin:0;font-size:.95rem;font-weight:500}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.btn-header,.btn-principal,.btn-secundario,.btn-peligro,.btn-volver{border-radius:var(--radius-md);cursor:pointer;transition:transform .3s var(--ease-tech), background .3s var(--ease-tech), color .3s var(--ease-tech), box-shadow .3s var(--ease-tech);border:none;outline:none;justify-content:center;align-items:center;padding:11px 16px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-header{color:#404040;background:0 0;gap:8px}.btn-header-activo{color:var(--orange);background:#fafafa}.btn-header:hover,.btn-header-activo:hover{background:#fafafa}.btn-header strong{background:var(--orange-soft);min-width:20px;height:20px;color:var(--orange);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;display:inline-flex}.btn-icono{width:40px;height:40px;padding:0}.btn-principal{background:var(--blue);color:#fff;box-shadow:none}.btn-header:hover,.btn-principal:hover,.btn-secundario:hover,.btn-peligro:hover,.btn-volver:hover{transform:translateY(-2px)}.btn-secundario{color:#404040;background:#f5f5f5;border:1px solid #0000}.btn-volver{background:var(--orange-soft);color:var(--orange)}.btn-peligro{background:var(--brand-orange);color:#fff;box-shadow:var(--shadow-orange)}.btn-peligro:hover{background:#e64a19}.btn-header:hover,.mesa-card-actions .btn-principal:hover,.mesa-card-actions .btn-secundario:hover,.mesa-card-actions .btn-peligro:hover{transform:none}.mesa-card-actions .btn-principal:hover{background:#0f172a}.mesa-card-actions .btn-secundario:hover{background:#e5e5e5}.mesa-card-actions .btn-principal:active,.mesa-card-actions .btn-secundario:active,.mesa-card-actions .btn-peligro:active{transform:scale(.98)}.btn-peligro:disabled{opacity:.5;cursor:not-allowed}.resumen-mesas{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:28px;display:grid}.mesa-card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);transition:box-shadow .3s var(--ease-tech), transform .3s var(--ease-tech), border-color .3s var(--ease-tech);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px;position:relative;overflow:hidden}.mesa-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.mesa-card-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.mesa-etiqueta{color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;font-size:.9rem;font-weight:500;display:inline-flex}.mesa-card h2{color:var(--text);margin:0;font-size:2rem;font-weight:700}.mesa-card-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-box{background:var(--bg-secondary);border-radius:var(--radius-md);border:none;padding:12px}.stat-box span{color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;font-size:.78rem;font-weight:500;display:flex}.stat-box strong{color:var(--text);font-size:1.25rem;font-weight:700}.mesa-card-actions{gap:8px;display:grid}.mesa-card-actions .btn-principal,.mesa-card-actions .btn-secundario,.mesa-card-actions .btn-peligro{width:100%}.mesa-card-secondary-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.btn-entrar-mesa{padding:13px 16px}.mesa-card-alerta{box-shadow:0 0 0 4px #fb923c14, var(--shadow);border-color:#fb923c61}.mesa-card-cuenta{background:snow;border-color:#f8717170}.mesa-alerta-badge{background:var(--orange);color:#fff;border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:900;position:absolute;top:16px;right:16px}.mesa-alerta-cuenta{background:#f87171}.estado{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.estado-pendiente{color:#c2410c;background:#fff3e8}.estado-preparando{color:#0369a1;background:#e8f2ff}.estado-listo{color:#166534;background:#dcfce7}.estado-entregado{color:#4b5563;background:#ececec}.estado-pide-cuenta{color:#dc2626;background:#ffebe7}.estado-sin-pedidos{color:#6b7280;background:#f3f4f6}.informe-ventas-panel,.menus-especiales-panel,.mesa-detalle-header,.mesa-detalle-actions,.mesa-cuenta-panel,.pedido-card,.informe-tabla-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #ffffffb3;border-radius:30px}.informe-ventas-panel,.menus-especiales-panel{margin-bottom:24px;padding:28px}.estado-disponible{color:#047857;background:#ecfdf5}.estado-ocupada{color:#b45309;background:#fffbeb}.modal-menu-especial-backdrop{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a19316b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-menu-especial{width:min(760px,100%);max-height:calc(100vh - 48px);margin:0;overflow-y:auto}.btn-cerrar-modal-menu{width:44px;height:44px;color:var(--blue);font:inherit;cursor:pointer;box-shadow:var(--shadow-soft);z-index:2001;background:#fff;border:1px solid #ffffffad;border-radius:999px;font-size:1.65rem;line-height:1;position:fixed;top:22px;right:22px}.informe-ventas-header,.menus-especiales-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.informe-ventas-header h2,.menus-especiales-header h2{color:var(--blue);margin:0;font-size:2rem;font-weight:950}.informe-ventas-header p,.menus-especiales-header p{color:var(--muted);margin-top:8px;font-weight:600}.informe-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.informe-stat-card{border-radius:var(--radius-card);background:#ffffffb8;border:1px solid #0a193114;padding:22px}.informe-stat-card span{color:var(--muted);margin-bottom:8px;font-size:.82rem;font-weight:800;display:block}.informe-stat-card strong{color:var(--blue);font-size:2rem;font-weight:950}.informe-subgrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.informe-tabla-card{padding:24px}.informe-tabla-card h3{color:var(--blue);margin-top:0;margin-bottom:18px;font-size:1.2rem;font-weight:950}.informe-tabla{flex-direction:column;gap:12px;display:flex}.informe-fila{background:#ffffffb8;border:1px solid #0a193114;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.informe-fila span{color:var(--blue);font-weight:900}.informe-fila small{color:var(--muted);font-weight:700}.informe-fila strong{color:var(--orange);font-weight:950}.menu-especial-form{gap:16px;margin-bottom:24px;display:grid}.campo-form{flex-direction:column;gap:8px;display:flex}.campo-form label{color:var(--blue);font-size:.85rem;font-weight:800}.campo-form input,.campo-form textarea{border:1px solid var(--border);border-radius:var(--radius-control);font:inherit;resize:none;transition:border-color .3s var(--ease-tech), box-shadow .3s var(--ease-tech), background .3s var(--ease-tech);background:#ffffffe6;outline:none;padding:16px}.campo-form input:focus,.campo-form textarea:focus{border-color:var(--brand-orange);background:#fff;box-shadow:0 0 0 4px #ff57221f}.campo-form textarea{min-height:120px}.menus-especiales-lista{gap:16px;display:grid}.menu-especial-card{border-radius:var(--radius-card);background:#ffffffb8;border:1px solid #0a193114;justify-content:space-between;gap:20px;padding:22px;display:flex}.menu-especial-card h3{color:var(--blue);margin:10px 0 8px;font-size:1.3rem;font-weight:950}.menu-especial-card p{color:var(--muted);margin:0 0 12px}.menu-especial-card strong{color:var(--orange);font-size:1.2rem}.menu-especial-estado{background:var(--orange-soft);color:var(--orange);border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:900;display:inline-flex}.menu-especial-actions{flex-direction:column;gap:10px;display:flex}.pedidos-lista{gap:18px;display:grid}.pedido-card{padding:22px}.pedido-card-top{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.pedido-id{color:var(--muted);font-size:.8rem;font-weight:800}.pedido-card h3{color:var(--blue);margin:6px 0 0;font-size:1.6rem;font-weight:950}.pedido-items{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.pedido-item{background:#ffffffb3;border:1px solid #0a193114;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.pedido-item strong{color:var(--blue)}.pedido-item span{color:var(--muted)}.pedido-total{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.pedido-total span{color:var(--muted);font-weight:700}.pedido-total strong{color:var(--orange);font-size:1.4rem;font-weight:950}.pedido-acciones{flex-wrap:wrap;gap:10px;display:flex}.btn-estado{border:1px solid var(--border);color:var(--blue);cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .3s var(--ease-tech), box-shadow .3s var(--ease-tech), background .3s var(--ease-tech);background:#fff;border-radius:999px;padding:12px 16px;font-weight:700}.btn-estado:hover{transform:translateY(-2px)}.sin-pedidos-card,.card-estado{text-align:center;box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #ffffffb3;border-radius:30px;padding:34px}.sin-pedidos-card h3,.card-estado h1{color:var(--blue);margin-top:0}.sin-pedidos-card p,.card-estado p{color:var(--muted)}.pantalla-estado{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}@media (width<=900px){.hero-barra{flex-direction:column}.hero-actions{justify-content:flex-start;width:100%}.menu-especial-card{flex-direction:column}}@media (width<=640px){.top-barra-inner{flex-direction:column;justify-content:center;align-items:flex-start;min-height:72px;padding:0 24px}.logo-text-export{font-size:1.5rem}.top-barra-right{flex-direction:column;align-items:stretch;gap:8px;width:100%;padding-bottom:14px}.top-barra-right .btn-header,.restaurante-pill{justify-content:center;width:100%}.login-shell{padding:18px}.login-card{border-radius:28px;min-height:auto;padding:34px 24px}.login-logo{font-size:2rem}.login-brand p{font-size:1.05rem}.login-field input{height:60px;padding:0 18px;font-size:1.05rem}.login-submit{height:64px;font-size:1.1rem}.barra-shell{padding:16px}.hero-barra{padding:20px}.hero-barra h1{font-size:1.35rem}.resumen-mesas,.mesa-card-secondary-actions,.pedido-acciones{grid-template-columns:1fr}.btn-principal,.btn-secundario,.btn-peligro,.btn-header,.btn-estado{width:100%}.informe-subgrid{grid-template-columns:1fr}}
