@import '_content/Renderset.Blazor/Renderset.Blazor.a9is7gvd97.bundle.scp.css';

/* /Components/Pages/ApiPage.razor.rz.scp.css */
/* Página API: pasos, pestañas, guía de la librería y catálogo de
   endpoints. Las tarjetas y las etiquetas de método son las de pages.css. */

/* ---------- Tres pasos ---------- */

.api-steps[b-juujqj05ae] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.api-step[b-juujqj05ae] {
    display: flex;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--rs-border, #d8e1e5);
    border-radius: 12px;
    background: #fff;
}

    .api-step strong[b-juujqj05ae] {
        color: var(--rs-text, #172b35);
        font-size: 13px;
    }

    .api-step p[b-juujqj05ae] {
        margin: 4px 0 0;
        color: var(--rs-muted, #74858d);
        font-size: 12px;
        line-height: 1.55;
    }

    .api-step code[b-juujqj05ae] {
        color: #294b59;
        font-size: 11px;
    }

.api-step-number[b-juujqj05ae] {
    display: grid;
    flex: none;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #173d4f;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}


/* ---------- Pestañas ---------- */

.api-tabs[b-juujqj05ae] {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--rs-border, #d8e1e5);
}

    .api-tabs button[b-juujqj05ae] {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: -1px;
        padding: 10px 14px;
        border: 0;
        border-bottom: 2px solid transparent;
        background: transparent;
        color: #5d6f78;
        font: inherit;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
    }

        .api-tabs button:hover[b-juujqj05ae] {
            color: #173d4f;
        }

        .api-tabs button.is-active[b-juujqj05ae] {
            border-bottom-color: #173d4f;
            color: #173d4f;
        }


/* ---------- Librería ---------- */

.api-library[b-juujqj05ae] {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
}

.api-library-index[b-juujqj05ae] {
    position: sticky;
    top: 16px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .api-library-index span[b-juujqj05ae] {
        margin-bottom: 6px;
        color: #8a99a1;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .api-library-index a[b-juujqj05ae] {
        padding: 6px 9px;
        border-radius: 6px;
        color: #3d5560;
        font-size: 12px;
        text-decoration: none;
    }

        .api-library-index a:hover[b-juujqj05ae] {
            background: #eef3f5;
            color: #173d4f;
        }

.api-library-body[b-juujqj05ae] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.api-sample[b-juujqj05ae] {
    scroll-margin-top: 16px;
}

    .api-sample pre[b-juujqj05ae] {
        max-height: none;
    }

.api-sample-note[b-juujqj05ae] {
    display: flex;
    gap: 8px;
    padding: 9px 11px;
    border-radius: 8px;
    background: #f3f8fb;
    color: #46606c !important;
}

    .api-sample-note i[b-juujqj05ae] {
        margin-top: 2px;
        color: #5b8aa3;
    }


/* ---------- Endpoints ---------- */

.api-endpoints-head[b-juujqj05ae] {
    flex-wrap: wrap;
    align-items: flex-end;
}

.api-endpoints-tools[b-juujqj05ae] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.api-search[b-juujqj05ae] {
    position: relative;
}

    .api-search i[b-juujqj05ae] {
        position: absolute;
        top: 50%;
        left: 10px;
        transform: translateY(-50%);
        color: #9aa9b1;
        font-size: 11px;
    }

    .api-search input[b-juujqj05ae] {
        width: 260px;
        height: 34px;
        padding: 0 10px 0 30px;
        border: 1px solid #dfe7ea;
        border-radius: 8px;
        font-size: 12.5px;
    }

.api-toggle[b-juujqj05ae] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #3d5560;
    font-size: 12px;
    cursor: pointer;
}

.api-group[b-juujqj05ae] {
    padding-top: 14px;
    border-top: 1px solid #edf1f3;
}

    .api-group + .api-group[b-juujqj05ae] {
        margin-top: 14px;
    }

    .api-group > header h3[b-juujqj05ae] {
        margin: 0;
        color: var(--rs-text, #172b35);
        font-size: 13px;
        font-weight: 800;
    }

    .api-group > header p[b-juujqj05ae] {
        margin: 3px 0 10px;
        color: var(--rs-muted, #74858d);
        font-size: 12px;
    }

.api-routes[b-juujqj05ae] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .api-routes li[b-juujqj05ae] {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr);
        align-items: start;
        gap: 12px;
        padding: 10px 12px;
        border: 1px solid #edf1f3;
        border-radius: 8px;
        background: #f8fbfc;
    }

        .api-routes li .api-method[b-juujqj05ae] {
            margin-top: 1px;
        }

.api-route-text[b-juujqj05ae] {
    min-width: 0;
}

    .api-route-text p[b-juujqj05ae] {
        margin: 4px 0 0;
        color: #5d6f78;
        font-size: 12px;
        line-height: 1.5;
    }

.api-route-head[b-juujqj05ae] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
}

    .api-route-head code[b-juujqj05ae] {
        color: #294b59;
        font-size: 11.5px;
        overflow-wrap: anywhere;
    }

    .api-route-head strong[b-juujqj05ae] {
        color: #26404b;
        font-size: 12px;
    }

.api-badge[b-juujqj05ae] {
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
}

    .api-badge.is-integration[b-juujqj05ae] {
        background: #e8f3ef;
        color: #2f7a5d;
    }

    .api-badge.is-service[b-juujqj05ae] {
        background: #fbf1e6;
        color: #8a5a1f;
    }

    .api-badge.is-public[b-juujqj05ae] {
        background: #eef1fb;
        color: #3c4f86;
    }

.api-empty[b-juujqj05ae] {
    margin: 16px 0 0;
    color: var(--rs-muted, #74858d);
    font-size: 12px;
}


/* ---------- Estrecho ---------- */

@media (max-width: 1000px) {

    .api-steps[b-juujqj05ae] {
        grid-template-columns: 1fr;
    }

    .api-library[b-juujqj05ae] {
        grid-template-columns: 1fr;
    }

    .api-library-index[b-juujqj05ae] {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
    }

        .api-library-index span[b-juujqj05ae] {
            width: 100%;
        }
}

@media (max-width: 650px) {

    .api-search input[b-juujqj05ae] {
        width: 100%;
    }

    .api-routes li[b-juujqj05ae] {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}
/* /Components/Pages/Bundles/BundlesPage.razor.rz.scp.css */
/* Estilos propios de la página de documentos compartidos. Lo común
   (.page, .page-header, .editor-card, .form-group, botones, .icon-button,
   .type-badge) viene de pages.css. */

.bundles-page[b-z87ouekpg7] {
    max-width: 1280px;
}


/* ---------- Enlace recién creado ---------- */

.bundle-link-card[b-z87ouekpg7] {
    margin-bottom: 20px;
    padding: 16px 18px;
    border: 1px solid #b9d7c6;
    border-radius: 10px;
    background: #f3faf6;
}

.bundle-link-heading[b-z87ouekpg7] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

    .bundle-link-heading > i[b-z87ouekpg7] {
        margin-top: 2px;
        color: #2f7a52;
    }

    .bundle-link-heading > div[b-z87ouekpg7] {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    .bundle-link-heading strong[b-z87ouekpg7] {
        color: #1f4d36;
        font-size: 13px;
    }

    .bundle-link-heading small[b-z87ouekpg7] {
        color: #557a66;
        font-size: 11px;
    }

.bundle-link-row[b-z87ouekpg7] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
}

    .bundle-link-row input[b-z87ouekpg7] {
        min-width: 0;
        padding: 8px 10px;
        border: 1px solid #c9dfd2;
        border-radius: 7px;
        background: #fff;
        color: #20323a;
        font-family: "Cascadia Code", Consolas, monospace;
        font-size: 11px;
    }


/* ---------- Estructura ---------- */

.bundles-layout[b-z87ouekpg7] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 16px;
    align-items: start;
    margin-bottom: 16px;
}

.bundles-card-header[b-z87ouekpg7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

    .bundles-card-header h2[b-z87ouekpg7] {
        display: flex;
        align-items: center;
        gap: 8px;
    }

.bundles-count[b-z87ouekpg7] {
    padding: 2px 7px;
    border-radius: 10px;
    background: #edf2f4;
    color: #617780;
    font-size: 10px;
    font-weight: 700;
}

.bundles-toolbar[b-z87ouekpg7] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px 136px 136px auto;
    gap: 8px;
    padding: 12px 18px;
    border-bottom: 1px solid #edf1f3;
}

    .bundles-toolbar select[b-z87ouekpg7],
    .bundles-toolbar input[type="date"][b-z87ouekpg7] {
        min-width: 0;
        padding: 7px 9px;
        border: 1px solid #d8e1e5;
        border-radius: 7px;
        background: #fafcfc;
        color: #20323a;
        font: inherit;
        font-size: 12px;
    }

.bundles-search[b-z87ouekpg7] {
    position: relative;
}

    .bundles-search i[b-z87ouekpg7] {
        position: absolute;
        top: 50%;
        left: 10px;
        transform: translateY(-50%);
        color: #93a0a5;
        font-size: 11px;
    }

    .bundles-search input[b-z87ouekpg7] {
        width: 100%;
        box-sizing: border-box;
        padding: 8px 10px 8px 30px;
        border: 1px solid #d8e1e5;
        border-radius: 7px;
        background: #fafcfc;
        color: #20323a;
        font: inherit;
        font-size: 12px;
    }


/* ---------- Tablas ---------- */

.bundles-table-header[b-z87ouekpg7],
.bundles-row[b-z87ouekpg7] {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) minmax(90px, 160px) 76px 112px 67px;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
}

    .bundles-table-header.is-recent[b-z87ouekpg7],
    .bundles-row.is-recent[b-z87ouekpg7] {
        grid-template-columns: minmax(0, 1fr) 90px 112px 150px 140px;
    }

.bundles-table-header[b-z87ouekpg7] {
    min-height: 36px;
    border-bottom: 1px solid #e5ebee;
    background: #f7f9fa;
}

    .bundles-table-header span[b-z87ouekpg7] {
        color: #84939a;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

.bundles-row[b-z87ouekpg7] {
    min-height: 54px;
    border-bottom: 1px solid #edf1f3;
    font-size: 12px;
}

    .bundles-row:last-child[b-z87ouekpg7] {
        border-bottom: 0;
    }

    .bundles-row:hover[b-z87ouekpg7] {
        background: #fafcfc;
    }

    .bundles-row.is-selected[b-z87ouekpg7] {
        background: #f1f6f8;
    }

    .bundles-row input[type="checkbox"][b-z87ouekpg7] {
        width: 15px;
        height: 15px;
        cursor: pointer;
    }

.bundles-document[b-z87ouekpg7] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    padding: 8px 0;
}

    .bundles-document strong[b-z87ouekpg7] {
        overflow: hidden;
        color: #20323a;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .bundles-document code[b-z87ouekpg7],
    .bundles-document small[b-z87ouekpg7] {
        overflow: hidden;
        color: #8a999f;
        font-size: 10px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.bundles-muted[b-z87ouekpg7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
    color: #61757e;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .bundles-muted small[b-z87ouekpg7] {
        color: #93a0a5;
        font-size: 10px;
    }

.bundles-status[b-z87ouekpg7] {
    justify-self: start;
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 700;
}

    .bundles-status.is-active[b-z87ouekpg7] {
        background: #e5f4ec;
        color: #2f7a52;
    }

    .bundles-status.is-expired[b-z87ouekpg7] {
        background: #f4f0e4;
        color: #8a6d24;
    }

    .bundles-status.is-revoked[b-z87ouekpg7] {
        background: #f8e9e9;
        color: #9a3d3d;
    }

.bundles-row-actions[b-z87ouekpg7] {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
}

.bundles-row .icon-button.is-placeholder[b-z87ouekpg7] {
    opacity: .45;
    cursor: help;
}

.bundles-row .icon-button:disabled[b-z87ouekpg7],
.bundles-selection .icon-button:disabled[b-z87ouekpg7] {
    opacity: .4;
    cursor: default;
}

.bundles-inline-error[b-z87ouekpg7] {
    margin: 0;
    padding: 8px 18px;
    border-bottom: 1px solid #edf1f3;
    background: #fdf4f4;
    color: #9a3d3d;
    font-size: 11px;
}

.bundles-empty[b-z87ouekpg7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 36px 24px;
    color: #8a999f;
    text-align: center;
}

    .bundles-empty i[b-z87ouekpg7] {
        font-size: 20px;
    }

    .bundles-empty p[b-z87ouekpg7] {
        max-width: 360px;
        margin: 0;
        font-size: 12px;
    }


/* ---------- Constructor del bundle ---------- */

.bundles-builder[b-z87ouekpg7] {
    position: sticky;
    top: 16px;
}

.bundles-hint[b-z87ouekpg7] {
    margin: 0 0 16px;
    padding: 12px;
    border: 1px dashed #d8e1e5;
    border-radius: 7px;
    color: #74858d;
    font-size: 12px;
    line-height: 1.5;
}

.bundles-selection[b-z87ouekpg7] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

    .bundles-selection li[b-z87ouekpg7] {
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
    }

    .bundles-selection input[b-z87ouekpg7] {
        min-width: 0;
        padding: 7px 9px;
        border: 1px solid #d8e1e5;
        border-radius: 7px;
        background: #fafcfc;
        color: #20323a;
        font: inherit;
        font-size: 12px;
    }

.bundles-position[b-z87ouekpg7] {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #173d4f;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

.bundles-selection-actions[b-z87ouekpg7] {
    display: flex;
    gap: 3px;
}

    .bundles-selection-actions .icon-button[b-z87ouekpg7] {
        width: 26px;
        height: 26px;
        font-size: 10px;
    }

.bundles-error[b-z87ouekpg7] {
    color: #9a3d3d !important;
}

.bundles-create[b-z87ouekpg7] {
    width: 100%;
}


/* ---------- Estrecho ---------- */

@media (max-width: 1100px) {

    .bundles-toolbar[b-z87ouekpg7] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

        .bundles-toolbar .bundles-search[b-z87ouekpg7] {
            grid-column: 1 / -1;
        }
}

@media (max-width: 1000px) {

    .bundles-layout[b-z87ouekpg7] {
        grid-template-columns: minmax(0, 1fr);
    }

    .bundles-builder[b-z87ouekpg7] {
        position: static;
    }
}

@media (max-width: 700px) {

    .bundles-toolbar[b-z87ouekpg7] {
        grid-template-columns: minmax(0, 1fr);
    }

    .bundles-table-header[b-z87ouekpg7] {
        display: none;
    }

    .bundles-row[b-z87ouekpg7] {
        grid-template-columns: 22px minmax(0, 1fr) 67px;
    }

        .bundles-row > .bundles-muted[b-z87ouekpg7],
        .bundles-row > .bundles-culture[b-z87ouekpg7],
        .bundles-row > .type-badge[b-z87ouekpg7] {
            display: none;
        }

        .bundles-row.is-recent[b-z87ouekpg7] {
            grid-template-columns: minmax(0, 1fr) auto;
        }

            .bundles-row.is-recent > .bundles-status[b-z87ouekpg7] {
                display: none;
            }

    .bundle-link-row[b-z87ouekpg7] {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ---------- Idioma con bandera ---------- */

.bundles-culture[b-z87ouekpg7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: #4f626b;
    font-size: 12px;
    white-space: nowrap;
}

    .bundles-culture.is-inline[b-z87ouekpg7] {
        gap: 4px;
        margin-right: 4px;
        vertical-align: -1px;
        font-size: inherit;
    }

.bundles-data-badge[b-z87ouekpg7] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-right: 4px;
    padding: 0 6px;
    border-radius: 999px;
    background: #e8f3ef;
    color: #2f7a5d;
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
}


/* ---------- Compartir datos ---------- */

.bundles-check[b-z87ouekpg7] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid #e3eaee;
    border-radius: 8px;
    background: #f7fafb;
    cursor: pointer;
}

    .bundles-check input[b-z87ouekpg7] {
        margin-top: 2px;
    }

    .bundles-check span[b-z87ouekpg7] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .bundles-check strong[b-z87ouekpg7] {
        color: #20323a;
        font-size: 12px;
    }

    .bundles-check small[b-z87ouekpg7] {
        color: #74858d;
        font-size: 11px;
        line-height: 1.4;
    }
/* /Components/Pages/Bundles/LoadMoreFooter.razor.rz.scp.css */
.load-more-footer[b-qscik497eu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 8px 18px;
    border-top: 1px solid #edf1f3;
    background: #fafcfc;
    border-radius: 0 0 10px 10px;
}

    .load-more-footer span[b-qscik497eu] {
        color: #84939a;
        font-size: 11px;
    }
/* /Components/Pages/Bundles/SharingSettingsPage.razor.rz.scp.css */
/* Estilos propios de la configuración de la página pública. Lo común viene
   de pages.css; el selector de color es el ColorEditor de Renderset.Blazor,
   con sus estilos de reporting.css. */

.sharing-settings-page[b-58g9g1728q] {
    max-width: 1280px;
}

.sharing-settings-layout[b-58g9g1728q] {
    display: grid;
    grid-template-columns: 380px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.editor-card-header.is-divider[b-58g9g1728q] {
    border-top: 1px solid #edf1f3;
    border-radius: 0;
}

.sharing-colors[b-58g9g1728q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 8px;
}

.sharing-logo-preview[b-58g9g1728q] {
    display: flex;
    align-items: center;
    min-height: 56px;
    margin-top: 4px;
    padding: 10px 12px;
    border: 1px dashed #d8e1e5;
    border-radius: 7px;
    background: #fff;
}

    .sharing-logo-preview img[b-58g9g1728q] {
        max-width: 160px;
        max-height: 40px;
        object-fit: contain;
    }

.sharing-error[b-58g9g1728q] {
    display: block;
    color: #9a3d3d !important;
}

.sharing-link-button[b-58g9g1728q] {
    margin-top: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #4f7384;
    font-size: 11px;
    text-decoration: underline;
    cursor: pointer;
}

    .sharing-link-button:hover[b-58g9g1728q] {
        color: #173d4f;
    }


/* Enlace al Diccionario: los textos de botones y avisos viven allí. */
.sharing-dictionary[b-58g9g1728q] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid #e3eaee;
    border-radius: 8px;
    background: #f7fafb;
}

    .sharing-dictionary > i[b-58g9g1728q] {
        color: #4f7384;
    }

    .sharing-dictionary > div[b-58g9g1728q] {
        display: flex;
        flex-direction: column;
        gap: 3px;
        min-width: 0;
    }

    .sharing-dictionary strong[b-58g9g1728q] {
        color: #20323a;
        font-size: 12px;
    }

    .sharing-dictionary span[b-58g9g1728q] {
        color: #74858d;
        font-size: 11px;
        line-height: 1.45;
    }

    .sharing-dictionary .secondary-button[b-58g9g1728q] {
        white-space: nowrap;
        text-decoration: none;
    }


/* ---------- Vista previa ---------- */

.sharing-preview[b-58g9g1728q] {
    position: sticky;
    top: 16px;
    overflow: hidden;
}

.sharing-preview-header[b-58g9g1728q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sharing-preview-tools[b-58g9g1728q] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .sharing-preview-tools select[b-58g9g1728q] {
        padding: 6px 8px;
        border: 1px solid #d8e1e5;
        border-radius: 7px;
        background: #fafcfc;
        color: #20323a;
        font: inherit;
        font-size: 11px;
    }

.sharing-segmented[b-58g9g1728q] {
    display: inline-flex;
    padding: 2px;
    border: 1px solid #d8e1e5;
    border-radius: 7px;
    background: #f5f8f9;
}

    .sharing-segmented button[b-58g9g1728q] {
        padding: 5px 10px;
        border: 0;
        border-radius: 5px;
        background: transparent;
        color: #61757e;
        font-size: 11px;
        font-weight: 600;
        cursor: pointer;
    }

        .sharing-segmented button.is-active[b-58g9g1728q] {
            background: #fff;
            color: #173d4f;
            box-shadow: 0 1px 2px rgba(23, 43, 53, .12);
        }

.sharing-preview-frame[b-58g9g1728q] {
    display: block;
    width: 100%;
    height: 620px;
    border: 0;
    border-bottom: 1px solid #edf1f3;
    background: #f3f5f7;
}

.sharing-preview-note[b-58g9g1728q] {
    margin: 0;
    padding: 10px 18px;
    color: #8a999f;
    font-size: 11px;
}


@media (max-width: 1000px) {

    .sharing-settings-layout[b-58g9g1728q] {
        grid-template-columns: minmax(0, 1fr);
    }

    .sharing-preview[b-58g9g1728q] {
        position: static;
    }
}
/* /Components/Pages/Documents/DocumentViewerPage.razor.rz.scp.css */
/* Visor de documentos: barra arriba y el documento ocupando el resto. La
   barra es DocumentViewerToolbar (document-viewer.css de Renderset.Blazor),
   la misma que la página pública de bundles; aquí sólo va el marco. */

.doc-viewer[b-8y9br4711t] {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100dvh;
    background: #F3F5F7;
}

.doc-viewer-state[b-8y9br4711t] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 100dvh;
    color: #74858d;
}

    .doc-viewer-state.is-error[b-8y9br4711t] {
        flex-direction: column;
    }

.doc-viewer-frame[b-8y9br4711t] {
    /* Un iframe es un elemento reemplazado: en una rejilla no se estira
       solo, y con height:100% se queda en sus 150px de serie. */
    display: block;
    align-self: stretch;
    justify-self: stretch;
    width: 100%;
    height: auto;
    min-height: 0;
    border: 0;
    background: #F3F5F7;
}
/* /Components/Pages/Presets/PresetsPage.razor.rz.scp.css */
/* Estilos propios de la página de presets. El resto de clases
   (.page, .toolbar, .preset-group, .preset-row...) siguen viniendo
   de pages.css. */

.preset-error[b-f7f0lzom0d] {
    margin-bottom: 16px;
    padding: 11px 14px;
    border: 1px solid #e6c3c3;
    border-radius: 7px;
    background: #fdf4f4;
    color: #8c3a3a;
    font-size: 12.5px;
}

.preset-creator[b-f7f0lzom0d] {
    margin-bottom: 22px;
    padding: 20px 22px;
    border: 1px solid #d8e1e5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(23, 43, 53, .06);
}

    .preset-creator > header[b-f7f0lzom0d] {
        margin-bottom: 18px;
        padding-bottom: 14px;
        border-bottom: 1px solid #eef3f5;
    }

        .preset-creator > header h2[b-f7f0lzom0d] {
            margin: 0;
            color: #172b35;
            font-size: 16px;
            font-weight: 700;
        }

        .preset-creator > header p[b-f7f0lzom0d] {
            margin: 5px 0 0;
            color: #74858d;
            font-size: 12.5px;
        }

.preset-creator-grid[b-f7f0lzom0d] {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 16px;
}

.preset-creator-full[b-f7f0lzom0d] {
    grid-column: 1 / -1;
}

.preset-creator .form-group label small[b-f7f0lzom0d] {
    margin-left: 6px;
    color: #9aa9b1;
    font-size: 10.5px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.preset-creator .form-group > small[b-f7f0lzom0d] {
    margin-top: 6px;
    color: #8a6d2e;
    font-size: 11.5px;
    line-height: 1.5;
}

.preset-check[b-f7f0lzom0d] {
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    color: #3d4f58;
    font-size: 13px;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer;
}

    .preset-check input[b-f7f0lzom0d] {
        width: auto;
        margin: 0;
    }

.preset-creator-actions[b-f7f0lzom0d] {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 20px;
}

.preset-group-actions[b-f7f0lzom0d] {
    display: flex;
    gap: 9px;
}

.preset-empty[b-f7f0lzom0d] {
    padding: 22px 20px;
    border: 1px dashed #dfe7ea;
    border-radius: 8px;
    background: #fbfdfd;
    color: #7c8b93;
    font-size: 12.5px;
    text-align: center;
}

@media (max-width: 760px) {

    .preset-creator-grid[b-f7f0lzom0d] {
        grid-template-columns: 1fr;
    }

    .preset-group-actions[b-f7f0lzom0d] {
        flex-direction: column;
    }
}
/* /Components/Pages/Reports/NewReportPage.razor.rz.scp.css */
.new-report-page[b-jjtv706mgu] {
    max-width: none;
}

.new-report-header[b-jjtv706mgu] {
    gap: 18px;
}

.new-report-header-actions[b-jjtv706mgu] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.new-error[b-jjtv706mgu] {
    margin-bottom: 16px;
    padding: 11px 14px;
    border: 1px solid #e6c3c3;
    border-radius: 7px;
    background: #fdf4f4;
    color: #8c3a3a;
    font-size: 12.5px;
}

.new-shell[b-jjtv706mgu] {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.new-setup-card[b-jjtv706mgu],
.new-dataset-card[b-jjtv706mgu] {
    border: 1px solid #dfe7ea;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(23, 43, 53, .03);
}

.new-setup-card[b-jjtv706mgu] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    padding: 18px 20px;
}

.new-setup-main[b-jjtv706mgu] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.new-row[b-jjtv706mgu] {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 16px;
}

.new-setup-card .form-group label small[b-jjtv706mgu] {
    margin-left: 6px;
    color: #9aa9b1;
    font-size: 10.5px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.new-flow-hint[b-jjtv706mgu] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: #9aa9b1;
    font-size: 11px;
}

    .new-flow-hint > span[b-jjtv706mgu] {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 27px;
        padding: 0 10px;
        border: 1px solid #e4ecee;
        border-radius: 999px;
        background: #f8fbfc;
        color: #5d6f78;
        font-weight: 700;
    }

    .new-flow-hint i[b-jjtv706mgu] {
        font-size: 10px;
    }

.new-setup-summary[b-jjtv706mgu] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 13px 15px;
    border: 1px solid #c3dbe6;
    border-radius: 10px;
    background: linear-gradient(180deg, #f7fcff 0%, #f3fafd 100%);
    color: #2a5d72;
}

    .new-setup-summary strong[b-jjtv706mgu] {
        color: #173d4f;
        font-size: 12.5px;
        font-weight: 800;
    }

    .new-setup-summary span[b-jjtv706mgu] {
        color: #5d7480;
        font-size: 11.5px;
        line-height: 1.45;
    }

    .new-setup-summary button[b-jjtv706mgu] {
        align-self: flex-start;
        margin-top: 3px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #173d4f;
        font-size: 11.5px;
        font-weight: 800;
        cursor: pointer;
    }

        .new-setup-summary button:hover[b-jjtv706mgu] {
            text-decoration: underline;
        }

.new-dataset-card[b-jjtv706mgu] {
    padding: 18px 20px 20px;
}

.new-dataset-head[b-jjtv706mgu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eef3f5;
}

    .new-dataset-head h2[b-jjtv706mgu] {
        margin: 0 0 4px;
        color: #172b35;
        font-size: 15px;
        font-weight: 800;
    }

    .new-dataset-head p[b-jjtv706mgu] {
        max-width: 760px;
        margin: 0;
        color: #7c8b93;
        font-size: 12px;
        line-height: 1.5;
    }

.new-saving-inline[b-jjtv706mgu] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-right: auto;
    color: #5d6f78;
    font-size: 11.5px;
    font-weight: 700;
}

/* --------------------------------------------------------- summary modal */

.new-summary-backdrop[b-jjtv706mgu] {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(10, 24, 32, .32);
    backdrop-filter: blur(2px);
}

.new-summary-modal[b-jjtv706mgu] {
    width: min(720px, 100%);
    max-height: calc(100dvh - 48px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #d8e4e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(10, 24, 32, .18);
}

.new-summary-modal-head[b-jjtv706mgu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid #eef3f5;
}

    .new-summary-modal-head span[b-jjtv706mgu] {
        color: #8a99a1;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .new-summary-modal-head h2[b-jjtv706mgu] {
        margin: 4px 0 0;
        color: #172b35;
        font-size: 18px;
        font-weight: 800;
    }

.new-summary-close[b-jjtv706mgu] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #8a99a1;
    cursor: pointer;
}

    .new-summary-close:hover[b-jjtv706mgu] {
        border-color: #dfe7ea;
        background: #f8fbfc;
        color: #173d4f;
    }

.new-summary-list[b-jjtv706mgu] {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px 20px;
}

.new-summary-item[b-jjtv706mgu] {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 13px;
    border: 1px solid #e4ecee;
    border-radius: 10px;
    background: #fbfdfd;
}

.new-summary-icon[b-jjtv706mgu] {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eef6f9;
    color: #2a5d72;
    font-size: 14px;
}

.new-summary-item strong[b-jjtv706mgu] {
    display: block;
    margin-bottom: 4px;
    color: #172b35;
    font-size: 13px;
    font-weight: 800;
}

.new-summary-item p[b-jjtv706mgu] {
    margin: 0;
    color: #60737d;
    font-size: 12px;
    line-height: 1.5;
}

    .new-summary-item p.is-warn[b-jjtv706mgu] {
        color: #8a6d2e;
    }

.new-summary-item em[b-jjtv706mgu] {
    font-style: normal;
    font-weight: 700;
    color: #3d4f58;
}

.new-summary-item code[b-jjtv706mgu] {
    display: inline-flex;
    margin-top: 8px;
    padding: 4px 7px;
    border: 1px solid #dfe7ea;
    border-radius: 6px;
    background: #fff;
    color: #173d4f;
    font-family: "Cascadia Mono", Consolas, monospace;
    font-size: 11px;
}

.new-summary-item a[b-jjtv706mgu] {
    display: inline-flex;
    margin-top: 8px;
    color: #8a6d2e;
    font-size: 12px;
    font-weight: 800;
}

.new-summary-modal-foot[b-jjtv706mgu] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 20px;
    border-top: 1px solid #eef3f5;
    background: #fbfdfd;
}

@media (max-width: 1100px) {

    .new-setup-card[b-jjtv706mgu] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {

    .new-report-header[b-jjtv706mgu] {
        align-items: stretch;
    }

    .new-report-header-actions[b-jjtv706mgu] {
        justify-content: flex-end;
    }

    .new-shell[b-jjtv706mgu] {
        max-width: none;
    }

    .new-setup-card[b-jjtv706mgu],
    .new-dataset-card[b-jjtv706mgu] {
        padding: 16px;
    }

    .new-row[b-jjtv706mgu] {
        grid-template-columns: 1fr;
    }

    .new-summary-backdrop[b-jjtv706mgu] {
        align-items: stretch;
        padding: 12px;
    }

    .new-summary-modal[b-jjtv706mgu] {
        width: 100%;
        max-height: calc(100dvh - 24px);
    }
}
/* /Components/Pages/Reports/ReportDataPage.razor.rz.scp.css */
/* Datos tabulares de un report. Lo común viene de pages.css; el asistente
   es DatasetSource, con sus propios estilos. */

.report-data-page[b-4rw0ia2xmn] {
    max-width: 1320px;
}

.rdata-layout[b-4rw0ia2xmn] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.rdata-empty[b-4rw0ia2xmn] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 48px 24px;
    color: #8a999f;
}

.rdata-card-header[b-4rw0ia2xmn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.rdata-header-actions[b-4rw0ia2xmn] {
    display: flex;
    gap: 6px;
}

.rdata-muted[b-4rw0ia2xmn] {
    color: #8a999f;
    font-size: 11px;
}

.rdata-hint[b-4rw0ia2xmn] {
    margin: 0 0 12px;
    color: #61757e;
    font-size: 12px;
    line-height: 1.5;
}

.rdata-chip[b-4rw0ia2xmn] {
    padding: 2px 8px;
    border-radius: 10px;
    background: #edf2f4;
    color: #4d626d;
    font-size: 10.5px;
    font-weight: 600;
    white-space: nowrap;
}


/* ---------- Avisos ---------- */

.rdata-issues[b-4rw0ia2xmn] {
    margin-bottom: 14px;
}

    .rdata-issues ul[b-4rw0ia2xmn] {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .rdata-issues li[b-4rw0ia2xmn] {
        display: flex;
        align-items: baseline;
        gap: 8px;
        padding: 7px 10px;
        border-radius: 7px;
        font-size: 12px;
        line-height: 1.4;
    }

        .rdata-issues li.is-warning[b-4rw0ia2xmn] {
            background: #fbf5e6;
            color: #7a5d16;
        }

        .rdata-issues li.is-info[b-4rw0ia2xmn] {
            background: #f1f6f8;
            color: #4f6670;
        }

.rdata-ok[b-4rw0ia2xmn] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 10px;
    border-radius: 7px;
    background: #e9f5ee;
    color: #2f7a52;
    font-size: 12px;
}


/* ---------- Árbol ---------- */

.rdata-tree[b-4rw0ia2xmn] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rdata-level[b-4rw0ia2xmn] {
    padding: 10px 12px;
    border: 1px solid #e1e7eb;
    border-left: 3px solid #3c4f86;
    border-radius: 8px;
    background: #fff;
}

    .rdata-level .rdata-level[b-4rw0ia2xmn] {
        margin-top: 10px;
        border-left-color: #63497c;
    }

    .rdata-level > header[b-4rw0ia2xmn] {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 6px;
        color: #20323a;
        font-size: 12.5px;
    }

        .rdata-level > header i[b-4rw0ia2xmn] {
            color: #3c4f86;
            font-size: 11px;
        }

    .rdata-level table[b-4rw0ia2xmn] {
        width: 100%;
        border-collapse: collapse;
        font-size: 11.5px;
    }

    .rdata-level td[b-4rw0ia2xmn] {
        padding: 3px 6px 3px 0;
        border-top: 1px solid #f0f3f5;
        color: #34454d;
        white-space: nowrap;
    }

        .rdata-level td:nth-child(2)[b-4rw0ia2xmn] {
            width: 18px;
            color: #a6b2b8;
            font-size: 9px;
        }

        .rdata-level td code[b-4rw0ia2xmn] {
            color: #61757e;
        }

    .rdata-level .rdata-type[b-4rw0ia2xmn] {
        width: 1%;
        text-align: right;
    }

.rdata-type-select[b-4rw0ia2xmn] {
    padding: 1px 4px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: #f1f4f8;
    color: #4d5f8c;
    font-size: 10.5px;
    font-weight: 600;
    cursor: pointer;
}

    .rdata-type-select:hover[b-4rw0ia2xmn],
    .rdata-type-select:focus[b-4rw0ia2xmn] {
        border-color: #c9d3ea;
        outline: none;
    }

.rdata-dirty[b-4rw0ia2xmn] {
    margin-right: auto;
    align-self: center;
    color: #8a6d24;
    font-size: 11.5px;
    font-weight: 600;
}


/* ---------- Envío ---------- */

.rdata-columns[b-4rw0ia2xmn] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 14px;
}

    .rdata-columns code[b-4rw0ia2xmn] {
        padding: 2px 7px;
        border: 1px solid #e1e7eb;
        border-radius: 5px;
        background: #f8fafb;
        font-size: 11px;
    }

.rdata-json[b-4rw0ia2xmn] {
    max-height: 520px;
    margin: 0;
    padding: 14px 16px;
    overflow: auto;
    border-radius: 0 0 10px 10px;
    background: #172a33;
    color: #d9e6ec;
    font-family: "Cascadia Code", Consolas, monospace;
    font-size: 11.5px;
    line-height: 1.5;
}

.editor-card-body .rdata-json[b-4rw0ia2xmn] {
    border-radius: 8px;
}


/* ---------- Guardar ---------- */

.rdata-check[b-4rw0ia2xmn] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid #e3eaee;
    border-radius: 8px;
    background: #f7fafb;
    cursor: pointer;
}

    .rdata-check span[b-4rw0ia2xmn] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .rdata-check strong[b-4rw0ia2xmn] {
        font-size: 12px;
    }

    .rdata-check small[b-4rw0ia2xmn] {
        color: #74858d;
        font-size: 11px;
    }

.rdata-actions[b-4rw0ia2xmn] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 18px;
    border-top: 1px solid #edf1f3;
}

@media (max-width: 1000px) {

    .rdata-layout[b-4rw0ia2xmn] {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* Actualizar la estructura del report: la opción que más cambia, destacada. */
.rdata-check.is-strong[b-4rw0ia2xmn] {
    border-color: #c9dbe6;
    background: #f1f7fb;
}
/* /Components/Pages/Reports/ReportGeneratePage.razor.rz.scp.css */
/* Generar documentos desde filas pegadas. Lo común viene de pages.css. */

.report-generate-page[b-r8tdwldf05] {
    max-width: 1320px;
}

.rgen-layout[b-r8tdwldf05] {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.rgen-empty[b-r8tdwldf05] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 48px 24px;
    color: #8a999f;
    text-align: center;
}

    .rgen-empty.is-small[b-r8tdwldf05] {
        padding: 36px 20px;
        font-size: 12px;
    }

.rgen-missing[b-r8tdwldf05] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
}

    .rgen-missing > i[b-r8tdwldf05] {
        color: #4f7384;
        font-size: 20px;
    }

    .rgen-missing p[b-r8tdwldf05] {
        margin: 3px 0 0;
        color: #74858d;
        font-size: 12px;
    }

.rgen-card-header[b-r8tdwldf05] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.rgen-link[b-r8tdwldf05] {
    color: #4f7384;
    font-size: 11.5px;
}

.rgen-input[b-r8tdwldf05] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #d8e1e5;
    border-radius: 8px;
    background: #fafcfc;
    color: #20323a;
    font-family: "Cascadia Code", Consolas, monospace;
    font-size: 11.5px;
    line-height: 1.45;
    white-space: pre;
    resize: vertical;
}

    .rgen-input:focus[b-r8tdwldf05] {
        border-color: #8ba4b3;
        background: #fff;
        outline: none;
        box-shadow: 0 0 0 2px rgba(65, 105, 125, .10);
    }

.rgen-file[b-r8tdwldf05] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #4f7384;
    font-size: 11.5px;
    text-decoration: underline;
    cursor: pointer;
}

    /* El input real queda encima, invisible: así el texto hace de botón. */
    .rgen-file[b-r8tdwldf05]  input[type="file"] {
        position: absolute;
        inset: 0;
        opacity: 0;
        cursor: pointer;
    }

.rgen-summary[b-r8tdwldf05] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 8px;
    color: #4d626d;
    font-size: 12px;
}

.rgen-muted[b-r8tdwldf05] {
    color: #93a0a5;
}

.rgen-errors[b-r8tdwldf05] {
    margin: 10px 0 0;
    padding: 10px 12px 10px 28px;
    border: 1px solid #efd5d5;
    border-radius: 8px;
    background: #fdf4f4;
    color: #9a3d3d;
    font-size: 12px;
    line-height: 1.5;
}

.rgen-options[b-r8tdwldf05] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    margin-top: 16px;
}

