:root{--blue:#0b3156;--orange:#f39800;--ink:#172e43;--muted:#607285;--line:#dce4ed;--bg:#f3f6f9}*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:white;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:24px;font-weight:850;letter-spacing:.6px;text-decoration:none}.brand span{color:var(--orange)}nav{display:flex;gap:22px;font-size:14px}a{color:var(--blue)}main{max-width:1180px;padding:36px 24px;margin:auto}footer{text-align:center;color:var(--muted);font-size:13px;padding:28px}h1{font-size:36px;line-height:1.2;margin:10px 0 20px}h2{font-size:25px;margin:12px 0}h3{margin-bottom:8px}.hero{text-align:center;margin:0 auto 32px;max-width:720px}.hero img{width:260px;max-width:70%;mix-blend-mode:multiply}.hero h1{font-size:43px}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:750;color:var(--muted)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;margin-bottom:24px;box-shadow:0 8px 30px #0b315607}.narrow{max-width:540px;margin:20px auto}.badge{display:inline-block;border-radius:20px;background:#fff0d8;color:#935300;font-size:11px;font-weight:800;letter-spacing:.5px;padding:6px 12px}.badge.blue{color:var(--blue);background:#e8eff7}label{display:block;margin:15px 0;font-weight:600;font-size:14px}input{width:100%;padding:11px 12px;border:1px solid #bac9d7;border-radius:8px;font:inherit;color:var(--ink);background:#fcfdff}input:focus{outline:2px solid var(--orange);outline-offset:1px}button,.button{display:inline-block;background:var(--orange);color:#172e43;padding:12px 18px;text-decoration:none;font:700 14px system-ui;border:0;border-radius:8px;cursor:pointer;line-height:1.5}form>button{width:100%;margin-top:12px}.dark{background:var(--blue);color:white}.outline{background:white;border:1px solid var(--line)}button:disabled{opacity:.45;cursor:default}.secondary{display:block;margin-top:16px;font-size:14px}.notice,.error{padding:16px;background:#fff6e8;border-left:3px solid var(--orange);border-radius:4px;font-size:14px}.error{background:#fff0ef;border-color:#b52c2c}small{font-size:12px;color:var(--muted);display:block;margin:8px 0;font-weight:400}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px}.check input{width:16px;margin-top:3px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}thead{color:var(--muted)}td input{min-width:80px}td form{min-width:230px}.table-wrap{overflow:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.counter{display:flex;flex-direction:column;text-align:center;padding:15px 30px;background:white;border:1px solid var(--line);border-radius:14px}.counter strong{font-size:35px;color:var(--blue)}.counter span{font-size:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.metrics strong{font-size:29px;display:block}.study-link{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none}.study-link span{font-size:12px;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.search{display:flex;gap:12px;margin-bottom:24px}.search button{width:auto;margin:0}li{margin:10px 0}@media(max-width:760px){header{padding:16px;display:block}nav{margin-top:14px;flex-wrap:wrap;gap:12px}.columns,.metrics{grid-template-columns:1fr}.hero h1{font-size:32px}h1{font-size:28px}.card{padding:22px}.heading{align-items:flex-start}.counter{padding:12px}.study-link{display:block}}@media print{header,footer,nav,.button{display:none}main{padding:0;max-width:none}.card{box-shadow:none;break-inside:avoid;margin-bottom:14px;padding:18px}.columns{display:block}.metrics{grid-template-columns:repeat(3,1fr)}body{background:white;font-size:12px}h1{font-size:26px}}

/* Historial compacto */
.table-wrap.audit-scroll {
    height:400px !important;
    max-height:400px !important;
    min-height:0 !important;
    overflow-y:scroll !important;
    overflow-x:auto !important;
    display:block !important;
}
.audit-scroll table {
    border-collapse:separate;
    border-spacing:0;
}
.audit-scroll th {
    position:sticky;
    top:0;
    z-index:2;
    background:white;
}
.audit-scroll th,
.audit-scroll td {
    padding:6px 10px;
    white-space:nowrap;
}

.model-history {margin-top:18px;border-top:1px solid #dce4ed;padding-top:12px;}
.model-history summary {cursor:pointer;font-weight:700;color:#0b3156;padding:8px 0;}
.model-scroll {max-height:400px;overflow:auto;}
.model-scroll table {border-collapse:separate;border-spacing:0;}
.model-scroll th {position:sticky;top:0;background:white;z-index:2;}

.baselines-scroll {
    max-height:400px;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:14px;
    overflow-wrap:anywhere;
}


/* INICIO COMPACTO PORTATIL */
body:has(.landing-compact) header {
    padding:10px 20px;
    gap:12px;
}
body:has(.landing-compact) .brand {font-size:20px;}
body:has(.landing-compact) main {
    max-width:1050px;
    padding:14px 20px;
}
.landing-compact .hero {margin:0 auto 14px;}
.landing-compact .hero img {width:150px;max-width:45%;}
.landing-compact .eyebrow {
    font-size:10px;
    margin:5px 0;
}
.landing-compact .hero h1 {
    font-size:30px;
    line-height:1.12;
    margin:7px 0 9px;
}
.landing-compact p {
    font-size:14px;
    line-height:1.45;
    margin:9px 0;
}
.landing-compact .columns {
    gap:18px;
    align-items:stretch;
}
.landing-compact .card {
    padding:18px 20px;
    border-radius:12px;
    margin-bottom:0;
    min-width:0;
}
.landing-compact h2 {font-size:22px;margin:9px 0;}
.landing-compact .badge {font-size:10px;padding:4px 10px;}
.landing-compact .button {padding:9px 15px;font-size:14px;}
.landing-compact .secondary {margin-top:9px;font-size:13px;}
body:has(.landing-compact) footer {padding:10px;font-size:12px;}
@media (min-width:761px) and (max-height:700px) {
    .landing-compact .hero img {width:115px;}
    .landing-compact .hero h1 {font-size:26px;}
    .landing-compact .hero {margin-bottom:10px;}
    .landing-compact .card {padding:14px 18px;}
    body:has(.landing-compact) main {padding-top:10px;}
}
@media (max-width:760px) {
    .landing-compact .hero h1 {font-size:25px;}
    .landing-compact .columns {grid-template-columns:1fr;gap:14px;}
    body:has(.landing-compact) header {padding:10px 16px;}
    body:has(.landing-compact) nav {margin-top:7px;}
}
/* FIN COMPACTO PORTATIL */

/* LOGO IZQUIERDA INICIO */
.landing-compact .hero {
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    column-gap:26px;
    align-items:center;
    max-width:none;
    text-align:left;
}
.landing-compact .hero img {
    grid-column:1;
    grid-row:1 / 4;
    width:230px;
    max-width:100%;
    justify-self:start;
}
.landing-compact .hero > p,
.landing-compact .hero > h1 {grid-column:2;}
@media (max-width:760px) {
    .landing-compact .hero {
        grid-template-columns:155px minmax(0,1fr);
        column-gap:14px;
    }
    .landing-compact .hero img {width:155px;}
    .landing-compact .hero h1 {font-size:22px;}
}
@media (max-width:480px) {
    .landing-compact .hero {display:block;}
    .landing-compact .hero img {width:190px;}
}
/* FIN LOGO IZQUIERDA INICIO */

/* Clasificación de instalaciones */
.classification-scroll{max-height:400px;overflow:auto}.classification-scroll table{height:auto;table-layout:auto}.classification-scroll td,.classification-scroll th{padding:8px;line-height:1.3;vertical-align:middle}.classification-scroll input[type=checkbox]{width:auto}.classification-scroll td{overflow-wrap:anywhere}
select{display:block;width:100%;max-width:100%;padding:10px 12px;border:1px solid #bac9d7;border-radius:8px;font:inherit;color:var(--ink);background:#fcfdff}select:focus{outline:2px solid var(--orange);outline-offset:1px}.classification-scroll td input[type=checkbox]{min-width:0;width:18px;height:18px}
