/* Maqueta: estilos comunes (no es el código definitivo) */
:root {
  --marca: #1f4e79;
  --marca-suave: #e8f0f8;
  --fondo: #f5f6f8;
}
body { background: var(--fondo); }
.navbar-marca { background: var(--marca); }
.navbar-marca .navbar-brand, .navbar-marca .nav-link, .navbar-marca .navbar-text { color: #fff; }
.navbar-marca .nav-link.active { font-weight: 600; text-decoration: underline; text-underline-offset: 6px; }
.tarjeta { border: 0; border-radius: .75rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.zona-subida {
  border: 2px dashed #9db4cc; border-radius: .75rem; background: var(--marca-suave);
  padding: 2rem 1rem; text-align: center; color: #34506b;
}
.zona-subida .icono { font-size: 2.5rem; line-height: 1; }
.dato-archivo dt { font-weight: 500; color: #6c757d; font-size: .85rem; }
.dato-archivo dd { margin-bottom: .25rem; font-weight: 600; }
.tabla-trabajos td, .tabla-trabajos th { vertical-align: middle; white-space: nowrap; }
.tabla-trabajos .nombre { white-space: normal; min-width: 220px; overflow-wrap: anywhere; }
.progress { height: .6rem; min-width: 90px; }
.estado { font-weight: 500; }
.estado-recibido, .estado-validando, .estado-dividiendo { background: #e9ecef; color: #495057; }
.estado-en-cola { background: #fff3cd; color: #7a5b00; }
.estado-procesando, .estado-reconstruyendo { background: #cfe2ff; color: #0a3d8f; }
.estado-finalizado { background: #d1e7dd; color: #0f5132; }
.estado-error { background: #f8d7da; color: #842029; }
.estado-cancelado { background: #e2e3e5; color: #41464b; text-decoration: line-through; }
.indicador { font-size: 1.6rem; font-weight: 700; }
.indicador-etiqueta { font-size: .8rem; color: #6c757d; text-transform: uppercase; letter-spacing: .03em; }
.semaforo { display: inline-block; width: .75rem; height: .75rem; border-radius: 50%; margin-right: .4rem; }
.semaforo-normal { background: #198754; }
.semaforo-pausa { background: #ffc107; }
.semaforo-alerta { background: #dc3545; }
.login-caja { max-width: 380px; margin: 12vh auto 0; }
@media (max-width: 767.98px) {
  .tabla-trabajos thead { display: none; }
  .tabla-trabajos tr { display: block; background: #fff; border-radius: .5rem; margin-bottom: .75rem; padding: .5rem .75rem; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
  .tabla-trabajos td { display: flex; justify-content: space-between; gap: 1rem; border: 0; padding: .2rem 0; white-space: normal; }
  .tabla-trabajos td::before { content: attr(data-etiqueta); color: #6c757d; font-size: .85rem; }
  .tabla-trabajos .nombre { min-width: 0; font-weight: 600; }
  .tabla-trabajos, .tabla-trabajos tbody { display: block; width: 100%; }
  .tabla-trabajos td .progress { max-width: 55%; }
  .tabla-trabajos .nombre::before { content: none; }
}
.tabla-trabajos td.acciones { white-space: normal; min-width: 150px; }
.oculto { display: none !important; }
.zona-subida.encima { background: #d6e4f2; border-color: var(--marca); }
.zona-subida input[type=file] { display: none; }
.zona-subida label { cursor: pointer; }
.clave-temporal { font-family: ui-monospace, monospace; font-size: 1.1rem; letter-spacing: .05em; }
.tabla-admin td, .tabla-admin th { vertical-align: middle; }
.navbar-marca form { margin: 0; }
