:root{--fondo:#f7f4ee;--tarjeta:#fff;--texto:#1a1815;--suave:#6b655a;--borde:#e3ddd1;--acento:#1e4f3f;--acento-texto:#fff;--dorado:#c9962b;
  --rojo:#a33b27;--rojof:#fbefeb;--verde:#2f7a4f;--amarillo:#b7791f;--avisof:#fffbeb;--aviso:#92400e;--fila:#faf8f3}
@media (prefers-color-scheme:dark){:root{--fondo:#14130f;--tarjeta:#1d1c17;--texto:#f1ede4;--suave:#a59f92;--borde:#33302a;--acento:#6fb39a;--acento-texto:#10140f;
  --rojo:#f0907c;--rojof:#3a1d17;--verde:#7cc79b;--amarillo:#e3b25a;--avisof:#2d2614;--aviso:#f3cf7a;--fila:#23221c}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.5 "Segoe UI",system-ui,-apple-system,sans-serif}
a{color:var(--acento)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--dorado);outline-offset:2px}
main{max-width:1100px;margin:0 auto;padding:20px 16px 40px}
main.angosto{max-width:440px;padding-top:48px}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:1.7rem;line-height:1.25;margin:4px 0 6px;color:var(--acento)}
h2{font-size:1.1rem;margin:0 0 10px}h2 a{text-decoration:none}
h3{font-size:.95rem;margin:14px 0 6px;color:var(--suave)}
.marca{display:inline-flex;align-items:center;gap:10px;color:var(--acento);text-decoration:none;font-family:Georgia,serif;font-size:1.9rem;font-weight:600}
.marca .logo{width:46px;height:46px}.marca.chica{font-size:1.25rem}.marca.chica .logo{width:30px;height:30px}
.bajada{color:var(--suave);margin:0 0 18px}
.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:10px;padding:18px;margin:0 0 16px;min-width:0}
.ingreso .tarjeta{padding:22px}
label{display:block;font-size:.85rem;font-weight:600;color:var(--suave);margin:14px 0 6px}
input,select{width:100%;padding:10px 12px;border:1px solid var(--borde);border-radius:7px;font:inherit;background:var(--tarjeta);color:var(--texto)}
button{margin-top:18px;background:var(--acento);color:var(--acento-texto);border:0;border-radius:7px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}
button.link{background:none;color:var(--acento);padding:0;margin:0;font-weight:400;text-decoration:underline}
.error{background:var(--rojof);color:var(--rojo);border:1px solid var(--rojo);border-radius:7px;padding:10px 12px;margin-top:14px}
.aviso{background:var(--avisof);color:var(--aviso);border:1px solid var(--amarillo);border-radius:7px;padding:10px 12px;margin:0 0 16px}
.ayuda{color:var(--suave);font-size:.88rem;margin:14px 0 0}
.suave{color:var(--suave)}.rojo{color:var(--rojo)}.verde{color:var(--verde)}
.pie{color:var(--suave);font-size:.82rem;text-align:center;padding:10px 16px 30px}
.barra{background:var(--tarjeta);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:5}
.barra .arriba{max-width:1100px;margin:0 auto;padding:10px 16px 4px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.quien{display:flex;gap:14px;align-items:center;font-size:.92rem;min-width:0}.quien a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.quien form{margin:0}
.barra nav{max-width:1100px;margin:0 auto;padding:0 10px;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.barra nav a{padding:8px 10px;text-decoration:none;color:var(--suave);white-space:nowrap;border-bottom:3px solid transparent;font-weight:600;font-size:.93rem}
.barra nav a[aria-current=page]{color:var(--acento);border-bottom-color:var(--dorado)}
.frescura{max-width:1100px;margin:0 auto;padding:10px 16px 0;color:var(--suave);font-size:.85rem}
.punto{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:1px}
.punto.verde{background:var(--verde)}.punto.amarillo{background:var(--amarillo)}.punto.rojo{background:var(--rojo)}
.grilla2{display:grid;grid-template-columns:1fr;gap:0 16px}
@media (min-width:860px){.grilla2{grid-template-columns:1fr 1fr}}
.lista{list-style:none;margin:0;padding:0}.lista li{padding:9px 0;border-top:1px solid var(--borde);display:flex;flex-direction:column;gap:2px;min-width:0}
.lista li:first-child{border-top:0}.lista li.vencido strong{color:var(--rojo)}
.cuando{color:var(--suave);font-size:.83rem}.texto{overflow-wrap:anywhere}
.cifras{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0 0 16px}.cifras small{display:block;color:var(--suave);font-size:.8rem}
.cifras b{font-size:1.15rem;font-variant-numeric:tabular-nums}.cifras.grande b{font-size:1.45rem}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.filtros input{flex:1 1 220px;width:auto}.filtros select{flex:0 1 170px;width:auto}.filtros button{margin:0}
.tabla{overflow-x:auto;background:var(--tarjeta);border:1px solid var(--borde);border-radius:10px}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th{text-align:left;color:var(--suave);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;padding:9px 10px;border-bottom:1px solid var(--borde);white-space:nowrap}
td{padding:9px 10px;border-top:1px solid var(--borde);vertical-align:top;overflow-wrap:anywhere}
tbody tr:nth-child(even){background:var(--fila)}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.rojo td{color:var(--rojo)}
.chip{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--fila);border:1px solid var(--borde);font-size:.82rem;white-space:nowrap}
.miga{margin:0 0 10px}.sobre{color:var(--suave);font-size:.88rem}
.datos{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 18px;margin-top:12px}
.dato{min-width:0;overflow-wrap:anywhere}.dato small{display:block;color:var(--suave);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.linea{list-style:none;margin:0;padding:0}
.linea li{border-left:2px solid var(--borde);padding:0 0 16px 16px;position:relative}
.linea li:before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--acento)}
.linea li.accion:before{background:var(--dorado)}
.linea .texto{white-space:pre-line}
.archivos{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:4px;font-size:.9rem}
details{margin-top:10px}summary{cursor:pointer;color:var(--acento);font-weight:600}
.escrito{white-space:pre-wrap;font-family:Georgia,"Times New Roman",serif;background:var(--fila);border:1px solid var(--borde);border-radius:7px;padding:14px;margin:8px 0;overflow-wrap:anywhere}
@media (max-width:700px){
  h1{font-size:1.4rem}
  .tabla{background:none;border:0;border-radius:0;overflow:visible}
  .tabla table,.tabla tbody,.tabla tr,.tabla td{display:block;width:100%}
  .tabla thead{display:none}
  .tabla tr{background:var(--tarjeta)!important;border:1px solid var(--borde);border-radius:10px;margin:0 0 10px;padding:6px 12px}
  /* La etiqueta flota a la izquierda y el contenido (texto + aclaraciones) queda junto a la derecha. */
  .tabla td{border:0;padding:4px 0;text-align:right;overflow:hidden}
  .tabla td:before{content:attr(data-t);float:left;color:var(--suave);font-size:.8rem;text-align:left;max-width:45%;margin-right:12px}
  .tabla td:not([data-t]):before{content:none}
}
