/* s3 · cupo del día y sobrecupo con código (25-oct-2026, js/cupos.js). Móvil primero (390 px); tokens de app.css. */
main.vista-cupos { max-width: 920px; }
.cu { display: grid; gap: 14px; }
.cu-strip { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 8px; margin: 0 -2px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.cu-chip { flex: 0 0 auto; min-width: 86px; scroll-snap-align: center; display: grid; gap: 2px; justify-items: start; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--linea);
  background: var(--superficie); color: var(--texto); font: inherit; text-align: left; cursor: pointer; box-shadow: var(--sombra); position: relative; }
.cu-chip:focus-visible { outline: 2px solid var(--texto); outline-offset: 2px; }
.cu-chip.abierto { border-color: var(--texto); box-shadow: 0 0 0 2px var(--texto) inset; }
.cu-chip-dia { font-size: 13px; font-weight: 650; text-transform: capitalize; }
.cu-chip-h { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.cu-chip-h small { font-size: 12px; font-weight: 500; color: var(--texto-2); }
.cu-chip-sub { font-size: 12px; color: var(--texto-2); }
.cu-chip-tag { position: absolute; top: 6px; right: 8px; font-size: 10px; font-weight: 650; text-transform: uppercase; letter-spacing: 0.04em; color: var(--rojo-texto); }
.cu-chip.cu-verde { background: var(--verde-fondo); border-color: transparent; }
.cu-chip.cu-verde .cu-chip-dia, .cu-chip.cu-verde .cu-chip-h { color: var(--verde-texto); }
.cu-chip.cu-amarillo { background: var(--amarillo-fondo); border-color: transparent; }
.cu-chip.cu-amarillo .cu-chip-dia, .cu-chip.cu-amarillo .cu-chip-h { color: var(--amarillo-texto); }
.cu-chip.cu-rojo { background: var(--rojo-fondo); border-color: transparent; }
.cu-chip.cu-rojo .cu-chip-dia, .cu-chip.cu-rojo .cu-chip-h { color: var(--rojo-texto); }
.cu-chip.cu-cerrado { background: var(--superficie-2); color: var(--texto-3); }
.cu-chip.cu-cerrado .cu-chip-dia { color: var(--texto-3); }
.cu-barra { height: 10px; border-radius: 999px; background: var(--superficie-2); overflow: hidden; margin: 2px 0 8px; }
.cu-barra i { display: block; height: 100%; border-radius: 999px; background: var(--verde); }
.cu-barra i.cu-amarillo { background: var(--amarillo); }
.cu-barra i.cu-rojo { background: var(--rojo); }
.cu-cifras { margin: 0 0 10px; font-size: 15px; }
.cu-cifras small { color: var(--texto-2); font-size: 13px; }
.cu-ots { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cu-ots li { display: grid; gap: 2px; padding: 8px 10px; border-radius: 10px; background: var(--superficie-2); font-size: 14px; }
.cu-ots a { color: inherit; text-decoration: none; }
.cu-ots a:hover { text-decoration: underline; }
.cu-ot-meta { font-size: 13px; color: var(--texto-2); display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }

/* etiqueta «Sobrecupo» en los bloques de la Agenda y en la lista de cupos */
.pg-por.sobrecupo { background: var(--rojo-fondo); color: var(--rojo-texto); font-weight: 650; }

/* hoja «Día lleno», código y listas de pedidos */
.modal.sc-dia-lleno .modal-botones { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.modal.sc-dia-lleno .modal-botones .btn { width: 100%; margin: 0; white-space: normal; }
.modal.sc-dia-lleno .modal-botones .btn:last-child:nth-child(odd) { grid-column: 1 / -1; }
.sc-ok { padding: 8px 10px; border-radius: 10px; background: var(--amarillo-fondo); color: var(--amarillo-texto); font-size: 14px; }
.sc-input { font-size: 24px !important; letter-spacing: 0.3em; text-transform: uppercase; text-align: center; font-variant-numeric: tabular-nums; }
.sc-codigo { font-size: clamp(34px, 11vw, 48px); font-weight: 800; letter-spacing: 0.12em; text-align: center; padding: 16px 8px; margin: 10px 0; border-radius: 16px; background: var(--superficie-2); font-variant-numeric: tabular-nums; user-select: all; }
.sc-mini { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 0.12em; }
.sc-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sc-item { display: grid; gap: 4px; padding: 10px 12px; border-radius: 12px; background: var(--superficie-2); font-size: 14px; border-left: 4px solid var(--linea-fuerte); }
.sc-item.sc-pendiente { border-left-color: var(--amarillo); }
.sc-item.sc-autorizado { border-left-color: var(--verde); }
.sc-item.sc-rechazado { border-left-color: var(--rojo); }
.sc-item-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.sc-item-cab a { color: inherit; text-decoration: none; }
.sc-item-txt { color: var(--texto-2); font-size: 13px; }
.sc-item .acciones { margin-top: 4px; display: flex; gap: 8px; flex-wrap: wrap; }
.sc-ficha { margin-top: 12px; }

/* Ajustes: campos del cupo */
.s3-aj-cupos-campos { display: grid; grid-template-columns: 1fr; gap: 8px; align-items: end; }
.s3-aj-cupos-campos label { display: grid; gap: 4px; font-size: 13px; color: var(--texto-2); }
.s3-aj-cupos-campos input { font: inherit; font-size: 16px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--linea); background: var(--campo); color: var(--texto); width: 100%; }
@media (min-width: 560px) { .s3-aj-cupos-campos { grid-template-columns: 1fr 1fr auto; } }
