/* RestoPedidos — la app de trabajo en el mundo "comanda".
   Se carga después de los estilos propios de cada pantalla.
   body.panel   → paneles de admin, mesero y superadmin (tinta azul como color principal)
   body.oscuro  → cocina y repartidor (azul noche de alto contraste)
   body.publico → páginas del cliente: conservan el color propio del restaurante */

body.panel, body.oscuro, body.publico {
  font-family: var(--imprenta);
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: tabular-nums;
}
body.panel { --color: var(--tinta); background: #F2F5FB; color: var(--tinta); }
body.oscuro { --color: #FF8A3D; background: #0D1430; color: #EEF2FF; }
body.publico { color: var(--tinta); }

/* Títulos con letra de imprenta */
body.panel h1, body.panel h2, body.panel h3, body.panel h4, body.panel h5, body.panel h6,
body.publico h1, body.publico h2, body.publico h3, body.publico h4, body.publico h5,
body.oscuro h1, body.oscuro h2, body.oscuro h3, body.oscuro h4, body.oscuro h5, body.oscuro h6 {
  font-family: var(--imprenta); font-stretch: 92%; letter-spacing: -.01em; color: inherit;
}
body.panel .text-muted, body.publico .text-muted { color: var(--tinta-3) !important; }

/* Barra superior */
body.panel .topbar { background: var(--tinta); color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.08) inset; }
body.panel .topbar h5, body.panel .topbar h6 { font-stretch: 108%; font-weight: 800; letter-spacing: -.005em; }
body.panel .topbar .reloj { color: var(--amarillo); }
body.oscuro .topbar { background: #121B3D; border-bottom: 1px solid #22305E; }
body.oscuro .topbar h6 { font-stretch: 108%; }
body.oscuro .reloj { color: #FFB27A; }

/* Pestañas */
body.panel .nav-tabs { border-bottom: 1.5px solid var(--renglon); }
body.panel .nav-tabs .nav-link { color: var(--tinta-3); font-weight: 650; font-stretch: 92%; }
body.panel .nav-tabs .nav-link:hover { color: var(--tinta); }
body.panel .nav-tabs .nav-link.active { color: var(--tinta); border-bottom: 3px solid var(--tinta); background: transparent; }

/* Tarjetas y hojas */
body.panel .card-box, body.panel .stat-card, body.panel .pedido-card, body.panel .comensal-card, body.panel .panel-agotados {
  background: #fff; border-color: var(--renglon);
  box-shadow: 0 1px 1px rgba(27,58,158,.05), 0 8px 22px -16px rgba(27,58,158,.35);
}
body.panel .stat-num { color: var(--tinta); font-stretch: 82%; font-weight: 800; letter-spacing: -.02em; }
body.panel .stat-label, body.panel .stat-sub, body.panel .caja-sub { color: var(--tinta-3); }
body.panel .caja-monto, body.panel .caja-label { color: var(--tinta); }
body.panel .seccion-label, body.panel .conta-titulo { color: var(--tinta-2); letter-spacing: .01em; }

/* Números de pedido como folio rojo de numerador */
.folio-pedido { color: var(--folio); font-weight: 800; font-stretch: 78%; letter-spacing: .02em; }
body.oscuro .folio-pedido { color: #FF6B7D; }

/* Botones */
body.panel .btn-principal, body.panel .btn-principal-sm, body.panel .btn-enviar, body.panel .btn-aprobar {
  background: var(--tinta); color: #fff; border: 0; font-weight: 750; font-stretch: 92%;
  box-shadow: 0 6px 16px -10px rgba(27,58,158,.8);
}
body.panel .btn-principal:hover, body.panel .btn-principal-sm:hover, body.panel .btn-aprobar:hover { background: #142D7E; color: #fff; }
body.panel .btn-enviar:disabled { background: #C9D3EA; box-shadow: none; }
body.panel .btn-cobrar { background: var(--ok); color: #fff; font-weight: 750; }
body.panel .btn-cancelar, body.panel .btn-eliminar, body.panel .btn-peligro { background: var(--error-suave); color: var(--error); }
body.panel .btn-editar { background: var(--tinta-suave); color: var(--tinta); }
body.panel .btn-agregar-comensal { border-color: var(--tinta); color: var(--tinta); background: #fff; }

/* Selecciones: la marca de bolígrafo */
body.panel .tipo-btn.selected, body.panel .mesa-btn.selected, body.panel .plato-btn.selected,
body.panel .modalidad-btn.selected, body.panel .metodo-btn.selected {
  border-color: var(--tinta); background: var(--tinta-suave); color: var(--tinta);
}
body.panel .tipo-btn, body.panel .mesa-btn, body.panel .plato-btn, body.panel .modalidad-btn, body.panel .metodo-btn { border-color: var(--renglon); }
body.panel .modalidad-precio, body.panel .plato-precio { color: var(--folio); }
body.panel .total-box { background: var(--tinta); }

/* Formularios: renglón azul */
body.panel .form-control, body.panel .form-select, body.publico .form-control {
  border-color: var(--renglon); color: var(--tinta); font-size: 16px;
}
body.panel .form-control:focus, body.panel .form-select:focus, body.publico .form-control:focus {
  border-color: var(--tinta); box-shadow: 0 0 0 4px var(--tinta-suave);
}
body.panel .form-check-input:checked { background-color: var(--tinta); border-color: var(--tinta); }
body.panel .form-label { color: var(--tinta-2); font-weight: 650; font-stretch: 92%; }

/* Avisos */
body.panel .alert-success, body.publico .alert-success { background: var(--ok-suave); color: var(--ok); border: 0; }
body.panel .alert-danger, body.publico .alert-danger { background: var(--error-suave); color: var(--error); border: 0; }
body.panel .alert-warning, body.publico .alert-warning { background: var(--aviso-suave); color: var(--aviso); border: 0; }
body.panel .alert-info { background: var(--tinta-suave); color: var(--tinta); border: 0; }

/* Ventanas */
body.panel .modal-content { border: 0; border-radius: 18px; box-shadow: 0 30px 60px -20px rgba(27,58,158,.45); }

/* Tablas */
body.panel .tabla th, body.panel table th { color: var(--tinta-3); }
body.panel .tabla td { border-color: #E6ECF8; }

/* Cocina y repartidor (oscuro) */
body.oscuro .pedido-card { background: #141E44; border-color: #22305E; }
body.oscuro .pedido-card.en_preparacion { background: #1A2147; border-color: #FF8A3D; }
body.oscuro .pedido-card.confirmado { border-color: #6FA0E8; }
body.oscuro .item-linea { border-color: #22305E; }
body.oscuro .agotado-panel, body.oscuro .resumen-item, body.oscuro .cliente-box { background: #141E44; border-color: #22305E; }
body.oscuro .item-agotado-btn { background: #0D1430; border-color: #22305E; }

/* Navegador: también diseñado */
body.panel ::selection, body.publico ::selection { background: var(--amarillo-2); color: var(--tinta); }
body.oscuro ::selection { background: #FF8A3D; color: #0D1430; }
body.panel :focus-visible, body.publico :focus-visible { outline: 3px solid var(--folio); outline-offset: 2px; }
body.oscuro :focus-visible { outline: 3px solid #FFB27A; outline-offset: 2px; }

/* Enlaces en tinta, no en el azul por defecto */
body.panel a:not([class*="btn"]):not(.nav-link):not(.boton) { color: var(--tinta); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
body.panel a:not([class*="btn"]):not(.nav-link):not(.boton):hover { color: var(--folio); }

/* Cocina: botones de acción en la paleta de la noche */
body.oscuro .btn-iniciar { background: #FF8A3D; color: #0D1430; }
body.oscuro .btn-listo { background: var(--ok); color: #fff; }
