/* Control Documental (Control Camiones). Usa las variables de index.html (--azul, --borde, ...). */
:root{
  --dc-ok:#1b7a4d; --dc-ok-bg:#e6f4ec;
  --dc-warn:#8a5a00; --dc-warn-bg:#fff4d6; --dc-warn-barra:#e8a317;
  --dc-bad:#b3261e; --dc-bad-bg:#fdecea;
  --dc-na:#5b6774; --dc-na-bg:#e9edf1; --dc-na-barra:#a9b3be;
  --dc-info:#0b5394; --dc-info-bg:#e5eefa;
}
.dc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.dc-head h2{margin:0;border:none;padding:0;font-size:18px;text-transform:none;letter-spacing:0;color:var(--azul);}
.dc-head .hint{margin:2px 0 0;}
.dc-actions{display:flex;gap:8px;flex-wrap:wrap;}
.dc-msg{margin-bottom:12px;}

/* Cargando (feedback mientras abre una ficha) */
.dc-cargando{opacity:.55;cursor:progress;pointer-events:none;transition:opacity .15s;}

/* Alerta */
.dc-alerta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--borde);border-left:5px solid var(--dc-bad);border-radius:6px;padding:12px 16px;margin-bottom:14px;}
.dc-alerta.ok{border-left-color:var(--dc-ok);}
.dc-alerta strong{color:var(--dc-bad);}
.dc-alerta.ok strong{color:var(--dc-ok);}
.dc-alerta .dc-quick{display:flex;gap:6px;flex-wrap:wrap;}
.dc-alerta-sub{margin-top:4px;font-size:13px;color:var(--dc-warn);}
.dc-alerta-sub strong{color:var(--dc-warn);}

/* KPIs */
.dc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px;}
.dc-kpi{background:#fff;border:1px solid var(--borde);border-radius:8px;padding:12px 14px;border-top:4px solid var(--borde);}
.dc-kpi .v{font-size:26px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;}
.dc-kpi .l{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);margin-top:4px;}
.dc-kpi.ok{border-top-color:var(--dc-ok);} .dc-kpi.ok .v{color:var(--dc-ok);}
.dc-kpi.warn{border-top-color:var(--dc-warn-barra);} .dc-kpi.warn .v{color:var(--dc-warn);}
.dc-kpi.bad{border-top-color:var(--dc-bad);} .dc-kpi.bad .v{color:var(--dc-bad);}
.dc-kpi.na{border-top-color:var(--dc-na-barra);} .dc-kpi.na .v{color:var(--dc-na);}
.dc-kpi.azul{border-top-color:var(--azul);} .dc-kpi.azul .v{color:var(--azul);}

/* Filtros */
.dc-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;}
.dc-filtros .field{margin-bottom:0;min-width:0;}
.dc-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;align-items:center;}
.dc-chips .lbl{font-size:11px;text-transform:uppercase;color:var(--gris);letter-spacing:.03em;margin-right:4px;}
.dc-chip{border:1px solid var(--borde);background:#fff;color:#1b2430;border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer;font-weight:600;}
.dc-chip:hover{border-color:var(--azul);}
.dc-chip[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:#fff;}
.dc-check{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gris);white-space:nowrap;padding-bottom:8px;}

/* Badges */
.dc-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;}
.dc-ok{background:var(--dc-ok-bg);color:var(--dc-ok);}
.dc-warn{background:var(--dc-warn-bg);color:var(--dc-warn);}
.dc-bad{background:var(--dc-bad-bg);color:var(--dc-bad);}
.dc-na{background:var(--dc-na-bg);color:var(--dc-na);}
.dc-info{background:var(--dc-info-bg);color:var(--dc-info);}

