/* ============================================================
   LAVADERO — estilos
   ============================================================ */
:root{
  --azul:#0d3b66; --azul-claro:#1b6ca8; --agua:#00b4d8; --verde:#2a9d8f;
  --gris:#f4f6f8; --gris-borde:#e3e8ee; --texto:#1f2937; --suave:#6b7280;
}
*{ -webkit-tap-highlight-color: transparent; }
body{ background:var(--gris); color:var(--texto); font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; }
.texto-suave{ color:var(--suave); font-weight:400; font-size:.8rem; }

/* --- login --- */
.fondo-login{
  min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:1.2rem;
  background:linear-gradient(160deg,#0d3b66 0%,#1b6ca8 55%,#00b4d8 100%);
}
.caja-login{
  width:100%; max-width:400px; background:#fff; border-radius:22px; padding:2rem 1.6rem 1.4rem;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.logo-login{ text-align:center; margin-bottom:1.4rem; }
.circulo-logo{
  width:78px; height:78px; margin:0 auto .6rem; border-radius:50%;
  background:linear-gradient(150deg,var(--azul),var(--agua));
  display:flex; align-items:center; justify-content:center;
  font-size:2.1rem; box-shadow:0 10px 24px rgba(13,59,102,.35);
}
.logo-login h1{ font-size:1.5rem; font-weight:800; letter-spacing:2px; margin:.3rem 0 .1rem; color:var(--azul); }
.etiqueta{ font-size:.82rem; font-weight:600; color:#42506b; text-transform:uppercase; letter-spacing:.4px; }
.btn-gigante{ padding:.85rem 1rem; font-weight:700; font-size:1.05rem; border-radius:14px; border:0; }
.btn-ingreso{ background:linear-gradient(150deg,var(--azul-claro),var(--agua)); color:#fff; }
.btn-ingreso:hover{ filter:brightness(1.07); color:#fff; }
.pie-login{ text-align:center; color:var(--suave); font-size:.78rem; margin:1.2rem 0 0; }

/* --- pie de marca: copyright emprendedor.com.bo --- */
.pie-sistema{ text-align:center; padding:22px 0 30px; }
.pie-sistema a{
  color:#8494a4; font-size:.75rem; text-decoration:none;
  border-bottom:1px dotted #c3cedb; padding-bottom:1px;
}
.pie-sistema a:hover{ color:var(--azul); border-bottom-color:var(--azul); }
@media print{ .pie-sistema{ display:none; } }

/* --- barra superior --- */
.barra-superior{ background:var(--azul); color:#fff; padding:.35rem .5rem; box-shadow:0 2px 10px rgba(0,0,0,.18); }
.titulo-app{ color:#fff; font-weight:800; letter-spacing:1.2px; font-size:1rem; }
.titulo-app .texto-suave{ color:#9dc3e6; }
.boton-menu{ border:1px solid rgba(255,255,255,.4); color:#fff; font-size:1.1rem; padding:.1rem .55rem; }
.chip-usuario{ background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.25); color:#fff;
  padding:.22rem .6rem; border-radius:999px; font-size:.74rem; font-weight:600; white-space:nowrap; }
.btn-salir{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.3); font-weight:600; }

/* --- menu lateral --- */
.menu-lateral{ background:#fff; border-right:1px solid var(--gris-borde); min-height:calc(100dvh - 52px); padding:.6rem .5rem; }
.lista-menu{ list-style:none; margin:0; padding:0; }
.item-menu{ display:flex; align-items:center; gap:.6rem; padding:.62rem .7rem; border-radius:12px;
  color:#334155; text-decoration:none; font-weight:600; font-size:.92rem; }
.item-menu .ico{ font-size:1.05rem; width:1.4rem; text-align:center; }
.item-menu:hover{ background:#eef4fa; color:var(--azul); }
.item-menu.activo{ background:linear-gradient(120deg,var(--azul),var(--azul-claro)); color:#fff; box-shadow:0 6px 16px rgba(13,59,102,.25); }
.contenido-principal{ padding:1rem .9rem 3rem; }

/* --- tarjetas y utilidades --- */
.tarjeta{ background:#fff; border:1px solid var(--gris-borde); border-radius:16px; padding:1rem; }
.tarjeta h2, .tarjeta h3{ font-size:1rem; font-weight:700; color:var(--azul); }
.cifra{ font-size:1.9rem; font-weight:800; color:var(--azul); line-height:1.1; }
.cifra.verde{ color:var(--verde); }
.badge-estado{ padding:.3rem .55rem; border-radius:999px; font-size:.72rem; font-weight:700; }
.estado-recibido{ background:#e7f1ff; color:#0d3b66; }
.estado-lavando{ background:#fff3cd; color:#8a6100; }
.estado-listo{ background:#d7f5e9; color:#1b6b52; }
.estado-entregado{ background:#eceff4; color:#5b6472; }
@media (max-width:991.98px){ .contenido-principal{ padding:.8rem .7rem 3rem; } }

.titulo-seccion{ font-size:1.15rem; font-weight:800; color:var(--azul); margin:.2rem 0 .9rem; }
.etiqueta-tarjeta{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--suave); }
.lista-simple{ list-style:none; margin:0; padding:0; }
.lista-simple li{ display:flex; justify-content:space-between; gap:.5rem; padding:.5rem 0; border-bottom:1px solid var(--gris-borde); font-size:.9rem; }
.lista-simple li:last-child{ border-bottom:0; }

/* --- pantalla de ordenes --- */
.placa-grande{ font-size:1.35rem; font-weight:800; letter-spacing:1px; color:var(--azul); }
.servicio-fila{ background:#f8fafc; border:1px solid var(--gris-borde); border-radius:10px; padding:.6rem .75rem; margin-bottom:.5rem; }
.servicio-fila .lav-sel{ margin-top:.4rem; }
.filtros{ display:flex; flex-wrap:wrap; gap:.4rem; }
.chip{ display:inline-block; padding:.35rem .8rem; border-radius:20px; background:#eef2f7; color:var(--azul); font-size:.85rem; font-weight:600; text-decoration:none; }
.chip.activo{ background:var(--azul); color:#fff; }
.tarjeta.orden{ height:100%; }
.estado-borde-recibido{ border-left:4px solid #6c757d; }
.estado-borde-lavando{ border-left:4px solid #0d6efd; }
.estado-borde-listo{ border-left:4px solid #198754; }
.estado-borde-entregado{ border-left:4px solid #adb5bd; opacity:.72; }
.botones-orden{ display:flex; gap:.3rem; flex-wrap:wrap; justify-content:flex-end; }
.posicion-aviso{ position:fixed; bottom:1rem; right:1rem; z-index:2000; box-shadow:0 4px 14px rgba(0,0,0,.18); }

/* --- precios / varios --- */
.tabla-precios input{ min-width:82px; }
.inactivo{ opacity:.55; }
.tarjeta.orden .border-top{ border-color:var(--gris-borde)!important; }
.lista-simple li.destacado{ background:#e8f7ee; margin:.2rem -.5rem; padding:.5rem; border-radius:8px; font-weight:700; }

/* --- ticket 80mm --- */
.fondo-ticket{ background:#eef2f7; padding:1rem; }
.barra-ticket{ max-width:80mm; margin:0 auto 1rem; display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.ticket{ width:80mm; margin:0 auto; background:#fff; padding:6mm 4mm; font-family:"Courier New",monospace;
  font-size:12px; color:#000; box-shadow:0 2px 12px rgba(0,0,0,.12); }
.t-cabecera{ text-align:center; }
.t-logo{ font-size:26px; line-height:1; }
.t-nombre{ font-size:17px; font-weight:800; letter-spacing:.5px; }
.t-sub{ font-size:10.5px; }
.t-linea{ border-top:1px dashed #666; margin:5px 0; }
.t-fila{ display:flex; justify-content:space-between; gap:6px; padding:1px 0; }
.t-fila span:first-child{ color:#333; }
.t-detalle{ font-size:10.5px; color:#555; padding-left:8px; }
.t-titulo{ font-weight:700; letter-spacing:1px; font-size:11px; margin:3px 0; }
.t-total{ font-size:15px; margin-top:3px; }
.t-pie{ text-align:center; font-size:10.5px; margin-top:6px; }

@media print{
  .no-print, .navbar, .menu-lateral, .barra-superior { display:none !important; }
  body, .fondo-ticket{ background:#fff !important; padding:0 !important; margin:0 !important; }
  .ticket{ width:80mm; box-shadow:none; margin:0; padding:2mm 3mm; }
  .contenido-principal{ margin:0 !important; padding:0 !important; width:100% !important; max-width:100% !important; }
  .encabezado-print{ display:block; }
  @page{ margin:4mm; size:80mm auto; }
}
.encabezado-print{ display:none; }
