/* Ficha pública de organismo: cómo contrata y qué contrata en una sola página,
   y sus páginas dedicadas (menores, licitaciones, proveedores, avisos). */
.of{--of-granate:#7f1d1d;--of-granate-h:#5c1515;--of-ocre:#ca8a04;--of-ocre-t:#8a5a05;--of-ocre-c:#f3e3b5;--of-gris:#525252;--of-hueso:#fafaf9;--of-tinta:#1c1917;--of-suave:#5f5a55;--of-linea:#e4e0dc;--of-crudo:#f4efe6;--of-display:var(--font-family-display,"Inter Tight",Inter,system-ui,sans-serif);--of-sans:var(--font-family-sans,Inter,system-ui,sans-serif);background:var(--of-hueso);color:var(--of-tinta);font:16px/1.55 var(--of-sans)}
.of *{box-sizing:border-box}
.of a{color:var(--of-granate)}
.of a:focus-visible,.of button:focus-visible,.of summary:focus-visible{outline:3px solid var(--of-ocre);outline-offset:2px}
.of h1,.of h2,.of h3,.of h4{font-family:var(--of-display);letter-spacing:-.018em;line-height:1.08;margin:0;font-weight:700}
.of-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
/* Cabecera */
.of-top{background:var(--of-granate);color:#fff;padding:28px 0 36px}
.of-top.of-sub-top{padding:22px 0 26px}
.of-miga{font-size:.9rem;color:#f3e3b5}.of-miga a{color:#f3e3b5;text-decoration:none}.of-miga a:hover{text-decoration:underline}.of-miga span{margin:0 8px;opacity:.55}
.of-top h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:16em;color:#fff;margin-top:10px;text-wrap:balance}
.of-top.of-sub-top h1{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.of-desc{color:#f8ecec;max-width:52em;margin:12px 0 0;font-size:1.05rem}
.of-desc a{color:#f3e3b5}
.of-mundos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;max-width:980px}
.of-mundo{display:block;border-radius:8px;padding:18px 22px 20px;text-decoration:none;color:var(--of-tinta)}
.of-mundo .q{display:block;font-weight:600;font-size:.92rem}
.of-mundo .kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.of-mundo .n{display:block;font:700 clamp(1.25rem,2.1vw,1.7rem)/1 var(--of-display);letter-spacing:-.02em;margin:0 0 3px;font-variant-numeric:tabular-nums}
.of-mundo .d{display:block;font-size:.8rem;line-height:1.3;opacity:.85}
.of-mundo.menor{background:#fff}.of-mundo.menor .n{color:var(--of-granate)}
.of-mundo.licit{background:var(--of-ocre)}.of-mundo.licit .n{color:var(--of-tinta)}
.of-mundo:hover{outline:2px solid #fff;outline-offset:2px}
.of-reparto{grid-column:1/-1;color:#f8ecec;font-size:.9rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;align-items:center;margin-top:4px}
.of-reparto .q{font-weight:600;color:#fff}
.of-reparto .barra{display:flex;height:10px;border-radius:5px;overflow:hidden;background:rgba(255,255,255,.15)}
.of-reparto .barra .a{background:#fff}.of-reparto .barra .b{background:var(--of-ocre)}
.of-reparto .d{grid-column:1/-1}
.of-resumen{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:14px;color:#f8ecec;font-size:.92rem}
.of-resumen b{display:block;color:#fff;font:700 1.25rem/1.1 var(--of-display);font-variant-numeric:tabular-nums}
/* Esqueleto */
.of-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:36px;margin-top:30px}
.of-toc{position:sticky;top:18px;align-self:start;font-size:.88rem}
.of-toc .grupo{margin-bottom:18px}
.of-toc .grupo-t{font-weight:700;font-size:.82rem;color:var(--of-suave);padding:0 0 6px 10px}
.of-toc a{display:block;padding:5px 10px;border-left:2px solid var(--of-linea);color:var(--of-suave);text-decoration:none;line-height:1.3}
.of-toc a.on{border-left-color:var(--of-granate);color:var(--of-tinta);font-weight:600}
.of-toc a:hover{color:var(--of-tinta)}
.of-toc a small{display:block;color:#9a948e;font-weight:400;font-size:.78rem}
.of-main{display:flex;flex-direction:column;gap:18px;min-width:0}
.of-sec{border-radius:10px;padding:32px 34px 36px;position:relative;background:#fff}
.of-sec h2{font-size:clamp(1.55rem,2.6vw,2.1rem)}
.of-sec h2::after{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--of-granate);margin-top:10px}
.of-cab{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:12px 20px;margin-bottom:6px}
.of-cab h2{flex:1 1 auto;min-width:0;text-wrap:balance}
.of-sub{color:var(--of-suave);margin:0 0 18px;max-width:72ch;font-size:.86rem;line-height:1.5}
.of-sub.corta{margin-bottom:12px}
.of-t-como{border:1px solid var(--of-linea)}
.of-t-como .of-ind{background:var(--of-hueso)}
.of-t-como .of-cab h2{padding-right:330px}
.of-t-casos{background:var(--of-hueso);border:1px solid var(--of-linea)}
.of-t-casos h2::after{background:var(--of-tinta)}
.of-t-avisos{background:#f6ecec}
.of-t-avisos .of-fi{border-color:#e6cfcf}
.of-t-licit{background:#fbf3df}
.of-t-licit h2::after{background:var(--of-ocre)}
.of-t-licit .of-fi{border-color:#ead9a8}
.of-t-licit .of-ir{background:var(--of-tinta)}.of-t-licit .of-ir:hover{background:#000}
.of-t-menores{border:1px solid var(--of-linea)}
.of-t-menores .of-fi{background:var(--of-hueso)}
.of-t-prov{background:var(--of-crudo)}
.of-t-prov h2::after{background:var(--of-tinta)}
.of-t-metodo{background:var(--of-tinta);color:#e7e5e4}
.of-t-metodo h2{color:#fff}.of-t-metodo h2::after{background:var(--of-ocre)}
.of-t-metodo .of-sub{color:#c9c4bf}
.of-t-metodo a{color:var(--of-ocre-c)}
.of-metodo dl{margin:0;display:grid;grid-template-columns:130px 1fr;gap:8px 14px;font-size:.92rem;color:#d6d3d1}
.of-metodo dt{font-weight:600;color:#fff}.of-metodo dd{margin:0;max-width:70ch}
/* Selector de periodo */
.of-con-periodo{position:relative;display:flex;flex-direction:column;gap:18px}
.of-periodo-wrap{position:sticky;top:10px;z-index:6;height:0;display:flex;justify-content:flex-end;padding-right:26px;pointer-events:none}
.of-periodo{display:inline-flex;border:1px solid var(--of-linea);border-radius:6px;background:#fff;padding:3px;pointer-events:auto;margin-top:26px;box-shadow:0 2px 10px rgba(28,25,23,.12)}
.of-periodo button{appearance:none;border:0;background:transparent;font:600 .9rem var(--of-sans);padding:8px 13px;border-radius:4px;cursor:pointer;color:var(--of-suave)}
.of-periodo button[aria-pressed=true]{background:var(--of-tinta);color:#fff}
/* Lectura: texto IA o resumen determinista, y pares */
.of-lectura{display:grid;grid-template-columns:minmax(0,60ch) minmax(280px,1fr);gap:34px;align-items:start;margin-bottom:26px}
.of-lectura h3{font-size:clamp(1.15rem,1.9vw,1.45rem);font-weight:600;line-height:1.2;margin-bottom:12px;text-wrap:balance}
.of-lectura p{margin:0 0 12px;font-size:1.02rem}
.of-lectura ul{margin:0 0 12px;padding-left:1.2em}.of-lectura li{margin-bottom:6px}
.of-firma{border-top:1px solid var(--of-linea);padding-top:10px;margin-top:6px;font-size:.84rem;color:var(--of-suave)}
.of-firma a{color:var(--of-suave)}
.of-tend{display:inline-block;font-size:.76rem;font-weight:600;border-radius:4px;padding:3px 7px;background:var(--of-crudo);color:var(--of-tinta);vertical-align:middle;margin-left:6px}
.of-tend.a_la_baja{background:var(--of-tinta);color:#fff}.of-tend.al_alza{background:var(--of-granate);color:#fff}
.of-pares h4{font-size:1rem;margin-bottom:2px}.of-pares p{color:var(--of-suave);font-size:.88rem;margin:0 0 6px}
.of-pares .frase{font-size:.95rem;color:var(--of-tinta);margin-top:6px}
.of-ch-p{height:120px}.of-ch{height:230px}.of-ch-m{height:170px}.of-ch-h{height:150px}.of-ch-s{height:30px}.of-ch-t{height:280px}
/* Indicadores */
.of-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:12px;margin-top:6px}
.of-ind{background:#fff;border:1px solid var(--of-linea);border-radius:6px;padding:14px 16px 12px;display:flex;flex-direction:column}
.of-ind .q{font-size:.88rem;color:var(--of-suave);line-height:1.3;min-height:2.6em}
.of-ind .v{font:700 1.85rem/1 var(--of-display);letter-spacing:-.02em;margin-top:8px;font-variant-numeric:tabular-nums}
.of-ind .v small{font-size:.5em;color:var(--of-suave);font-weight:600;margin-left:2px}
.of-ind .v.sin{color:#a39d97;font-size:1.3rem;margin-top:12px}
.of-ind .pista{position:relative;height:22px;margin-top:10px}
.of-ind .pista .tr{position:absolute;left:0;right:0;top:10px;height:3px;background:var(--of-linea);border-radius:2px}
.of-ind .pista .med{position:absolute;top:4px;width:2px;height:15px;background:var(--of-ocre-t);transform:translateX(-1px)}
.of-ind .pista .yo{position:absolute;top:5px;width:12px;height:12px;border-radius:50%;background:var(--of-granate);border:2px solid #fff;transform:translateX(-6px);box-shadow:0 0 0 1px var(--of-granate)}
.of-ind .pie-p{display:flex;justify-content:space-between;font-size:.74rem;color:var(--of-suave);margin-top:2px}
.of-ind .cmp{font-size:.82rem;color:var(--of-suave);margin-top:8px;line-height:1.35}.of-ind .cmp b{color:var(--of-tinta)}
.of-ind .spark{height:30px;margin-top:8px}
.of-ind details{margin-top:8px;font-size:.82rem;color:var(--of-suave)}.of-ind summary{cursor:pointer;color:var(--of-granate);font-weight:600;font-size:.8rem}.of-ind details p{margin:6px 0 0}
.of-ind .estado{margin-top:auto;padding-top:8px;font-size:.76rem;color:#8b857f}
.of-nota{font-size:.86rem;color:var(--of-suave);margin:12px 0 0;max-width:72ch}.of-nota b{color:var(--of-tinta)}
/* Evolución */
.of-tendencias{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:22px 0}
.of-tendencias div{background:#fff;border:1px solid var(--of-linea);border-radius:6px;padding:11px 13px}
.of-tendencias .q{font-size:.82rem;color:var(--of-suave)}
.of-tendencias .r{display:flex;justify-content:space-between;align-items:center;margin-top:5px;font-weight:600;font-variant-numeric:tabular-nums;gap:8px}
.of-chip{font-size:.76rem;font-weight:600;border-radius:4px;padding:3px 7px;background:var(--of-crudo);color:var(--of-tinta);white-space:nowrap}
.of-chip.sube{background:var(--of-granate);color:#fff}.of-chip.baja{background:var(--of-tinta);color:#fff}
.of-dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.of-tc{font-weight:600;margin:0 0 2px}.of-ay{color:var(--of-suave);font-size:.88rem;margin:0 0 6px}
.of-tabla{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff;border:1px solid var(--of-linea);border-radius:6px;overflow:hidden;margin-top:10px}
.of-tabla th,.of-tabla td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--of-linea);font-variant-numeric:tabular-nums;white-space:nowrap}
.of-tabla th:first-child,.of-tabla td:first-child{text-align:left}.of-tabla th{background:var(--of-crudo);font-weight:600;font-size:.8rem;color:var(--of-suave)}
.of-tabla tr:last-child td{border-bottom:0}.of-tabla .parcial td{color:var(--of-suave)}
.of-tabla-scroll{overflow-x:auto}
/* Casos destacados */
.of-mesa{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px}
.of-ls{display:flex;flex-direction:column;gap:6px}
.of-ca{appearance:none;text-align:left;background:#fff;border:1px solid var(--of-linea);border-radius:6px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--of-tinta)}
.of-ca[aria-pressed=true]{border-color:var(--of-tinta);background:var(--of-crudo)}
.of-ca strong{display:block;font-size:.95rem;line-height:1.3}.of-ca small{color:var(--of-suave);font-size:.8rem}
.of-pa{background:#fff;border:1px solid var(--of-linea);border-radius:6px;padding:22px 24px}
.of-pa h3{font-size:1.3rem;margin-bottom:4px}.of-pa .emp{color:var(--of-suave);font-size:.9rem;margin:0 0 10px}
.of-pa .por{font-size:1rem;margin:0 0 10px}
.of-pa .mv-chart{position:relative;min-height:60px}.of-pa .mv-chart svg{display:block;width:100%;height:auto}
.of-pa .mv-tip{position:absolute;pointer-events:none;background:var(--of-tinta);color:#fff;font-size:13px;padding:6px 10px;border-radius:5px;opacity:0;transform:translate(-50%,-118%);line-height:1.35;width:max-content;max-width:280px;z-index:5}
.of-g2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.of-g2 h4{font-size:.95rem;margin-bottom:4px}.of-g2 p{margin:0;font-size:.92rem;color:var(--of-suave)}
.of-rel{font-size:.74rem;font-weight:600;border-radius:3px;padding:2px 6px;background:var(--of-crudo);color:var(--of-tinta)}.of-rel.alta{background:var(--of-granate);color:#fff}
/* Vistas previas */
.of-previa{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;margin-bottom:18px}
.of-barras{display:grid;grid-template-columns:minmax(0,1fr) 140px 90px;gap:7px 12px;align-items:center;font-size:.9rem}
.of-barras .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.of-barras .nm a{color:var(--of-tinta);text-decoration:none}.of-barras .nm a:hover{text-decoration:underline}
.of-barras .b{height:12px;background:var(--of-crudo);border-radius:2px;overflow:hidden}.of-barras .b i{display:block;height:100%;background:var(--of-granate)}.of-barras .b i.ocre{background:var(--of-ocre)}
.of-barras .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--of-suave)}
.of-fichas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:6px}
.of-fi{display:block;background:#fff;border:1px solid var(--of-linea);border-radius:6px;padding:14px 16px;text-decoration:none;color:var(--of-tinta)}
.of-fi:hover{border-color:var(--of-tinta)}
.of-fi .k{font-size:.78rem;color:var(--of-ocre-t);font-weight:600;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.of-fi .t{font-weight:600;font-size:.92rem;line-height:1.35;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.of-fi .m{margin-top:8px;font-size:.82rem;color:var(--of-suave);display:flex;flex-wrap:wrap;gap:4px 12px;font-variant-numeric:tabular-nums}
.of-fi .m b{color:var(--of-tinta)}
.of-ir{display:inline-block;margin-top:22px;background:var(--of-granate);color:#fff !important;text-decoration:none;font-weight:600;padding:11px 16px;border-radius:5px}
.of-ir:hover{background:var(--of-granate-h)}
.of-ir.suave{background:transparent;color:var(--of-granate) !important;border:1px solid var(--of-granate);margin-left:8px}
.of-t-licit .of-ir.suave{color:var(--of-tinta) !important;border-color:var(--of-tinta);background:transparent}
.of-vacio{background:#fff;border:1px dashed var(--of-linea);border-radius:6px;padding:16px 18px;font-size:.92rem;color:var(--of-suave)}
.of-pie{font-size:.86rem;color:var(--of-suave);padding:18px 0 60px}
/* Páginas dedicadas */
.of-banda{border-radius:10px;padding:22px 26px 28px;margin:22px 0 40px}
.of-banda.licit{background:#fbf3df}.of-banda.menor{background:#fff;border:1px solid var(--of-linea)}.of-banda.prov{background:var(--of-crudo)}.of-banda.avisos{background:#f6ecec}
.of-banda .unified-table{box-shadow:none;border:0;background:transparent}
.of-banda .unified-table-header{padding:0 0 12px}
.of-contexto{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:22px}
.of-contexto > div{background:#fff;border:1px solid var(--of-linea);border-radius:8px;padding:16px 18px;font-size:.9rem}
.of-contexto h3{font-size:1rem;margin-bottom:6px}.of-contexto p{margin:0 0 8px;color:var(--of-suave)}.of-contexto p:last-child{margin:0}
.of-contexto .mini{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.of-contexto .mini div{background:var(--of-hueso);border-radius:6px;padding:8px 10px}
.of-contexto .mini b{display:block;font:700 1.15rem/1.1 var(--of-display);font-variant-numeric:tabular-nums}
.of-contexto .mini span{font-size:.78rem;color:var(--of-suave)}
.of-csv .csv-export-component button{background:transparent !important;box-shadow:none !important;color:var(--of-granate) !important;padding:0 !important;font-size:.88rem;border-radius:0}
.of-csv .csv-export-component button:hover{text-decoration:underline}
.of-pest{display:flex;gap:4px;border-bottom:1px solid var(--of-linea);margin:0 0 16px;flex-wrap:wrap}
.of-pest a{font:600 .95rem var(--of-sans);padding:10px 14px;color:var(--of-suave);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.of-pest a[aria-current=page]{color:var(--of-tinta);border-bottom-color:var(--of-granate)}
.of-tabla td.t{text-align:left;white-space:normal;min-width:220px;line-height:1.35}
.of-tabla td.t a{color:var(--of-tinta);text-decoration:none;font-weight:500}.of-tabla td.t a:hover{text-decoration:underline}
.of-b2{display:inline-block;height:10px;border-radius:2px;background:var(--of-granate);vertical-align:middle}.of-b2.ocre{background:var(--of-ocre)}
.of .mv{--mv-rojo:#7f1d1d;--mv-rojo-h:#5c1515;--mv-oro:#ca8a04;--mv-oro-t:#854d0e;--mv-gris:#525252;--mv-fondo:transparent;--mv-tinta:#1c1917;--mv-suave:#57534e;--mv-linea:#e7e5e4;background:transparent}
@media (prefers-reduced-motion:reduce){.of *{scroll-behavior:auto}}
@media (max-width:1000px){.of-t-como .of-cab h2{padding-right:0}}
@media (max-width:900px){.of-layout{grid-template-columns:1fr;gap:0}.of-toc{position:sticky;top:0;z-index:10;background:var(--of-hueso);display:flex;gap:2px;overflow-x:auto;padding:8px 0;border-bottom:1px solid var(--of-linea);margin-bottom:16px}.of-toc .grupo{display:flex;margin:0}.of-toc .grupo-t{display:none}.of-toc a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.of-toc a.on{border-bottom-color:var(--of-granate)}.of-toc a small{display:none}.of-lectura{grid-template-columns:1fr}.of-mesa{grid-template-columns:1fr}.of-g2{grid-template-columns:1fr}.of-sec{padding:24px 18px 28px;border-radius:8px}.of-cab{flex-wrap:wrap}.of-periodo-wrap{position:static;height:auto;justify-content:flex-start;padding:0 0 0 18px}.of-periodo{margin:0 0 -8px;box-shadow:none}.of-metodo dl{grid-template-columns:1fr}.of-banda{padding:18px 16px 22px}}
@media (max-width:640px){.of-mundos{grid-template-columns:1fr}.of-reparto{grid-template-columns:1fr}.of-mundo .n{font-size:1.1rem}}
@media (max-width:560px){.of-sec{margin:0 -8px}}