.rgen-check[b-r8tdwldf05] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 4px;
    padding: 10px 12px;
    border: 1px solid #e3eaee;
    border-radius: 8px;
    background: #f7fafb;
    cursor: pointer;
}

    .rgen-check input[b-r8tdwldf05] {
        margin-top: 2px;
    }

    .rgen-check span[b-r8tdwldf05] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .rgen-check strong[b-r8tdwldf05] {
        color: #20323a;
        font-size: 12px;
    }

    .rgen-check small[b-r8tdwldf05] {
        color: #74858d;
        font-size: 11px;
        line-height: 1.4;
    }

.rgen-actions[b-r8tdwldf05] {
    display: flex;
    justify-content: flex-end;
    padding: 12px 18px;
    border-top: 1px solid #edf1f3;
}

.rgen-results[b-r8tdwldf05] {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .rgen-results li[b-r8tdwldf05] {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto auto;
        align-items: center;
        gap: 10px;
        padding: 10px 18px;
        border-bottom: 1px solid #edf1f3;
    }

        .rgen-results li > i[b-r8tdwldf05] {
            color: #2f7a52;
        }

        .rgen-results li.is-error[b-r8tdwldf05] {
            grid-template-columns: auto minmax(0, 1fr);
            background: #fdf7f7;
        }

            .rgen-results li.is-error > i[b-r8tdwldf05] {
                color: #9a3d3d;
            }

.rgen-result-text[b-r8tdwldf05] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .rgen-result-text strong[b-r8tdwldf05] {
        overflow: hidden;
        color: #20323a;
        font-size: 12.5px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .rgen-result-text small[b-r8tdwldf05] {
        color: #8a999f;
        font-size: 11px;
    }

.rgen-results li.is-error .rgen-result-text small[b-r8tdwldf05] {
    color: #9a3d3d;
    white-space: normal;
}

.rgen-note[b-r8tdwldf05] {
    margin: 0;
    padding: 12px 18px;
    color: #74858d;
    font-size: 11.5px;
}

@media (max-width: 1000px) {

    .rgen-layout[b-r8tdwldf05],
    .rgen-options[b-r8tdwldf05] {
        grid-template-columns: minmax(0, 1fr);
    }
}


.rgen-result-meta[b-r8tdwldf05] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
/* /Components/Pages/Reports/ReportsPage.razor.rz.scp.css */
.report-error[b-1z9j6nd8oy] {
    margin-bottom: 16px;
    padding: 11px 14px;
    border: 1px solid #e6c3c3;
    border-radius: 7px;
    background: #fdf4f4;
    color: #8c3a3a;
    font-size: 12.5px;
}

.report-toolbar[b-1z9j6nd8oy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.report-view-toggle[b-1z9j6nd8oy] {
    display: inline-flex;
    flex-shrink: 0;
    padding: 2px;
    border: 1px solid #d8e1e5;
    border-radius: 8px;
    background: #f7fafb;
}

    .report-view-toggle button[b-1z9j6nd8oy] {
        width: 34px;
        height: 30px;
        border: 0;
        border-radius: 6px;
        background: transparent;
        color: #9aa9b1;
        cursor: pointer;
        font-size: 12px;
    }

    .report-view-toggle button:hover[b-1z9j6nd8oy] {
        color: #23333c;
    }

    .report-view-toggle button.is-on[b-1z9j6nd8oy] {
        background: #fff;
        box-shadow: 0 1px 3px rgba(23, 43, 53, .12);
        color: #172b35;
    }

.report-search[b-1z9j6nd8oy] {
    position: relative;
    flex: 1;
    max-width: 380px;
}

    .report-search i[b-1z9j6nd8oy] {
        position: absolute;
        top: 50%;
        left: 12px;
        transform: translateY(-50%);
        color: #9aa9b1;
        font-size: 12px;
    }

    .report-search input[b-1z9j6nd8oy] {
        width: 100%;
        height: 36px;
        padding: 0 12px 0 32px;
        padding-right: 34px;
        border: 1px solid #d8e1e5;
        border-radius: 7px;
        background: #fff;
        font-size: 12.5px;
    }

.report-search-clear[b-1z9j6nd8oy] {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #9aa9b1;
    font-size: 11px;
    cursor: pointer;
}

    .report-search-clear:hover[b-1z9j6nd8oy] {
        background: #eef3f5;
        color: #23333c;
    }

.report-grid[b-1z9j6nd8oy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 16px;
}

.report-card[b-1z9j6nd8oy] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    padding: 18px 20px;
    border: 1px solid #dfe7ea;
    border-radius: 10px;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    .report-card:hover[b-1z9j6nd8oy] {
        border-color: #c3d2d8;
        box-shadow: 0 6px 20px rgba(23, 43, 53, .07);
    }

    .report-card > header[b-1z9j6nd8oy] {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }

.report-card-title h2[b-1z9j6nd8oy] {
    margin: 0;
    color: #172b35;
    font-size: 16px;
    font-weight: 700;
}

.report-card-title code[b-1z9j6nd8oy] {
    display: block;
    margin-top: 4px;
    color: #8a99a1;
    font-size: 11.5px;
}

.report-version[b-1z9j6nd8oy] {
    padding: 3px 9px;
    border: 1px solid #dfe7ea;
    border-radius: 999px;
    color: #7c8b93;
    font-size: 10.5px;
    font-weight: 700;
}

/* ------------------------------------------------------------ cifras */

.report-stats[b-1z9j6nd8oy] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    padding: 12px 0;
    border-top: 1px solid #eef3f5;
    border-bottom: 1px solid #eef3f5;
}

    .report-stats div[b-1z9j6nd8oy] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .report-stats strong[b-1z9j6nd8oy] {
        color: #172b35;
        font-size: 17px;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        line-height: 1.1;
    }

    .report-stats span[b-1z9j6nd8oy] {
        color: #8a99a1;
        font-size: 10.5px;
    }

.report-warn[b-1z9j6nd8oy] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 11px;
    border: 1px solid #ead9b6;
    border-radius: 7px;
    background: #fdfaf2;
    color: #8a6d2e;
    font-size: 11.5px;
    line-height: 1.45;
}

/* ----------------------------------------------------------- idiomas */

.report-langs[b-1z9j6nd8oy] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.report-lang[b-1z9j6nd8oy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    border: 1px solid #dfe7ea;
    border-radius: 999px;
    font-size: 10.5px;
}

    .report-lang code[b-1z9j6nd8oy] {
        color: #7c8b93;
        font-size: 10px;
    }

    .report-lang strong[b-1z9j6nd8oy] {
        font-variant-numeric: tabular-nums;
    }

    .report-lang.is-done[b-1z9j6nd8oy] {
        border-color: #b9d4c4;
        background: #f2f8f4;
    }

        .report-lang.is-done strong[b-1z9j6nd8oy] {
            color: #2b6a48;
        }

    .report-lang.is-partial[b-1z9j6nd8oy] {
        border-color: #ead9b6;
        background: #fdfaf2;
    }

        .report-lang.is-partial strong[b-1z9j6nd8oy] {
            color: #8a6d2e;
        }

    .report-lang.is-none[b-1z9j6nd8oy] {
        background: #f7fafb;
    }

        .report-lang.is-none strong[b-1z9j6nd8oy] {
            color: #9aa9b1;
        }

.report-langs-empty[b-1z9j6nd8oy] {
    color: #8a6d2e;
    font-size: 11.5px;
    text-decoration: underline;
}

/* ---------------------------------------------------------- acciones */

/* Flex con wrap y no rejilla fija: con Datos y Generar ya son cinco
   botones de texto, y en una tarjeta de 380px caben tres por línea. */
.report-actions[b-1z9j6nd8oy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: auto;
}

    .report-actions .primary-button[b-1z9j6nd8oy],
    .report-actions .secondary-button[b-1z9j6nd8oy] {
        flex: 1 1 30%;
        min-width: 0;
        white-space: nowrap;
    }

    .report-actions .icon-button[b-1z9j6nd8oy] {
        flex: none;
    }

    .report-actions .primary-button i[b-1z9j6nd8oy],
    .report-actions .secondary-button i[b-1z9j6nd8oy] {
        font-size: 10px;
    }

    .report-actions .icon-button[b-1z9j6nd8oy] {
        width: 34px;
        height: 34px;
        color: #9aa9b1;
    }

    .report-actions .icon-button:hover[b-1z9j6nd8oy] {
        border-color: #c3d2d8;
        color: #23333c;
    }

    .report-actions .icon-button.danger[b-1z9j6nd8oy] {
        width: 34px;
        height: 34px;
        color: #9aa9b1;
    }

        .report-actions .icon-button.danger:hover[b-1z9j6nd8oy] {
            border-color: #e6c3c3;
            background: #fdf4f4;
            color: #8c3a3a;
        }

.danger-button[b-1z9j6nd8oy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 13px;
    border: 1px solid #b44545;
    border-radius: 7px;
    background: #b44545;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

    .danger-button:hover:not(:disabled)[b-1z9j6nd8oy] {
        background: #9c3a3a;
    }

    .danger-button:disabled[b-1z9j6nd8oy] {
        opacity: .55;
        cursor: default;
    }

.report-delete[b-1z9j6nd8oy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #e6c3c3;
    border-radius: 8px;
    background: #fdf4f4;
}

    .report-delete strong[b-1z9j6nd8oy] {
        display: block;
        color: #8c3a3a;
        font-size: 12.5px;
    }

    .report-delete small[b-1z9j6nd8oy] {
        display: block;
        margin-top: 3px;
        color: #a56666;
        font-size: 11px;
        line-height: 1.45;
    }

.report-delete-actions[b-1z9j6nd8oy] {
    display: flex;
    gap: 7px;
    flex-shrink: 0;
}

/* -------------------------------------------------------- vista lista */

.report-list[b-1z9j6nd8oy] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.report-row[b-1z9j6nd8oy] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    min-width: 0;
    padding: 12px 16px;
    border: 1px solid #dfe7ea;
    border-radius: 9px;
    background: #fff;
}

    .report-row:hover[b-1z9j6nd8oy] {
        border-color: #c3d2d8;
    }

.report-row-main[b-1z9j6nd8oy] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex: 1;
    gap: 8px 16px;
    min-width: 0;
}

