*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f6f5f2;color:#23201b}button{cursor:pointer;font-family:inherit}.login-pantalla{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-tarjeta{background:#fff;border-radius:12px;padding:32px;width:100%;max-width:360px;box-shadow:0 2px 16px #00000014;display:flex;flex-direction:column;gap:14px}.login-tarjeta h1{margin:0;font-size:22px}.login-subtitulo{margin:0 0 8px;color:#8a8478}.login-tarjeta label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#514c42}.login-tarjeta input{padding:10px 12px;border:1px solid #ddd8cd;border-radius:8px;font-size:15px}.login-tarjeta button{margin-top:8px;padding:11px;border:none;border-radius:8px;background:#8b3a2c;color:#fff;font-size:15px;font-weight:600}.login-tarjeta button:disabled{opacity:.6;cursor:default}.mensaje-error{background:#fbeae7;color:#a33323;padding:8px 10px;border-radius:6px;font-size:13px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:24px;padding:12px 20px;background:#23201b;color:#fff}.topbar-titulo{font-weight:700}.topbar-nav{display:flex;gap:16px;flex:1}.topbar-nav a{color:#d8d3c8;text-decoration:none;padding:8px 14px;border-radius:6px;font-size:15px}.topbar-nav a.activo,.topbar-nav a:hover{background:#ffffff1f;color:#fff}.badge-pendientes{display:inline-block;margin-left:6px;background:#a33323;color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px}.aviso-retraso{color:#a33323;font-size:11px;font-weight:700;margin-top:2px}.topbar-usuario{display:flex;align-items:center;gap:12px;font-size:14px}.topbar-usuario button{background:transparent;border:1px solid #565149;color:#d8d3c8;padding:6px 12px;border-radius:6px}.topbar-usuario button:hover{background:#ffffff14}.contenido{flex:1;padding:16px 20px;width:100%}.dia-cabecera{display:flex;align-items:center;gap:20px;margin-bottom:8px;flex-wrap:wrap}.dia-cabecera input[type=date]{padding:11px 14px;border:1px solid #ddd8cd;border-radius:8px;font-size:16px}.dia-cabecera>button{border:1px solid #ddd8cd;background:#fff;border-radius:8px;padding:12px 18px;font-size:15px;font-weight:600}.dia-cabecera>button:hover{background:#f4f1e9}.turno-selector{display:inline-flex;border:1px solid #ddd8cd;border-radius:8px;overflow:hidden}.turno-selector button{border:none;background:#fff;padding:12px 20px;font-size:15px;font-weight:600;color:#514c42;border-right:1px solid #ddd8cd}.turno-selector button:last-child{border-right:none}.turno-selector button.activo{background:#8b3a2c;color:#fff}.dia-nav{display:inline-flex;align-items:center;gap:8px}.dia-nav button{border:1px solid #ddd8cd;background:#fff;border-radius:8px;padding:11px 16px;font-size:16px}.reservas-tabla{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 6px #0000000d}.reservas-tabla th,.reservas-tabla td{text-align:left;padding:14px 16px;border-bottom:1px solid #eee9dd;font-size:15px;vertical-align:top}.reservas-tabla th{background:#efece2;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:#6b6659}.pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:14px;font-weight:600}.pill-PENDIENTE_DE_ACEPTACION{background:#fdf0d5;color:#8a5a10}.pill-CONFIRMADA{background:#e3f2e1;color:#2a7a2a}.pill-EN_REVISION{background:#fde8e3;color:#a33323}.pill-SENTADO{background:#e1eefb;color:#1c5c99}.pill-NO_SHOW,.pill-CANCELADA{background:#ececec;color:#6b6659}.fila-acciones{display:flex;gap:6px;flex-wrap:wrap}.fila-acciones button{border:1px solid #ddd8cd;background:#fff;border-radius:7px;padding:8px 13px;font-size:13px}.fila-acciones button:hover{background:#f4f1e9}.fila-acciones button.peligro,button.peligro{border-color:#e3b3aa;color:#a33323}.fila-acciones button.boton-principal{background:#8b3a2c;color:#fff;border:none}.fila-acciones button.boton-principal:hover{background:#762f24}.pill-cerrado{color:#a33323;font-weight:600}.aviso-limite{color:#a33323;font-size:12px;margin-top:2px}.tarjeta-pendiente{background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 1px 6px #0000000d;display:flex;justify-content:space-between;align-items:center;gap:16px;border-left:4px solid #d69a1f}.tarjeta-pendiente-hoy{border-left-color:#a33323}.tarjeta-pendiente-fecha{font-weight:700;font-size:12px;text-transform:uppercase;color:#8a8478;margin-bottom:4px}.tarjeta-pendiente-info{display:flex;flex-direction:column;gap:3px}.vacio{padding:24px;text-align:center;color:#8a8478}.reservas-lista{display:flex;flex-direction:column;gap:5px;background:#fff;border-radius:10px;padding:8px;box-shadow:0 1px 6px #0000000d}.reserva-fila{display:grid;grid-template-columns:64px minmax(200px,2fr) 56px minmax(90px,1fr) 90px 60px minmax(130px,1fr);align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:15px}.reserva-fila:nth-child(odd){background:#f9f8f4}.reserva-fila-cabecera{background:#efece2!important;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#6b6659;padding:8px 12px}.reserva-hora{font-weight:700;font-size:16px}.reserva-cliente-nombre{font-weight:600;font-size:16px}.reserva-cliente-sub{color:#514c42;font-size:15px;font-weight:600}.reserva-detalle{font-size:13px;color:#8a6a1f;line-height:1.3}.reserva-notas{color:#8a8478;font-style:italic}.reserva-origen{color:#6b6659;font-size:14px}.reserva-pax{font-weight:700;font-size:16px;color:#514c42}.reserva-avisos{position:relative}.aviso-icono{position:relative;display:inline-flex;cursor:default;font-size:17px;color:#6a9b78}.aviso-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#23201b;color:#fff;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.4;white-space:nowrap;z-index:15;box-shadow:0 4px 14px #00000040;text-align:left}.aviso-icono:hover .aviso-tooltip{display:block}.reserva-sin-aviso{color:#c9c4b8;font-size:14px}.reserva-estado{text-align:right}@media (max-width: 900px){.reserva-fila{grid-template-columns:1fr;gap:2px}.reserva-estado{text-align:left}}.pill-boton{border:none;cursor:pointer;font-family:inherit}.pill-boton:disabled{cursor:default}.menu-fondo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.menu-desplegable{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #ddd8cd;border-radius:8px;box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column;min-width:140px;z-index:21;overflow:hidden}.menu-desplegable button{border:none;background:#fff;text-align:left;padding:9px 12px;font-size:13px}.menu-desplegable button:hover{background:#f4f1e9}.menu-desplegable button.peligro{color:#a33323}.menu-desplegable button.accion-aceptar{background:#dcefdc;color:#2f7a3a}.menu-desplegable button.accion-rechazar,.menu-desplegable button.accion-noshow{background:#fbe0dc;color:#a23f2f}.menu-desplegable button.accion-sentar{background:#dcebf7;color:#1f5f96}.menu-desplegable button.accion-modificar{background:#faecd2;color:#9c6710}.menu-desplegable button.accion-aceptar:hover,.menu-desplegable button.accion-rechazar:hover,.menu-desplegable button.accion-noshow:hover,.menu-desplegable button.accion-sentar:hover,.menu-desplegable button.accion-modificar:hover{filter:brightness(.95)}.modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#23201b73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:30;overflow-y:auto}.modal-caja{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-caja-grande{max-width:96vw;width:96vw}.modal-caja-grande .dia-cuerpo{gap:20px}@media (max-width: 900px){.modal-caja-grande .dia-cuerpo{grid-template-columns:1fr}}.modal-caja h3{margin:0 0 12px}.boton-principal{padding:10px 18px;border:none;border-radius:8px;background:#8b3a2c;color:#fff;font-weight:700}.boton-principal:hover{background:#762f24}.zona-peligro{border-top:1px solid #eee9dd;padding-top:14px;margin-top:4px}.confirmacion-cancelar{background:#fbeae7;border-radius:8px;padding:10px 12px}.dia-cuerpo{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media (max-width: 1200px){.dia-cuerpo{grid-template-columns:1fr}}.mesa-mapa-fila{display:flex;gap:14px;align-items:flex-start}@media (max-width: 640px){.mesa-mapa-fila{flex-direction:column}}.mesa-mapa-scroll{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 6px #0000000d;flex:1;min-width:0}.mesa-mapa{position:relative;width:100%;background:#eef1e8;border-radius:8px}.mesa-plano{position:absolute;border:1.5px solid rgba(35,32,27,.2);border-radius:6px;box-shadow:0 1px 3px #23201b14;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:default;padding:0}.mesa-plano-libre{background:#dcefdc;color:#2f7a3a}.mesa-plano-pendiente{background:#faecd2;color:#9c6710}.mesa-plano-ocupada{background:#dcebf7;color:#1f5f96}.mesa-plano-clicable{cursor:pointer}.mesa-plano-clicable:hover{filter:brightness(1.1)}.mesa-plano-seleccionada{outline:3px solid #8b3a2c;outline-offset:2px}.mesa-plano-bloqueada{background-image:repeating-linear-gradient(45deg,rgba(163,51,35,.18),rgba(163,51,35,.18) 4px,transparent 4px,transparent 9px);outline:1.5px dashed #a33323;outline-offset:1px}.mesa-plano-resaltada{box-shadow:inset 0 0 0 3px #23201b}.mesa-plano-turno2{background-image:linear-gradient(to bottom right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px))}.mesa-plano-turno3{background-image:linear-gradient(to bottom right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px)),linear-gradient(to top right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px))}.mesa-plano-bloqueada.mesa-plano-turno2{background-image:repeating-linear-gradient(45deg,rgba(163,51,35,.18),rgba(163,51,35,.18) 4px,transparent 4px,transparent 9px),linear-gradient(to bottom right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px))}.mesa-plano-bloqueada.mesa-plano-turno3{background-image:repeating-linear-gradient(45deg,rgba(163,51,35,.18),rgba(163,51,35,.18) 4px,transparent 4px,transparent 9px),linear-gradient(to bottom right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px)),linear-gradient(to top right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px))}.mesa-plano-bloqueada.mesa-plano-seleccionada{outline:3px solid #8b3a2c;outline-offset:2px;background-image:repeating-linear-gradient(45deg,rgba(163,51,35,.18),rgba(163,51,35,.18) 4px,transparent 4px,transparent 9px)}.mesa-plano-bloqueada.mesa-plano-seleccionada.mesa-plano-turno2{background-image:repeating-linear-gradient(45deg,rgba(163,51,35,.18),rgba(163,51,35,.18) 4px,transparent 4px,transparent 9px),linear-gradient(to bottom right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px))}.mesa-plano-bloqueada.mesa-plano-seleccionada.mesa-plano-turno3{background-image:repeating-linear-gradient(45deg,rgba(163,51,35,.18),rgba(163,51,35,.18) 4px,transparent 4px,transparent 9px),linear-gradient(to bottom right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px)),linear-gradient(to top right,transparent calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% - 1.5px),rgba(35,32,27,.55) calc(50% + 1.5px),transparent calc(50% + 1.5px))}.mesa-tooltip{position:absolute;transform:translate(-50%,calc(-100% - 10px));background:#23201b;color:#fff;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.4;white-space:nowrap;pointer-events:none;z-index:15;box-shadow:0 4px 14px #00000040}.mesa-tooltip-reserva{margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.15);font-weight:600}.mesa-tooltip-reserva-pendiente{color:#f0c869}.mesa-tooltip-reserva-ocupada{color:#7db8f0}.mesa-tooltip-nota{color:#d8d3c8;font-weight:400;font-size:11px}.mesa-plano-badge{position:absolute;top:-9px;right:-9px;background:#a33323;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:999px}.mesa-mapa-leyenda{display:flex;gap:18px;margin-top:12px;font-size:13px;color:#6b6659}.mesa-mapa-leyenda span{display:inline-flex;align-items:center;gap:6px}.mesa-leyenda-punto{width:10px;height:10px;border-radius:3px;display:inline-block}.mesa-leyenda-libre{background:#6fac78}.mesa-leyenda-pendiente{background:#dfae5c}.mesa-leyenda-ocupada{background:#6f9bc4}.mesa-leyenda-bloqueada{background:repeating-linear-gradient(45deg,#a33323,#a33323 2px,transparent 2px,transparent 4px)}.mesa-leyenda-multi{background:#23201b}.resumen-mesas{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 6px #0000000d;width:220px;flex-shrink:0;position:sticky;top:16px;align-self:flex-start}@media (max-width: 640px){.resumen-mesas{width:100%;position:static}}.resumen-mesas-cabecera{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:15px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid #eee9dd}.resumen-mesas-contador{font-size:14px;font-weight:700;color:#6b6659}.resumen-mesas-ok{border-left:4px solid #3f7a4f}.resumen-mesas-ok .resumen-mesas-contador{color:#2f7a3a}.resumen-mesas-falta{border-left:4px solid #b8752e}.resumen-mesas-falta .resumen-mesas-contador{color:#9c6710}.resumen-mesas-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.resumen-mesas-lista li{display:flex;align-items:center;justify-content:space-between;gap:8px}.resumen-mesas-quitar{border:none;background:transparent;padding:2px 6px;border-radius:6px;font-size:13px;line-height:1;color:#8a8478}.resumen-mesas-quitar:hover{background:#fbeae7;color:#a33323}.formulario{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 6px #0000000d;display:flex;flex-direction:column;gap:14px}.formulario h2{margin:0}.formulario-fila{display:flex;gap:12px;flex-wrap:wrap}.formulario-fila>label{flex:1;min-width:90px}.formulario label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#514c42}.formulario input,.formulario select,.formulario textarea{padding:9px 10px;border:1px solid #ddd8cd;border-radius:8px;font-size:14px}.slot-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.slot-boton{border:2px solid transparent;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}.slot-boton-nota{font-size:10px;font-weight:700;opacity:.85;white-space:nowrap}.slot-boton-verde{background:#dcefdc;color:#2f7a3a}.slot-boton-naranja{background:#faecd2;color:#9c6710}.slot-boton-rojo{background:#fbe0dc;color:#a23f2f}.slot-boton-elegido{border-color:#23201b}.slot-boton-badge{background:#f0c4ba;color:#8a2f21;font-size:9px;font-weight:700;letter-spacing:.02em;padding:1px 7px;border-radius:999px;white-space:nowrap}.slot-leyenda-verde{background:#6fac78}.slot-leyenda-naranja{background:#dfae5c}.slot-leyenda-rojo{background:#c9776a}.modo-tabs{display:flex;gap:8px;margin-bottom:4px}.modo-tabs button{flex:1;padding:9px;border-radius:8px;border:1px solid #ddd8cd;background:#f6f5f2;font-size:13px;font-weight:600}.modo-tabs button.activo{background:#8b3a2c;color:#fff;border-color:#8b3a2c}.mesas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.mesa-check{display:flex;align-items:center;gap:6px;border:1px solid #ddd8cd;border-radius:8px;padding:8px;font-size:13px}.mesa-check.seleccionada{border-color:#8b3a2c;background:#fbeae7}.mensaje-exito{background:#e3f2e1;color:#2a7a2a;padding:8px 10px;border-radius:6px;font-size:13px}.aviso-caja{background:#fdf0d5;color:#8a5a10;padding:10px 12px;border-radius:8px;font-size:13px;display:flex;flex-direction:column;gap:8px}.boton-aviso{align-self:flex-start;padding:8px 16px;border-radius:6px;border:1.5px solid #9c6710;background:#faecd2;color:#9c6710;font-weight:700}.boton-aviso:hover{background:#f5dfb0}
