/* Recolecciones de residuos.
 *
 * Todo acotado a .mod-residuos. Los CSS de los módulos CHOCAN entre sí, así que
 * cada uno lleva el suyo dentro de su clase.
 *
 * Monocromo como el resto del portal, con una sola excepción deliberada: los
 * tres estatus llevan el mismo pastel que ya usa macec.kinos-ia.com, para que
 * quien salte entre las dos pantallas lea lo mismo. */

.mod-residuos h2{font-size:13px;text-transform:uppercase;letter-spacing:.09em;
  color:var(--meta);font-weight:600;margin:0 0 14px;padding-bottom:8px;
  border-bottom:1px solid var(--ink)}
.mod-residuos .pendientes{color:var(--ink);font-weight:700;letter-spacing:0;
  text-transform:none;font-size:12px;border:1px solid var(--ink);padding:1px 7px;margin-left:6px}

/* ── solicitar ────────────────────────────────────────────────────────── */
.mod-residuos .pedir{margin-bottom:36px}
.mod-residuos .campos{display:grid;gap:16px;max-width:620px}
.mod-residuos label{display:grid;gap:5px;font-size:13px;font-weight:500}
.mod-residuos input[type=date],.mod-residuos input[type=text]{font:inherit;font-size:13px;
  border:1px solid var(--rule);border-radius:0;padding:7px 9px;background:var(--paper);
  color:var(--ink);max-width:320px}
.mod-residuos input:focus{outline:none;border-color:var(--ink)}

.mod-residuos fieldset{border:1px solid var(--rule);padding:12px 14px;margin:0}
.mod-residuos legend{font-size:11px;text-transform:uppercase;letter-spacing:.09em;
  color:var(--meta);padding:0 6px}
.mod-residuos .materiales{display:flex;flex-wrap:wrap;gap:8px 20px}
.mod-residuos label.mat{display:flex;align-items:center;gap:7px;font-weight:400;cursor:pointer}
.mod-residuos label.mat input{margin:0;accent-color:#4a5d23}

.mod-residuos .acciones{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}

/* ── agenda ───────────────────────────────────────────────────────────── */
.mod-residuos .agenda{border-collapse:collapse;width:100%;min-width:820px}
.mod-residuos .historial{overflow-x:auto}
.mod-residuos thead th{font-size:11px;text-transform:uppercase;letter-spacing:.09em;
  color:var(--meta);font-weight:500;text-align:left;padding:0 10px 8px 0;
  border-bottom:1px solid var(--ink)}
.mod-residuos tbody td{padding:11px 10px 11px 0;border-bottom:1px solid var(--rule);
  font-size:13px;vertical-align:middle}
.mod-residuos tbody tr:hover{background:#fafafa}
.mod-residuos td.num{font-variant-numeric:tabular-nums;color:var(--meta);width:70px}
.mod-residuos td.fecha{font-variant-numeric:tabular-nums;width:120px}
.mod-residuos td.fecha .meta{display:block;font-size:10px}
.mod-residuos td.meta{color:var(--meta);font-size:12px}
.mod-residuos td.col-acciones{width:210px;text-align:right}
.mod-residuos .acciones-fila{display:flex;gap:8px;justify-content:flex-end}

/* ── chips de estatus ─────────────────────────────────────────────────── */
.mod-residuos .chip{display:inline-block;font-size:11px;font-weight:500;
  padding:2px 8px;border:1px solid var(--rule);white-space:nowrap}
.mod-residuos .chip-programada{background:#f4ebd9;border-color:#dcc79a;color:#6e5220}
.mod-residuos .chip-completada{background:#e6ebd8;border-color:#b9c79b;color:#40501c}
.mod-residuos .chip-cancelada{background:#f0f0ec;border-color:#d0d0c8;color:#6b6b6b}

/* ── diálogo de confirmación ──────────────────────────────────────────── */
.mod-residuos .dialogo{position:fixed;inset:0;background:rgba(0,0,0,.3);
  display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}
.mod-residuos .dialogo[hidden]{display:none}
.mod-residuos .dialogo .caja{background:var(--paper);border:1px solid var(--ink);
  padding:24px;max-width:380px;width:100%;display:grid;gap:10px}
.mod-residuos .dialogo h3{margin:0;font-size:15px;letter-spacing:-.01em}
.mod-residuos .dialogo .meta{font-size:12px;margin:0}

.mod-residuos .err{color:var(--alarma);font-size:13px;font-weight:500;margin:12px 0 0}