/* Riesgo por tipo */
.dc-riesgo{display:grid;gap:8px;}
.dc-riesgo-fila{display:grid;grid-template-columns:170px 1fr 150px;gap:10px;align-items:center;font-size:12.5px;}
.dc-riesgo-fila .nom{font-weight:600;}
.dc-riesgo-fila .tot{color:var(--gris);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.dc-barra{display:flex;height:26px;border-radius:5px;overflow:hidden;background:var(--dc-na-bg);}
.dc-barra button{border:none;padding:0;margin:0;color:#fff;font-size:11.5px;font-weight:700;cursor:pointer;min-width:0;overflow:hidden;white-space:nowrap;}
.dc-barra button:hover{filter:brightness(.92);}
.dc-barra .s-vigente{background:var(--dc-ok);}
.dc-barra .s-por_vencer{background:var(--dc-warn-barra);color:#3d2900;}
.dc-barra .s-vencido{background:var(--dc-bad);}
.dc-barra .s-sin_info{background:var(--dc-na-barra);color:#1b2430;}
.dc-leyenda{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--gris);margin-bottom:10px;}
.dc-leyenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;}

/* Tabla de camiones */
.dc-scroll{overflow-x:auto;}
.dc-tabla td,.dc-tabla th{white-space:nowrap;}
.dc-tabla tbody tr{cursor:pointer;}
.dc-tabla td.dc-op{max-width:260px;overflow:hidden;text-overflow:ellipsis;}
.dc-tabla tbody tr:hover td{background:#f5f9fd;}
.dc-tabla tr.inactivo td{color:#8a949e;}
.dc-link{background:none;border:none;padding:0;color:var(--azul2);font-weight:700;font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.dc-cump{display:flex;align-items:center;gap:8px;min-width:130px;}
.dc-cump .b{flex:1;height:8px;border-radius:4px;background:var(--dc-na-bg);overflow:hidden;min-width:60px;}
.dc-cump .b i{display:block;height:100%;}
.dc-cump .p{width:52px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;}
.dc-n0{color:#b8c0c8;}

/* Ficha */
.dc-back{margin-bottom:10px;}
.dc-ficha-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;}
.dc-placa{font-size:28px;font-weight:800;color:var(--azul);letter-spacing:.02em;line-height:1;}
.dc-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 18px;margin-top:14px;font-size:13px;}
.dc-meta dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);}
.dc-meta dd{margin:2px 0 0;font-weight:600;}
.dc-resumen-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.dc-doc-nombre{font-weight:700;}
.dc-doc-sub{font-size:11.5px;color:var(--gris);}
.dc-hist summary{cursor:pointer;font-size:12px;color:var(--azul2);}
.dc-hist ul{margin:6px 0 0;padding-left:18px;font-size:12px;color:var(--gris);}
.dc-vacio{color:#a2acb6;}

/* Unidad asignada (ficha de conductor) */
.dc-unidad{margin-top:14px;padding:10px 12px;background:var(--grisclaro);border-radius:6px;font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

/* Modal */
.dc-overlay{position:fixed;inset:0;background:rgba(20,30,40,.5);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px;overflow:auto;}
.dc-modal{background:#fff;border-radius:10px;width:100%;max-width:560px;padding:20px 22px;box-shadow:0 12px 40px rgba(0,0,0,.3);}
.dc-modal h3{margin:0 0 4px;font-size:16px;color:var(--azul);}
.dc-modal .sub{font-size:12.5px;color:var(--gris);margin-bottom:14px;}
.dc-modal .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
.dc-modal .field{min-width:0;}
.dc-modal .acciones{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}
.dc-modal .calc{font-size:12.5px;background:var(--grisclaro);border-radius:5px;padding:8px 10px;margin-bottom:10px;}
.dc-radios{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px;font-size:13px;}
.dc-radios label{display:flex;gap:6px;align-items:flex-start;}

@media (max-width:900px){
  .dc-riesgo-fila{grid-template-columns:1fr;gap:4px;}
  .dc-riesgo-fila .tot{text-align:left;}
}
@media (max-width:520px){
  .dc-modal .grid2{grid-template-columns:1fr;}
}

/* ---------- Tablero y campana ---------- */
.dc-2col{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px;margin-bottom:14px;}
.dc-2col .card{margin-bottom:0;}
.dc-2col .dc-riesgo-fila{grid-template-columns:130px 1fr;gap:2px 10px;}
.dc-2col .dc-riesgo-fila .tot{grid-column:2;text-align:left;font-size:11px;margin-top:-1px;}
.dc-kpi-de{font-size:14px;font-weight:600;color:var(--gris);}
.dc-fila-plana{cursor:default;}
.dc-tabla tbody tr.dc-fila-plana{cursor:default;}
.dc-cond-fila{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:2px 0;}
.dc-unidad-col{flex-direction:column;align-items:stretch;gap:8px;}
.dc-cond-lista{border-top:1px solid var(--borde);padding-top:8px;}

.dc-campana{display:inline-flex;align-items:center;gap:6px;}
.dc-campana[hidden]{display:none;}
.dc-campana-n{min-width:20px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:700;line-height:18px;text-align:center;color:#fff;background:#6b7683;}
.dc-campana-n.bad{background:#d93025;}
.dc-campana-n.warn{background:#e8a317;color:#3d2900;}
.dc-campana-n.ok{background:#1b7a4d;}
.dc-panel-campana{position:fixed;top:62px;right:16px;width:min(400px,calc(100vw - 32px));max-height:80vh;overflow-y:auto;background:#fff;color:#1b2430;border:1px solid var(--borde);border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.28);z-index:60;}
.dc-panel-campana[hidden]{display:none;}
.dc-panel-cab{padding:14px 14px 10px;border-bottom:1px solid var(--borde);}
.dc-panel-tot{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 6px;}
.dc-panel-ent{font-size:12px;color:var(--gris);margin-top:2px;}
.dc-panel-ent strong{color:#1b2430;display:inline-block;min-width:78px;}
.dc-panel-lista{list-style:none;margin:0;padding:6px 6px 2px;}
.dc-panel-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:8px 8px;cursor:pointer;color:inherit;font:inherit;}
.dc-panel-item:hover{background:#f3f7fb;}
.dc-panel-item.sin-link{cursor:default;}
.dc-panel-item.sin-link:hover{background:none;}
.dc-panel-t{display:block;font-size:13px;}
.dc-panel-d{display:block;font-size:12px;margin-top:3px;color:var(--gris);}
.dc-panel-vacio{padding:18px 14px;font-size:13px;color:var(--gris);}
.dc-panel-pie{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px 14px;border-top:1px solid var(--borde);}
@media (max-width:520px){ .dc-2col{grid-template-columns:1fr;} .dc-panel-campana{top:56px;right:8px;} }
.dc-scroll[style*="max-height"] thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--borde);}