.report-row-title[b-1z9j6nd8oy] {
    min-width: 200px;
    flex: 1;
}

    .report-row-title h2[b-1z9j6nd8oy] {
        margin: 0;
        overflow: hidden;
        color: #172b35;
        font-size: 14px;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .report-row-title code[b-1z9j6nd8oy] {
        display: block;
        margin-top: 2px;
        color: #8a99a1;
        font-size: 11px;
    }

.report-row-meta[b-1z9j6nd8oy] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: #8a99a1;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

.report-row-warn[b-1z9j6nd8oy] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #8a6d2e;
}

.report-row-actions[b-1z9j6nd8oy] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 6px;
}

    /* En lista los botones no mandan: la fila es para leer, no para actuar
       sobre ella cinco veces. */
    .report-row-actions .primary-button[b-1z9j6nd8oy],
    .report-row-actions .secondary-button[b-1z9j6nd8oy] {
        min-height: 30px;
        padding: 5px 10px;
        font-size: 10.5px;
    }

    .report-row-actions .icon-button[b-1z9j6nd8oy] {
        width: 30px;
        height: 30px;
        color: #9aa9b1;
    }

    .report-row-actions .icon-button:hover[b-1z9j6nd8oy] {
        border-color: #c3d2d8;
        color: #23333c;
    }

    .report-row-actions .icon-button.danger:hover[b-1z9j6nd8oy] {
        border-color: #e6c3c3;
        background: #fdf4f4;
        color: #8c3a3a;
    }

