*{box-sizing:border-box}
:root{
  --bg:#eef2f7;
  --surface:#ffffff;
  --navy:#08111f;
  --navy-2:#101c2e;
  --line:#cbd5e1;
  --text:#172033;
  --muted:#64748b;
  --blue-soft:#eaf3ff;
  --green-soft:#e9f8f0;
  --red-soft:#fff0f1;
  --amber-soft:#fff7df;
}
html,body{min-height:100%;margin:0}
body{
  background:linear-gradient(145deg,#e8edf4 0%,#f7f9fc 48%,#e9eef5 100%);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.app{padding:24px;min-height:100vh;display:flex;align-items:flex-start;justify-content:center}
.board-shell{
  width:min(1500px,100%);
  background:var(--surface);
  border:1px solid #d7dee8;
  border-radius:16px;
  box-shadow:0 18px 45px rgba(15,23,42,.12),0 3px 10px rgba(15,23,42,.06);
  overflow:hidden;
}
.board-scroll{overflow:auto}
.board{
  width:100%;
  min-width:1080px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
.col-camion{width:18%}.col-inicio{width:10%}.col-fin{width:10%}.col-estado{width:14%}
.col-demora{width:10%}.col-cambio{width:11%}.col-muertos{width:9%}.col-equipo{width:12%}
.board th{
  height:48px;
  padding:0 10px;
  background:linear-gradient(180deg,#111d30 0%,#08111f 100%);
  color:#f8fafc;
  border-right:1px solid #243149;
  border-bottom:2px solid #2563eb;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-align:center;
  white-space:nowrap;
}
.board th:first-child{border-top-left-radius:15px}.board th:last-child{border-right:0;border-top-right-radius:15px}
.board td{
  height:44px;
  padding:7px 10px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  text-align:center;
  font-size:14px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.board td:last-child{border-right:0}
.board tbody tr:nth-child(even) td{background:#f8fafc}
.board tbody tr:hover td{background:#f1f5f9}
.board tbody tr.empty td{color:transparent;background:#fbfcfe}
.camion-cell{text-align:left!important;padding-left:16px!important;font-weight:800!important;color:#0f172a}
.inicio-cell{color:#166534;background:var(--green-soft)!important}
.fin-cell{color:#b42318;background:var(--red-soft)!important}
.estado-cell{font-size:12px!important;font-weight:800!important;letter-spacing:.02em}
.estado-esperando{color:#64748b;background:#f1f5f9!important}
.estado-en-descarga{color:#075985;background:var(--blue-soft)!important}
.estado-pendiente-muertos{color:#92400e;background:var(--amber-soft)!important}
.estado-finalizado{color:#166534;background:var(--green-soft)!important}
.board tbody td:nth-child(5),.board tbody td:nth-child(6),.board tbody td:nth-child(8){color:#334155}
.board tbody td:nth-child(7){font-weight:800}
.totals-row td{
  height:50px;
  border-bottom:0;
  background:#0b1626;
  color:#fff;
  border-right:1px solid #25344a;
}
.totals-row td:first-child{border-bottom-left-radius:15px}.totals-row td:last-child{border-bottom-right-radius:15px;border-right:0}
.hora-fin-label{font-size:11px!important;font-weight:800!important;letter-spacing:.06em;text-align:right!important;color:#aebbd0!important}
.hora-fin-value{font-size:15px!important;font-weight:850!important;color:#fff!important;text-align:left!important}
.muertos-total-label{font-size:11px!important;font-weight:850!important;letter-spacing:.08em;text-align:right!important;color:#aebbd0!important}
.muertos-total-value{font-size:18px!important;font-weight:900!important;color:#fff!important;text-align:center!important}
@media(max-width:700px){
  .app{padding:10px}.board-shell{border-radius:12px}.board{min-width:1000px}
  .board th{height:42px}.board td{height:40px;font-size:13px}
}
