/* ==========================================================
   STB Transparencia Enterprise 8.0 RC
   Portal institucional de transparencia
   ========================================================== */

.stb-transparencia-enterprise{
    --stb-blue-dark:#06224d;
    --stb-blue:#003b8e;
    --stb-blue-2:#0d6efd;
    --stb-blue-soft:#edf5ff;
    --stb-border:#dbe7f5;
    --stb-text:#0f172a;
    --stb-muted:#475569;
    --stb-red:#dc2626;
    --stb-green:#0f8a43;

    position:relative;
    width:100%;
    max-width:none;
    margin:0;
    padding:0 0 36px;
    color:var(--stb-text);
    font-size:14px;
    box-sizing:border-box;
    overflow-x:hidden;
}

.stb-transparencia-enterprise *,
.stb-transparencia-enterprise *::before,
.stb-transparencia-enterprise *::after{
    box-sizing:border-box;
}

.stb-transparencia-enterprise .dashicons{
    display:none !important;
}

/* SVG */
.stb-svg{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    min-width:20px;
    line-height:1;
    vertical-align:middle;
}

.stb-svg svg{
    width:100%;
    height:100%;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* HERO FULL WIDTH */
.stb-trans-hero-bleed{
    position:relative;
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    margin-top:0;
    overflow:hidden;
}

.stb-trans-hero-bg{
    position:relative;
    width:100%;
    min-height:176px;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    padding:30px clamp(24px, 13vw, 290px);
    background:
        radial-gradient(circle at 8% 0%,rgba(255,255,255,.18),transparent 25%),
        linear-gradient(135deg,#06224d 0%,#003b8e 52%,#0d6efd 100%);
    box-shadow:0 16px 34px rgba(0,59,142,.18);
}

.stb-trans-hero-inner{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:24px;
    width:100%;
    max-width:1280px;
    margin:0 auto;
    min-width:0;
}

.stb-trans-hero-icon{
    width:88px;
    height:88px;
    min-width:88px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.24);
}

.stb-trans-hero-icon .stb-svg{
    width:46px;
    height:46px;
    color:#fff;
}

.stb-trans-hero-text h1{
    margin:0 0 8px;
    color:#fff;
    font-size:32px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.02em;
}

.stb-trans-hero-text p{
    margin:0 0 12px;
    max-width:920px;
    color:rgba(255,255,255,.94);
    font-size:15px;
    line-height:1.45;
}

.stb-trans-hero-meta{
    display:flex;
    flex-direction:column;
    gap:6px;
    color:#fff;
    font-size:13px;
    font-weight:600;
}

.stb-trans-hero-meta span{
    display:flex;
    align-items:center;
    gap:10px;
}

.stb-trans-hero-meta .stb-svg{
    color:#fff;
}

.stb-trans-hero-mark{
    position:absolute;
    right:clamp(24px, 16vw, 330px);
    bottom:0;
    opacity:.13;
    z-index:1;
}

.stb-trans-hero-mark .stb-svg{
    width:128px;
    height:128px;
    color:#fff;
}

/* MAIN SHELL */
.stb-trans-shell{
    width:min(100% - 28px, 1680px);
    max-width:1680px;
    margin:18px auto 0;
}

/* INFO */
.stb-trans-info-bar{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 18px;
    border:1px solid #b9d6ff;
    background:linear-gradient(180deg,#f7fbff,#eef6ff);
    color:#003b8e;
    border-radius:10px;
    margin-bottom:20px;
    font-size:15px;
}

.stb-trans-info-icon{
    width:24px;
    height:24px;
    min-width:24px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#0d6efd;
    color:#fff;
}

.stb-trans-info-icon .stb-svg{
    width:14px;
    height:14px;
    color:#fff;
}

.stb-trans-info-icon.small{
    width:22px;
    height:22px;
    min-width:22px;
}

/* LAYOUT */
.stb-trans-layout-enterprise{
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:20px;
    align-items:start;
}

.stb-trans-sidebar{
    display:flex;
    flex-direction:column;
    gap:16px;
    min-width:0;
}

.stb-trans-year-card,
.stb-trans-modules,
.stb-trans-compliance{
    background:#fff;
    border:1px solid var(--stb-border);
    border-radius:12px;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
    overflow:hidden;
}

.stb-trans-year-card{
    padding:15px;
}

.stb-trans-year-card label{
    display:block;
    color:var(--stb-muted);
    font-size:13px;
    margin-bottom:10px;
}

.stb-trans-year-box{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    padding:0 14px;
    border:1px solid #d8e2ef;
    border-radius:9px;
    background:#fff;
    font-size:16px;
}

.stb-trans-year-box .stb-svg{
    color:#475569;
}

.stb-trans-year-box strong{
    font-weight:800;
}

/* MODULES */
.stb-trans-modules-title{
    padding:16px 20px;
    background:#edf5ff;
    color:#0b4fa8;
    font-size:13px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    border-bottom:1px solid #d6e5f6;
}

.stb-trans-module-item{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 18px;
    text-decoration:none;
    color:#0f172a;
    border-top:1px solid #eef2f7;
    font-size:14px;
    font-weight:600;
    transition:all .18s ease;
}

.stb-trans-module-item:hover{
    background:#f7fbff;
    color:#004aad;
}

.stb-trans-module-item.is-active{
    background:#edf5ff;
    color:#0b4fa8;
    font-weight:700;
}

.stb-trans-module-item.is-active::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#0d6efd;
}

.stb-trans-module-item .stb-svg{
    color:#64748b;
}

.stb-trans-module-item.is-active .stb-svg{
    color:#0d6efd;
}

.stb-trans-compliance{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px;
    color:#334155;
    background:linear-gradient(180deg,#fff,#f8fbff);
}

.stb-trans-compliance .stb-svg{
    width:34px;
    height:34px;
    color:#0d6efd;
}

.stb-trans-compliance p{
    margin:0;
    font-size:13px;
    line-height:1.45;
}

.stb-trans-main{
    min-width:0;
    overflow:hidden;
}

/* HEADING */
.stb-trans-current-module{
    display:flex;
    align-items:center;
    gap:14px;
    margin:14px 0 16px;
}

.stb-trans-current-icon{
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient(135deg,#003b8e,#0d6efd);
    box-shadow:0 8px 16px rgba(13,110,253,.20);
}

.stb-trans-current-icon .stb-svg{
    width:26px;
    height:26px;
    color:#fff;
}

.stb-trans-current-module h2{
    margin:0 0 4px;
    font-size:24px;
    font-weight:780;
    line-height:1.15;
    color:#0f172a;
}

.stb-trans-current-module p{
    margin:0;
    color:#475569;
    font-size:13.5px;
}

/* MONTHS */
.stb-trans-month-panel{
    border:1px solid #d8e2ef;
    border-radius:10px;
    margin-bottom:12px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 6px 16px rgba(15,23,42,.045);
}

.stb-trans-month-panel summary{
    list-style:none;
    cursor:pointer;
    min-height:50px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#f8fafc;
    color:#003b8e;
    font-size:17px;
    font-weight:720;
}

.stb-trans-month-panel summary::-webkit-details-marker{
    display:none;
}

.stb-trans-month-panel[open] summary{
    background:linear-gradient(135deg,#003b8e,#0d6efd);
    color:#fff;
}

.stb-trans-month-title{
    display:flex;
    align-items:center;
    gap:9px;
}

.stb-trans-month-title .stb-svg{
    color:currentColor;
}

.stb-trans-month-right{
    display:flex;
    align-items:center;
    gap:12px;
}

.stb-trans-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(13,110,253,.12);
    color:#0d6efd;
    font-size:12px;
    font-weight:700;
}

.stb-trans-month-panel[open] .stb-trans-count{
    background:rgba(255,255,255,.16);
    color:#fff;
}

.stb-trans-arrow{
    display:inline-flex;
    transition:transform .2s ease;
}

.stb-trans-arrow .stb-svg{
    color:currentColor;
}

.stb-trans-month-panel[open] .stb-trans-arrow{
    transform:rotate(180deg);
}

/* LIST */
.stb-trans-list{
    width:100%;
    background:#fff;
}

.stb-trans-list-head{
    display:grid;
    grid-template-columns:74px minmax(160px,1.1fr) 115px minmax(360px,1.8fr);
    gap:14px;
    align-items:center;
    padding:12px 16px;
    background:#f8fafc;
    border-bottom:1px solid #dbe4ef;
    color:#0f172a;
    font-size:12.5px;
    font-weight:800;
}

.stb-trans-row-card{
    display:grid;
    grid-template-columns:74px minmax(160px,1.1fr) 115px minmax(360px,1.8fr);
    gap:14px;
    align-items:center;
    padding:14px 16px;
    border-bottom:1px solid #e5e7eb;
    background:#fff;
}

.stb-trans-row-card:hover{
    background:#fbfdff;
}

.stb-trans-num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:34px;
    padding:0 8px;
    color:#fff;
    background:linear-gradient(135deg,#003b8e,#0d6efd);
    border-radius:7px;
    font-weight:780;
    font-size:13px;
    box-shadow:0 4px 10px rgba(13,110,253,.16);
}

.stb-trans-num-wide{
    min-width:70px;
    padding:0 10px;
    font-size:12px;
    letter-spacing:.2px;
}

.stb-trans-row-description{
    min-width:0;
    font-size:13.6px;
    font-weight:560;
    line-height:1.35;
    color:#0f172a;
}

.stb-trans-status{
    display:inline-flex;
    align-items:center;
    gap:7px;
    background:transparent;
    border:0;
    padding:0;
    border-radius:0;
    box-shadow:none;
    font-size:12.5px;
    font-weight:650;
    white-space:nowrap;
}

.stb-status-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    display:inline-block;
}

.stb-trans-status-pending{
    color:#dc2626;
}

.stb-trans-status-pending .stb-status-dot{
    background:#dc2626;
}

/* FILES */
.stb-trans-row-files{
    min-width:0;
}

.stb-trans-file-row{
    display:grid;
    grid-template-columns:minmax(128px, 150px) 1fr;
    align-items:center;
    gap:8px;
    padding:3px 0;
}

.stb-trans-file-name{
    color:#0f172a;
    font-size:12.8px;
    font-weight:650;
    white-space:nowrap;
}

.stb-trans-format-group{
    display:flex;
    flex-wrap:nowrap;
    gap:5px;
    align-items:center;
    justify-content:flex-start;
    min-width:0;
}

.stb-trans-format{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:25px;
    border:1px solid #d5e0ee;
    border-radius:6px;
    background:#fff;
    color:#0f172a;
    font-size:10.5px;
    font-weight:750;
    line-height:1;
    transition:.2s;
    overflow:hidden;
}

.stb-trans-format:hover{
    background:#f8fbff;
    border-color:#b8cce5;
}

.stb-file-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    font-size:10.5px;
    font-weight:850;
    letter-spacing:.02em;
}

.stb-icon-csv,
.stb-icon-xls{
    color:#0f8a43;
}

.stb-icon-pdf{
    color:#ef4444;
}

.stb-trans-format.disabled{
    opacity:.95;
}

.stb-trans-note{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 12px 12px;
    padding:10px 12px;
    border:1px solid #d6e8ff;
    border-radius:8px;
    background:#f5faff;
    color:#1e4f91;
    font-size:13px;
}

.stb-trans-placeholder{
    display:none;
    margin-top:28px;
    padding:22px;
    border:1px dashed #cbd5e1;
    border-radius:12px;
    background:#f8fafc;
}

/* RESPONSIVE */
@media(max-width:1280px){
    .stb-trans-layout-enterprise{
        grid-template-columns:230px minmax(0,1fr);
        gap:16px;
    }

    .stb-trans-list-head,
    .stb-trans-row-card{
        grid-template-columns:64px minmax(145px,.95fr) 105px minmax(345px,1.65fr);
        gap:10px;
        padding-left:14px;
        padding-right:14px;
    }

    .stb-trans-file-row{
        grid-template-columns:126px 1fr;
    }

    .stb-trans-format{
        width:50px;
    }
}

@media(max-width:1100px){
    .stb-trans-hero-bg{
        padding-left:24px;
        padding-right:24px;
        min-height:auto;
    }

    .stb-trans-hero-inner{
        max-width:100%;
    }

    .stb-trans-hero-mark{
        display:none;
    }

    .stb-trans-layout-enterprise{
        grid-template-columns:1fr;
    }

    .stb-trans-sidebar{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .stb-trans-modules{
        grid-column:1/-1;
    }

    .stb-trans-module-item{
        display:inline-flex;
        border-top:0;
        border-right:1px solid #eef2f7;
    }

    .stb-trans-list-head,
    .stb-trans-row-card{
        grid-template-columns:64px minmax(160px,1fr) 105px minmax(340px,1.4fr);
    }
}

@media(max-width:768px){
    .stb-transparencia-enterprise{
        padding-bottom:24px;
    }

    .stb-trans-hero-bg{
        padding:22px 18px;
        min-height:auto;
        text-align:center;
    }

    .stb-trans-hero-inner{
        display:block;
        width:100%;
    }

    .stb-trans-hero-icon{
        margin:0 auto 18px;
        width:78px;
        height:78px;
        min-width:78px;
    }

    .stb-trans-hero-icon .stb-svg{
        width:42px;
        height:42px;
    }

    .stb-trans-hero-text h1{
        font-size:26px;
    }

    .stb-trans-hero-text p{
        font-size:14px;
    }

    .stb-trans-hero-meta span{
        justify-content:center;
    }

    .stb-trans-shell{
        width:calc(100% - 24px);
        margin-top:14px;
    }

    .stb-trans-sidebar{
        display:block;
    }

    .stb-trans-module-item{
        display:flex;
        border-right:0;
        border-top:1px solid #eef2f7;
    }

    .stb-trans-current-module{
        align-items:flex-start;
    }

    .stb-trans-month-panel summary{
        display:block;
        padding:13px 15px;
        font-size:16px;
    }

    .stb-trans-month-right{
        margin-top:12px;
        justify-content:space-between;
    }

    .stb-trans-list-head{
        display:none;
    }

    .stb-trans-row-card{
        display:block;
        padding:14px;
    }

    .stb-trans-row-num,
    .stb-trans-row-description,
    .stb-trans-row-status,
    .stb-trans-row-files{
        margin-bottom:10px;
    }

    .stb-trans-row-description::before,
    .stb-trans-row-status::before,
    .stb-trans-row-files::before{
        display:block;
        margin-bottom:5px;
        color:#64748b;
        font-size:11.5px;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.04em;
    }

    .stb-trans-row-description::before{
        content:"Descripción";
    }

    .stb-trans-row-status::before{
        content:"Publicado";
    }

    .stb-trans-row-files::before{
        content:"Archivos publicados";
    }

    .stb-trans-file-row{
        grid-template-columns:1fr;
        gap:6px;
        padding:9px 0;
        border-bottom:1px solid #eef2f7;
    }

    .stb-trans-file-row:last-child{
        border-bottom:0;
    }

    .stb-trans-format{
        width:56px;
        height:27px;
    }
}



/* ==========================================================
   STB Transparencia - Fix definitivo de recorte del Hero
   Corrige únicamente la parte azul y evita que se corte el título.
   ========================================================== */

.stb-trans-hero-bleed{
    margin-top:0 !important;
    overflow:visible !important;
}

.stb-trans-hero-bg{
    min-height:188px !important;
    padding-top:38px !important;
    padding-bottom:30px !important;
    overflow:visible !important;
}

.stb-trans-hero-inner{
    align-items:center !important;
    overflow:visible !important;
}

.stb-trans-hero-text{
    overflow:visible !important;
}

.stb-trans-hero-text h1{
    margin:0 0 10px !important;
    padding:0 !important;
    line-height:1.22 !important;
    overflow:visible !important;
}

.stb-trans-hero-text p{
    line-height:1.45 !important;
}

/* Mantiene el ancho completo únicamente en la parte azul */
.stb-trans-hero-bleed{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
}

.stb-trans-shell{
    width:min(100% - 28px, 1680px) !important;
    max-width:1680px !important;
    margin:18px auto 0 !important;
}

/* Responsive */
@media(max-width:1100px){
    .stb-trans-hero-bg{
        min-height:auto !important;
        padding-top:30px !important;
        padding-bottom:28px !important;
    }
}

@media(max-width:768px){
    .stb-trans-hero-bg{
        padding-top:24px !important;
        padding-bottom:24px !important;
    }

    .stb-trans-hero-text h1{
        line-height:1.25 !important;
    }
}


/* ==========================================================
   STB Transparencia - Versión restaurada estable
   Corrige el daño anterior y mantiene la estructura funcional.
   Ajustes aplicados:
   - Se reduce el espacio blanco superior.
   - Se conserva el hero sin recortes.
   - Se centran únicamente los títulos de cabecera.
   - No se altera la estructura interna de la tabla.
   ========================================================== */

.stb-transparencia-enterprise{
    margin-top:-90px !important;
    position:relative !important;
    z-index:10 !important;
}

/* Hero estable */
.stb-trans-hero-bleed{
    margin-top:0 !important;
    overflow:visible !important;
}

.stb-trans-hero-bg{
    min-height:166px !important;
    padding-top:28px !important;
    padding-bottom:26px !important;
    overflow:visible !important;
}

.stb-trans-hero-inner,
.stb-trans-hero-text,
.stb-trans-hero-text h1{
    overflow:visible !important;
}

.stb-trans-hero-text h1{
    line-height:1.22 !important;
    margin-top:0 !important;
    margin-bottom:8px !important;
}

/* Barra informativa compacta */
.stb-trans-info-bar{
    padding:12px 18px !important;
    margin-bottom:18px !important;
}

/* Módulo principal compacto */
.stb-trans-current-module{
    margin-top:8px !important;
    margin-bottom:12px !important;
}

/* Mantener tabla limpia y sin deformar */
.stb-trans-list-head{
    text-align:center !important;
}

.stb-trans-list-head > span{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}

/* Centrar el bloque de archivos sin tocar la grilla principal */
.stb-trans-row-files{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
}

.stb-trans-file-row{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.stb-trans-format-group{
    justify-content:center !important;
}

/* Responsive */
@media(max-width:1100px){
    .stb-transparencia-enterprise{
        margin-top:-60px !important;
    }
}

@media(max-width:768px){
    .stb-transparencia-enterprise{
        margin-top:-30px !important;
    }

    .stb-trans-hero-bg{
        min-height:auto !important;
        padding-top:22px !important;
        padding-bottom:22px !important;
    }

    .stb-trans-row-files{
        display:block !important;
    }

    .stb-trans-file-row{
        max-width:none !important;
    }

    .stb-trans-format-group{
        justify-content:flex-start !important;
    }
}

/* ==========================================================
   STB Transparencia 2.1 - Publicaciones reales
   ========================================================== */
.stb-trans-format:not(.disabled){text-decoration:none;cursor:pointer;box-shadow:0 2px 6px rgba(15,23,42,.08)}
.stb-trans-format:not(.disabled):hover{transform:translateY(-1px);background:#f8fbff;border-color:#8bb8ee}
.stb-trans-status-published{color:#0f8a43}
.stb-trans-status-published .stb-status-dot{background:#0f8a43}
.stb-trans-row-card.is-published{background:linear-gradient(90deg,#ffffff 0%,#f9fffb 100%)}


/* ==========================================================
   Enterprise 8.2 - Publicación solo con información cargada
   ========================================================== */

.stb-trans-month-panel.has-no-publications .stb-trans-count{
    background:rgba(100,116,139,.12);
    color:#64748b;
}

.stb-trans-month-panel.has-no-publications[open] .stb-trans-count{
    background:rgba(255,255,255,.16);
    color:#fff;
}

.stb-trans-month-panel.has-publications .stb-trans-count.is-count-published{
    background:rgba(15,138,67,.13);
    color:#0f8a43;
}

.stb-trans-month-panel.has-publications[open] .stb-trans-count.is-count-published{
    background:rgba(255,255,255,.18);
    color:#fff;
}

.stb-trans-empty-month{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin:0;
    padding:22px 20px;
    border-top:1px solid #e5edf7;
    background:linear-gradient(180deg,#ffffff,#f8fbff);
    color:#0f172a;
}

.stb-trans-empty-month .stb-trans-info-icon{
    margin-top:2px;
}

.stb-trans-empty-month strong{
    display:block;
    color:#003b8e;
    font-size:15px;
    font-weight:800;
    margin-bottom:4px;
}

.stb-trans-empty-month p{
    margin:0;
    color:#475569;
    font-size:13.5px;
    line-height:1.45;
}

.stb-transparencia-publicados-only .stb-trans-row-card.is-published{
    background:#fff;
}

.stb-transparencia-publicados-only .stb-trans-row-card.is-published:hover{
    background:#fbfdff;
}

.stb-transparencia-publicados-only .stb-trans-status-published{
    color:#0f8a43;
}

.stb-transparencia-publicados-only .stb-trans-status-published .stb-status-dot{
    background:#0f8a43;
}

.stb-transparencia-publicados-only .stb-trans-note{
    margin-top:12px;
}


/* STB Enterprise 10 public shortcode */
.stb-e10-public{display:grid;gap:14px}
.stb-e10-month{border:1px solid #dbe7f5;border-radius:14px;background:#fff;overflow:hidden}
.stb-e10-month-head{display:flex;align-items:center;justify-content:space-between;background:#0d6efd;color:#fff;padding:14px 18px}
.stb-e10-month-head h3{margin:0;color:#fff}
.stb-e10-month-head span{background:rgba(255,255,255,.18);border-radius:999px;padding:6px 12px;font-weight:800}
.stb-e10-empty{padding:18px;margin:0;color:#64748b}
.stb-e10-list{padding:10px 18px 18px}
.stb-e10-item{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #edf2f7;padding:12px 0}
.stb-e10-item strong{display:inline-flex;background:#0d6efd;color:#fff;border-radius:8px;padding:6px 10px;margin-right:10px}
.stb-e10-item span{font-weight:700}
.stb-e10-item em{color:#0f8a43;font-style:normal;font-weight:800}

/* STB LOTAIP Enterprise sections */
.stb-e10-lotaip{display:block}.stb-e10-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.stb-e10-tabs button{border:1px solid #dbe7f5;background:#fff;color:#003b8e;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}.stb-e10-tabs button.active{background:#0d6efd;color:#fff;border-color:#0d6efd}.stb-e10-tab-content{display:none}.stb-e10-tab-content.active{display:block}.stb-e10-doclinks{padding:0 0 12px 56px}.stb-e10-docrow{display:flex;gap:8px;align-items:center;margin:6px 0}.stb-e10-docrow b{min-width:160px}.stb-e10-docrow a,.stb-e10-download{display:inline-flex;border:1px solid #dbe7f5;border-radius:8px;padding:6px 12px;text-decoration:none;font-weight:800;background:#fff}.stb-e10-panel-public{border:1px solid #dbe7f5;border-radius:14px;background:#fff;padding:20px}.stb-e10-public-table{width:100%;border-collapse:collapse}.stb-e10-public-table th,.stb-e10-public-table td{border:1px solid #dbe7f5;padding:10px;text-align:left}.stb-e10-summary{background:#f8fbff;border:1px solid #dbe7f5;border-radius:12px;padding:14px;margin:12px 0}

/* Compacta mejor solo el literal Art. 24 en la tabla existente */
.stb-trans-row-art24 .stb-trans-num {
    background: linear-gradient(180deg, #0d6efd, #064fb2) !important;
    box-shadow: 0 8px 18px rgba(13, 110, 253, .25);
}

@media (max-width: 920px) {
    .stb-trans-row-art24 .stb-art24-panel {
        max-width: 100%;
        margin-left: 0;
    }

    .stb-trans-row-art24 .stb-art24-doc {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .stb-trans-row-art24 .stb-art24-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* STB Art.24 - layout final corregido y proporcional */
.stb-trans-row-art24 .stb-art24-clean-group,
.stb-trans-row-art24 .stb-art24-clean-doc,
.stb-trans-row-art24 .stb-art24-panel,
.stb-trans-row-art24 .stb-art24-card,
.stb-trans-row-art24 .stb-trans-file-group-title,
.stb-trans-row-art24 .stb-trans-file-row-grouped {
    display: none !important;
}

.stb-trans-row-art24 .stb-trans-row-files {
    width: 100%;
}

.stb-trans-row-art24 .stb-art24-pro-card {
    width: 100%;
    max-width: 464px;
    margin: 0 0 12px auto;
    border: 1px solid #dbe7f5;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
    overflow: hidden;
}

.stb-trans-row-art24 .stb-art24-pro-card:last-child {
    margin-bottom: 0;
}

.stb-trans-row-art24 .stb-art24-pro-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    background: linear-gradient(90deg, #f7fbff, #eef5ff);
    border-bottom: 1px solid #dbe7f5;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.2;
}

.stb-trans-row-art24 .stb-art24-pro-folder {
    width: 22px;
    height: 22px;
    min-width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0d6efd;
}

.stb-trans-row-art24 .stb-art24-pro-folder svg {
    width: 18px;
    height: 18px;
}

.stb-trans-row-art24 .stb-art24-pro-list {
    padding: 7px 12px 9px;
}

.stb-trans-row-art24 .stb-art24-pro-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid #edf2f7;
}

.stb-trans-row-art24 .stb-art24-pro-row:last-child {
    border-bottom: 0;
}

.stb-trans-row-art24 .stb-art24-pro-name {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.22;
}

.stb-trans-row-art24 .stb-art24-pro-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    white-space: nowrap;
}

.stb-trans-row-art24 .stb-art24-pro-btn {
    min-width: 58px;
    height: 32px;
    padding: 0 10px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #d7e3f2;
    border-radius: 8px;
    background: #fff;
    text-decoration: none !important;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .06);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.stb-trans-row-art24 .stb-art24-pro-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(15, 23, 42, .10);
    border-color: #9ec5fe;
}

.stb-trans-row-art24 .stb-art24-pro-btn span {
    display: inline !important;
    color: inherit !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.stb-trans-row-art24 .stb-art24-pro-btn.is-csv span {
    color: #07833b !important;
}

.stb-trans-row-art24 .stb-art24-pro-btn.is-pdf span {
    color: #ef3340 !important;
}

.stb-trans-row-art24 .stb-art24-pro-btn.is-xls span,
.stb-trans-row-art24 .stb-art24-pro-btn.is-xlsx span {
    color: #128047 !important;
}

.stb-trans-row-art24 .stb-trans-num {
    background: linear-gradient(180deg, #0d6efd, #064fb2) !important;
    box-shadow: 0 8px 18px rgba(13, 110, 253, .25);
}

@media (max-width: 920px) {
    .stb-trans-row-art24 .stb-art24-pro-card {
        max-width: 100%;
        margin-left: 0;
    }

    .stb-trans-row-art24 .stb-art24-pro-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .stb-trans-row-art24 .stb-art24-pro-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}


/* STB Transparencia Focalizada Pública */
.stb-foc-public{display:block}
.stb-foc-filter{display:grid;grid-template-columns:140px 220px 1fr auto;gap:10px;padding:14px;border:1px solid #dbe7f5;border-radius:14px;background:#f8fbff;margin-bottom:18px}
.stb-foc-filter input,.stb-foc-filter select{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px}
.stb-foc-filter button{border:0;border-radius:8px;padding:9px 16px;background:#0d6efd;color:#fff;font-weight:800;cursor:pointer}
.stb-foc-empty{padding:18px;border:1px solid #dbe7f5;border-radius:14px;background:#fff;color:#64748b}
.stb-foc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.stb-foc-card{border:1px solid #dbe7f5;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.055);padding:18px}
.stb-foc-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.stb-foc-card-head span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e8f1ff;color:#0d47a1;font-weight:800;font-size:13px}
.stb-foc-card-head em{color:#64748b;font-style:normal;font-size:13px}
.stb-foc-card h3{margin:0 0 8px;font-size:19px;color:#0f172a}
.stb-foc-card p{margin:0 0 14px;color:#475569}
.stb-foc-docs{display:grid;gap:8px}
.stb-foc-docs a{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid #edf2f7;border-radius:10px;background:#f8fafc;text-decoration:none}
.stb-foc-docs a strong{color:#0f172a}
.stb-foc-docs a em{font-style:normal;font-weight:900;color:#0d6efd}
@media(max-width:800px){.stb-foc-filter,.stb-foc-list{grid-template-columns:1fr}}


/* STB Art.24 - restauración visual definitiva */
.stb-trans-row-art24 .stb-art24-pro-card{
    width:100%;
    max-width:520px;
    margin:0 0 12px auto;
    border:1px solid #dbe7f5;
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
    overflow:hidden;
    display:block!important;
}
.stb-trans-row-art24 .stb-art24-pro-head{
    display:flex!important;
    align-items:center;
    gap:8px;
    padding:9px 13px;
    background:linear-gradient(90deg,#f7fbff,#eef5ff);
    border-bottom:1px solid #dbe7f5;
    color:#0f172a;
    font-size:15px;
    line-height:1.2;
}
.stb-trans-row-art24 .stb-art24-pro-folder{width:22px;height:22px;min-width:22px;display:inline-flex!important;align-items:center;justify-content:center;color:#0d6efd;}
.stb-trans-row-art24 .stb-art24-pro-folder svg{width:18px;height:18px;}
.stb-trans-row-art24 .stb-art24-pro-list{padding:7px 12px 9px;display:block!important;}
.stb-trans-row-art24 .stb-art24-pro-row{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #edf2f7;}
.stb-trans-row-art24 .stb-art24-pro-row:last-child{border-bottom:0;}
.stb-trans-row-art24 .stb-art24-pro-name{font-size:13px;font-weight:700;color:#0f172a;line-height:1.22;}
.stb-trans-row-art24 .stb-art24-pro-actions{display:inline-flex!important;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap;}
.stb-trans-row-art24 .stb-art24-pro-btn{min-width:58px;height:32px;padding:0 10px;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #d7e3f2;border-radius:8px;background:#fff;text-decoration:none!important;box-shadow:0 4px 10px rgba(15,23,42,.06);}
.stb-trans-row-art24 .stb-art24-pro-btn span{display:inline!important;color:inherit!important;font-size:12px;font-weight:700;line-height:1;}
.stb-trans-row-art24 .stb-art24-pro-btn.is-csv span{color:#07833b!important;}
.stb-trans-row-art24 .stb-art24-pro-btn.is-pdf span{color:#ef3340!important;}
.stb-trans-row-art24 .stb-art24-pro-btn.is-xls span,.stb-trans-row-art24 .stb-art24-pro-btn.is-xlsx span{color:#128047!important;}
@media(max-width:920px){.stb-trans-row-art24 .stb-art24-pro-card{max-width:100%;margin-left:0}.stb-trans-row-art24 .stb-art24-pro-row{grid-template-columns:1fr}.stb-trans-row-art24 .stb-art24-pro-actions{justify-content:flex-start;flex-wrap:wrap}}