/* La fila es flex con wrap, así que un panel a ancho completo cae solo a la
   línea de abajo sin sacarlo de la tarjeta. */
.report-row .report-rename[b-1z9j6nd8oy],
.report-row .report-delete[b-1z9j6nd8oy] {
    flex-basis: 100%;
}

/* ---------------------------------------------------- renombrar report */

.report-rename[b-1z9j6nd8oy] {
    padding: 13px 15px;
    border: 1px solid #d8e1e5;
    border-radius: 8px;
    background: #f7fafb;
}

    .report-rename label[b-1z9j6nd8oy] {
        display: block;
        color: #5c6c74;
        font-size: 11px;
        font-weight: 600;
    }

    .report-rename input[b-1z9j6nd8oy] {
        width: 100%;
        height: 34px;
        margin-top: 5px;
        padding: 0 10px;
        border: 1px solid #d8e1e5;
        border-radius: 7px;
        background: #fff;
        font-size: 12.5px;
    }

.report-rename-hint[b-1z9j6nd8oy] {
    margin: 7px 0 0;
    color: #8a99a1;
    font-size: 11px;
    line-height: 1.45;
}

    .report-rename-hint code[b-1z9j6nd8oy] {
        color: #5c6c74;
    }

.report-rename-error[b-1z9j6nd8oy] {
    margin: 7px 0 0;
    color: #8c3a3a;
    font-size: 11.5px;
}

