:root{--bg:#f4f8fa;--card:#fff;--fg:#0b3b52;--muted:#53707e;--line:#dbe6eb;--brand:#0e7490;--brand-fg:#fff;--link:#0b5f7a;--ink:#0b3b52;--sun:#fcd34d;
--red:#b42318;--redbg:#fdecea;--amber:#8a5300;--amberbg:#fff3d6;--green:#15753a;--greenbg:#e6f6ec;--hero-fg:#fff;--hero-muted:#c3d9e3}
@media (prefers-color-scheme:dark){:root{--bg:#0a1a22;--card:#112530;--fg:#e8f3f8;--muted:#9bb6c3;--line:#223a47;--brand:#22b8d8;--brand-fg:#04212b;--link:#7cd3ea;--ink:#06141b;
--red:#ff8a80;--redbg:#3a1714;--amber:#ffd166;--amberbg:#3a2d0c;--green:#6ee7a0;--greenbg:#0f3322}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--link)}
.wrap{max-width:920px;margin:0 auto;padding:0 16px}
header.top{background:var(--card);border-bottom:3px solid var(--brand)}
header.top .wrap{display:flex;align-items:center;gap:10px 20px;padding:10px 16px;flex-wrap:wrap}
header.top a.brand img{height:40px;width:auto;display:block}
header.top nav{margin-left:auto;display:flex;gap:4px 16px;font-size:14px;flex-wrap:wrap}
header.top nav a{color:var(--fg);text-decoration:none;font-weight:600;padding:4px 0;border-bottom:2px solid transparent}
header.top nav a:hover,header.top nav a[aria-current=page]{border-bottom-color:var(--brand)}
.hero{background:linear-gradient(160deg,var(--ink),#0e5a73);color:var(--hero-fg)}
.hero .wrap{padding:30px 16px 28px}
.hero h1{margin:0 0 8px;color:var(--hero-fg)}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero .lead{color:var(--hero-muted);margin:0 0 4px;max-width:680px}
.hero .crumbs,.hero .crumbs a{color:var(--hero-muted)}
.hero .crumbs{margin:0 0 6px}
h1{font-size:clamp(26px,5vw,38px);line-height:1.15;margin:26px 0 10px}
h2{font-size:22px;margin:34px 0 10px}
h3{font-size:17px;margin:0 0 6px}
.lead{color:var(--muted);font-size:18px;margin:0 0 18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0}
/* buscador */
.search{display:flex;gap:8px;margin:16px 0 6px}
.search input{flex:1;min-width:0;font:inherit;font-size:18px;padding:14px 16px;border-radius:12px;border:2px solid transparent;color:#0b3b52;background:#fff}
.search input:focus{outline:3px solid var(--sun)}
.search button{font:inherit;font-weight:700;border:0;border-radius:12px;padding:0 20px;background:var(--sun);color:#0b3b52;cursor:pointer}
.hint{font-size:13px;color:var(--hero-muted);margin:0}
.ejemplos{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ejemplos button{font:inherit;font-size:13px;border:1px solid #ffffff55;background:#ffffff14;color:#fff;border-radius:99px;padding:3px 12px;cursor:pointer}
.ejemplos button:hover{background:#ffffff30}
.stat{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--hero-muted)}
.stat b{color:var(--sun);font-size:20px}
/* chips y avisos */
.chip{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap}
.chip.red{background:var(--redbg);color:var(--red)} .chip.amber{background:var(--amberbg);color:var(--amber)}
.chip.green{background:var(--greenbg);color:var(--green)} .chip.gray{background:var(--line);color:var(--muted)}
.banner{border-radius:12px;padding:14px 16px;border:1px solid;margin:14px 0}
.banner.red{background:var(--redbg);border-color:var(--red);color:var(--fg)}
.banner.green{background:var(--greenbg);border-color:var(--green);color:var(--fg)}
.banner.amber{background:var(--amberbg);border-color:var(--amber);color:var(--fg)}
.banner b.t{display:block;font-size:18px;margin-bottom:2px}
.banner.red b.t{color:var(--red)} .banner.green b.t{color:var(--green)} .banner.amber b.t{color:var(--amber)}
.aviso{font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-top:14px;padding-top:10px}
.medico{border:1px dashed var(--brand);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--muted);background:var(--card);margin:16px 0}
/* lista de resultados */
.items{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.item{display:block;text-decoration:none;color:var(--fg);background:var(--card);border:1px solid var(--line);border-left-width:6px;border-radius:12px;padding:12px 14px}
.item:hover{border-color:var(--brand)}
.item.red{border-left-color:var(--red)} .item.amber{border-left-color:var(--amber)} .item.green{border-left-color:var(--green)} .item.gray{border-left-color:var(--line)}
.item .n{font-weight:700;margin:0 0 2px;overflow-wrap:anywhere}
.item .m{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 12px}
.item .o{font-size:14px;color:var(--muted);margin:6px 0 0}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:14px 0}
.toolbar label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:3px;flex:1;min-width:150px}
.toolbar input,.toolbar select{font:inherit;padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}
.tile{display:block;text-align:left;font:inherit;cursor:pointer;color:var(--fg);background:var(--card);border:1px solid var(--line);border-top:4px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none}
.tile:hover,.tile.on{border-color:var(--brand)}
.tile.red{border-top-color:var(--red)} .tile.amber{border-top-color:var(--amber)} .tile.green{border-top-color:var(--green)}
.tile b{display:block;font-size:26px;line-height:1.1}
.tile span{font-size:13px;color:var(--muted)}
.more{display:block;margin:10px auto;font:inherit;font-weight:700;border:1px solid var(--brand);color:var(--brand);background:transparent;border-radius:10px;padding:10px 22px;cursor:pointer}
.more:hover{background:var(--brand);color:var(--brand-fg)}
/* ficha */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
dl.datos{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:14px;margin:10px 0}
dl.datos dt{color:var(--muted)} dl.datos dd{margin:0}
.pres{border:1px solid var(--line);border-left-width:6px;border-radius:12px;padding:10px 14px;margin:8px 0;background:var(--card)}
.pres.red{border-left-color:var(--red)} .pres.green{border-left-color:var(--green)} .pres.amber{border-left-color:var(--amber)}
.pres .n{font-weight:600;overflow-wrap:anywhere}
.pres p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.btns{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.btn{font:inherit;font-weight:700;font-size:14px;text-decoration:none;border-radius:10px;padding:9px 14px;border:1px solid var(--brand);color:var(--brand);background:transparent;cursor:pointer}
.btn.p{background:var(--brand);color:var(--brand-fg)}
.btn:hover{filter:brightness(1.1)}
.sk{height:64px;border-radius:12px;background:linear-gradient(90deg,var(--line),var(--card),var(--line));background-size:200% 100%;animation:sk 1.2s infinite;margin:10px 0}
@keyframes sk{to{background-position:-200% 0}}
.empty{text-align:center;color:var(--muted);padding:26px 10px}
/* contenido */
ul.req,ol.req{padding-left:20px} .req li{margin:6px 0}
details{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0;background:var(--card)}
summary{cursor:pointer;font-weight:700}
.crumbs{font-size:14px;color:var(--muted);margin-top:18px}
.crumbs a{color:var(--muted)}
.tw{overflow-x:auto;margin:12px 0}
table{border-collapse:collapse;width:100%;min-width:460px;background:var(--card);font-size:15px}
caption{text-align:left;font-weight:700;padding:0 0 8px}
th,td{padding:9px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
thead th{background:var(--ink);color:#fff}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.cards a{display:block;text-decoration:none;color:var(--fg);background:var(--card);border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:10px;padding:10px 12px}
.cards a:hover{border-color:var(--brand)}
.cards b{display:block}.cards span{font-size:13px;color:var(--muted)}
footer{background:var(--ink);color:var(--hero-muted);margin-top:48px;padding:26px 0 40px;font-size:13px;border-top:5px solid var(--brand)}
footer a{color:#fff} footer p{margin:8px 0}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:var(--brand-fg);padding:8px 14px;z-index:10;border-radius:0 0 8px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
