:root{--rojo: #dc0032;--rojo-oscuro: #a80026;--amarillo: #f9ae0c;--negro: #0c0c0d;--gris: #6b6b6b;--claro: #f6f4f1;--borde: #e2ded8;--verde: #1a8f4c;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--negro);background:var(--claro)}*{box-sizing:border-box}body{margin:0;background:var(--claro);-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}.centro{min-height:100vh;display:grid;place-content:center;text-align:center;padding:16px;gap:8px}.barra{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--negro);color:#fff;padding:8px 12px;border-bottom:4px solid var(--amarillo)}.barra .logo{height:42px;background:#fff;border-radius:10px;padding:3px 8px}.barra nav{display:flex;gap:6px;flex:1}.barra nav button{background:transparent;color:#fff;border:2px solid #333;border-radius:10px;padding:8px 14px;font-weight:700}.barra nav button.activo{background:var(--rojo);border-color:var(--rojo)}.usuario{display:flex;align-items:center;gap:8px;font-size:14px}.enlace{background:none;border:0;color:var(--amarillo);text-decoration:underline;padding:4px}.aviso-red{background:var(--amarillo);color:var(--negro);text-align:center;padding:8px;font-weight:700}main{padding:12px;max-width:1200px;margin:0 auto}.btn{background:var(--rojo);color:#fff;border:0;border-radius:12px;padding:12px 18px;font-weight:700;min-height:48px}.btn:disabled{opacity:.5}.btn.secundario{background:#fff;color:var(--negro);border:2px solid var(--borde)}.btn.amarillo{background:var(--amarillo);color:var(--negro)}.btn.negro{background:var(--negro);color:#fff}.btn.grande{width:100%;font-size:18px}.error{color:var(--rojo);font-weight:600}.entrar{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--negro)}.entrar form{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:380px;display:grid;gap:14px;border-top:8px solid var(--rojo)}.entrar .logo{width:220px;margin:0 auto 4px;display:block}label{display:grid;gap:6px;font-weight:600;font-size:15px}input,select,textarea{padding:12px;border:2px solid var(--borde);border-radius:10px;font-size:16px;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--amarillo)}.titulo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 12px;flex-wrap:wrap}.titulo h1{margin:0;font-size:22px}.resumen{color:var(--gris);font-size:14px}.mesas{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.mesa{border:2px solid var(--borde);background:#fff;border-radius:14px;padding:12px 8px;min-height:96px;display:grid;align-content:center;gap:4px;text-align:center}.mesa .nombre{font-weight:800;font-size:17px}.mesa .detalle{font-size:13px}.mesa.ocupada{background:var(--rojo);border-color:var(--rojo);color:#fff}.mesa.ocupada .total{font-weight:800;color:var(--amarillo)}.mesa.demorada{background:var(--negro);border-color:var(--amarillo)}.mesa-abierta{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:900px){.mesa-abierta{grid-template-columns:1.3fr 1fr;align-items:start}}.mesa-abierta>*{min-width:0}body{overflow-x:hidden}.panel{background:#fff;border-radius:14px;padding:12px;border:1px solid var(--borde)}.cats{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.cats button{white-space:nowrap;border:2px solid var(--borde);background:#fff;border-radius:999px;padding:8px 12px;font-weight:600}.cats button.activo{background:var(--negro);color:#fff;border-color:var(--negro)}.productos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:8px}.producto{text-align:left;border:2px solid var(--borde);background:#fff;border-radius:12px;padding:10px;display:grid;gap:4px;min-height:72px}.producto:active{border-color:var(--amarillo);background:#fff8e6}.producto .precio{font-weight:800;color:var(--rojo)}.producto:disabled{opacity:.45;text-decoration:line-through}.lineas{list-style:none;margin:0;padding:0;display:grid;gap:6px}.linea{display:flex;gap:8px;align-items:center;border-bottom:1px dashed var(--borde);padding:6px 0}.linea .que{flex:1}.linea .hora{color:var(--gris);font-size:12px}.linea.cancelada .que{text-decoration:line-through;color:var(--gris)}.linea .motivo{font-size:12px;color:var(--rojo)}.quitar{background:none;border:2px solid var(--borde);border-radius:10px;padding:6px 10px;color:var(--rojo);font-weight:700}.total-grande{display:flex;justify-content:space-between;font-size:22px;font-weight:800;padding-top:10px}.acciones{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.fondo{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;padding:16px;z-index:50}.ventana{background:#fff;border-radius:16px;padding:18px;width:100%;max-width:420px;display:grid;gap:12px;max-height:90vh;overflow:auto;border-top:6px solid var(--amarillo)}.ventana h2{margin:0;font-size:20px}.opciones{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.domis{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.domi{background:#fff;border-radius:14px;border:2px solid var(--borde);padding:12px;display:grid;gap:6px;border-left:8px solid var(--amarillo)}.domi.recibido{border-left-color:var(--rojo)}.domi.en_cocina{border-left-color:var(--amarillo)}.domi.listo{border-left-color:var(--verde)}.domi.entregado,.domi.rechazado{opacity:.6;border-left-color:var(--gris)}.domi .cab{display:flex;justify-content:space-between;gap:8px;font-weight:800}.etiqueta{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;background:var(--claro)}.etiqueta.recibido{background:var(--rojo);color:#fff}.etiqueta.en_cocina{background:var(--amarillo)}.etiqueta.listo{background:var(--verde);color:#fff}.domi ul{margin:0;padding-left:18px;font-size:14px}.chico{font-size:13px;color:var(--gris)}.filtros{display:flex;gap:6px;flex-wrap:wrap}.filtros button{border:2px solid var(--borde);background:#fff;border-radius:999px;padding:6px 12px;font-weight:600}.filtros button.activo{background:var(--negro);color:#fff;border-color:var(--negro)}