.report-rename-actions[b-1z9j6nd8oy] {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 11px;
}

@media (max-width: 620px) {

    .report-grid[b-1z9j6nd8oy] {
        grid-template-columns: 1fr;
    }

    .report-actions .primary-button[b-1z9j6nd8oy],
    .report-actions .secondary-button[b-1z9j6nd8oy] {
        flex-basis: 45%;
    }

    .report-toolbar[b-1z9j6nd8oy] {
        flex-wrap: wrap;
    }

    .report-search[b-1z9j6nd8oy] {
        max-width: none;
    }

    .report-row[b-1z9j6nd8oy] {
        align-items: flex-start;
        flex-direction: column;
    }

    .report-delete[b-1z9j6nd8oy] {
        flex-direction: column;
    }
}
/* /Components/Pages/ResourcesPage.razor.rz.scp.css */
.dict[b-65j5jbm6j2] {
    max-width: 100%;
    margin: 0 auto;
    padding: 36px 40px 110px;
}

/* ----------------------------------------------------------- cabecera */

.dict-header[b-65j5jbm6j2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

    .dict-header h1[b-65j5jbm6j2] {
        margin: 0;
        color: #172b35;
        font-size: 26px;
        font-weight: 700;
    }

    .dict-header p[b-65j5jbm6j2] {
        margin: 7px 0 0;
        color: #74858d;
        font-size: 13px;
    }

.dict-header-actions[b-65j5jbm6j2] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dict-scope[b-65j5jbm6j2] {
    min-width: 260px;
    height: 36px;
    padding: 0 11px;
    border: 1px solid #d8e1e5;
    border-radius: 7px;
    background: #fff;
    color: #23333c;
    font-size: 12.5px;
    font-weight: 600;
}

/* --------------------------------------------------------- mensajeria */

.dict-error[b-65j5jbm6j2],
.dict-notice[b-65j5jbm6j2] {
    margin-bottom: 16px;
    padding: 11px 14px;
    border-radius: 7px;
    font-size: 12.5px;
}

.dict-error[b-65j5jbm6j2] {
    border: 1px solid #e6c3c3;
    background: #fdf4f4;
    color: #8c3a3a;
}

.dict-notice[b-65j5jbm6j2] {
    border: 1px solid #c3dbe6;
    background: #f4fafd;
    color: #2a5d72;
}

/* ---------------------------------------------------------- nueva clave */

.dict-newkey[b-65j5jbm6j2] {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 2fr) auto;
    align-items: end;
    gap: 14px;
    margin-bottom: 16px;
    padding: 16px 18px;
    border: 1px solid #d8e1e5;
    border-radius: 9px;
    background: #fff;
}

