:root{
  --papel:#f6f4ef; --tinta:#14213a; --tinta-2:#45526a; --linea:#d9d4c8;
  --acento:#0d4f9c; --acento-2:#9c1b23; --ok:#1f6b3a;
  --sombra:0 1px 2px rgba(20,33,58,.06),0 8px 24px -12px rgba(20,33,58,.18);
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--papel);color:var(--tinta);font:16px/1.6 "IBM Plex Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#cfe0f5;color:var(--tinta)}
a{color:var(--acento);text-underline-offset:.2em}
a:hover{color:var(--acento-2)}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px;border-radius:2px}
code,.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.9em}
main{max-width:72rem;margin:0 auto;padding:3.5rem 1.25rem 4rem}
header.portada{display:grid;gap:.75rem;padding-bottom:2rem;border-bottom:1px solid var(--linea)}
.institucion{margin:0;color:var(--tinta-2);font-size:.95rem}
h1{margin:0;font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.1;letter-spacing:-.02em;font-weight:600;text-wrap:balance}
h1 .dominio{display:block;font-family:"IBM Plex Mono",monospace;font-size:.42em;font-weight:500;color:var(--acento);letter-spacing:0;margin-top:.6rem;overflow-wrap:anywhere}
.datos{display:flex;flex-wrap:wrap;gap:.25rem 2rem;margin:0;color:var(--tinta-2);font-size:.95rem}
.datos dt{font-weight:600;color:var(--tinta);display:inline}
.datos dd{display:inline;margin:0 0 0 .35rem}
h2{font-size:1.5rem;letter-spacing:-.01em;margin:3rem 0 .5rem;font-weight:600}
p.intro{max-width:68ch;color:var(--tinta-2);margin:0 0 1.25rem}
.tabla{overflow-x:auto;background:#fff;border:1px solid var(--linea);border-radius:6px;box-shadow:var(--sombra)}
table{width:100%;border-collapse:collapse;font-size:.95rem;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:.8rem 1rem;vertical-align:top;border-bottom:1px solid #ece8de}
thead th{background:#eef1f6;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-2)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#fafbfd}
td.servicio{font-weight:600;white-space:nowrap}
.estado{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--ok);font-weight:500}
.estado svg{flex:none}
.cuenta{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:6px;overflow:hidden;box-shadow:var(--sombra)}
.cuenta div{background:#fff;padding:1rem 1.1rem}
.cuenta span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-2);margin-bottom:.2rem}
.cuenta strong{font-family:"IBM Plex Mono",monospace;font-weight:500;overflow-wrap:anywhere}
ul.integrantes{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
ul.integrantes li{display:flex;gap:1rem;max-width:34rem;justify-content:space-between;border-bottom:1px dashed var(--linea);padding:.35rem 0}
footer{margin-top:3.5rem;padding-top:1.25rem;border-top:1px solid var(--linea);color:var(--tinta-2);font-size:.88rem;display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between}
.aviso{padding:1rem 1.1rem;background:#fff4f4;border:1px solid #efc9cb;border-radius:6px;color:#6d1a20}
@media (max-width:40rem){main{padding-top:2rem}th,td{padding:.65rem .75rem}td.servicio{white-space:normal}}
@media print{body{background:#fff}.tabla,.cuenta{box-shadow:none}}
