/* Artefacto · hoja común de las páginas de ayudas públicas
   La usan icaa_selectivas.html, cortos_icaa.html e icec_coproduccion.html
   junto a ayudas-app.js, que construye toda la interfaz. */
:root{
    --stone-50:#fafaf9; --stone-100:#f5f5f4; --stone-200:#e7e5e4; --stone-300:#d6d3d1;
    --stone-400:#a8a29e; --stone-500:#78716c; --stone-600:#57534e; --stone-700:#44403c;
    --stone-800:#292524; --stone-900:#1c1917;
    --red-50:#fef2f2; --red-600:#dc2626; --red-700:#b91c1c;
    --amber-50:#fffbeb; --amber-600:#d97706; --amber-700:#b45309;
    --green-50:#f0fdf4; --green-600:#16a34a; --green-700:#15803d;
    --bg:#ffffff; --bg-2:var(--stone-50);
    --ink:var(--stone-900); --ink-2:var(--stone-700);
    --muted:var(--stone-500); --muted-2:var(--stone-400);
    --line:var(--stone-200); --line-2:var(--stone-300);
    --accent:var(--red-600); --accent-weak:var(--red-50);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
html{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar{display:none;width:0;height:0}
body{background:var(--bg);color:var(--ink);font-family:'Inter','Söhne',system-ui,sans-serif;font-size:14px;line-height:1.55;font-feature-settings:"ss01","tnum","cv11"}
::selection{background:var(--stone-900);color:#fff}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.num{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
em{font-style:normal;font-family:'Newsreader',serif;font-weight:500}

.top-bar{border-bottom:1px solid var(--stone-900);background:#fff;position:sticky;top:0;z-index:40}
.top-bar-inner{max-width:1340px;margin:0 auto;padding:14px 44px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.top-bar .brand{display:inline-flex;align-items:center;font-family:'Inter',sans-serif;font-weight:800;font-size:18px;text-decoration:none;color:inherit;letter-spacing:-.01em}
.top-bar .brand-tag{background:var(--stone-900);color:#fff;padding:6px 10px;line-height:1;border:1px solid var(--stone-900)}
.top-bar .brand-tag.outline{background:#fff;color:var(--stone-900);border:1px solid var(--stone-900);margin-left:0}
.brand-group{display:flex;align-items:center}
.brand-attribution{display:inline-flex;align-items:center;gap:6px;margin-left:16px;padding-left:16px;border-left:1px solid var(--stone-300);font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--stone-500);text-decoration:none;transition:color .15s}
.brand-attribution:hover{color:var(--stone-900)}
@media (max-width:780px){.brand-attribution{display:none}}
.top-bar-meta{display:inline-flex;align-items:center;gap:14px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--stone-500)}
.top-bar-meta .dot{color:var(--stone-300)}
@media (max-width:780px){.top-bar-meta{display:none}.top-bar-inner{padding:12px 20px}}

.wrap{max-width:1340px;margin:0 auto;padding:36px 44px 24px}

nav.top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
nav.top a{color:var(--ink-2);text-decoration:none;border:1px solid var(--line-2);padding:7px 12px;transition:all .14s}
nav.top a:hover{color:var(--ink);border-color:var(--ink)}
nav.top span{color:var(--muted)}

header.top{padding-bottom:32px;margin-bottom:24px;border-bottom:1px solid var(--stone-900);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
header.top .kicker{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red-600);margin-bottom:14px}
header.top .kicker::before{content:'▲ ';color:var(--red-600);margin-right:4px}
header.top h1{font-family:'Inter',sans-serif;font-weight:900;font-size:clamp(44px,6vw,76px);letter-spacing:-.04em;line-height:.94;color:var(--stone-900)}
header.top h1 em{font-style:normal;font-family:'Newsreader',serif;font-weight:500;color:var(--stone-900);letter-spacing:-.02em}
header.top .tagline{font-family:'Newsreader',serif;font-size:14px;color:var(--ink-2);max-width:360px;text-align:right;line-height:1.55;letter-spacing:-.005em}
header.top .tagline strong{font-family:'Inter',sans-serif;font-weight:600;color:var(--ink)}
@media (max-width:760px){header.top{grid-template-columns:1fr}header.top .tagline{text-align:left;max-width:none}}

.years{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:32px}
.years .lbl{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-right:14px}
.year-chip{background:transparent;border:1px solid var(--line-2);padding:8px 14px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .14s;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:8px;letter-spacing:.05em}
.year-chip:hover{border-color:var(--ink);color:var(--ink)}
.year-chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.year-chip .count{opacity:.55;font-size:11px}
.year-chip.on .count{opacity:.7}
.year-chip .prov{width:6px;height:6px;border-radius:50%;background:var(--amber-600);display:inline-block}

nav.tabs{display:flex;gap:2px;border-bottom:1px solid var(--ink);margin-bottom:36px;position:sticky;top:48px;background:var(--bg);z-index:9;padding-top:8px;overflow-x:auto;white-space:nowrap}
.tab-btn{background:transparent;border:none;cursor:pointer;padding:14px 20px 14px 0;margin-right:20px;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:400;color:var(--muted);letter-spacing:-.005em;transition:color .14s;position:relative;white-space:nowrap}
.tab-btn:hover{color:var(--ink)}
.tab-btn.on{color:var(--ink);font-weight:600}
.tab-btn.on::after{content:"";position:absolute;left:0;right:20px;bottom:-1px;height:2px;background:var(--accent)}
.tab-btn .count{display:inline-block;margin-left:6px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}

.panel{display:none}
.panel.on{display:block;animation:fadein .32s ease}
/* sin transform, que un ancestro transformado deja sin efecto el position sticky
   del panel de resultado */
@keyframes fadein{from{opacity:0}to{opacity:1}}

.section-label{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.section-label .sub{font-family:'Newsreader',serif;text-transform:none;letter-spacing:0;font-size:13px;color:var(--muted);margin-left:10px;font-weight:400}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ink);margin-bottom:40px;background:var(--bg-2)}
.kpi{padding:22px 26px;border-right:1px solid var(--line);background:#fff;min-width:0;overflow:hidden}
.kpi:last-child{border-right:none}
.kpi .lbl{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.kpi .big{font-family:'Inter',sans-serif;font-weight:300;font-size:40px;letter-spacing:-.03em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.kpi .big em{color:var(--muted);font-style:normal;font-weight:300}
.kpi .delta{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);margin-top:8px;font-variant-numeric:tabular-nums;font-weight:500}
.kpi .delta.up{color:var(--green-700)}
@media (max-width:880px){.kpi-grid{grid-template-columns:1fr 1fr}}

table.main{width:100%;border-collapse:collapse;font-size:13px}
table.main th{text-align:left;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:14px 12px 10px;border-bottom:1px solid var(--ink);background:var(--bg);cursor:pointer;user-select:none}
table.main th.right{text-align:right}
table.main th:hover{color:var(--ink)}
table.main th .arr{margin-left:4px;opacity:.4}
table.main td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:baseline;font-size:13px}
table.main td.right{text-align:right}
table.main tbody tr:hover{background:var(--bg-2)}
table.main tbody tr.link{cursor:pointer}
table.main .title{font-family:'Newsreader',serif;font-size:14.5px;font-weight:500;letter-spacing:-.005em}
table.main .empresa{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;color:var(--ink-2);margin-top:3px;letter-spacing:.04em}
table.main .money{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
table.main .money.green{color:var(--green-700)}
table.main .money.muted{color:var(--muted);font-weight:500}
table.main .pct{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}
table.main .punts{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}
table.main .exp{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:.05em;font-variant-numeric:tabular-nums;white-space:nowrap}
table.main .cif{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--muted-2);letter-spacing:.06em;margin-top:1px}
table.main .dir-nom{font-family:'Newsreader',serif;font-size:12px;font-style:italic;color:var(--muted);margin-top:2px}
.emp-link{cursor:pointer;text-decoration:none;color:inherit;border-bottom:1px dotted var(--muted-2)}
.emp-link:hover{color:var(--accent);border-bottom-color:var(--accent)}

.badge{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:8.5px;font-weight:700;letter-spacing:.08em;padding:2px 6px;text-transform:uppercase;margin-left:6px;vertical-align:2px}
.badge.nuevo{background:var(--stone-900);color:#fff}
.badge.dira{background:var(--red-600);color:#fff}
.badge.anim{background:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-600)}
.badge.mrr{background:#eff6ff;color:#2563eb;border:1px solid #2563eb}
.badge.goya{background:var(--red-600);color:#fff}
.badge.estrenada{background:var(--green-700);color:#fff}
.badge.prov{background:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-600)}
.cat-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.08em;padding:3px 8px;text-transform:uppercase;background:var(--stone-100);color:var(--ink-2);border:1px solid var(--line-2)}

.intento{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 6px;text-transform:uppercase;background:#fff;color:var(--ink-2);border:1px solid var(--line-2);margin-left:6px;cursor:help}
.intento.rep{border-color:var(--amber-600);color:var(--amber-700);background:var(--amber-50)}

/* PROYECTOS */
.rt-bars{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--ink);padding-top:20px;margin-bottom:48px}
.rt-row{display:grid;grid-template-columns:190px 1fr 130px;gap:16px;align-items:center}
.rt-lbl{font-family:'Newsreader',serif;font-size:15px;color:var(--ink);letter-spacing:-.005em}
.rt-lbl span{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.rt-bar{height:26px;background:var(--stone-100);border:1px solid var(--line);position:relative;overflow:hidden}
.rt-fill{position:absolute;inset:0 auto 0 0;background:var(--green-700);transition:width .4s ease}
.rt-fill.dim{background:var(--stone-400)}
.rt-val{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.rt-val em{font-style:normal;color:var(--muted);font-weight:500;font-size:11px}
@media (max-width:760px){.rt-row{grid-template-columns:110px 1fr 90px;gap:10px}.rt-lbl{font-size:13px}}

.estado{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.08em;padding:3px 8px;text-transform:uppercase}
.estado.concedida{background:var(--green-700);color:#fff}
.estado.suplente{background:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-600)}
.estado.denegada{background:var(--stone-100);color:var(--ink-2);border:1px solid var(--line-2)}
.estado.excluida{background:#fff;color:var(--muted);border:1px dashed var(--line-2)}

.notes{display:grid;gap:0;margin-bottom:56px}
.note{display:grid;grid-template-columns:96px 1fr;gap:40px;padding:26px 0;border-top:1px solid var(--line)}
.note:first-child{border-top:1px solid var(--ink)}
.note .yr{font-family:'Inter',sans-serif;font-weight:300;font-size:44px;line-height:1;letter-spacing:-.035em;color:var(--ink)}
.note p{font-family:'Newsreader',serif;font-size:16.5px;line-height:1.55;color:var(--ink-2);font-weight:400;letter-spacing:-.005em}
.note p strong{color:var(--ink);font-weight:600}
.note p .fig{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:13.5px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.005em}
@media (max-width:760px){.note{grid-template-columns:64px 1fr;gap:20px}.note .yr{font-size:28px}.note p{font-size:15px}}

/* ESTRENADAS */
.film-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.film-card{border:1px solid var(--line-2);background:#fff;display:grid;grid-template-columns:86px 1fr;cursor:pointer;transition:border-color .14s;overflow:hidden}
.film-card:hover{border-color:var(--ink)}
.film-poster{aspect-ratio:2/3;background:var(--stone-100) center/cover no-repeat}
.film-body{padding:14px 16px;min-width:0}
.film-title{font-family:'Newsreader',serif;font-size:15.5px;font-weight:600;letter-spacing:-.008em;line-height:1.25;color:var(--ink)}
.film-meta{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;color:var(--muted);margin-top:4px;letter-spacing:.05em}
.film-stats{margin-top:10px;display:flex;flex-direction:column;gap:3px;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-2)}
.film-stats .row{display:flex;justify-content:space-between;gap:8px}
.film-stats .k{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px}
.film-stats .v{font-weight:600;font-variant-numeric:tabular-nums}
.film-stats .v.green{color:var(--green-700)}

/* TRAYECTORIAS */
.traj-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.traj-row{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.traj-row:last-child{border-bottom:none}
.traj-nom{font-family:'Inter',sans-serif;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.traj-sub{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);font-weight:500;letter-spacing:.06em;margin-top:3px}
.traj-years{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}
.traj-years .yr-chip{display:inline-flex;flex-direction:column;align-items:center;gap:2px;font-family:'JetBrains Mono',monospace;font-size:10.5px;background:#fff;color:var(--muted);padding:5px 9px;letter-spacing:.05em;border:1px solid var(--line-2);font-weight:700;min-width:52px}
.traj-years .yr-chip .amt{font-size:9px;font-weight:600;opacity:.9;letter-spacing:.02em}
.traj-years .yr-chip.c{background:var(--green-700);color:#fff;border-color:var(--green-700)}
.traj-years .yr-chip.c.lo{background:#fff;color:var(--green-700)}
.traj-years .yr-chip.c.mid{background:#a7d5b5;color:var(--stone-900);border-color:#7bbd92}
.traj-years .yr-chip.best{outline:2px solid var(--ink);outline-offset:1px}

/* HISTORIAL DE UN PROYECTO */
.pj-overlay{position:fixed;inset:0;background:rgba(28,25,23,.55);z-index:200;display:none;
    align-items:flex-start;justify-content:center;padding:56px 20px;overflow-y:auto}
.pj-overlay.on{display:flex}
.pj-modal{background:#fff;border:1px solid var(--stone-900);max-width:860px;width:100%;
    box-shadow:0 20px 60px rgba(28,25,23,.3)}
.pj-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
    padding:26px 30px 22px;border-bottom:1px solid var(--stone-900)}
.pj-kicker{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.18em;
    text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.pj-head h3{font-family:'Inter',sans-serif;font-weight:800;font-size:26px;letter-spacing:-.025em;
    line-height:1.1;color:var(--ink)}
.pj-close{flex:none;background:transparent;border:1px solid var(--line-2);width:34px;height:34px;
    cursor:pointer;font-size:14px;color:var(--muted);transition:all .14s;font-family:inherit}
.pj-close:hover{border-color:var(--ink);color:var(--ink)}
.pj-body{padding:24px 30px 30px}
.pj-resumen{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);margin-bottom:26px}
.pj-resumen .c{padding:14px 16px;border-right:1px solid var(--line)}
.pj-resumen .c:last-child{border-right:none}
.pj-resumen .k{font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;letter-spacing:.14em;
    text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.pj-resumen .v{font-family:'Inter',sans-serif;font-weight:300;font-size:24px;letter-spacing:-.025em;
    color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.pj-resumen .v.green{color:var(--green-700);font-weight:600;font-family:'JetBrains Mono',monospace;font-size:16px}
@media (max-width:700px){.pj-resumen{grid-template-columns:1fr 1fr}.pj-resumen .c{border-bottom:1px solid var(--line)}}
.pj-intento{display:grid;grid-template-columns:78px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--line)}
.pj-intento:first-of-type{border-top:1px solid var(--stone-900)}
.pj-intento.c{background:linear-gradient(90deg,var(--green-50) 0%,transparent 60%)}
.pj-num{font-family:'Inter',sans-serif;font-weight:300;font-size:30px;color:var(--ink);line-height:1;letter-spacing:-.03em}
.pj-num span{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;
    letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.pj-linea1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.pj-ano{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.04em}
.pj-imp{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;color:var(--green-700);margin-left:auto}
.pj-detalle{display:flex;gap:22px;flex-wrap:wrap;margin-top:8px}
.pj-dato{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted)}
.pj-dato b{display:block;font-size:13px;color:var(--ink);font-weight:700;margin-top:2px}
.pj-emp{margin-top:10px;display:flex;flex-direction:column;gap:3px}
.pj-emp .e{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-2);display:flex;gap:10px}
.pj-emp .e .pc{color:var(--muted)}
.pj-emp .e .im{margin-left:auto;color:var(--green-700);font-weight:600}
.pj-emp .e a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--muted-2)}
.pj-emp .e a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.pj-nota{font-family:'Newsreader',serif;font-size:14px;color:var(--ink-2);line-height:1.5;margin-top:10px}
.pj-peli{margin-top:24px;padding-top:20px;border-top:1px solid var(--stone-900);display:flex;gap:16px;align-items:center}
.pj-peli img{width:56px;border:1px solid var(--line-2)}
.pj-peli .t{font-family:'Newsreader',serif;font-size:17px;font-weight:600;color:var(--ink)}
.pj-peli .m{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);margin-top:4px}
.pj-peli a{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-decoration:none;
    border:1px solid var(--accent);padding:8px 14px;transition:all .14s}
.pj-peli a:hover{background:var(--accent);color:#fff}

/* RANKINGS DE PRODUCTORAS */
.rank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--ink);margin-bottom:44px;background:#fff}
.rank-card{padding:20px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.rank-card:nth-child(2n){border-right:none}
.rank-card:nth-last-child(-n+2){border-bottom:none}
.rank-card h4{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.rank-card .sub{font-family:'Newsreader',serif;font-size:12.5px;color:var(--muted);margin-bottom:16px;line-height:1.35}
.rank-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:12px;align-items:center;padding:5px 0;cursor:pointer}
.rank-row:hover .rk-nom{color:var(--accent)}
.rank-list.scroll{max-height:540px;overflow-y:auto;padding-right:8px;margin-right:-8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:6px;padding-bottom:6px}
.rk-pie{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.rk-pos{display:inline-block;min-width:20px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;color:var(--muted-2);font-variant-numeric:tabular-nums}
.rk-nom{font-family:'Inter',sans-serif;font-size:12px;font-weight:600;color:var(--ink);letter-spacing:-.008em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}
.rk-bar{height:5px;background:var(--stone-100);margin-top:3px;position:relative;overflow:hidden}
.rk-fill{position:absolute;inset:0 auto 0 0;background:var(--green-700)}
.rk-fill.red{background:var(--red-600)}
.rk-fill.ink{background:var(--stone-700)}
.rk-val{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.rk-val em{font-style:normal;display:block;font-size:9px;color:var(--muted);font-weight:500;margin-top:1px}
@media (max-width:820px){.rank-grid{grid-template-columns:1fr}.rank-card{border-right:none}.rank-card:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.rank-card:last-child{border-bottom:none}}
.traj-projects{margin-top:14px;display:flex;flex-direction:column;gap:0}
.traj-proj{display:grid;grid-template-columns:minmax(0,1fr) 92px 56px auto;gap:12px;align-items:baseline;padding:6px 0;border-top:1px solid var(--line)}
.traj-proj:first-child{border-top:none}
.traj-proj .pname{font-family:'Newsreader',serif;font-size:14px;color:var(--ink-2);font-weight:400;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.traj-proj.c .pname{color:var(--green-700);font-weight:600}
.traj-proj .pcat{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.traj-proj .pyear{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);font-weight:500;letter-spacing:.05em}
.traj-proj .pout{text-align:right;min-width:120px}
.traj-proj .pamt{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--green-700);font-weight:700;letter-spacing:.04em}
.traj-proj .ppct{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);font-weight:500;letter-spacing:.03em;margin-top:1px}
.traj-stats{border:1px solid var(--line);background:var(--bg-2);padding:16px 18px}
.traj-money{font-family:'Inter',sans-serif;font-weight:300;font-size:30px;letter-spacing:-.03em;line-height:1;color:var(--green-700);font-variant-numeric:tabular-nums}
.traj-money span{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:7px}
.traj-kv{display:flex;flex-direction:column;gap:0;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}
.traj-kv .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0}
.traj-kv .k{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.traj-kv .v{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.traj-kv .v.c{color:var(--green-700)}
.traj-kv .v.z{color:var(--muted-2);font-weight:500}
@media (max-width:900px){.traj-row{grid-template-columns:1fr}}

/* SIMULADOR */
.sim-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;margin-bottom:48px;align-items:start}
/* sin esto, el ancho mínimo del contenido de una columna desborda la rejilla */
.sim-grid>*{min-width:0}
/* el resultado se queda a la vista mientras se rellena el formulario, que es
   largo y si no la puntuación se pierde por arriba */
@media (min-width:881px){
  #simResult,#calcResult{position:sticky;top:96px;align-self:start;z-index:8;
    background:var(--bg);
    max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain}
}
.sim-aviso{margin-top:18px;padding:14px 16px;background:var(--bg-2);border-left:3px solid var(--accent);font-family:'Newsreader',serif;font-size:13.5px;color:var(--ink-2);line-height:1.5}
.sim-aviso strong{font-family:'Inter',sans-serif;color:var(--ink)}
.calc-min.pend{color:var(--muted);background:var(--stone-100)}
@media (max-width:880px){.sim-grid{grid-template-columns:1fr}}
.sim-input-card{background:var(--bg-2);border:1px solid var(--ink);padding:32px}
.sim-input-card h3{font-family:'Inter',sans-serif;font-weight:800;font-size:22px;letter-spacing:-.02em;margin-bottom:8px}
.sim-input-card .desc{font-family:'Newsreader',serif;font-size:14.5px;color:var(--ink-2);margin-bottom:24px;line-height:1.5}
.sim-input-card label{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;margin-top:18px}
.sim-input-card label:first-of-type{margin-top:0}
.sim-input-card input[type=number],.sim-input-card select{width:100%;background:#fff;border:1px solid var(--ink);padding:14px 16px;font-family:'JetBrains Mono',monospace;font-size:16px;color:var(--ink);outline:none;font-weight:600;font-variant-numeric:tabular-nums}
.sim-input-card input[type=number]:focus{border-color:var(--accent)}
.sim-input-card .helper{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);margin-top:6px;letter-spacing:.05em;font-weight:500}
.sim-result{background:#fff;border:1px solid var(--ink);padding:32px}
.sim-result h3{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.sim-result h3::before{content:'▲ ';color:var(--red-600)}
.sim-big{font-family:'Inter',sans-serif;font-weight:300;font-size:64px;letter-spacing:-.04em;line-height:.95;color:var(--stone-900);font-variant-numeric:tabular-nums;margin-bottom:12px}
.sim-range{font-family:'Newsreader',serif;font-size:17px;color:var(--ink-2);margin-bottom:24px;line-height:1.5}
.sim-range strong{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.005em}
.sim-grid-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);margin-top:20px}
.sim-grid-stats .sgs{padding:14px 16px;border-right:1px solid var(--line)}
.sim-grid-stats .sgs:last-child{border-right:none}
.sim-grid-stats .lbl{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.sim-grid-stats .val{font-family:'Inter',sans-serif;font-weight:300;font-size:22px;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums}
.sim-grid-stats .val.pct{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:18px;color:var(--accent)}
.sim-grid-stats .help{font-family:'Newsreader',serif;font-size:12.5px;color:var(--ink-2);line-height:1.4;margin-top:8px;letter-spacing:-.003em}
@media (max-width:760px){.sim-grid-stats{grid-template-columns:1fr}.sim-grid-stats .sgs{border-right:none;border-bottom:1px solid var(--line)}.sim-grid-stats .sgs:last-child{border-bottom:none}}
.sim-chart-wrap{margin-top:32px;background:#fff;border:1px solid var(--line);padding:24px}
.sim-chart-wrap h4{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.sim-chart-wrap canvas{max-width:100%;height:260px !important}
.sim-explainer{margin-top:32px;border:1px solid var(--stone-900);background:#fff}
.sim-explainer summary{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--stone-900);cursor:pointer;padding:18px 24px;list-style:none;display:flex;align-items:center;gap:10px;background:var(--stone-50)}
.sim-explainer summary::marker{display:none}
.sim-explainer summary::-webkit-details-marker{display:none}
.sim-explainer summary::before{content:'▸';color:var(--red-600);font-size:14px;transition:transform .2s}
.sim-explainer[open] summary::before{content:'▾'}
.sim-explainer summary:hover{background:#fff}
.sim-explainer-body{padding:8px 24px 28px;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--stone-200)}
.ge-row{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--stone-200);align-items:start}
.ge-row:last-child{border-bottom:none}
.ge-term{font-family:'Inter',sans-serif;font-weight:700;font-size:14px;letter-spacing:-.012em;color:var(--stone-900);line-height:1.3}
.ge-def{font-family:'Newsreader',serif;font-size:14.5px;line-height:1.55;color:var(--stone-700);letter-spacing:-.003em}
.ge-def strong{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px;color:var(--red-600);letter-spacing:-.005em}
.ge-def em{font-style:normal;font-family:'Newsreader',serif;font-weight:600;color:var(--stone-900)}
@media (max-width:760px){.ge-row{grid-template-columns:1fr;gap:8px}}

.filters-line{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.filters-line .lbl{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.filters-line input[type=text],.filters-line select{font-family:'Inter',sans-serif;font-size:13px;padding:8px 12px;border:1px solid var(--line-2);background:#fff;color:var(--ink);outline:none}
.filters-line input[type=text]{width:250px}
.filters-line label.chk{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px solid var(--line-2);padding:8px 12px}
.filters-line label.chk input{accent-color:var(--red-600)}
.filters-line .cnt{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

@media (max-width:760px){
    .wrap{padding:24px 20px 20px}
    .top-bar-inner{padding:12px 20px}
    .kpi-grid{grid-template-columns:1fr 1fr}
    nav.tabs{overflow-x:auto;white-space:nowrap}
}

/* Estado vacío, por ejemplo cuando una línea no cruza con el corpus */
.vacio{padding:34px;border:1px solid var(--line-2);background:var(--bg-2);
    font-family:'Newsreader',serif;font-size:16px;color:var(--ink-2);line-height:1.55}

/* PERFIL DE LAS CONCEDIDAS */
.pf-intro{font-family:'Newsreader',serif;font-size:16px;color:var(--ink-2);line-height:1.55;max-width:780px;margin-bottom:22px}
.pf-intro strong{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--ink);font-weight:700}
.pf-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:36px}
.pf-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 56px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.pf-row:last-child{border-bottom:none}
.pf-nom{font-family:'Inter',sans-serif;font-size:13.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.pf-nom span{display:block;font-family:'Newsreader',serif;font-size:12.5px;font-weight:400;color:var(--muted);margin-top:2px;letter-spacing:0}
.pf-bar{position:relative;height:8px;background:var(--stone-100);border:1px solid var(--line);margin-top:8px;overflow:hidden}
.pf-fill{position:absolute;inset:0 auto 0 0;background:var(--stone-500)}
.pf-fill.up{background:var(--green-700)}
.pf-fill.down{background:var(--stone-400)}
.pf-base{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);z-index:2}
.pf-val{text-align:right;font-family:'JetBrains Mono',monospace}
.pf-val b{display:block;font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.pf-val span{display:block;font-size:9.5px;color:var(--muted);margin-top:2px}
.pf-lift{text-align:right;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:var(--muted)}
.pf-lift.up{color:var(--green-700)}
.pf-lift.down{color:var(--accent)}
@media (max-width:700px){.pf-row{grid-template-columns:minmax(0,1fr) 74px 46px;gap:10px}}

.pf-comp{border:1px solid var(--ink);background:var(--bg-2);padding:22px 24px;margin-bottom:36px}
.pf-comp-h{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.pf-comp-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line-2)}
.pf-comp-row:first-of-type{border-top:none}
.pf-comp-row .k{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:var(--ink)}
.pf-comp-row .v{font-family:'JetBrains Mono',monospace;font-size:13.5px;font-weight:700;color:var(--green-700);font-variant-numeric:tabular-nums}
.pf-comp-row .v em{font-style:normal;color:var(--muted);font-weight:500;font-size:11px}
.pf-comp-row .s{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);font-weight:600;cursor:help}
.pf-nota{font-family:'Newsreader',serif;font-size:14.5px;color:var(--ink-2);line-height:1.5;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}
.pf-nota strong{font-family:'Inter',sans-serif;font-weight:700;color:var(--ink)}

/* CALCULADORA DE PUNTOS */
.calc-total{margin-top:20px;padding-top:16px;border-top:1px solid var(--ink);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.calc-total b{font-size:22px;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pts-desglose{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted-2);margin-top:2px;letter-spacing:.03em}

/* FORMULARIO DEL BAREMO */
.bar-bloque{border:1px solid var(--line-2);background:#fff;padding:16px 18px;margin-bottom:16px}
.bar-bh{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--ink)}
.bar-btit{font-family:'Inter',sans-serif;font-size:14px;font-weight:800;letter-spacing:-.012em;color:var(--ink)}
.bar-bq{font-family:'Newsreader',serif;font-size:12.5px;color:var(--muted);line-height:1.35;margin-top:3px;max-width:300px}
.bar-bsum{flex:none;text-align:right;font-family:'JetBrains Mono',monospace}
.bar-bsum b{font-size:22px;font-weight:700;color:var(--green-700);font-variant-numeric:tabular-nums}
.bar-bsum span{display:block;font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.bar-crit{padding:10px 0;border-top:1px solid var(--line)}
.bar-crit:first-of-type{border-top:none}
.bar-crit label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 6px;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0}
.bar-ct{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.3}
.bar-cmax{flex:none;font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--muted);letter-spacing:.06em}
.bar-fila{display:grid;grid-template-columns:1fr 42px;gap:12px;align-items:center}
.bar-fila input[type=range]{width:100%;accent-color:var(--accent);margin:0}
.bar-fila output{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.bar-ayuda{font-family:'Newsreader',serif;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:5px}
.bar-min{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--green-700)}
.bar-min.ko{color:var(--accent)}
.bar-fuente{margin-top:16px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);line-height:1.5}
.bar-fuente a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent)}
.calc-min{display:inline-block;margin-left:10px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px}
.calc-min.ok{background:var(--green-700);color:#fff}
.calc-min.ko{background:var(--accent);color:#fff}
.bar-item{padding:11px 0;border-top:1px solid var(--line)}
.bar-item:first-of-type{border-top:none}
.bar-item label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 6px;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0}
.bar-item input[type=number],.bar-item select{width:100%;max-width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line-2);padding:8px 11px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink);outline:none;font-weight:600;text-overflow:ellipsis}
.bar-item input[type=number]:focus{border-color:var(--accent)}
/* TITULARES DEL RESUMEN */
.tit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border:1px solid var(--line);margin-bottom:10px}
.tit-card{padding:20px 22px;border-right:1px solid var(--line);min-width:0}
.tit-card:last-child{border-right:none}
.tit-cifra{font-family:'Inter',sans-serif;font-weight:300;font-size:34px;letter-spacing:-.03em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.tit-cifra em{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;color:var(--muted);margin-left:7px;letter-spacing:.04em}
.tit-tit{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;color:var(--ink);margin-top:12px;letter-spacing:-.005em;line-height:1.3}
.tit-txt{font-family:'Newsreader',serif;font-size:13.5px;color:var(--ink-2);line-height:1.45;margin-top:7px}
.tit-pie{margin-bottom:44px}
.tit-link{cursor:pointer;background:none;border:none;padding:0;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent)}
.tit-link:hover{color:var(--ink);border-bottom-color:var(--ink)}
@media (max-width:760px){.tit-card{border-right:none;border-bottom:1px solid var(--line)}.tit-card:last-child{border-bottom:none}}

/* QUÉ DICEN LOS DATOS */
.cn-bloque{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:44px;padding:6px 0}
.cn-sub{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:16px 0 8px;border-bottom:1px solid var(--line)}
.cn-sub span{display:block;margin-top:3px;font-size:9px;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--muted)}
.cv-cab,.cv-fila{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) 96px 96px;gap:14px;align-items:center}
.cv-cab{padding:14px 0 7px;border-bottom:1px solid var(--ink);font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.cv-cab .r{text-align:right;color:var(--ink)}
.cv-fila{padding:10px 0;border-bottom:1px solid var(--line)}
.cv-fila:last-child{border-bottom:none}
.cv-tramo{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:-.005em;line-height:1.3}
.cv-tramo.lg{font-size:12.5px}
.cv-tramo em{display:block;font-style:normal;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:500;color:var(--muted-2);margin-top:2px}
.cv-barra{display:block;height:14px;background:var(--stone-100);border:1px solid var(--line)}
.cv-barra i{display:block;height:100%;background:var(--accent)}
/* gráfico de distancia, dos puntos y el hueco entre ellos */
.cv-pista{position:relative;display:block;height:16px}
.cv-pista::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line-2)}
.cv-pista .hueco{position:absolute;top:50%;height:3px;transform:translateY(-50%);background:var(--accent);opacity:.28}
.cv-pista .pt{position:absolute;top:50%;width:11px;height:11px;margin-left:-5.5px;transform:translateY(-50%);border-radius:50%;border:1.5px solid #fff}
.cv-pista .pt.si{background:var(--green-700);z-index:2}
.cv-pista .pt.no{background:var(--stone-500,#78716c)}
.cv-fila.pesa .cv-a{color:var(--green-700)}
/* barra apilada, para repartos que suman el cien por cien */
.cv-fila.apil{grid-template-columns:minmax(0,220px) minmax(0,1fr)}
.cv-apil{display:flex;height:22px;border:1px solid var(--line);overflow:hidden}
.cv-apil i{display:flex;align-items:center;justify-content:center;font-style:normal;font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;color:#fff;letter-spacing:.03em}
.cv-apil .sb{background:var(--green-700)}
.cv-apil .ig{background:var(--stone-300,#d6d3d1);color:var(--ink-2)}
.cv-apil .bj{background:var(--accent)}
/* columnas verticales, para curvas y repartos por tramos */
.cv-cols{display:flex;align-items:flex-end;gap:6px;padding:18px 0 4px;min-height:210px}
.cv-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:190px}
.cv-col-v{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:-.02em;margin-bottom:5px;font-variant-numeric:tabular-nums}
.cv-col-b{width:100%;max-width:56px;background:var(--green-700);display:block;min-height:2px}
.cv-col:nth-child(odd) .cv-col-b{background:var(--green-700);opacity:.82}
.cv-col-e{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;color:var(--ink-2);margin-top:7px;white-space:nowrap}
.cv-col-p{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted-2);margin-top:2px}
/* cuadrícula de casillas, para contar sobre un total pequeño */
.cv-cas{padding:6px 0}
.cv-cas-fila{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 82px;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.cv-cas-fila:last-child{border-bottom:none}
.cv-cas-e{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--ink)}
.cv-cas-g{display:flex;gap:4px;flex-wrap:wrap}
.cv-cas-g i{width:17px;height:17px;background:var(--stone-100);border:1px solid var(--line-2);display:block}
.cv-cas-g i.on{background:var(--green-700);border-color:var(--green-700)}
.cv-cas-v{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-align:right}
/* rango con cuartiles, para una distribución resumida */
.cv-rangos{padding:14px 0 4px}
.cv-rango{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) 78px;gap:14px;align-items:center;padding:12px 0}
.cv-rg-pista{position:relative;display:block;height:20px}
.cv-rg-pista .ext{position:absolute;top:50%;height:2px;transform:translateY(-50%);background:var(--line-2)}
.cv-rg-pista .caja{position:absolute;top:50%;height:14px;transform:translateY(-50%);background:var(--green-700);opacity:.24}
.cv-rg-pista b{position:absolute;top:50%;width:2px;height:18px;transform:translate(-1px,-50%);background:var(--green-700)}
/* puntos sobre escala, más ligero que la barra maciza */
.cv-pt-fila{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) 78px 132px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.cv-pt-fila:last-child{border-bottom:none}
.cv-pt-pista{position:relative;display:block;height:14px}
.cv-pt-pista::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.cv-pt-pista b{position:absolute;top:50%;width:12px;height:12px;margin-left:-6px;transform:translateY(-50%);border-radius:50%;background:var(--accent);border:1.5px solid #fff}
.cv-leyenda{display:flex;flex-wrap:wrap;gap:16px;padding:10px 0 2px;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.06em;color:var(--muted);line-height:1.5}
.cv-leyenda span{display:inline-flex;align-items:center;gap:6px}
.cv-leyenda i{width:10px;height:10px;border-radius:50%;display:inline-block}
.cv-leyenda i.si,.cv-leyenda i.sb{background:var(--green-700)}
.cv-leyenda i.no{background:var(--stone-500,#78716c)}
.cv-leyenda i.ig{background:var(--stone-300,#d6d3d1);border-radius:0}
.cv-leyenda i.bj{background:var(--accent);border-radius:0}
.cv-a{font-family:'Inter',sans-serif;font-size:17px;font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cv-b{font-family:'Inter',sans-serif;font-size:15px;font-weight:400;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cn-lectura{padding:16px 0 14px;border-top:1px solid var(--line)}
.cn-lectura p{font-family:'Newsreader',serif;font-size:15px;line-height:1.55;color:var(--ink-2);margin-bottom:10px}
.cn-lectura p:last-child{margin-bottom:0}
.cn-lectura strong{color:var(--ink);font-weight:600}
@media (max-width:760px){
  .cv-cab{display:none}
  .cv-fila{grid-template-columns:minmax(0,1fr) 70px 70px;grid-template-areas:'t a b' 'r r r';gap:5px 10px}
  .cv-tramo{grid-area:t}.cv-a{grid-area:a}.cv-b{grid-area:b}.cv-barra{grid-area:r}
  .cv-fila.pesa{grid-template-areas:'t a b' 'p p p'}.cv-pista{grid-area:p}
  .cv-fila.apil{grid-template-columns:1fr;grid-template-areas:'t' 'p'}.cv-apil{grid-area:p}
  .cv-pt-fila{grid-template-columns:minmax(0,1fr) 70px;grid-template-areas:'t a' 'p p' 'b b';gap:4px 10px}
  .cv-pt-pista{grid-area:p}
  .cv-cols{min-height:170px;gap:3px}.cv-col{height:150px}
  .cv-col-v{font-size:10px}.cv-col-e{font-size:8.5px}.cv-col-p{display:none}
  .cv-cas-fila{grid-template-columns:1fr;gap:6px}
  .cv-cas-v{text-align:left}
}

/* CALENDARIO DE ANUALIDADES DEL ICEC */
.an-bloque{margin-top:10px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--line)}
.an-tit{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.an-tit span{display:block;margin-top:3px;font-size:9px;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--muted-2)}
.an-fila{display:flex;align-items:baseline;gap:10px;padding:3px 0;border-bottom:1px solid var(--line)}
.an-fila:last-child{border-bottom:none}
.an-ano{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--ink);min-width:38px}
.an-imp{flex:1;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:600;color:var(--green-700)}
.an-pct{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted)}
.badge.reserva{background:var(--stone-100);color:var(--ink-2);border-color:var(--line-2)}

/* DESGLOSE DE LA COMISIÓN, ANEXO CUARTO */
.cm-bloque{margin-top:10px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--line)}
.cm-tit{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.cm-tit span{display:block;margin-top:3px;font-size:9px;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--muted-2)}
.traj-proj.link{cursor:pointer}
.traj-proj.link:hover{background:var(--stone-100)}
.traj-proj.link:hover .pname{color:var(--accent)}
.cm-fila{display:grid;grid-template-columns:26px minmax(0,1fr) 70px 62px;gap:8px;align-items:center;margin-bottom:3px}
.cm-nom{font-family:'Inter',sans-serif;font-size:11px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-val em{display:block;font-style:normal;font-size:8.5px;font-weight:500;color:var(--muted-2)}
.cm-col{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;color:var(--muted-2);letter-spacing:.06em}
.cm-barra{display:block;height:8px;background:var(--stone-100);border:1px solid var(--line)}
.cm-barra i{display:block;height:100%;background:var(--accent)}
.cm-val{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.cm-pie{margin-top:7px;font-family:'Newsreader',serif;font-size:11.5px;color:var(--muted);line-height:1.4}
.bar-cat{padding:12px 14px;margin-bottom:16px;background:var(--stone-100);border:1px solid var(--ink)}
.bar-cat label{display:block;margin:0 0 7px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.bar-cat select{width:100%;background:#fff;border:1px solid var(--line-2);padding:9px 12px;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:var(--ink);outline:none}
.bar-grupo-ini{margin-top:14px;padding:10px 12px;background:var(--stone-100);border-left:3px solid var(--accent);font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;color:var(--ink)}
.bar-grupo-ini span{display:block;margin-top:4px;font-family:'Newsreader',serif;font-size:12.5px;font-weight:400;color:var(--ink-2);line-height:1.45}
.bar-tope{margin:2px 0 14px;padding:7px 12px;background:var(--bg-2);border-left:3px solid var(--line-2);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.04em;color:var(--muted)}
.bar-tope.lleno{border-left-color:var(--green-700);color:var(--green-700)}
.bar-tope.pasado{border-left-color:var(--accent);color:var(--accent)}
.bar-check{display:flex !important;align-items:center;gap:10px;cursor:pointer;margin:0 !important}
.bar-check input{accent-color:var(--green-700);width:16px;height:16px;flex:none;margin:0}
.bar-check .bar-ct{flex:1}
.bar-pts{flex:none;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;color:var(--green-700)}

/* SELECTOR DE FESTIVALES DEL ANEXO II */
.fest-buscar{width:100%;background:#fff;border:1px solid var(--line-2);padding:8px 11px;font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--ink);outline:none}
.fest-buscar:focus{border-color:var(--accent)}
.fest-lista{max-height:210px;overflow-y:auto;border:1px solid var(--line);border-top:none;background:var(--bg-2)}
.fest-fila{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);min-width:0}
.fest-fila:last-child{border-bottom:none}
.fest-fila.puesto{background:var(--stone-100)}
.fest-nom{flex:1;min-width:0;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.3}
.fest-meta{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:400;color:var(--muted);letter-spacing:.03em;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fest-btn{flex:none;cursor:pointer;background:#fff;border:1px solid var(--line-2);color:var(--ink-2);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;padding:4px 9px}
.fest-btn:hover{border-color:var(--accent);color:var(--accent)}
.fest-btn.premio{color:var(--green-700);border-color:var(--green-700)}
.fest-btn.premio:hover{background:var(--green-700);color:#fff}
.fest-vacio{padding:9px 10px;font-family:'Newsreader',serif;font-size:12.5px;color:var(--muted)}
.fest-elegidos{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fest-chip{display:inline-flex;align-items:center;gap:7px;background:var(--stone-100);border:1px solid var(--line-2);padding:4px 8px;font-family:'Inter',sans-serif;font-size:11.5px;font-weight:600;color:var(--ink)}
.fest-chip em{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;color:var(--green-700);letter-spacing:.04em}
.fest-quitar{cursor:pointer;background:none;border:none;color:var(--muted);font-size:12px;line-height:1;padding:0}
.fest-quitar:hover{color:var(--accent)}
.fest-nota{font-size:11.5px;color:var(--muted-2);font-style:italic}
.sim-cuales{display:block;font-size:13px;color:var(--muted);margin:6px 0}
.fest-suma{width:100%;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);letter-spacing:.04em;margin-top:2px}
.fest-suma b{color:var(--ink);font-size:12px}

/* REPARTO POR MODALIDAD Y PARIDAD */
.rp-leyenda{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:16px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rp-leyenda span{display:inline-flex;align-items:center;gap:6px}
.rp-leyenda i{width:11px;height:11px;display:inline-block}
.rp-leyenda .rp-ldir{text-transform:none;letter-spacing:0;font-family:'Newsreader',serif;font-size:12.5px;color:var(--muted)}
.rp-lista{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:44px}
.rp-row{display:grid;grid-template-columns:88px 1fr 40px 52px;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.rp-row:last-child{border-bottom:none}
.rp-ano{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:var(--ink)}
.rp-ano span{display:block;font-size:9.5px;font-weight:500;color:var(--muted);margin-top:2px}
.rp-barra{display:flex;height:20px;background:var(--stone-100);border:1px solid var(--line)}
.rp-seg{height:100%}
.rp-tot{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.rp-dir{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.rp-dir.ok{color:var(--green-700)}
.rp-dir.nd{font-size:9px;font-weight:500;color:var(--muted-2);letter-spacing:.04em}
.rp-cab{display:grid;grid-template-columns:88px 1fr 40px 52px;gap:16px;padding:0 0 7px;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.rp-cab-tot,.rp-cab-dir{text-align:right}
.rp-cab-dir{line-height:1.2}
@media (max-width:700px){.rp-row{grid-template-columns:66px 1fr 32px 44px;gap:8px}}

/* consulta directa de la curva objetiva */
.cn-consulta{padding:18px 0 4px;border-top:1px solid var(--line)}
.cn-consulta label{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.cn-consulta input{width:200px;background:#fff;border:1px solid var(--ink);padding:10px 12px;font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:600;color:var(--ink);outline:none;font-variant-numeric:tabular-nums}
.cn-consulta input:focus{border-color:var(--accent)}
.cn-consulta-out p{font-family:'Newsreader',serif;font-size:15.5px;line-height:1.55;color:var(--ink-2);margin-top:14px}