.dict-newkey-actions[b-65j5jbm6j2] {
    display: flex;
    gap: 8px;
}

/* ------------------------------------------------------------ toolbar */

.dict-toolbar[b-65j5jbm6j2] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.dict-search[b-65j5jbm6j2] {
    position: relative;
    flex: 1;
    max-width: 420px;
}

    .dict-search i[b-65j5jbm6j2] {
        position: absolute;
        top: 50%;
        left: 12px;
        transform: translateY(-50%);
        color: #9aa9b1;
        font-size: 12px;
    }

    .dict-search input[b-65j5jbm6j2] {
        width: 100%;
        height: 36px;
        padding: 0 12px 0 32px;
        border: 1px solid #d8e1e5;
        border-radius: 7px;
        background: #fff;
        font-size: 12.5px;
    }

.dict-toggle[b-65j5jbm6j2] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #4c5f68;
    font-size: 12.5px;
    cursor: pointer;
}

    .dict-toggle input[b-65j5jbm6j2] {
        margin: 0;
    }

.dict-count[b-65j5jbm6j2] {
    margin-left: auto;
    color: #8a99a1;
    font-size: 12px;
}

/* --------------------------------------------------- chips de idioma */

.dict-langs[b-65j5jbm6j2] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.dict-chip[b-65j5jbm6j2] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 190px;
    padding: 7px 12px 7px 9px;
    border: 1px solid #dfe7ea;
    border-radius: 999px;
    background: #f7fafb;
    color: #8a99a1;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

    .dict-chip:hover:not(:disabled)[b-65j5jbm6j2] {
        border-color: #c3d2d8;
        background: #fff;
    }

    .dict-chip.is-on[b-65j5jbm6j2] {
        border-color: #173d4f;
        background: #fff;
        color: #23333c;
    }

    .dict-chip.is-base[b-65j5jbm6j2] {
        border-color: #b9d4c4;
        background: #f2f8f4;
        color: #23333c;
        cursor: default;
    }

.dict-chip-check[b-65j5jbm6j2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid #cfdae0;
    border-radius: 50%;
    background: #fff;
    font-size: 8px;
    color: #fff;
}

.dict-chip.is-on .dict-chip-check[b-65j5jbm6j2] {
    border-color: #173d4f;
    background: #173d4f;
}

.dict-chip.is-base .dict-chip-check[b-65j5jbm6j2] {
    border-color: #3f7a5a;
    background: #3f7a5a;
}

.dict-chip-body[b-65j5jbm6j2] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: left;
}

.dict-chip-name[b-65j5jbm6j2] {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

    .dict-chip-name code[b-65j5jbm6j2] {
        margin-left: 5px;
        color: #9aa9b1;
        font-size: 10px;
        font-weight: 500;
    }

.dict-chip-bar[b-65j5jbm6j2] {
    display: block;
    height: 3px;
    border-radius: 999px;
    background: #dde6e9;
    overflow: hidden;
}

    .dict-chip-bar span[b-65j5jbm6j2] {
        display: block;
        height: 100%;
        border-radius: 999px;
        background: #3f7a5a;
        transition: width .2s ease;
    }

.dict-chip:not(.is-on):not(.is-base) .dict-chip-bar span[b-65j5jbm6j2] {
    background: #b9c5ca;
}

.dict-chip-pct[b-65j5jbm6j2] {
    font-size: 11px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------- matriz */

.dict-scroll[b-65j5jbm6j2] {
    overflow-x: auto;
    border: 1px solid #dfe7ea;
    border-radius: 9px;
    background: #fff;
}

.dict-table[b-65j5jbm6j2] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

    .dict-table thead th[b-65j5jbm6j2] {
        position: sticky;
        top: 0;
        z-index: 3;
        padding: 12px 14px;
        border-bottom: 1px solid #dfe7ea;
        background: #f6f9fa;
        text-align: left;
        vertical-align: top;
    }

    .dict-table td[b-65j5jbm6j2] {
        padding: 8px 14px;
        border-bottom: 1px solid #eef3f5;
        vertical-align: middle;
    }

    .dict-table tbody tr:last-child td[b-65j5jbm6j2] {
        border-bottom: 0;
    }

/* La columna de clave se queda fija al hacer scroll horizontal: con cuatro
   idiomas, sin esto no sabes qué estás editando. */
.dict-col-key[b-65j5jbm6j2] {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 260px;
    background: #fff;
    box-shadow: 1px 0 0 #eef3f5;
}

thead .dict-col-key[b-65j5jbm6j2] {
    z-index: 4;
    background: #f6f9fa;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: #7c8b93;
}

.dict-col-key code[b-65j5jbm6j2] {
    display: block;
    color: #23333c;
    font-size: 12px;
    word-break: break-all;
}

.dict-col-key small[b-65j5jbm6j2] {
    display: block;
    margin-top: 3px;
    color: #8a99a1;
    font-size: 11px;
}

.dict-col-lang[b-65j5jbm6j2] {
    min-width: 230px;
}

    .dict-col-lang.is-base[b-65j5jbm6j2] {
        background: #eef4f2;
    }

.dict-lang-head[b-65j5jbm6j2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.dict-lang-name strong[b-65j5jbm6j2] {
    display: block;
    color: #23333c;
    font-size: 12.5px;
}

.dict-lang-name code[b-65j5jbm6j2] {
    color: #8a99a1;
    font-size: 10.5px;
}

.dict-lang-base[b-65j5jbm6j2] {
    margin-top: 6px;
    color: #3f7a5a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
}

/* ------------------------------------------------ menu de relleno por idioma */

.dict-lang-menu-toggle[b-65j5jbm6j2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #7c8b93;
    cursor: pointer;
    font-size: 12px;
}

    .dict-lang-menu-toggle:hover[b-65j5jbm6j2] {
        background: #e4ecee;
        color: #23333c;
    }

/* El panel vive junto al chip y NO dentro de la tabla. La tabla necesita
   overflow-x para el scroll horizontal, y CSS no permite recortar en un eje
   y desbordar en el otro: en cuanto un eje es auto, el otro también recorta.
   Dentro de la tabla el panel se cortaba por abajo en cuanto había pocas
   filas. */

.dict-chip-wrap[b-65j5jbm6j2] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.dict-lang-panel[b-65j5jbm6j2] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 20;
    min-width: 230px;
    padding: 10px 12px;
    border: 1px solid #d8e1e5;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(23, 43, 53, .12);
}

.dict-lang-panel-title[b-65j5jbm6j2] {
    display: block;
    margin-bottom: 8px;
    color: #7c8b93;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.dict-lang-panel-row[b-65j5jbm6j2] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    font-size: 12px;
    color: #3d4f58;
}

    .dict-lang-panel-row span[b-65j5jbm6j2] {
        flex: 1;
    }

    .dict-lang-panel-row button[b-65j5jbm6j2] {
        width: 26px;
        height: 26px;
        border: 1px solid #d8e1e5;
        border-radius: 6px;
        background: #fff;
        color: #4c5f68;
        font-size: 11px;
        cursor: pointer;
    }

        .dict-lang-panel-row button:hover:not(:disabled)[b-65j5jbm6j2] {
            border-color: #173d4f;
            color: #173d4f;
        }

        .dict-lang-panel-row button:disabled[b-65j5jbm6j2] {
            opacity: .45;
            cursor: default;
        }

/* ------------------------------------------------------------- celdas */

.dict-group td[b-65j5jbm6j2] {
    padding: 9px 14px;
    background: #f9fbfc;
    color: #7c8b93;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.dict-cell[b-65j5jbm6j2] {
    position: relative;
}

.dict-input[b-65j5jbm6j2] {
    width: 100%;
    height: 34px;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #23333c;
    font-size: 12.5px;
}

    .dict-input:hover[b-65j5jbm6j2] {
        border-color: #dfe7ea;
        background: #fbfdfd;
    }

    .dict-input:focus[b-65j5jbm6j2] {
        border-color: #173d4f;
        background: #fff;
        outline: none;
    }

    .dict-input[b-65j5jbm6j2]::placeholder {
        color: #b3c0c6;
        font-style: italic;
    }

    .dict-input.is-empty[b-65j5jbm6j2] {
        background: #fdfaf4;
    }

    .dict-input.is-dirty[b-65j5jbm6j2] {
        border-color: #c9a227;
        background: #fffdf3;
    }

    .dict-input.is-machine[b-65j5jbm6j2] {
        padding-right: 26px;
    }

.dict-machine[b-65j5jbm6j2] {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    color: #b08a2e;
    font-size: 10px;
    pointer-events: none;
}

.dict-col-actions[b-65j5jbm6j2] {
    width: 48px;
    text-align: right;
}

    .dict-col-actions button[b-65j5jbm6j2] {
        width: 28px;
        height: 28px;
        border: 1px solid transparent;
        border-radius: 6px;
        background: transparent;
        color: #9aa9b1;
        font-size: 11px;
        cursor: pointer;
    }

        .dict-col-actions button:hover[b-65j5jbm6j2] {
            border-color: #e6c3c3;
            background: #fdf4f4;
            color: #8c3a3a;
        }

/* --------------------------------------------------- barra de guardado */

.dict-savebar[b-65j5jbm6j2] {
    position: fixed;
    right: 40px;
    bottom: 26px;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1px solid #d8e1e5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(23, 43, 53, .16);
}

    .dict-savebar span[b-65j5jbm6j2] {
        color: #23333c;
        font-size: 12.5px;
        font-weight: 600;
    }

/* --------------------------------------------------------------- estado */

.dict-state[b-65j5jbm6j2] {
    padding: 42px 20px;
    border: 1px dashed #dfe7ea;
    border-radius: 9px;
    background: #fbfdfd;
    color: #7c8b93;
    font-size: 13px;
    text-align: center;
}

    .dict-state a[b-65j5jbm6j2] {
        color: #173d4f;
        font-weight: 600;
    }

@media (max-width: 900px) {

    .dict[b-65j5jbm6j2] {
        padding: 24px 16px 110px;
    }

    .dict-header[b-65j5jbm6j2] {
        flex-direction: column;
    }

    .dict-newkey[b-65j5jbm6j2] {
        grid-template-columns: 1fr;
    }

    .dict-chip[b-65j5jbm6j2] {
        flex: 1;
        min-width: 150px;
    }

    .dict-col-key[b-65j5jbm6j2] {
        position: static;
        min-width: 180px;
    }

    .dict-savebar[b-65j5jbm6j2] {
        right: 16px;
        left: 16px;
    }
}


.dict-token-only[b-65j5jbm6j2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #b6a06a;
    font-size: 10px;
}
/* /Components/Pages/Settings/ApiKeysPage.razor.rz.scp.css */
/* Estilos propios de la página de API keys. Lo común (.page, .editor-card,
   .form-group, botones) viene de pages.css. */

.api-keys-page[b-93hf75oz7t] {
    max-width: 1050px;
}

.api-key-created[b-93hf75oz7t] {
    margin-bottom: 20px;
    padding: 16px 18px;
    border: 1px solid #ead9a8;
    border-radius: 10px;
    background: #fffaf0;
}

.api-key-created-heading[b-93hf75oz7t] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

    .api-key-created-heading > i[b-93hf75oz7t] {
        margin-top: 2px;
        color: #a0761c;
    }

    .api-key-created-heading > div[b-93hf75oz7t] {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    .api-key-created-heading strong[b-93hf75oz7t] {
        color: #5c4612;
        font-size: 13px;
    }

    .api-key-created-heading small[b-93hf75oz7t] {
        color: #7d6526;
        font-size: 11px;
    }

.api-key-created-row[b-93hf75oz7t] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

    .api-key-created-row input[b-93hf75oz7t] {
        min-width: 0;
        padding: 8px 10px;
        border: 1px solid #e3d3a3;
        border-radius: 7px;
        background: #fff;
        color: #20323a;
        font-family: "Cascadia Code", Consolas, monospace;
        font-size: 12px;
    }

.api-key-usage[b-93hf75oz7t] {
    margin: 10px 0 0;
    padding: 8px 10px;
    border-radius: 6px;
    background: #f5efe0;
    color: #5c4612;
    font-family: "Cascadia Code", Consolas, monospace;
    font-size: 11px;
    white-space: pre-wrap;
    word-break: break-all;
}

.api-key-form[b-93hf75oz7t] {
    margin-bottom: 16px;
}

.api-key-form-body[b-93hf75oz7t] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 160px auto;
    gap: 12px;
    align-items: end;
}

    .api-key-form-body .form-group[b-93hf75oz7t] {
        margin-bottom: 0;
    }

.api-key-row[b-93hf75oz7t] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) 150px 120px 120px 90px 31px;
    align-items: center;
    gap: 12px;
    min-height: 50px;
    padding: 0 18px;
    border-bottom: 1px solid #edf1f3;
    font-size: 12px;
}

    .api-key-row:last-child[b-93hf75oz7t] {
        border-bottom: 0;
    }

    .api-key-row.is-header[b-93hf75oz7t] {
        min-height: 36px;
        border-bottom: 1px solid #e5ebee;
        background: #f7f9fa;
    }

        .api-key-row.is-header span[b-93hf75oz7t] {
            color: #84939a;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .06em;
            text-transform: uppercase;
        }

    .api-key-row strong[b-93hf75oz7t] {
        overflow: hidden;
        color: #20323a;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .api-key-row code[b-93hf75oz7t] {
        color: #61757e;
        font-size: 11px;
    }

    .api-key-row .icon-button:disabled[b-93hf75oz7t] {
        opacity: .4;
        cursor: default;
    }

.api-key-muted[b-93hf75oz7t] {
    color: #61757e;
    font-size: 11px;
}

.api-key-status[b-93hf75oz7t] {
    justify-self: start;
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 700;
}

    .api-key-status.is-active[b-93hf75oz7t] {
        background: #e5f4ec;
        color: #2f7a52;
    }

    .api-key-status.is-expired[b-93hf75oz7t] {
        background: #f4f0e4;
        color: #8a6d24;
    }

    .api-key-status.is-revoked[b-93hf75oz7t] {
        background: #f8e9e9;
        color: #9a3d3d;
    }

.api-key-empty[b-93hf75oz7t] {
    padding: 32px 24px;
    color: #8a999f;
    font-size: 12px;
    text-align: center;
}

@media (max-width: 800px) {

    .api-key-form-body[b-93hf75oz7t] {
        grid-template-columns: minmax(0, 1fr);
    }

    .api-key-row[b-93hf75oz7t] {
        grid-template-columns: minmax(0, 1fr) auto 31px;
    }

        .api-key-row > code[b-93hf75oz7t],
        .api-key-row > .api-key-muted[b-93hf75oz7t],
        .api-key-row.is-header[b-93hf75oz7t] {
            display: none;
        }
}
/* /Components/Pages/Settings/MembersPage.razor.rz.scp.css */
/* Página de miembros. Lo común (.page, .editor-card, .form-group, botones)
   viene de pages.css. */

.members-page[b-1nuovre9ec] {
    max-width: 1050px;
}

.members-invite[b-1nuovre9ec] {
    margin-bottom: 16px;
}

.members-invite-body[b-1nuovre9ec] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px auto;
    gap: 12px;
    align-items: end;
}

    .members-invite-body .form-group[b-1nuovre9ec] {
        margin-bottom: 0;
    }

.members-roles-help[b-1nuovre9ec] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 0 18px 16px;
    color: #6d7b83;
    font-size: 11px;
    line-height: 1.45;
}

    .members-roles-help strong[b-1nuovre9ec] {
        color: #3d5560;
    }

.members-table[b-1nuovre9ec] {
    display: flex;
    flex-direction: column;
}

.members-row[b-1nuovre9ec] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px 110px 70px;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 0 18px;
    border-bottom: 1px solid #edf1f3;
    font-size: 12px;
}

    .members-row:last-child[b-1nuovre9ec] {
        border-bottom: 0;
    }

    .members-row.is-header[b-1nuovre9ec] {
        min-height: 36px;
        border-bottom: 1px solid #e5ebee;
        background: #f7f9fa;
    }

        .members-row.is-header span[b-1nuovre9ec] {
            color: #84939a;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .06em;
            text-transform: uppercase;
        }

    .members-row select[b-1nuovre9ec] {
        height: 30px;
        padding: 0 8px;
        border: 1px solid #d8e1e5;
        border-radius: 7px;
        background: #fff;
        font: inherit;
        font-size: 12px;
    }

        .members-row select:disabled[b-1nuovre9ec] {
            background: #f5f8f9;
            color: #61757e;
        }

    .members-row .icon-button[b-1nuovre9ec] {
        justify-self: end;
    }

        .members-row .icon-button:disabled[b-1nuovre9ec] {
            opacity: .4;
            cursor: default;
        }

.members-person[b-1nuovre9ec] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .members-person strong[b-1nuovre9ec] {
        display: flex;
        align-items: center;
        gap: 6px;
        overflow: hidden;
        color: #20323a;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .members-person em[b-1nuovre9ec] {
        color: #8a99a1;
        font-size: 10px;
        font-style: normal;
        font-weight: 400;
    }

    .members-person small[b-1nuovre9ec] {
        overflow: hidden;
        color: #61757e;
        font-size: 11px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.members-badge[b-1nuovre9ec] {
    padding: 2px 7px;
    border-radius: 10px;
    font-size: 9px;
    font-weight: 700;
}

    .members-badge.is-locked[b-1nuovre9ec] {
        background: #f8e9e9;
        color: #9a3d3d;
    }

.members-muted[b-1nuovre9ec] {
    color: #61757e;
    font-size: 11px;
}

.members-actions[b-1nuovre9ec] {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
}

@media (max-width: 800px) {

    .members-invite-body[b-1nuovre9ec] {
        grid-template-columns: minmax(0, 1fr);
    }

    .members-row[b-1nuovre9ec] {
        grid-template-columns: minmax(0, 1fr) 130px auto;
    }

        .members-row > .members-muted[b-1nuovre9ec],
        .members-row.is-header[b-1nuovre9ec] {
            display: none;
        }
}
/* /Components/Pages/StylesPage.razor.rz.scp.css */
/* Pantalla de temas. Lo común (.page, .page-header, .editor-card,
   .form-group, botones) viene de pages.css; el editor de colores es
   ReportThemeEditor, con sus estilos en reporting.css. */

.themes-page[b-kmiatnqkg5] {
    max-width: 1440px;
}

.themes-layout[b-kmiatnqkg5] {
    display: grid;
    grid-template-columns: 250px 360px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.themes-empty[b-kmiatnqkg5],
.themes-placeholder[b-kmiatnqkg5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 48px 24px;
    color: #8a999f;
    text-align: center;
}

.themes-placeholder[b-kmiatnqkg5] {
    grid-column: 2 / -1;
}

    .themes-placeholder i[b-kmiatnqkg5] {
        font-size: 22px;
    }

    .themes-placeholder p[b-kmiatnqkg5] {
        margin: 0;
        font-size: 12px;
    }


/* ---------- Lista ---------- */

.themes-list[b-kmiatnqkg5] {
    position: sticky;
    top: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.themes-list-title[b-kmiatnqkg5] {
    margin: 6px 0 2px;
    color: #84939a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

    .themes-list-title:first-child[b-kmiatnqkg5] {
        margin-top: 0;
    }

.themes-hint[b-kmiatnqkg5] {
    margin: 0;
    padding: 10px 12px;
    border: 1px dashed #d8e1e5;
    border-radius: 8px;
    color: #74858d;
    font-size: 11.5px;
    line-height: 1.45;
}

.themes-item[b-kmiatnqkg5] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 10px;
    border: 1px solid #e1e7eb;
    border-radius: 9px;
    background: #fff;
    color: #20323a;
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

    .themes-item:hover[b-kmiatnqkg5] {
        border-color: #b9c8d0;
    }

    .themes-item.is-active[b-kmiatnqkg5] {
        border-color: #173d4f;
        box-shadow: 0 0 0 2px rgba(23, 61, 79, .12);
    }

    .themes-item.is-template[b-kmiatnqkg5] {
        border-style: dashed;
        background: #fbfcfd;
    }

        .themes-item.is-template > i[b-kmiatnqkg5] {
            color: #93a0a5;
            font-size: 11px;
        }

        .themes-item.is-template:hover > i[b-kmiatnqkg5] {
            color: #173d4f;
        }

.themes-item-text[b-kmiatnqkg5] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .themes-item-text strong[b-kmiatnqkg5] {
        overflow: hidden;
        font-size: 12.5px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .themes-item-text small[b-kmiatnqkg5] {
        overflow: hidden;
        color: #8a999f;
        font-size: 10.5px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.themes-swatches[b-kmiatnqkg5] {
    display: inline-grid;
    grid-template-columns: repeat(2, 14px);
    grid-template-rows: repeat(2, 14px);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 6px;
}

.themes-badge[b-kmiatnqkg5] {
    padding: 2px 7px;
    border-radius: 10px;
    background: #e5f4ec;
    color: #2f7a52;
    font-size: 9.5px;
    font-weight: 700;
    white-space: nowrap;
}


/* ---------- Editor ---------- */

.themes-editor-header[b-kmiatnqkg5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.themes-dirty[b-kmiatnqkg5] {
    padding: 2px 8px;
    border-radius: 10px;
    background: #f4f0e4;
    color: #8a6d24;
    font-size: 10px;
    font-weight: 700;
}

.themes-default[b-kmiatnqkg5] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 4px 0 16px;
    padding: 10px 12px;
    border: 1px solid #e3eaee;
    border-radius: 8px;
    background: #f7fafb;
    cursor: pointer;
}

    .themes-default input[b-kmiatnqkg5] {
        margin-top: 2px;
    }

    .themes-default span[b-kmiatnqkg5] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .themes-default strong[b-kmiatnqkg5] {
        color: #20323a;
        font-size: 12px;
    }

    .themes-default small[b-kmiatnqkg5] {
        color: #74858d;
        font-size: 11px;
    }

.themes-errors[b-kmiatnqkg5] {
    margin: 12px 0 0;
    padding: 10px 12px 10px 28px;
    border: 1px solid #efd5d5;
    border-radius: 8px;
    background: #fdf4f4;
    color: #9a3d3d;
    font-size: 11.5px;
    line-height: 1.5;
}

.themes-editor-actions[b-kmiatnqkg5] {
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-top: 1px solid #edf1f3;
    border-radius: 0 0 10px 10px;
    background: #fff;
}

.themes-actions-spacer[b-kmiatnqkg5] {
    flex: 1;
}

.themes-delete:hover:not(:disabled)[b-kmiatnqkg5] {
    color: #9a3d3d;
}


/* ---------- Vista previa ---------- */

.themes-preview[b-kmiatnqkg5] {
    position: sticky;
    top: 16px;
    overflow: hidden;
}

    .themes-preview .editor-card-header[b-kmiatnqkg5] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

.themes-usage[b-kmiatnqkg5] {
    color: #8a6d24;
    font-size: 11px;
    font-weight: 600;
}

/* Una hoja sobre fondo gris, como el preview del diseñador. */
.themes-preview-canvas[b-kmiatnqkg5] {
    padding: 22px;
    background: #eef2f4;
}

    .themes-preview-canvas[b-kmiatnqkg5]  .dynamic-report {
        box-sizing: border-box;
        padding: 28px 30px;
        border-radius: 4px;
        box-shadow: 0 1px 3px rgba(31, 45, 51, .12), 0 8px 24px rgba(31, 45, 51, .06);
    }


/* ---------- Estrecho ---------- */

@media (max-width: 1200px) {

    .themes-layout[b-kmiatnqkg5] {
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .themes-preview[b-kmiatnqkg5] {
        position: static;
        grid-column: 2;
    }
}

@media (max-width: 760px) {

    .themes-layout[b-kmiatnqkg5] {
        grid-template-columns: minmax(0, 1fr);
    }

    .themes-list[b-kmiatnqkg5],
    .themes-preview[b-kmiatnqkg5] {
        position: static;
    }

    .themes-placeholder[b-kmiatnqkg5],
    .themes-preview[b-kmiatnqkg5] {
        grid-column: auto;
    }

    .themes-preview-canvas[b-kmiatnqkg5] {
        padding: 12px;
    }

        .themes-preview-canvas[b-kmiatnqkg5]  .dynamic-report {
            padding: 16px;
        }
}
