/*
 * PGSBlazorApplicationRibbonWindowTemplateComponent adds this stylesheet to
 * the active Fluent theme only when its persisted accent is Notarial Modern.
 * Light and Dark PGS keep using the existing site.css tokens and styles.
 */
:root {
    color-scheme: light;

    /* A warm material palette separates the page, cards, and controls without
       falling back to stark white surfaces. */
    --pgs-page: #F0E7DA;
    --pgs-surface: #F7F0E5;
    --pgs-surface-soft: #E9DDCC;
    --pgs-text: #392B21;
    --pgs-muted: #77695D;
    --pgs-border: #D8C7B2;
    --pgs-border-soft: #E1D3C1;
    --pgs-accent: #806044;
    --pgs-accent-surface: #806044;
    --pgs-accent-hover: #634832;
    --pgs-accent-soft: #EFE4D5;
    --pgs-accent-contrast: #FFFFFF;
    --pgs-checkbox-accent: #A7793E;
    --pgs-danger: #B54747;
    --pgs-danger-surface: #FBF1F1;
    --pgs-warning: #B7791F;
    --pgs-warning-surface: #FAF3E8;
    --pgs-success: #287A59;
    --pgs-success-surface: #EDF6F0;
    --pgs-radius: 7px;

    --pgs-grid-border: #D8C7B2;
    --pgs-grid-header: #E9DDCC;
    --pgs-grid-row-alt: #F3EADD;
    --pgs-grid-row-hover: #EFE3D2;
    --pgs-grid-row-selected: #E7D7C0;
    --pgs-grid-row-focused: #DCC4A2;
    --pgs-grid-row-selected-focused: #D2B58B;

    /* Fluent semantic tokens also drive built-in XAF and DevExpress controls. */
    --dxds-color-surface-neutral-default-rest: #F7F0E5;
    --dxds-color-surface-neutral-default-hovered: #EFE3D2;
    --dxds-color-surface-neutral-default-active: #E9DDCC;
    --dxds-color-surface-neutral-default-selected: #E7D7C0;
    --dxds-color-surface-neutral-default-selected-hovered: #DCC4A2;
    --dxds-color-surface-neutral-default-disabled: #E9DDCC;
    --dxds-color-surface-neutral-default-on-surface-rest: #F7F0E5;
    --dxds-color-surface-neutral-default-on-surface-hovered: #EFE3D2;
    --dxds-color-surface-neutral-subdued-rest: #E9DDCC;
    --dxds-color-surface-neutral-subdued-hovered: #E3D5C2;
    --dxds-color-surface-neutral-deep-rest: #D8C7B2;
    --dxds-color-surface-primary-default-rest: #806044;
    --dxds-color-surface-primary-default-hovered: #634832;
    --dxds-color-surface-primary-default-active: #533B29;
    --dxds-color-surface-primary-default-selected: #634832;
    --dxds-color-surface-primary-default-disabled: #C3B19C;
    --dxds-color-surface-primary-subdued-rest: #EFE4D5;
    --dxds-color-surface-primary-subdued-hovered: #E8DAC6;
    --dxds-color-surface-primary-subdued-active: #DCC7AA;
    --dxds-color-surface-primary-subdued-selected: #DCC7AA;
    --dxds-color-content-neutral-default-rest: #392B21;
    --dxds-color-content-neutral-default-hovered: #392B21;
    --dxds-color-content-neutral-default-active: #392B21;
    --dxds-color-content-neutral-default-selected: #392B21;
    --dxds-color-content-neutral-default-disabled: #A49788;
    --dxds-color-content-neutral-default-inverted-rest: #FFFDF9;
    --dxds-color-content-neutral-default-on-surface-rest: #392B21;
    --dxds-color-content-neutral-subdued-rest: #77695D;
    --dxds-color-content-neutral-subdued-hovered: #625448;
    --dxds-color-content-neutral-subdued-active: #514438;
    --dxds-color-content-neutral-deep-rest: #514438;
    --dxds-color-content-primary-default-rest: #806044;
    --dxds-color-content-primary-default-hovered: #634832;
    --dxds-color-content-primary-default-active: #533B29;
    --dxds-color-content-primary-default-disabled: #A49788;
    --dxds-color-border-neutral-default-rest: #D8C7B2;
    --dxds-color-border-neutral-default-hovered: #C6B298;
    --dxds-color-border-neutral-default-active: #AE9677;
    --dxds-color-border-neutral-default-disabled: #D8C7B2;
    --dxds-color-border-neutral-subdued-rest: #E1D3C1;
    --dxds-color-border-primary-default-rest: #806044;
    --dxds-color-border-primary-default-hovered: #634832;
    --dxds-color-border-focus-default: #806044;
    --dxds-color-surface-success-subdued-rest: #EDF6F0;
    --dxds-color-content-success-default-rest: #287A59;
    --dxds-color-border-success-default-rest: #A8D2BA;
    --dxds-color-surface-warning-subdued-rest: #FAF3E8;
    --dxds-color-content-warning-default-rest: #8A5D13;
    --dxds-color-border-warning-default-rest: #E8C995;
    --dxds-color-surface-danger-subdued-rest: #FBF1F1;
    --dxds-color-content-danger-default-rest: #B54747;
    --dxds-color-border-danger-default-rest: #E5B8B8;

    --dxds-font-family-system-sans-serif: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --dxds-font-family-segoe-ui: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Notarial Modern is a light-only theme. Hide the mode selector only while
   this stylesheet is active; the original PGS Light/Dark control returns with Azul PGS. */
.theme-settings nav[aria-label="Fluent Mode"] {
    display: none !important;
}

body.dxbl-theme-fluent {
    color: var(--pgs-text);
    background: var(--pgs-page);
    font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Application frame and navigation */
.header.navbar-dark {
    color: var(--pgs-text);
    background: var(--pgs-surface);
    border-bottom: 1px solid var(--pgs-border);
    box-shadow: 0 1px 3px rgb(57 43 33 / 5%);
}

.header.navbar-dark .header-logo {
    background-color: transparent;
}

.xaf-sidebar,
.xaf-sidebar.sidebar,
.sidebar {
    color: var(--pgs-text);
    background: var(--pgs-surface-soft);
    border-color: var(--pgs-border);
}

.xaf-navmenu,
.xaf-navmenu .dxbl-accordion,
.xaf-navmenu .dxbl-accordion-group-body {
    color: var(--pgs-text);
    background: var(--pgs-surface-soft);
}

.xaf-navmenu .dxbl-accordion-group-header,
.xaf-navmenu .dxbl-accordion-item {
    color: var(--pgs-text);
}

.xaf-navmenu .dxbl-accordion-item:hover,
.xaf-navmenu .dxbl-accordion-group-header:hover,
.xaf-navmenu .xaf-nav-link:hover {
    color: var(--pgs-accent);
    background: var(--pgs-grid-row-hover);
}

.xaf-navmenu .dxbl-active,
.xaf-navmenu .xaf-nav-link[aria-current="page"],
.xaf-navmenu .xaf-nav-item.active {
    color: var(--pgs-accent);
    background: var(--pgs-accent-soft);
    font-weight: 650;
}

.main-content,
.main-ribbon,
.pgs-application-body,
.xaf-tabbed-mdi .dxbl-tabs-content {
    background: var(--pgs-page);
}

.main-ribbon,
.xaf-ribbon {
    color: var(--pgs-text);
    background: var(--pgs-surface);
    border-color: var(--pgs-border);
}

.dxbl-ribbon,
.dxbl-ribbon__root,
.dxbl-ribbon__root-element,
.dxbl-ribbon-toolbar {
    color: var(--pgs-text);
    background-color: var(--pgs-surface);
}

.xaf-tabbed-mdi .dxbl-tabs {
    background: var(--pgs-surface);
    border-bottom: 1px solid var(--pgs-border);
}

.xaf-tabbed-mdi .dxbl-tabs-item {
    color: var(--pgs-muted);
    border-radius: 12px 12px 8px 8px;
}

.xaf-tabbed-mdi .dxbl-tabs-item:hover {
    color: var(--pgs-accent);
    background: var(--pgs-grid-row-hover);
}

.xaf-tabbed-mdi .dxbl-tabs-item.dxbl-active {
    color: var(--pgs-accent);
    background: var(--pgs-accent-soft);
    box-shadow: none;
}

/* Shared fields, action buttons, and Razor forms */
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select,
.dxbl-text-edit,
.dxbl-text-edit-input {
    color: var(--pgs-text);
    background-color: var(--pgs-surface);
    border-color: var(--pgs-border);
    border-radius: 6px;
}

input::placeholder,
textarea::placeholder,
.dxbl-text-edit-input::placeholder {
    color: #8794A5;
    opacity: 1;
}

input:focus,
textarea:focus,
select:focus,
.dxbl-text-edit:focus-within {
    border-color: var(--pgs-accent);
    outline: 3px solid color-mix(in srgb, var(--pgs-accent) 16%, transparent);
    outline-offset: 1px;
}

.dxbl-text-edit:focus-within .dxbl-text-edit-input {
    border-color: transparent;
    outline: 0;
}

.dxbl-btn,
.pgs-button,
.xaf-primary-toolbar-btn {
    border-radius: 6px;
    box-shadow: none;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease;
}

.dxbl-btn.dxbl-btn-primary,
.dxbl-btn-primary,
.pgs-button.primary,
.xaf-primary-toolbar-btn {
    color: #fff;
    background-color: var(--pgs-accent);
    border-color: var(--pgs-accent);
}

.dxbl-btn.dxbl-btn-primary:hover:not(:disabled),
.dxbl-btn-primary:hover:not(:disabled),
.pgs-button.primary:hover:not(:disabled),
.xaf-primary-toolbar-btn:hover:not(:disabled) {
    color: #fff;
    background-color: var(--pgs-accent-hover);
    border-color: var(--pgs-accent-hover);
}

.dxbl-btn.dxbl-btn-secondary,
.dxbl-btn-secondary,
.pgs-button:not(.primary):not(.pgs-button-danger) {
    color: var(--pgs-text);
    background-color: var(--pgs-surface);
    border-color: var(--pgs-border);
}

.dxbl-btn.dxbl-btn-secondary:hover:not(:disabled),
.dxbl-btn-secondary:hover:not(:disabled),
.pgs-button:not(.primary):not(.pgs-button-danger):hover:not(:disabled) {
    color: var(--pgs-accent);
    background-color: var(--pgs-grid-row-hover);
    border-color: #CDBCA7;
}

.pgs-button.pgs-button-danger,
.dxbl-btn.dxbl-btn-danger {
    color: #fff;
    background-color: var(--pgs-danger);
    border-color: var(--pgs-danger);
}

.pgs-surface,
.pgs-form-section,
.pgs-info-card,
.pgs-expediente-card,
.pgs-form-note,
.pgs-document-summary-card,
.pgs-provenance-panel,
.pgs-treatment-summary {
    border-radius: 7px;
    box-shadow: 0 2px 8px rgb(57 43 33 / 5%);
}

.pgs-form-section,
.pgs-info-card,
.pgs-expediente-card,
.pgs-document-summary-card,
.pgs-provenance-panel {
    border-color: var(--pgs-border);
    background-color: var(--pgs-surface);
}

.pgs-field-label,
.pgs-search,
.pgs-form-section-heading p,
.pgs-empty-text,
.pgs-muted {
    color: var(--pgs-muted);
}

/* XAF ListViews and reusable DevExpress grids */
.dxbl-grid,
.dxbl-grid-table,
.dxbl-grid-bottom-panel,
.dxbl-pager,
.dxbl-pager-container {
    color: var(--pgs-text);
    background-color: var(--pgs-surface);
    border-color: var(--pgs-border);
}

.dxbl-grid-header,
.dxbl-grid-table thead,
.dxbl-grid-table .dxbl-grid-header-row,
.dxbl-grid-table .dxbl-grid-header-row > th {
    color: var(--pgs-text);
    background-color: var(--pgs-grid-header);
    border-color: var(--pgs-border);
    font-weight: 650;
}

.dxbl-grid-table > tbody > tr > td {
    border-color: var(--pgs-grid-border);
}

.dxbl-grid-table > tbody > tr:nth-child(even):not(.dxbl-grid-selected-row):not(.dxbl-grid-focused-row) > td {
    background-color: var(--pgs-grid-row-alt);
}

.dxbl-grid-table > tbody > tr:hover:not(.dxbl-grid-group-row):not(.dxbl-grid-group-footer-row):not(.dxbl-grid-edit-row) > td {
    background-color: var(--pgs-grid-row-hover);
}

.dxbl-grid-table > tbody > tr.dxbl-grid-selected-row > td,
.dxbl-grid-table > tbody > tr.dxbl-grid-focused-row > td {
    background-color: var(--pgs-grid-row-selected);
}

.dxbl-pager .dxbl-pager-active-page-btn,
.dxbl-pager .dxbl-pager-active-page-btn:hover {
    color: #fff;
    background-color: var(--pgs-accent);
    border-color: var(--pgs-accent);
}

.pgs-grid-wrap,
.pgs-grid {
    border-color: var(--pgs-grid-border);
    border-radius: 7px;
    box-shadow: none;
}

.pgs-table th {
    color: var(--pgs-text);
    background: var(--pgs-grid-header);
    border-color: var(--pgs-grid-border);
}

.pgs-table td {
    border-color: var(--pgs-grid-border);
}

.pgs-table tbody tr:hover td {
    background: var(--pgs-grid-row-hover);
}

/* Standard XAF DetailViews, tabs, popups, and validation states */
.dxbl-group,
.dxbl-tabs-content-panel,
.dxbl-popup,
.dxbl-modal,
.dxbl-dropdown {
    color: var(--pgs-text);
    background-color: var(--pgs-surface);
    border-color: var(--pgs-border);
}

.dxbl-group-header {
    color: var(--pgs-text);
    background-color: var(--pgs-surface-soft);
    border-color: var(--pgs-border);
    font-weight: 650;
}

.dxbl-tabs-tablist,
.dxbl-tabs-container {
    background-color: var(--pgs-surface-soft);
    border-color: var(--pgs-border);
}

.dxbl-tabs-item {
    color: var(--pgs-muted);
    border-radius: 6px;
}

.dxbl-tabs-item:hover {
    color: var(--pgs-accent);
    background-color: var(--pgs-grid-row-hover);
}

.dxbl-tabs-item.dxbl-active {
    color: var(--pgs-accent);
    background-color: var(--pgs-accent-soft);
    font-weight: 650;
}

/* Keep one visible surface per DetailView and one per command bar. The
   ribbon's framework wrappers stay transparent; the toolbar remains the card. */
.pgs-surface.pgs-detailview-shell {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.main-ribbon-template .main-ribbon,
.main-ribbon-template .main-ribbon .xaf-ribbon,
.main-ribbon-template .main-ribbon .xaf-ribbon .dxbl-ribbon,
.main-ribbon-template .main-ribbon .xaf-ribbon .dxbl-ribbon__root,
.main-ribbon-template .main-ribbon .xaf-ribbon .dxbl-ribbon__root-element {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.main-ribbon-template .main-ribbon .dxbl-ribbon-toolbar {
    background: var(--pgs-surface) !important;
    border: 1px solid var(--pgs-border) !important;
    box-shadow: none !important;
}

/* DevExpress renders an adaptive container inside the toolbar. Its default
   surface and elevation must not create a second card around the buttons. */
.main-ribbon-template .main-ribbon .dxbl-ribbon-toolbar > .dxbl-ribbon-adaptive-container {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* A softer antique-gold selection reads clearly against the cream palette. */
.pgs-field:has(input[type="checkbox"]) .pgs-field-control > input[type="checkbox"]:checked {
    background: var(--pgs-checkbox-accent) !important;
}

.pgs-check input,
.pgs-surface input[type="checkbox"],
.pgs-surface input[type="radio"],
.pgs-document-choice input {
    accent-color: var(--pgs-checkbox-accent) !important;
}

/* A few older shared widgets still had literal white fills instead of tokens. */
.pgs-treatment-list,
.pgs-treatment-lineage,
.pgs-treatment-resolution,
.pgs-interesados-card,
.pgs-select-sm {
    background-color: var(--pgs-surface) !important;
}

.pgs-treatment-lineage dl > div,
.pgs-treatment-history li {
    background-color: var(--pgs-surface-soft) !important;
}

.pgs-interesados-grid tbody tr.pgs-row-attention > td {
    background-color: var(--pgs-warning-surface) !important;
}

.dxbl-invalid,
.dxbl-invalid .dxbl-text-edit {
    border-color: var(--pgs-danger);
}

.dxbl-validation-message,
.dxbl-invalid-message {
    color: var(--pgs-danger);
}

:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--pgs-accent) 52%, transparent);
    outline-offset: 2px;
}

@media (max-width: 767.98px) {
    .pgs-surface {
        padding: 1rem;
        border-radius: 6px;
    }

    .dxbl-grid,
    .pgs-grid-wrap,
    .pgs-table-wrap {
        max-width: 100%;
        overflow-x: auto;
    }

    .pgs-form,
    .pgs-fields,
    .pgs-expediente-overview-grid,
    .pgs-expediente-data-grid,
    .pgs-evidence-review-layout,
    .pgs-documentation-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}


/* ==========================================================================
   NOTARIAL MODERN EXACT REFINEMENT (Matches reference design)
   ========================================================================== */

/* Typography & Root Page */
:root {
    --pgs-notarial-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --pgs-serif-font: 'Playfair Display', Georgia, "Times New Roman", serif;
    --pgs-cognac: #9E7848;
    --pgs-cognac-hover: #886538;
    --pgs-navy: #35485E;
    --pgs-navy-hover: #273647;
    --pgs-card-bg: #FFFFFF;
    --pgs-page-bg: #F8F6F1;
    --pgs-sidebar-bg: #F5F3F1;
    --pgs-border-light: #ECE7DF;
    --pgs-muted-text: #8F8477;
    --pgs-dark-text: #1E232B;
}

body.dxbl-theme-fluent,
.app.main-ribbon-template,
.pgs-application-body,
.main-content,
.main,
.xaf-flex-auto {
    font-family: var(--pgs-notarial-font);
    background-color: var(--pgs-page-bg) !important;
}

/* --------------------------------------------------------------------------
   TOP HEADER
   -------------------------------------------------------------------------- */
.header.navbar-dark.pgs-notarial-header,
.header.navbar-dark {
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #ECE7DF !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    z-index: 1000 !important;
}

.pgs-notarial-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    color: inherit !important;
}

.pgs-notarial-brand-logo {
    font-family: var(--pgs-serif-font) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--pgs-dark-text) !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
}

.pgs-notarial-brand-divider {
    display: inline-block !important;
    width: 1px !important;
    height: 24px !important;
    background-color: #D6CEC2 !important;
}

.pgs-notarial-brand-text {
    display: inline-flex !important;
    flex-direction: column !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: 1.6px !important;
    color: #8F8374 !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
}

.pgs-header-center {
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
    max-width: 520px !important;
    margin: 0 auto !important;
}

.pgs-header-search-pill {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 460px !important;
    background-color: #F1ECE4 !important;
    border: 1px solid transparent !important;
    border-radius: 9999px !important;
    padding: 6px 16px !important;
    transition: all 0.2s ease !important;
}

.pgs-header-search-pill:focus-within {
    background-color: #FFFFFF !important;
    border-color: #CDBCA7 !important;
    box-shadow: 0 0 0 3px rgba(167, 121, 62, 0.12) !important;
}

.pgs-header-search-icon {
    color: #8C8071 !important;
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
}

.pgs-header-search-input {
    border: none !important;
    background: transparent !important;
    outline: none !important;
    width: 100% !important;
    font-size: 13px !important;
    color: #332A22 !important;
    font-family: inherit !important;
}

.pgs-header-search-input::placeholder {
    color: #8C8071 !important;
}

.pgs-header-user-side {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.pgs-header-bell-btn {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    padding: 6px !important;
    cursor: pointer !important;
    color: #4A4035 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.15s ease !important;
}

.pgs-header-bell-btn:hover {
    background-color: #F3EEE7 !important;
}

.pgs-bell-badge {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    width: 8px !important;
    height: 8px !important;
    background-color: #E5A93C !important;
    border-radius: 50% !important;
    border: 2px solid #FFFFFF !important;
}

.pgs-header-user-badge {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    padding: 4px 8px !important;
    border-radius: 8px !important;
    transition: background-color 0.15s ease !important;
}

.pgs-header-user-badge:hover {
    background-color: #F3EEE7 !important;
}

.pgs-user-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background-color: var(--pgs-navy) !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pgs-user-info {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
}

.pgs-user-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--pgs-dark-text) !important;
    line-height: 1.2 !important;
}

.pgs-user-role {
    font-size: 11px !important;
    color: var(--pgs-muted-text) !important;
    line-height: 1.2 !important;
}

.pgs-user-chevron {
    width: 14px !important;
    height: 14px !important;
    color: var(--pgs-muted-text) !important;
    margin-left: 2px !important;
}

.pgs-xaf-account-host {
    position: relative !important;
    z-index: 30 !important;
    display: flex !important;
    align-items: center !important;
    opacity: 1 !important;
}

.pgs-xaf-account-host .account-container {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.pgs-xaf-account-host .account-button {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 4px 8px !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 8px !important;
    color: #263345 !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

.pgs-xaf-account-host .account-button:hover,
.pgs-xaf-account-host .account-button:focus-visible {
    background: #F3EEE7 !important;
    outline: 2px solid #C4AC86 !important;
    outline-offset: 1px !important;
}

.pgs-xaf-account-host .account-button::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #36475C !important;
}

.pgs-xaf-account-host .account-button > .xaf-image {
    position: absolute !important;
    top: 50% !important;
    left: 17px !important;
    width: 18px !important;
    height: 18px !important;
    background-color: #FFFFFF !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

.pgs-xaf-account-host .account-button::after {
    content: attr(title) "  ⌄" !important;
    display: block !important;
    padding-right: 2px !important;
    color: #263345 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

.pgs-xaf-account-host .account-main {
    z-index: 40 !important;
    min-width: 245px !important;
}

/* --------------------------------------------------------------------------
   SIDEBAR & NAVIGATION
   -------------------------------------------------------------------------- */
.xaf-sidebar,
.xaf-sidebar.sidebar,
.sidebar,
.pgs-notarial-sidebar {
    background-color: var(--pgs-sidebar-bg) !important;
    background-image: url('../images/notarial-sidebar-columns.png') !important;
    background-repeat: no-repeat !important;
    background-position: left bottom !important;
    background-size: 250px auto !important;
    border-right: 1px solid #ECE6DB !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Hide the search box inside the sidebar */
.pgs-navigation-filter-row {
    display: none !important;
}

.xaf-navmenu,
.xaf-navmenu .dxbl-accordion,
.xaf-navmenu .dxbl-accordion-group-body {
    background: transparent !important;
    border: none !important;
}

.xaf-navmenu .dxbl-accordion-item,
.xaf-navmenu .dxbl-accordion-group-header,
.xaf-navmenu .xaf-nav-link {
    color: #4A4036 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    margin: 2px 10px !important;
    padding: 8px 14px !important;
    transition: all 0.15s ease !important;
}

.xaf-navmenu .dxbl-accordion-item:hover,
.xaf-navmenu .dxbl-accordion-group-header:hover,
.xaf-navmenu .xaf-nav-link:hover {
    color: #2D231A !important;
    background-color: #EFE8DD !important;
}

.xaf-navmenu .dxbl-active,
.xaf-navmenu .xaf-nav-link[aria-current="page"],
.xaf-navmenu .xaf-nav-item.active {
    color: #2B2117 !important;
    background-color: #E7D8C5 !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
}

.pgs-sidebar-footer {
    margin-top: auto !important;
    padding: 24px 20px 20px 20px !important;
    position: relative !important;
    z-index: 2 !important;
    visibility: hidden !important;
}

.pgs-footer-brand {
    font-family: var(--pgs-serif-font) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #7A6F62 !important;
    letter-spacing: 0.5px !important;
}

.pgs-footer-version {
    font-size: 11px !important;
    color: #A4988B !important;
    margin-top: 2px !important;
}

/* --------------------------------------------------------------------------
   MAIN VIEW CLEANUP
   -------------------------------------------------------------------------- */

/* Hide outer floating ribbon when inside the notarial view */
.pgs-xaf-tab-page-content:has(.pgs-notarial-view-wrapper) > .main-ribbon,
.main-ribbon:has(+ * .pgs-notarial-view-wrapper) {
    display: none !important;
}

.pgs-notarial-view-wrapper {
    padding: 24px 32px 40px 32px;
    max-width: 1600px;
    margin: 0 auto;
    width: 100%;
}

/* --------------------------------------------------------------------------
   BREADCRUMB & PAGE HEADER
   -------------------------------------------------------------------------- */
.pgs-notarial-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--pgs-muted-text);
    margin-bottom: 12px;
}

.pgs-bc-home {
    color: var(--pgs-muted-text);
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.15s ease;
}

.pgs-bc-home:hover {
    color: var(--pgs-dark-text);
}

.pgs-bc-sep {
    color: #B8ADA0;
    font-size: 11px;
}

.pgs-bc-item {
    color: var(--pgs-muted-text);
}

.pgs-bc-active {
    color: var(--pgs-dark-text);
    font-weight: 500;
}

.pgs-notarial-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.pgs-notarial-title {
    font-family: var(--pgs-serif-font);
    font-size: 2.15rem;
    font-weight: 600;
    color: var(--pgs-dark-text);
    margin: 0 0 4px 0;
    letter-spacing: -0.3px;
    line-height: 1.15;
}

.pgs-notarial-subtitle {
    font-size: 14px;
    color: #7B7165;
    margin: 0;
}

.pgs-btn-nuevo-expediente {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: var(--pgs-cognac);
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(158, 120, 72, 0.28);
    transition: background-color 0.15s ease, transform 0.1s ease;
}

.pgs-btn-nuevo-expediente:hover {
    background-color: var(--pgs-cognac-hover);
}

.pgs-btn-plus {
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}

/* --------------------------------------------------------------------------
   WHITE TABLE CARD & TOOLBAR
   -------------------------------------------------------------------------- */
.pgs-notarial-card {
    background-color: var(--pgs-card-bg) !important;
    border-radius: 14px !important;
    border: 1px solid var(--pgs-border-light) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    padding: 20px 24px !important;
    margin-bottom: 32px !important;
}

.pgs-notarial-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
}

.pgs-notarial-toolbar-left,
.pgs-notarial-toolbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pgs-tb-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 7px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s ease;
    text-decoration: none;
}

.pgs-tb-btn-primary {
    background-color: var(--pgs-navy);
    color: #FFFFFF;
    border-color: var(--pgs-navy);
}

.pgs-tb-btn-primary:hover:not(:disabled) {
    background-color: var(--pgs-navy-hover);
    border-color: var(--pgs-navy-hover);
}

.pgs-tb-btn-danger {
    background-color: #FFF5F5;
    color: #D64545;
    border-color: #F1BFBF;
}

.pgs-tb-btn-danger:hover:not(:disabled) {
    background-color: #FDE8E8;
    border-color: #E29D9D;
}

.pgs-tb-btn-outline {
    background-color: #FFFFFF;
    color: #332B23;
    border-color: #E0DDD7;
}

.pgs-tb-btn-outline:hover:not(:disabled) {
    background-color: #F7F5F0;
    border-color: #D0C9BF;
}

.pgs-tb-btn-sync {
    background-color: #FFFFFF;
    color: #332B23;
    border-color: #E0DDD7;
}

.pgs-tb-btn-sync:hover:not(:disabled) {
    background-color: #F7F5F0;
    border-color: #D0C9BF;
}

.pgs-tb-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.pgs-tb-svg {
    flex-shrink: 0;
}

.pgs-notarial-search-box {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 12px;
    background-color: #FAF9F6;
    border: 1px solid #E0DDD7;
    border-radius: 7px;
    width: 190px;
    transition: all 0.15s ease;
}

.pgs-notarial-search-box:focus-within {
    background-color: #FFFFFF;
    border-color: #CDBCA7;
    box-shadow: 0 0 0 2px rgba(158, 120, 72, 0.12);
}

.pgs-notarial-search-box input {
    border: none !important;
    background: transparent !important;
    outline: none !important;
    width: 100% !important;
    font-size: 13px !important;
    color: #332B23 !important;
}

.pgs-notarial-search-box input::placeholder {
    color: var(--pgs-muted-text);
}

.pgs-search-icon {
    color: var(--pgs-muted-text);
    flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   GRID TABLE STYLING
   -------------------------------------------------------------------------- */
.pgs-notarial-grid-container {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.pgs-notarial-grid {
    background: transparent !important;
    border: none !important;
}

.pgs-notarial-grid .dxbl-grid-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.pgs-notarial-grid thead th,
.pgs-notarial-grid .dxbl-grid-header-row > th {
    background-color: #F1F0EE !important;
    color: #222222 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #ECE7DF !important;
    padding: 12px 14px !important;
}

.pgs-notarial-grid tbody td {
    padding: 12px 14px !important;
    font-size: 13px !important;
    color: #2C241D !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #F3EFE9 !important;
    vertical-align: middle !important;
}

.pgs-notarial-grid tbody tr:hover > td {
    background-color: #FAF8F4 !important;
}

.pgs-notarial-grid tbody tr.pgs-grid-row-selected > td {
    background-color: #F5EFE6 !important;
}

/* Status dots */
.pgs-status-cell {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    white-space: nowrap;
}

.pgs-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.pgs-dot-amber {
    background-color: #E5A93C;
}

.pgs-dot-green {
    background-color: #2E9F65;
}

.pgs-dot-red {
    background-color: #D94343;
}

.pgs-cell-causante {
    font-weight: 500;
    letter-spacing: 0.2px;
}

.pgs-cell-docs {
    font-size: 12.5px;
    color: #4A4036;
}

.pgs-document-summary {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .28rem;
    min-width: 0;
}

.pgs-list-document-progress {
    gap: .35rem;
}

.pgs-list-document-progress span {
    min-width: 3.2rem;
    font-size: .74rem;
    font-variant-numeric: tabular-nums;
}

.pgs-cell-bienes {
    font-size: 13px;
    font-weight: 500;
    color: #2C241D;
}

/* Cobertura Bar */
.pgs-cobertura-cell {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.pgs-cobertura-val {
    font-size: 13px;
    font-weight: 500;
    min-width: 36px;
    color: #2C241D;
}

.pgs-cobertura-bar {
    width: 68px;
    height: 8px;
    background-color: #EFEBE4;
    border-radius: 9999px;
    overflow: hidden;
    flex-shrink: 0;
}

.pgs-cobertura-fill {
    height: 100%;
    border-radius: 9999px;
    transition: width 0.3s ease;
}

.pgs-cobertura-fill.med {
    background-color: #BFA384;
}

.pgs-cobertura-fill.high {
    background-color: #6FA285;
}

/* --------------------------------------------------------------------------
   CARD FOOTER & PAGINATION
   -------------------------------------------------------------------------- */
.pgs-notarial-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #F3EFE9;
}

.pgs-footer-showing {
    font-size: 13px;
    color: var(--pgs-muted-text);
}

.pgs-footer-pagination {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pgs-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    min-width: 32px;
    padding: 0 8px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    background: transparent;
    transition: all 0.15s ease;
}

.pgs-page-num.active {
    background-color: var(--pgs-navy) !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

.pgs-page-nav {
    border-color: #E0DDD7 !important;
    background-color: #FFFFFF !important;
    color: #554A3E !important;
}

.pgs-page-nav:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

.pgs-footer-pagesize {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--pgs-muted-text);
}

.pgs-pagesize-dropdown {
    border: 1px solid #E0DDD7;
    border-radius: 6px;
    background-color: #FFFFFF;
    padding: 4px 10px;
    font-size: 13px;
    color: #332B23;
    cursor: pointer;
    outline: none;
}



/* ==========================================================================
   PIXEL-PERFECT REFINEMENTS FOR NOTARIAL MODERN
   ========================================================================== */

/* Top Header Layout */
.header.navbar-dark.pgs-notarial-header,
.header.navbar-dark {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #ECE7DF !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

.header.navbar-dark .header-left-side,
.pgs-header-brand-side {
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 200px !important;
    display: flex !important;
    align-items: center !important;
}

.header.navbar-dark .pgs-header-center {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    max-width: 540px !important;
    margin: 0 24px !important;
}

.pgs-header-search-pill {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 440px !important;
    min-width: 380px !important;
    max-width: 480px !important;
    background-color: #F1ECE4 !important;
    border: 1px solid transparent !important;
    border-radius: 9999px !important;
    padding: 7px 18px !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.pgs-header-search-icon {
    width: 17px !important;
    height: 17px !important;
    color: #8C8071 !important;
    flex-shrink: 0 !important;
    display: block !important;
}

.pgs-header-search-input {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 260px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 13.5px !important;
    color: #332A22 !important;
    font-family: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pgs-header-search-input::placeholder {
    color: #8C8071 !important;
    opacity: 1 !important;
}

.header.navbar-dark .header-right-side,
.pgs-header-user-side {
    flex: 0 0 auto !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-left: auto !important;
}

/* The XAF account menu opens below the header; allow it to extend past this flex host. */
.header.navbar-dark .header-right-side.pgs-header-user-side {
    overflow: visible !important;
}

/* Keep the theme switcher out of the account hit target. */
.pgs-xaf-settings-host {
    display: none !important;
}

/* Bell button & badge */
.pgs-header-bell-btn {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    padding: 6px !important;
    cursor: pointer !important;
    color: #4A4035 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
}

.pgs-header-bell-btn svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    stroke: #4A4035 !important;
}

.pgs-bell-badge {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    width: 8px !important;
    height: 8px !important;
    background-color: #E5A93C !important;
    border-radius: 50% !important;
    border: 2px solid #FFFFFF !important;
}

/* Hide hamburger toggle on desktop */
.btn-hamburger.pgs-sidebar-menu-toggle {
    display: none !important;
}

/* Sidebar styling & watermark */
.xaf-sidebar,
.xaf-sidebar.sidebar,
.sidebar,
.pgs-notarial-sidebar {
    background-color: #F5F3F1 !important;
    background-image: url('../images/notarial-sidebar-columns.png'), linear-gradient(180deg, #EEE7DC 0%, #F0ECE5 36%, #F5F3F1 70%, #F5F3F1 100%) !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: 0 bottom, 0 0 !important;
    background-size: 250px auto, 100% 100% !important;
    border-right: 1px solid #ECE6DB !important;
}

.xaf-sidebar.sidebar.pgs-notarial-sidebar {
    position: relative !important;
    flex: 0 0 var(--pgs-sidebar-width, 250px) !important;
    width: var(--pgs-sidebar-width, 250px) !important;
    min-width: 176px !important;
    max-width: 360px !important;
    box-sizing: border-box !important;
    transition: width 120ms ease, flex-basis 120ms ease !important;
}

.pgs-sidebar-resizing .xaf-sidebar.sidebar.pgs-notarial-sidebar {
    transition: none !important;
    user-select: none !important;
}

.pgs-sidebar-resize-handle {
    position: absolute !important;
    z-index: 25 !important;
    inset-block: 0 !important;
    inset-inline-end: -5px !important;
    width: 10px !important;
    border: 0 !important;
    background: transparent !important;
    cursor: col-resize !important;
    touch-action: none !important;
}

.pgs-sidebar-resize-handle::before,
.pgs-sidebar-resize-handle::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    width: 1px !important;
    height: 38px !important;
    border-radius: 1px !important;
    background: #BBA68A !important;
    opacity: 0.45 !important;
    transform: translateY(-50%) !important;
    transition: opacity 120ms ease, background-color 120ms ease !important;
}

.pgs-sidebar-resize-handle::before { inset-inline-start: 3px !important; }
.pgs-sidebar-resize-handle::after { inset-inline-end: 3px !important; }

.pgs-sidebar-resize-handle:hover::before,
.pgs-sidebar-resize-handle:hover::after,
.pgs-sidebar-resize-handle:focus-visible::before,
.pgs-sidebar-resize-handle:focus-visible::after {
    background: #806044 !important;
    opacity: 1 !important;
}

.pgs-sidebar-resize-handle:focus-visible {
    outline: 2px solid #C4AC86 !important;
    outline-offset: -2px !important;
}

@media (max-width: 575.98px) {
    .xaf-sidebar.sidebar.pgs-notarial-sidebar {
        flex-basis: auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .pgs-sidebar-resize-handle {
        display: none !important;
    }
}

/* Use XAF's real navigation actions with the compact menu appearance from the reference. */
.xaf-sidebar .xaf-navmenu .xaf-nav-item,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header,
.xaf-sidebar .xaf-navmenu .dxbl-group-header {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    margin: 2px 8px !important;
    padding: 10px 14px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    cursor: pointer !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-group-expand-btn {
    display: none !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-group-header > .dxbl-accordion-item-content {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    padding: 0 !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-group-header .xaf-nav-menu-item-icon {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    object-fit: contain !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header:hover {
    color: #2B2117 !important;
    background: transparent !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body {
    margin: 0 !important;
    padding: 0 8px 4px 38px !important;
    background: transparent !important;
    border: 0 !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content {
    display: flex !important;
    align-items: center !important;
    min-height: 40px !important;
    margin: 1px 0 !important;
    padding: 8px 12px !important;
    border-radius: 7px !important;
    color: #4A4036 !important;
    background: transparent !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content:hover {
    color: #2B2117 !important;
    background: transparent !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active {
    color: #2B2117 !important;
    background: #E7D8C5 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header:focus-visible,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content:focus-visible,
.xaf-sidebar .xaf-navmenu .xaf-nav-link:focus-visible {
    outline: 2px solid var(--pgs-cognac, #806044) !important;
    outline-offset: 2px !important;
}

/* Clean up cell evidence icons in this table view */
.pgs-notarial-grid .pgs-evidence-value > a {
    display: none !important;
}

/* Match the alternating row surfaces shown in the succession list. */
.pgs-notarial-grid tbody tr > td {
    background-color: #FFFFFF !important;
}

.pgs-notarial-grid tbody tr.pgs-grid-row-alt > td {
    background-color: #F8F7F6 !important;
}

.pgs-notarial-grid tbody tr:hover > td {
    background-color: #FAF8F4 !important;
}

.pgs-notarial-grid tbody tr.pgs-grid-row-selected > td {
    background-color: #F3ECE2 !important;
}

/* Layout aligned with the PGS notarial reference while keeping XAF navigation and tabs. */
.header.navbar-dark.pgs-notarial-header,
.header.navbar-dark {
    display: grid !important;
    grid-template-columns: var(--pgs-sidebar-width, 250px) minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: initial !important;
    column-gap: 24px !important;
    height: 70px !important;
    min-height: 70px !important;
    padding: 0 24px 0 0 !important;
}

.header.navbar-dark .header-left-side.pgs-header-brand-side,
.header.navbar-dark .pgs-header-brand-side {
    box-sizing: border-box !important;
    flex: none !important;
    width: var(--pgs-sidebar-width, 250px) !important;
    min-width: 0 !important;
    padding-left: 32px !important;
}

.pgs-notarial-brand-logo {
    font-size: 36px !important;
}

.pgs-notarial-brand-divider {
    height: 30px !important;
}

.header.navbar-dark .pgs-header-center {
    justify-self: end !important;
    width: min(440px, 100%) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-family: var(--pgs-serif-font) !important;
}

.pgs-header-search-pill {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 440px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid #ECE8E1 !important;
    border-radius: 10px !important;
    background: #F5F4F2 !important;
}

.pgs-header-search-input {
    min-width: 0 !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 13px !important;
}

.header.navbar-dark .header-right-side,
.header.navbar-dark .pgs-header-user-side {
    justify-self: end !important;
    gap: 16px !important;
    margin-left: 0 !important;
}

.pgs-notarial-sidebar {
    background-size: 250px auto, 100% 100% !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper {
    padding: 8px 0 12px !important;
    font-family: var(--pgs-serif-font) !important;
}

.pgs-sidebar-home {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 50px !important;
    margin: 2px 8px !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    color: #24364C !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 15px !important;
    text-decoration: none !important;
    transition: background-color .15s ease, color .15s ease !important;
}

.pgs-sidebar-home svg {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
}

.pgs-sidebar-home:hover,
.pgs-sidebar-home:focus-visible {
    color: #18283C !important;
    background: transparent !important;
}

.pgs-sidebar-home:focus-visible {
    outline: 2px solid var(--pgs-cognac, #806044) !important;
    outline-offset: 2px !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header {
    min-height: 50px !important;
    padding: 10px 18px !important;
    color: #24364C !important;
    background: transparent !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 15px !important;
    white-space: nowrap !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-group-header > .dxbl-accordion-item-content {
    gap: 14px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    background: transparent !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header .xaf-nav-menu-item-icon {
    filter: grayscale(1) sepia(.25) saturate(1.3) hue-rotate(175deg) brightness(.68) !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header:hover {
    color: #26364B !important;
    background: transparent !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body {
    padding: 0 8px 3px !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content {
    min-height: 48px !important;
    gap: 14px !important;
    margin: 1px 0 !important;
    padding: 10px 18px !important;
    color: #24364C !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 15px !important;
    white-space: nowrap !important;
    background: transparent !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-menu-item-icon {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    filter: grayscale(1) sepia(.25) saturate(1.3) hue-rotate(175deg) brightness(.68) !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content:hover {
    color: #26364B !important;
    background: transparent !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active {
    color: #26364B !important;
    background: #E9DFD2 !important;
}

.pgs-notarial-view-wrapper {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 20px 20px 32px !important;
    font-family: var(--pgs-serif-font) !important;
}

.pgs-notarial-heading-row {
    margin: 0 14px 20px 18px !important;
}

.pgs-notarial-title {
    font-size: 2.25rem !important;
}

.pgs-btn-nuevo-expediente {
    min-height: 52px !important;
    padding: 12px 22px !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 15px !important;
}

.pgs-notarial-card {
    padding: 18px !important;
    border: 1px solid var(--pgs-border-light, #ECE7DF) !important;
    border-radius: 16px !important;
}

.pgs-notarial-toolbar {
    margin-bottom: 22px !important;
}

.pgs-tb-btn,
.pgs-notarial-search-box {
    height: 44px !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 14px !important;
}

.pgs-tb-btn {
    padding-inline: 16px !important;
}

.pgs-notarial-search-box {
    box-sizing: border-box !important;
    width: 250px !important;
    border-radius: 9px !important;
}

.pgs-notarial-search-box input {
    min-width: 0 !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 14px !important;
}

.pgs-notarial-grid thead th,
.pgs-notarial-grid .dxbl-grid-header-row > th {
    padding: 10px 14px !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 13.5px !important;
}

.pgs-notarial-grid tbody td {
    padding: 9px 14px !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 13.5px !important;
}

.pgs-status-cell,
.pgs-cell-docs,
.pgs-cell-bienes,
.pgs-cobertura-val,
.pgs-footer-showing,
.pgs-footer-pagesize {
    font-family: var(--pgs-serif-font) !important;
}

@media (max-width: 1100px) {
    .header.navbar-dark.pgs-notarial-header,
    .header.navbar-dark {
        grid-template-columns: minmax(0, var(--pgs-sidebar-width, 250px)) minmax(0, 1fr) auto !important;
        column-gap: 14px !important;
        padding-right: 16px !important;
    }

    .header.navbar-dark .header-left-side.pgs-header-brand-side,
    .header.navbar-dark .pgs-header-brand-side {
        width: 100% !important;
        padding-left: 16px !important;
    }

    .pgs-notarial-heading-row {
        margin-inline: 0 !important;
    }
}

@media (max-width: 760px) {
    .header.navbar-dark .pgs-header-center {
        display: none !important;
    }

    .header.navbar-dark.pgs-notarial-header,
    .header.navbar-dark {
        grid-template-columns: minmax(0, 1fr) auto !important;
        column-gap: 8px !important;
    }

    .header.navbar-dark .header-left-side.pgs-header-brand-side,
    .header.navbar-dark .pgs-header-brand-side {
        width: auto !important;
    }

    .pgs-notarial-view-wrapper {
        padding: 16px 12px 24px !important;
    }

    .pgs-notarial-heading-row {
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .pgs-notarial-title {
        font-size: 1.8rem !important;
    }

    .pgs-btn-nuevo-expediente {
        min-height: 42px !important;
        padding: 8px 12px !important;
        font-size: 13px !important;
    }

    .pgs-notarial-card {
        padding: 12px !important;
    }

    .pgs-notarial-search-box {
        width: min(250px, 100%) !important;
    }
}

/* Keep the navigation groups compact and aligned to the same left edge. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    padding-top: 2px !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
}

/* The hidden XAF filter still owns an empty accordion row unless its wrapper is hidden too. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper .dxbl-accordion-filter {
    display: none !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper > dxbl-scroll-viewer {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
}

.pgs-notarial-sidebar .xaf-navmenu .dxbl-accordion-group {
    flex: 0 0 auto !important;
    height: auto !important;
    margin: 0 0 6px !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header {
    box-sizing: border-box !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 1px 8px !important;
    padding: 0 14px 0 26px !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header > .dxbl-accordion-item-content {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    width: 100% !important;
    height: 100% !important;
    text-align: left !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header .dxbl-accordion-item-text-container,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-text-container {
    flex: 0 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body {
    box-sizing: border-box !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 8px 2px !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    gap: 18px !important;
    padding: 0 14px 0 26px !important;
    text-align: left !important;
    text-decoration: none !important;
    background: transparent !important;
}

/* Fluent adds a separate logical margin after each image; the explicit flex gap is enough here. */
.xaf-sidebar .xaf-navmenu .dxbl-accordion-item-content > .dxbl-image {
    margin-inline-end: 0 !important;
    margin-right: 0 !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-indent,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-group-expand-btn-container,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-group-expand-btn {
    display: none !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active {
    color: #24364C !important;
    background: #E9DFD2 !important;
    font-weight: 600 !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-active,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link[aria-current="page"],
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item.active {
    color: #24364C !important;
    background: #E9DFD2 !important;
    font-weight: 600 !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body a,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header a {
    text-decoration: none !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link * {
    text-decoration: none !important;
}

.pgs-sidebar-home {
    box-sizing: border-box !important;
    flex: 0 0 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    gap: 18px !important;
    margin: 0 8px 4px !important;
    padding: 0 14px 0 26px !important;
    background: transparent !important;
}

.xaf-sidebar .xaf-navmenu .xaf-nav-menu-item-icon {
    filter: brightness(0) saturate(100%) invert(18%) sepia(20%) saturate(1000%) hue-rotate(176deg) brightness(92%) contrast(90%) !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-accordion {
    --dxbl-accordion-group-item-content-spacing: 0px !important;
}

.pgs-sidebar-home,
.xaf-sidebar .xaf-navmenu .dxbl-group-header .dxbl-accordion-item-content,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content,
.xaf-sidebar .xaf-navmenu .dxbl-group-header .dxbl-accordion-item-text-container,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-text-container,
.xaf-sidebar .xaf-navmenu .dxbl-group-header .dxbl-text,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-text,
.xaf-sidebar .xaf-navmenu .dxbl-group-header .xaf-nav-link,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link {
    font-family: var(--pgs-serif-font) !important;
    font-size: 15px !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-group-header .dxbl-accordion-item-content,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content {
    gap: 18px !important;
}

.xaf-sidebar .xaf-navmenu .dxbl-group-header .xaf-nav-menu-item-icon,
.xaf-sidebar .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-menu-item-icon {
    box-sizing: content-box !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: none !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: none !important;
    flex: 0 0 22px !important;
    margin-inline: 0 !important;
    margin-inline-end: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    object-fit: contain !important;
}

/* XAF owns the tab lifecycle; these rules only shape its tab strip. */
.pgs-tabbed-mdi-host,
.pgs-tabbed-mdi-host > .xaf-tabbed-mdi,
.pgs-application-body .xaf-tabbed-mdi {
    min-width: 0 !important;
    height: 100% !important;
    background: #F8F6F2 !important;
}

.pgs-tabbed-mdi-host {
    position: relative !important;
    isolation: isolate;
}

.pgs-expediente-open-spinner {
    width: 2.4rem;
    height: 2.4rem;
    border: 3px solid #dce6ee;
    border-top-color: #294967;
    border-radius: 50%;
    animation: pgs-expediente-open-spin .8s linear infinite;
}
.pgs-expediente-overview-loading {
    display: flex;
    align-items: center;
    gap: 1.15rem;
    min-height: 15rem;
    margin: 1.25rem 0;
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border: 1px solid var(--pgs-border);
    border-radius: 1rem;
    color: var(--pgs-text);
    background: var(--pgs-surface);
    box-shadow: 0 .5rem 1.5rem rgb(57 43 33 / 7%);
}
.pgs-expediente-overview-loading .pgs-expediente-open-spinner {
    flex: 0 0 auto;
    border-color: var(--pgs-border-soft);
    border-top-color: var(--pgs-accent);
}
.pgs-expediente-overview-loading strong { display: block; font-size: 1.05rem; }
.pgs-expediente-overview-loading p { margin: .35rem 0 .9rem; color: var(--pgs-muted); }
@keyframes pgs-expediente-open-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .pgs-expediente-open-spinner { animation-duration: 2.5s; }
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi.dxbl-tabs {
    --tab-title-text-padding: .25rem;
    --tab-title-text-line-height: 1.35rem;
    --tab-title-text-height: 1.85rem;
    background: #F8F6F2 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist {
    box-sizing: border-box !important;
    min-height: 60px !important;
    padding: 7px 16px 0 !important;
    border-bottom: 1px solid #E7E0D7 !important;
    background: #F8F6F2 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist .dxbl-scroll-viewer,
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist .dxbl-scroll-viewer-content,
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist ul {
    height: 100% !important;
    background: transparent !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist ul {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist ul > li {
    display: flex !important;
    align-items: stretch !important;
    height: 100% !important;
    margin: 0 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-text-container {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item .dxbl-tabs-text-container > .dxbl-text {
    width: 100% !important;
    padding: 0 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    height: 52px !important;
    min-height: 52px !important;
    min-width: 240px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 10px 10px 0 0 !important;
    color: #26364B !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 15px !important;
    text-align: left !important;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item > .dxbl-text:has(.xaf-tab-header-template) {
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item:hover {
    color: #20344C !important;
    background: #F0ECE6 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item.dxbl-active {
    color: #20344C !important;
    background: #E9DFD2 !important;
    box-shadow: none !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .xaf-tab-header-template {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    color: inherit !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 15px !important;
    white-space: nowrap !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .xaf-layout-tab-icon {
    width: 18px !important;
    height: 18px !important;
    margin: 0 2px 0 0 !important;
    color: #8E6B45 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .xaf-close-tab-button {
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    margin-left: auto !important;
    border-radius: 50% !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .xaf-close-tab-button:hover {
    background: rgba(38, 54, 75, .1) !important;
}

@media (max-width: 760px) {
    :is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist {
        min-height: 54px !important;
        padding-inline: 8px !important;
    }

    :is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item {
        height: 46px !important;
        min-height: 46px !important;
        min-width: 190px !important;
    }
}

/* Final sidebar alignment: remove XAF's empty child-expander slot and show the group chevron. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-group-expand-btn-container {
    display: none !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header {
    justify-content: flex-start !important;
    gap: 0 !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header > .dxbl-accordion-item-content {
    order: 1 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 18px !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header > .dxbl-group-expand-btn {
    order: 2 !important;
    display: flex !important;
    flex: 0 0 24px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header > .dxbl-group-expand-btn .dxbl-image {
    width: 16px !important;
    height: 16px !important;
    transition: transform 160ms ease !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header[aria-expanded="true"] > .dxbl-group-expand-btn .dxbl-image {
    transform: rotate(180deg) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header[aria-expanded="false"] > .dxbl-group-expand-btn .dxbl-image {
    transform: rotate(0deg) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content {
    gap: 18px !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.pgs-notarial-sidebar .pgs-sidebar-home,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header:hover,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content:hover {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.pgs-notarial-sidebar .pgs-sidebar-home:focus,
.pgs-notarial-sidebar .pgs-sidebar-home:focus-visible,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header:focus,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header:focus-visible,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-item-content:focus,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-item-content:focus-visible,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-group-expand-btn:focus,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-group-expand-btn:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content[aria-selected="true"],
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link[aria-current="page"],
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item.active > .dxbl-accordion-item-content {
    color: #FFFFFF !important;
    background: #284766 !important;
    font-weight: 600 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active .xaf-nav-menu-item-icon,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content[aria-selected="true"] .xaf-nav-menu-item-icon {
    filter: brightness(0) invert(1) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item.dxbl-active > .dxbl-accordion-group-header,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item.active > .dxbl-accordion-group-header,
.pgs-notarial-sidebar .pgs-sidebar-home[aria-current="page"],
.pgs-notarial-sidebar .pgs-sidebar-home.active {
    color: #FFFFFF !important;
    border: 0 !important;
    outline: none !important;
    background: #284766 !important;
    box-shadow: none !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item.dxbl-active > .dxbl-accordion-group-header .xaf-nav-menu-item-icon,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item.active > .dxbl-accordion-group-header .xaf-nav-menu-item-icon {
    filter: brightness(0) invert(1) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, .xaf-nav-link span),
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content[aria-selected="true"] :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, .xaf-nav-link span),
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item.dxbl-active > .dxbl-accordion-group-header .dxbl-accordion-item-text-container,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item.active > .dxbl-accordion-group-header .dxbl-accordion-item-text-container,
.pgs-notarial-sidebar .pgs-sidebar-home[aria-current="page"] span,
.pgs-notarial-sidebar .pgs-sidebar-home.active span {
    color: #FFFFFF !important;
}

.pgs-xaf-account-host .account-button:focus,
.pgs-xaf-account-host .account-button:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   PGS reference layout: neutral surfaces and navy actions used in the list
   and succession detail views.
   -------------------------------------------------------------------------- */
:root {
    --pgs-page: #F7F8FA;
    --pgs-surface: #FFFFFF;
    --pgs-surface-soft: #F2F4F6;
    --pgs-text: #20344C;
    --pgs-muted: #738196;
    --pgs-border: #DDE2E8;
    --pgs-border-soft: #E6E9ED;
    --pgs-accent: #284766;
    --pgs-accent-surface: #284766;
    --pgs-accent-hover: #203A57;
    --pgs-accent-soft: #E8EEF4;
    --pgs-accent-contrast: #FFFFFF;
    --pgs-checkbox-accent: #284766;
    --pgs-grid-border: #E4E7EB;
    --pgs-grid-header: #F1F2F4;
    --pgs-grid-row-alt: #F8F8F9;
    --pgs-grid-row-hover: #EEF3F8;
    --pgs-grid-row-selected: #E3ECF4;
    --pgs-grid-row-focused: #D7E3EF;
    --pgs-grid-row-selected-focused: #CBD9E7;

    --dxds-color-surface-neutral-default-rest: #FFFFFF;
    --dxds-color-surface-neutral-default-hovered: #F1F4F7;
    --dxds-color-surface-neutral-default-active: #E8EDF2;
    --dxds-color-surface-neutral-default-selected: #E7EDF3;
    --dxds-color-surface-neutral-default-selected-hovered: #DDE6EF;
    --dxds-color-surface-neutral-default-disabled: #F0F2F4;
    --dxds-color-surface-neutral-default-on-surface-rest: #FFFFFF;
    --dxds-color-surface-neutral-default-on-surface-hovered: #F1F4F7;
    --dxds-color-surface-neutral-subdued-rest: #F2F4F6;
    --dxds-color-surface-neutral-subdued-hovered: #E9EDF1;
    --dxds-color-surface-neutral-deep-rest: #DDE2E8;
    --dxds-color-surface-primary-default-rest: #284766;
    --dxds-color-surface-primary-default-hovered: #203A57;
    --dxds-color-surface-primary-default-active: #192F48;
    --dxds-color-surface-primary-default-selected: #203A57;
    --dxds-color-surface-primary-default-disabled: #AEBAC7;
    --dxds-color-surface-primary-subdued-rest: #E8EEF4;
    --dxds-color-surface-primary-subdued-hovered: #DEE7F0;
    --dxds-color-surface-primary-subdued-active: #D5E0EA;
    --dxds-color-surface-primary-subdued-selected: #D5E0EA;
    --dxds-color-content-neutral-default-rest: #20344C;
    --dxds-color-content-neutral-default-hovered: #20344C;
    --dxds-color-content-neutral-default-active: #20344C;
    --dxds-color-content-neutral-default-selected: #20344C;
    --dxds-color-content-neutral-default-disabled: #9AA5B2;
    --dxds-color-content-neutral-default-inverted-rest: #FFFFFF;
    --dxds-color-content-neutral-default-on-surface-rest: #20344C;
    --dxds-color-content-neutral-subdued-rest: #738196;
    --dxds-color-content-neutral-subdued-hovered: #5D6E83;
    --dxds-color-content-neutral-subdued-active: #4A5C72;
    --dxds-color-content-neutral-deep-rest: #4A5C72;
    --dxds-color-content-primary-default-rest: #284766;
    --dxds-color-content-primary-default-hovered: #203A57;
    --dxds-color-content-primary-default-active: #192F48;
    --dxds-color-content-primary-default-disabled: #9AA5B2;
    --dxds-color-border-neutral-default-rest: #DDE2E8;
    --dxds-color-border-neutral-default-hovered: #C7D0DA;
    --dxds-color-border-neutral-default-active: #AEBAC7;
    --dxds-color-border-neutral-default-disabled: #DDE2E8;
    --dxds-color-border-neutral-subdued-rest: #E6E9ED;
    --dxds-color-border-primary-default-rest: #284766;
    --dxds-color-border-primary-default-hovered: #203A57;
    --dxds-color-border-focus-default: #284766;
}

:root {
    --pgs-navy: #284766;
    --pgs-navy-hover: #203A57;
    --pgs-page-bg: #F7F8FA;
    --pgs-sidebar-bg: #F2F4F6;
    --pgs-border-light: #E4E7EB;
    --pgs-muted-text: #738196;
    --pgs-dark-text: #20344C;
}

body.dxbl-theme-fluent,
.app.main-ribbon-template,
.pgs-application-body,
.main-content,
.main,
.xaf-flex-auto {
    color: var(--pgs-text) !important;
    background-color: var(--pgs-page-bg) !important;
}

.xaf-sidebar.sidebar.pgs-notarial-sidebar {
    background-color: #F7F8FA !important;
    background-image: url('../images/notarial-sidebar-columns.png'), linear-gradient(180deg, #E9EDF2 0%, #F1F3F6 38%, #F7F8FA 76%, #F7F8FA 100%) !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: 0 bottom, 0 0 !important;
    background-size: 250px auto, 100% 100% !important;
    border-right-color: #E3E7EC !important;
}

.pgs-sidebar-home,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-item-text-container,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-text {
    font-family: var(--pgs-notarial-font) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.pgs-sidebar-home,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content {
    color: #20344C !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content[aria-selected="true"],
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link[aria-current="page"],
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item.active > .dxbl-accordion-item-content {
    color: #FFFFFF !important;
    background: #284766 !important;
}

/* The reference highlights the succession section while its Expedientes row
   remains visible as a normal child item on both target screens. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) > .dxbl-accordion-group-header {
    color: #FFFFFF !important;
    background: #284766 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) > .dxbl-accordion-group-header .dxbl-accordion-item-content,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) > .dxbl-accordion-group-header .dxbl-accordion-item-text-container {
    color: #FFFFFF !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) > .dxbl-accordion-group-header :is(.xaf-nav-link, .xaf-nav-link span) {
    color: #FFFFFF !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) > .dxbl-accordion-group-header .xaf-nav-menu-item-icon {
    filter: brightness(0) invert(1) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active {
    color: #20344C !important;
    background: transparent !important;
    font-weight: 500 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active .xaf-nav-menu-item-icon {
    filter: brightness(0) saturate(100%) invert(18%) sepia(20%) saturate(1000%) hue-rotate(176deg) brightness(92%) contrast(90%) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span) {
    color: #20344C !important;
}

/* DevExpress paints the selected tree-item wrapper, even when its link is transparent. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) .dxbl-accordion-group-body .xaf-nav-item.dxbl-active {
    background: transparent !important;
}

.pgs-xaf-account-host .account-button::after {
    color: #20344C !important;
    font-family: var(--pgs-notarial-font) !important;
    font-size: 14px !important;
}

.pgs-application-body .main-ribbon button.dxbl-ribbon-button[title="Guardar"] {
    color: #FFFFFF !important;
    background: #284766 !important;
    border-color: #284766 !important;
}

.pgs-application-body .main-ribbon button.dxbl-ribbon-button[title="Guardar"]:hover {
    background: #203A57 !important;
    border-color: #203A57 !important;
}

.pgs-application-body .main-ribbon button.dxbl-ribbon-button[title="Guardar"] .dxbl-image {
    color: #FFFFFF !important;
}

.pgs-tabbed-mdi-host,
.pgs-tabbed-mdi-host > .xaf-tabbed-mdi,
.pgs-application-body .xaf-tabbed-mdi,
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi.dxbl-tabs,
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist {
    background: #F4F5F7 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist {
    border-bottom-color: #E1E5EA !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item,
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item > .dxbl-text:has(.xaf-tab-header-template) {
    color: #33465D !important;
    font-family: var(--pgs-notarial-font) !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .xaf-tab-header-template {
    font-family: var(--pgs-notarial-font) !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item:hover {
    color: #20344C !important;
    background: #E9EDF2 !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item.dxbl-active {
    color: #20344C !important;
    background: #E7EDF4 !important;
    box-shadow: none !important;
}

.pgs-notarial-view-wrapper,
.pgs-notarial-view-wrapper *,
.pgs-expediente-view,
.pgs-expediente-view * {
    font-family: var(--pgs-notarial-font) !important;
}

.pgs-notarial-title {
    color: #20344C !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.pgs-notarial-subtitle,
.pgs-notarial-breadcrumb,
.pgs-footer-showing,
.pgs-footer-pagesize {
    color: #738196 !important;
}

.pgs-notarial-grid thead th,
.pgs-notarial-grid .dxbl-grid-header-row > th {
    color: #20344C !important;
    background-color: #F1F2F4 !important;
    border-bottom-color: #E5E8EC !important;
}

.pgs-notarial-grid tbody td {
    color: #20344C !important;
    border-bottom-color: #ECEEF1 !important;
}

.pgs-notarial-grid tbody tr:hover > td {
    background-color: #F4F6F8 !important;
}

.pgs-detail-tabs {
    color: #20344C !important;
    background: #F2F4F6 !important;
    border-color: #E6E9ED !important;
}

.pgs-detail-tabs [role="tab"] {
    color: #29415C !important;
    font-size: .9rem !important;
}

.pgs-detail-tabs [role="tab"]:hover {
    color: #20344C !important;
    background: #E7ECF1 !important;
}

.pgs-detail-tabs [role="tab"].pgs-tab-active,
.pgs-detail-tabs [role="tab"][aria-selected="true"] {
    color: #FFFFFF !important;
    border-color: #284766 !important;
    background: #284766 !important;
    box-shadow: 0 2px 6px rgba(40, 71, 102, .2) !important;
}

.pgs-expediente-subtabs [role="tab"].pgs-tab-active small,
.pgs-expediente-subtabs [role="tab"][aria-selected="true"] small {
    color: #284766 !important;
    background: #FFFFFF !important;
}

.pgs-expediente-card {
    background: #FFFFFF !important;
    border-color: #E3E7EC !important;
    box-shadow: 0 2px 8px rgba(28, 45, 65, .035) !important;
}

.pgs-expediente-card-heading > div {
    flex: 1 1 auto;
    min-width: 0;
}

.pgs-expediente-card-icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 9px;
    color: #947146;
    background: #F4EBDD;
}

.pgs-expediente-card-icon svg {
    width: 23px;
    height: 23px;
}

.pgs-detail-tabs [role="tab"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.pgs-detail-tab-icon {
    display: inline-flex;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    color: currentColor;
}

.pgs-detail-tab-icon svg {
    display: block;
    width: 20px;
    height: 20px;
}

.pgs-expediente-data-grid .pgs-field-control {
    box-sizing: border-box;
    min-height: 42px;
    padding: 0 9px;
    gap: 7px;
    border: 1px solid #DCE1E7;
    border-radius: 8px;
    background: #FFFFFF;
}

.pgs-expediente-data-grid .pgs-field-control:focus-within {
    border-color: #9BAFC3;
    box-shadow: 0 0 0 2px rgba(40, 71, 102, .08);
}

.pgs-expediente-data-grid .pgs-field-control > input:not([type="checkbox"]),
.pgs-expediente-data-grid .pgs-field-control > select,
.pgs-expediente-data-grid .pgs-field-control > textarea,
.pgs-expediente-data-grid .pgs-field-control > output,
.pgs-expediente-data-grid .pgs-field-control > .pgs-reference-picker {
    box-sizing: border-box;
    min-height: 40px;
    border: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.pgs-expediente-data-grid .pgs-field-control > output {
    display: flex;
    align-items: center;
    padding: 7px 3px;
    color: #20344C;
}

.pgs-expediente-data-grid .pgs-reference-picker {
    align-items: center;
    padding: 0 !important;
}

.pgs-expediente-data-grid .pgs-reference-picker > select {
    padding: 7px 3px !important;
    color: #20344C !important;
}

.pgs-expediente-data-grid .pgs-field-control > input:not([type="checkbox"]),
.pgs-expediente-data-grid .pgs-field-control > textarea {
    padding: 7px 3px !important;
    color: #20344C !important;
}

.pgs-expediente-data-grid .pgs-field-control > textarea {
    min-height: 64px;
}

.pgs-expediente-data-grid .pgs-field-label {
    color: #334960 !important;
    font-size: .82rem !important;
}

/* Keep the active MDI tab underline clear of the tab strip baseline. */
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist {
    border-bottom: 0 !important;
}

/* Make detail commands lighter and separate each action from its neighbor. */
.main-ribbon-template .main-ribbon .dxbl-ribbon-toolbar .dxbl-toolbar-layout-block-group {
    gap: 12px !important;
}

.main-ribbon-template .main-ribbon .dxbl-ribbon-toolbar button.dxbl-ribbon-button:not([title="Guardar"]):not([data-action-name="Eliminar"]) {
    background: transparent !important;
}

.main-ribbon-template .main-ribbon .dxbl-ribbon-toolbar button.dxbl-ribbon-button:not([title="Guardar"]):not([data-action-name="Eliminar"]):hover:not(:disabled) {
    background: rgba(40, 71, 102, .06) !important;
}

/* Remove only the divider between the detail command bar and its view. */
.main-ribbon-template .main-ribbon .dxbl-ribbon-toolbar {
    border-bottom: 0 !important;
}

/* Final navigation pass: the current destination is the leaf menu item.
   Expanded category headers only show their disclosure state. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item > .dxbl-accordion-group-header,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item.dxbl-active > .dxbl-accordion-group-header,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item.active > .dxbl-accordion-group-header,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) > .dxbl-accordion-group-header {
    color: #20344C !important;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group.xaf-nav-item > .dxbl-accordion-group-header .xaf-nav-menu-item-icon,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) > .dxbl-accordion-group-header .xaf-nav-menu-item-icon {
    filter: brightness(0) saturate(100%) invert(18%) sepia(20%) saturate(1000%) hue-rotate(176deg) brightness(92%) contrast(90%) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link[aria-current="page"],
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item.active > .dxbl-accordion-item-content {
    color: #FFFFFF !important;
    border: 0 !important;
    outline: none !important;
    background: #284766 !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, .xaf-nav-link span),
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link[aria-current="page"] :is(.dxbl-accordion-item-text-container, .dxbl-text, span),
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item.active > .dxbl-accordion-item-content :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span) {
    color: #FFFFFF !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active .xaf-nav-menu-item-icon,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link[aria-current="page"] .xaf-nav-menu-item-icon,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item.active > .dxbl-accordion-item-content .xaf-nav-menu-item-icon {
    filter: brightness(0) invert(1) !important;
}

/* These selectors also outrank the older :has() rules that cleared the leaf. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active {
    color: #FFFFFF !important;
    background: #284766 !important;
    font-weight: 600 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span) {
    color: #FFFFFF !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active .xaf-nav-menu-item-icon {
    filter: brightness(0) invert(1) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(.dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active) > .dxbl-accordion-group-header :is(.dxbl-accordion-item-content, .dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, .xaf-nav-link span) {
    color: #20344C !important;
}

/* Match submenu icon/text alignment to Inicio and let long labels wrap. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content {
    height: auto !important;
    min-height: 46px !important;
    padding-block: 8px !important;
    white-space: normal !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-text-container,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-text,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link span {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
    line-height: 1.3 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header:focus-visible,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content:focus-visible,
.pgs-notarial-sidebar .pgs-sidebar-home:focus-visible {
    outline: 2px solid #284766 !important;
    outline-offset: -2px !important;
    box-shadow: none !important;
}

/* Keep the selected page-size value readable in the compact footer control. */
select.pgs-pagesize-dropdown {
    box-sizing: border-box !important;
    width: 80px !important;
    min-width: 80px !important;
    padding-inline: 8px 22px !important;
}

/* The command row should float above the detail view without a separator card. */
.main-ribbon-template .main-ribbon .dxbl-ribbon-toolbar {
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding-inline: 0 !important;
}

.main-ribbon .xaf-ribbon .dxbl-tabs {
    border-bottom: 0 !important;
}

/* Keep DetailView tabs on one rail at compact desktop widths. */
.pgs-detail-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: thin;
}

.pgs-detail-tabs [role="tab"] {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

@media (max-width: 1360px) {
    .pgs-detail-tabs {
        gap: .15rem !important;
        padding-inline: .2rem !important;
    }

    .pgs-detail-tabs [role="tab"] {
        gap: 7px !important;
        padding-inline: .58rem !important;
    }

}

/* Sidebar finish: blend the original columns into the full-width sidebar gradient. */
.xaf-sidebar.sidebar.pgs-notarial-sidebar {
    background-color: #F7F8FA !important;
    background-image: linear-gradient(180deg, #E9EDF2 0%, #F1F3F6 38%, #F7F8FA 76%, #F7F8FA 100%) !important;
    background-repeat: no-repeat !important;
    background-position: 0 0 !important;
    background-size: 100% 100% !important;
    padding-bottom: 0 !important;
    isolation: isolate !important;
}

.pgs-notarial-sidebar::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 250px !important;
    height: 379px !important;
    background: url('../images/notarial-sidebar-columns.png') left bottom / 100% 100% no-repeat !important;
    mix-blend-mode: luminosity !important;
    opacity: .94 !important;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 58%, transparent 100%) !important;
    mask-image: linear-gradient(90deg, #000 0%, #000 58%, transparent 100%) !important;
    pointer-events: none !important;
}

/* Remove the unused home link and tighten the navigation rhythm. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper {
    gap: 0 !important;
    padding-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group {
    margin-block: 0 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header {
    min-height: 40px !important;
    height: auto !important;
    margin-block: 0 !important;
    padding-block: 3px !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header .xaf-nav-link {
    margin: 0 !important;
    padding: 0 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content {
    min-height: 40px !important;
    padding-block: 5px !important;
}

/* The footer is an opaque version band; it also covers the old text baked into the artwork. */
.pgs-notarial-sidebar .pgs-sidebar-footer {
    display: flex !important;
    flex: 0 0 96px !important;
    min-height: 96px !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: auto 0 0 !important;
    padding: 8px 22px !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #F7F8FA !important;
    border-top: 1px solid #E3E7EC !important;
    z-index: 2 !important;
}

.pgs-notarial-sidebar .pgs-footer-brand {
    color: #738196 !important;
    font-family: var(--pgs-serif-font) !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
}

.pgs-notarial-sidebar .pgs-footer-version {
    margin-top: 1px !important;
    color: #738196 !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
}

/* Keep all tab rails on the same soft neutral as the sidebar surface. */
.main-ribbon .xaf-ribbon .dxbl-tabs,
.pgs-detail-tabs {
    background-color: var(--pgs-sidebar-bg) !important;
}

/* Typography and navigation states from the supplied PGS reference. */
:root {
    --pgs-reference-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --pgs-reference-navy: #284766;
    --pgs-reference-submenu: #F1F3F6;
    --pgs-reference-submenu-hover: #E5ECF4;
}

.pgs-notarial-sidebar .pgs-sidebar-home,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-header :is(.dxbl-accordion-item-content, .dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span) {
    font-family: var(--pgs-reference-serif) !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body {
    margin-inline: 8px !important;
    padding-block: 5px !important;
    border-radius: 14px !important;
    background: var(--pgs-reference-submenu) !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span) {
    font-family: var(--pgs-reference-serif) !important;
    font-size: 1.0625rem !important;
    font-weight: 500 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content:not(.dxbl-active):not([aria-selected="true"]):hover,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item:not(.active):not(.dxbl-active) > .dxbl-accordion-item-content:hover {
    color: #20344C !important;
    background: var(--pgs-reference-submenu-hover) !important;
    border-radius: 9px !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active,
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content[aria-selected="true"],
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link[aria-current="page"],
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item.active > .dxbl-accordion-item-content {
    color: #FFFFFF !important;
    background: var(--pgs-reference-navy) !important;
    border-radius: 9px !important;
    font-family: var(--pgs-reference-serif) !important;
    font-size: 1.0625rem !important;
    font-weight: 600 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span),
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .dxbl-accordion-item-content[aria-selected="true"] :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span),
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-link[aria-current="page"] :is(.dxbl-accordion-item-text-container, .dxbl-text, span),
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group-body .xaf-nav-item.active > .dxbl-accordion-item-content :is(.dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span) {
    color: #FFFFFF !important;
}

/* Keep page titles, action labels, and tabs in the same serif as the reference. */
.pgs-notarial-view-wrapper .pgs-notarial-title,
.pgs-surface .pgs-heading h2,
.pgs-surface .pgs-heading h3,
.pgs-surface .pgs-popup-title-copy h2,
.pgs-application-body .pgs-detail-tabs [role="tab"],
.pgs-application-body .pgs-tb-btn,
.pgs-application-body .pgs-button,
.pgs-application-body .main-ribbon .dxbl-ribbon-toolbar button.dxbl-ribbon-button,
.pgs-application-body .xaf-tabbed-mdi .dxbl-tabs-item {
    font-family: var(--pgs-reference-serif) !important;
}

.pgs-notarial-view-wrapper .pgs-notarial-title {
    font-size: clamp(2rem, 2.8vw, 2.5rem) !important;
    line-height: 1.12 !important;
}

.pgs-surface .pgs-heading h2,
.pgs-surface .pgs-popup-title-copy h2 {
    font-size: clamp(1.65rem, 2.2vw, 2rem) !important;
    line-height: 1.18 !important;
}

.pgs-surface .pgs-heading h3 {
    font-size: 1.2rem !important;
    line-height: 1.25 !important;
}

.pgs-detailview-shell.pgs-surface h2,
.pgs-detailview-shell.pgs-surface h3 {
    font-family: var(--pgs-reference-serif) !important;
}

.pgs-detailview-shell.pgs-surface h2 {
    font-size: clamp(1.65rem, 2.2vw, 2rem) !important;
    line-height: 1.18 !important;
}

.pgs-detailview-shell.pgs-surface h3 {
    font-size: 1.25rem !important;
    line-height: 1.25 !important;
}

.pgs-application-body .pgs-detail-tabs [role="tab"],
.pgs-application-body .pgs-tb-btn,
.pgs-application-body .pgs-button,
.pgs-application-body .main-ribbon .dxbl-ribbon-toolbar button.dxbl-ribbon-button,
.pgs-application-body .xaf-tabbed-mdi .dxbl-tabs-item {
    font-size: 1.0625rem !important;
}

/* A selected child marks its own entry; keep the expanded parent neutral. */
.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(> .dxbl-accordion-group-body :is(.dxbl-accordion-item-content.dxbl-active, .dxbl-accordion-item-content[aria-selected="true"], .xaf-nav-link[aria-current="page"], .xaf-nav-item.active)) > .dxbl-accordion-group-header:not(:hover):not(:focus-within) {
    color: #20344C !important;
    background: transparent !important;
    box-shadow: none !important;
    font-weight: 500 !important;
}

.pgs-notarial-sidebar .pgs-navmenu-wrapper .xaf-navmenu .dxbl-accordion-group:has(> .dxbl-accordion-group-body :is(.dxbl-accordion-item-content.dxbl-active, .dxbl-accordion-item-content[aria-selected="true"], .xaf-nav-link[aria-current="page"], .xaf-nav-item.active)) > .dxbl-accordion-group-header:not(:hover):not(:focus-within) :is(.dxbl-accordion-item-content, .dxbl-accordion-item-text-container, .dxbl-text, .xaf-nav-link, span) {
    color: #20344C !important;
    font-weight: 500 !important;
}

.pgs-interesados-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    flex-wrap: wrap;
}

.pgs-interesados-grid .pgs-interesado-control {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
}

.pgs-interesados-grid .pgs-interesado-control > .pgs-interesado-evidence-inside {
    position: absolute;
    z-index: 2;
    left: .35rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}

.pgs-interesados-grid .pgs-interesado-control .pgs-select-sm,
.pgs-interesados-grid .pgs-interesado-control .pgs-cuota-input {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    padding-left: 1.9rem;
}

.pgs-interesados-grid .pgs-interesado-control.pgs-cuota-control {
    display: grid;
    grid-template-columns: 1.35rem minmax(0, 1fr) 1.35rem;
    column-gap: .3rem;
}

.pgs-interesados-grid .pgs-cuota-origin {
    display: grid;
    min-width: 1.35rem;
    place-items: center;
}

.pgs-interesados-grid .pgs-cuota-origin .pgs-interesado-evidence-inside {
    position: static;
    transform: none;
}

.pgs-interesados-grid .pgs-interesado-control .pgs-cuota-input {
    grid-column: 2;
    padding: .3rem .45rem;
}

.pgs-interesados-grid .pgs-cuota-percent {
    display: flex;
    grid-column: 3;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    color: var(--pgs-muted, #68778a);
}

.pgs-interesados-grid .pgs-declarante-control {
    width: max-content;
    max-width: 100%;
}

.pgs-interesados-grid .pgs-declarante-control .pgs-button {
    padding-left: 1.9rem;
    white-space: nowrap;
}

.pgs-interesados-grid tbody tr.pgs-row-deleted > td {
    color: var(--pgs-muted, #68778a);
    background: color-mix(in srgb, var(--pgs-surface-soft, #f1f4f7) 72%, #ffffff);
}

.pgs-interesados-grid .pgs-badge-deleted {
    display: inline-flex;
    margin-left: .45rem;
    padding: .12rem .42rem;
    border-radius: 999px;
    color: #697586;
    background: #e8edf2;
    font-size: .74rem;
    font-weight: 600;
    white-space: nowrap;
}

.pgs-list-view-switch {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: max-content;
    gap: 2px;
    margin: 0 0 .75rem;
    padding: 2px;
    border: 1px solid var(--pgs-border, #d7dee7);
    border-radius: 9px;
    background: var(--pgs-surface, #fff);
    box-sizing: border-box;
}

.pgs-list-view-switch button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    color: var(--pgs-muted, #69788b);
    background: transparent;
    cursor: pointer;
    transition: color .15s ease, background-color .15s ease;
}

.pgs-list-card-open,
.pgs-list-card-page {
    border: 1px solid var(--pgs-border, #d7dee7);
    border-radius: .55rem;
    padding: .42rem .7rem;
    color: var(--pgs-text, #17324f);
    background: var(--pgs-surface, #fff);
    font: inherit;
    cursor: pointer;
}

.pgs-list-view-switch button.active,
.pgs-list-view-switch button:hover,
.pgs-list-card-open:hover,
.pgs-list-card-page:not(:disabled):hover {
    border-color: var(--pgs-accent, #294c70);
    color: var(--pgs-accent-contrast, #fff);
    background: var(--pgs-accent, #294c70);
}

.pgs-list-view-switch button:focus-visible,
.pgs-list-card-open:focus-visible,
.pgs-list-card-page:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--pgs-accent, #294c70) 35%, transparent);
    outline-offset: 2px;
}

.pgs-list-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    width: 100%;
    gap: .75rem;
    margin-bottom: .25rem;
}

.pgs-list-tools .pgs-search { flex: 0 0 auto; flex-wrap: nowrap; white-space: nowrap; margin: 0; }
.pgs-list-tools .pgs-list-view-switch { margin: 0; }
.pgs-surface > .pgs-list-view-switch,
.pgs-catalog-section > .pgs-list-view-switch { margin-left: auto; }
.pgs-card-selection-tools { display: flex; align-items: center; gap: .45rem; margin: 0; color: var(--pgs-muted, #69788b); font-size: .86rem; white-space: nowrap; }
.pgs-card-selection-tools strong { color: var(--pgs-text, #26364a); }

.pgs-offline-preview { display: grid; gap: .9rem; }
.pgs-offline-preview-header { display: flex; align-items: center; gap: .9rem; }
.pgs-offline-preview-header > div { flex: 1 1 auto; }
.pgs-offline-preview-header h2 { margin: 0; color: var(--pgs-text, #17324f); font-size: 1.25rem; }
.pgs-offline-preview-header p { margin: .25rem 0 0; color: var(--pgs-muted, #69788b); }
.pgs-offline-preview-frame { width: 100%; min-height: min(72vh, 680px); border: 1px solid var(--pgs-border, #d7dee7); border-radius: .75rem; background: #f4f6f8; }
.pgs-neuron-sync-map { display: grid; gap: 1rem; margin-top: 1.4rem; padding: 1.2rem; border: 1px solid var(--pgs-border, #d7dee7); border-radius: 1rem; background: var(--pgs-surface, #fff); }
.pgs-neuron-sync-heading h2 { margin: .2rem 0 .35rem; color: var(--pgs-text, #17324f); font-size: 1.35rem; }
.pgs-neuron-sync-heading p,.pgs-neuron-sync-note { margin: 0; color: var(--pgs-muted, #69788b); line-height: 1.55; }
.pgs-neuron-sync-environments { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)); gap: .85rem; }
.pgs-neuron-sync-environment { min-width: 0; padding: 1rem; border: 1px solid var(--pgs-border, #d7dee7); border-radius: .8rem; background: var(--pgs-surface-soft, #f6f8fa); }
.pgs-neuron-sync-environment > header { display: flex; align-items: center; gap: .75rem; margin-bottom: .9rem; }
.pgs-neuron-sync-environment h3 { margin: 0; color: var(--pgs-text, #17324f); font-size: 1rem; }
.pgs-neuron-sync-environment > header p { margin: .15rem 0 0; color: var(--pgs-muted, #69788b); font-size: .84rem; }
.pgs-neuron-sync-steps { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.pgs-neuron-sync-steps li { position: relative; display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); align-items: start; gap: .6rem; padding-bottom: .35rem; }
.pgs-neuron-sync-steps li:not(:last-child)::after { position: absolute; bottom: -.35rem; left: .47rem; color: var(--pgs-accent, #294c70); font-size: .92rem; font-weight: 800; content: "↓"; }
.pgs-neuron-sync-steps li > span { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border: 1px solid color-mix(in srgb, var(--pgs-accent, #294c70) 28%, var(--pgs-border, #d7dee7)); border-radius: 50%; color: var(--pgs-accent, #294c70); background: var(--pgs-surface, #fff); font-size: .8rem; font-weight: 700; }
.pgs-neuron-sync-steps li > div { display: grid; min-width: 0; gap: .12rem; }
.pgs-neuron-sync-steps strong { color: var(--pgs-text, #17324f); font-size: .86rem; }
.pgs-neuron-sync-steps code,.pgs-neuron-sync-steps small { overflow-wrap: anywhere; color: var(--pgs-muted, #69788b); font-size: .78rem; }
.pgs-neuron-sync-note { font-size: .83rem; }
.pgs-neuron-sync-network { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.pgs-neuron-sync-network li { display: grid; gap: .25rem; min-width: 0; padding: .8rem .9rem; border: 1px solid var(--pgs-border, #d7dee7); border-radius: .7rem; background: var(--pgs-surface-soft, #f6f8fa); }
.pgs-neuron-sync-network li strong { color: var(--pgs-text, #17324f); font-size: .85rem; }
.pgs-neuron-sync-network li span { color: var(--pgs-muted, #69788b); font-size: .78rem; }
.pgs-neuron-sync-network li code { overflow-wrap: anywhere; color: var(--pgs-accent, #294c70); font-size: .78rem; }

@media (max-width: 520px) {
    .pgs-list-tools { justify-content: flex-end; flex-wrap: wrap; }
    .pgs-list-tools .pgs-search { flex-wrap: wrap; white-space: normal; width: 100%; }
}

@media (max-width: 640px) {
    .pgs-offline-preview-header { align-items: flex-start; flex-wrap: wrap; }
    .pgs-offline-preview-header > div { order: -1; flex: 1 0 100%; }
}

.pgs-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
    align-items: stretch;
    gap: .85rem;
}

.pgs-list-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--pgs-border, #d7dee7);
    border-radius: .8rem;
    background: var(--pgs-surface, #fff);
    box-shadow: 0 2px 7px color-mix(in srgb, var(--pgs-text, #17324f) 7%, transparent);
}

.pgs-list-card-selectable { cursor: pointer; }
.pgs-list-card-selectable:hover { border-color: color-mix(in srgb, var(--pgs-accent, #294c70) 52%, var(--pgs-border, #d7dee7)); }

.pgs-list-card-selected {
    border-color: var(--pgs-accent, #294c70);
    box-shadow: inset 3px 0 var(--pgs-accent, #294c70), 0 2px 7px color-mix(in srgb, var(--pgs-text, #17324f) 7%, transparent);
}

.pgs-list-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .8rem;
    margin-bottom: .75rem;
}

.pgs-list-card-heading { min-width: 0; }
.pgs-list-card-heading h3 { margin: 0; color: var(--pgs-text, #17324f); font-size: 1rem; overflow-wrap: anywhere; }
.pgs-list-card-heading p { margin: .25rem 0 0; color: var(--pgs-muted, #69788b); font-size: .85rem; overflow-wrap: anywhere; }
.pgs-list-card-actions { display: flex; align-items: center; gap: .4rem; flex: 0 0 auto; }
.pgs-list-card-content { color: var(--pgs-text, #17324f); }
.pgs-card-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr)); gap: .6rem .9rem; margin: 0; }
.pgs-card-details > div { min-width: 0; }
.pgs-card-details dt { margin-bottom: .12rem; color: var(--pgs-muted, #69788b); font-size: .76rem; font-weight: 600; }
.pgs-card-details dd { margin: 0; overflow-wrap: anywhere; }
.pgs-card-details dd .pgs-evidence-value { align-items: flex-start; }
.pgs-neuron-evidence-list { display: grid; gap: .55rem; margin-top: .65rem; }
.pgs-neuron-evidence-item { min-width: 0; padding: .65rem; border: 1px solid var(--pgs-border, #d7dee7); border-radius: .55rem; background: color-mix(in srgb, var(--pgs-surface, #fff) 92%, var(--pgs-accent, #294c70)); }
.pgs-neuron-evidence-fragment { grid-column: 1 / -1; }
.pgs-surface .pgs-grid-wrap input.pgs-neuron-field-order,
.pgs-surface input[type="number"].pgs-neuron-field-order { box-sizing: border-box; width: 5rem; max-width: 5rem; min-height: 2rem; flex: 0 0 5rem; padding: .2rem .45rem; border: 1px solid var(--pgs-border); border-radius: .4rem; background: var(--pgs-surface); color: inherit; }
.pgs-neuron-field-order:focus-visible { outline: 2px solid color-mix(in srgb, var(--pgs-accent) 45%, transparent); outline-offset: 1px; }
.pgs-card-select { display: inline-flex; align-items: center; gap: .35rem; color: var(--pgs-muted, #69788b); font-size: .8rem; white-space: nowrap; }
.pgs-card-group { margin-top: 1rem; }
.pgs-card-group-heading { display: flex; justify-content: space-between; align-items: center; gap: .6rem; margin: 0 0 .55rem; color: var(--pgs-text, #17324f); }
.pgs-card-group-heading h3 { margin: 0; font-size: 1rem; }
.pgs-card-group-heading span { color: var(--pgs-muted, #69788b); font-size: .84rem; }
.pgs-card-pagination { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-top: .85rem; color: var(--pgs-muted, #69788b); font-size: .85rem; }
.pgs-card-pagination > div { display: flex; align-items: center; gap: .55rem; }
.pgs-list-card-page:disabled { opacity: .5; cursor: default; }

@media (max-width: 600px) {
    .pgs-card-grid { grid-template-columns: minmax(0, 1fr); }
    .pgs-list-card-header { flex-wrap: wrap; }
    .pgs-card-pagination { align-items: flex-start; flex-direction: column; }
}
/* Keep both expediente navigation rails visible inside the XAF detail-view scroller. */
.pgs-expediente-view > .pgs-detail-tabs:not(.pgs-expediente-subtabs) {
    position: sticky;
    top: 0;
    z-index: 80;
    background: var(--pgs-surface-soft, #f1f3f6);
    box-shadow: 0 5px 12px color-mix(in srgb, var(--pgs-text) 9%, transparent);
}

.pgs-detail-tabs.pgs-expediente-subtabs {
    position: sticky;
    top: 3.75rem;
    z-index: 79;
    background: var(--pgs-surface-soft, #f1f3f6);
    box-shadow: 0 5px 12px color-mix(in srgb, var(--pgs-text) 9%, transparent);
}

@media (max-width: 640px) {
    .pgs-detail-tabs.pgs-expediente-subtabs { top: 3.3rem; }
}

.pgs-server-dashboard { display: grid; gap: 1.2rem; padding: clamp(1rem, 2vw, 1.6rem); color: var(--pgs-text, #26364a); }
.pgs-server-heading { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.pgs-server-mark { display: grid; width: 3.4rem; height: 3.4rem; place-items: center; border-radius: 1.1rem; background: var(--pgs-accent, #294765); color: #fff; font-size: 1.5rem; }
.pgs-server-heading h2 { margin: .1rem 0 .25rem; font: 500 clamp(1.5rem, 3vw, 2rem) Georgia, serif; }
.pgs-server-heading p, .pgs-server-card p { margin: 0; color: var(--pgs-muted, #69788b); }
.pgs-server-eyebrow { color: var(--pgs-muted, #69788b); font-size: .73rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pgs-server-live { display: inline-flex; align-items: center; gap: .5rem; margin-left: auto; padding: .55rem .8rem; border: 1px solid var(--pgs-border, #dce2e8); border-radius: 999px; background: var(--pgs-surface, #fff); color: var(--pgs-muted, #69788b); font-size: .82rem; }
.pgs-server-live i { width: .55rem; height: .55rem; border-radius: 50%; background: #43a477; box-shadow: 0 0 0 .22rem color-mix(in srgb, #43a477 18%, transparent); }
.pgs-server-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.pgs-server-summary > div, .pgs-server-card { border: 1px solid var(--pgs-border, #dce2e8); border-radius: 1rem; background: var(--pgs-surface, #fff); box-shadow: 0 5px 18px color-mix(in srgb, var(--pgs-text, #26364a) 5%, transparent); }
.pgs-server-summary > div { display: grid; gap: .35rem; padding: .9rem 1rem; }
.pgs-server-summary span, .pgs-server-card small { color: var(--pgs-muted, #69788b); font-size: .8rem; }
.pgs-server-summary strong { overflow-wrap: anywhere; font-size: .95rem; }
.pgs-server-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.pgs-server-card { display: grid; align-content: start; gap: .9rem; padding: 1.15rem; }
.pgs-server-card header { display: flex; align-items: center; gap: .75rem; }
.pgs-server-card h3 { margin: 0 0 .18rem; font-size: 1.05rem; }
.pgs-server-card-icon { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border-radius: .85rem; background: var(--pgs-surface-soft, #f1f3f6); color: var(--pgs-accent, #294765); font-size: .72rem; font-weight: 800; }
.pgs-server-card-value { font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 750; letter-spacing: -.04em; }
.pgs-server-meter { height: .72rem; overflow: hidden; border-radius: 999px; background: var(--pgs-surface-soft, #edf0f3); }
.pgs-server-meter > span { display: block; width: 0; height: 100%; max-width: 100%; border-radius: inherit; background: linear-gradient(90deg, #5b9b91, #294765); transition: width .35s ease; }
.pgs-server-meter-secondary { height: .48rem; }
.pgs-server-signal, .pgs-server-swap { display: grid; gap: .45rem; min-width: 0; margin-top: .15rem; }
.pgs-server-swap { padding-top: .8rem; border-top: 1px solid var(--pgs-border-soft, #e7ebef); }
.pgs-server-signal-heading, .pgs-server-signal-row { display: flex; align-items: baseline; justify-content: space-between; gap: .45rem .8rem; min-width: 0; }
.pgs-server-signal-heading span, .pgs-server-signal-row span { color: var(--pgs-muted, #69788b); font-size: .8rem; }
.pgs-server-signal-heading strong { font-size: .86rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pgs-server-signal-row { align-items: flex-start; padding-top: .45rem; border-top: 1px solid var(--pgs-border-soft, #e7ebef); }
.pgs-server-signal-row strong { max-width: 62%; color: var(--pgs-text, #26364a); font-size: .8rem; font-weight: 680; text-align: right; font-variant-numeric: tabular-nums; }
.pgs-server-signal small, .pgs-server-swap small { color: var(--pgs-muted, #69788b); font-size: .76rem; line-height: 1.45; }
.pgs-server-card small code { color: var(--pgs-text, #26364a); font-size: .95em; overflow-wrap: anywhere; }
.pgs-server-storage-path, .pgs-server-footnote { margin: 0; color: var(--pgs-muted, #69788b); font-size: .84rem; }
.pgs-server-storage-path code { overflow-wrap: anywhere; color: var(--pgs-text, #26364a); }
.pgs-server-unavailable { display: grid; gap: .45rem; padding: 1.1rem; border: 1px solid var(--pgs-border, #dce2e8); border-radius: 1rem; background: var(--pgs-surface, #fff); color: var(--pgs-muted, #69788b); }
.pgs-server-unavailable strong { color: var(--pgs-text, #26364a); }
.pgs-server-history { display: grid; gap: .8rem; min-width: 0; padding: 1.15rem; border: 1px solid var(--pgs-border, #dce2e8); border-radius: 1rem; background: var(--pgs-surface, #fff); box-shadow: 0 5px 18px color-mix(in srgb, var(--pgs-text, #26364a) 5%, transparent); }
.pgs-server-history-heading { display: flex; align-items: end; justify-content: space-between; gap: .8rem 1.2rem; flex-wrap: wrap; }
.pgs-server-history-heading h3 { margin: .15rem 0 .25rem; font: 500 clamp(1.15rem, 2.4vw, 1.45rem) Georgia, serif; }
.pgs-server-history-heading p { margin: 0; color: var(--pgs-muted, #69788b); font-size: .84rem; }
.pgs-server-history-summary { color: var(--pgs-muted, #69788b); font-size: .8rem; }
.pgs-server-history-chart { min-width: 0; width: 100%; overflow: hidden; }
.pgs-svg-chart { width: 100%; height: 260px; overflow: visible; display: block; }
.pgs-svg-chart-legend { display: flex; gap: 1.5rem; justify-content: flex-end; margin-bottom: .4rem; font-size: .82rem; }
.pgs-legend-item { display: inline-flex; align-items: center; gap: .4rem; color: var(--pgs-text, #26364a); }
.legend-cpu { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: #294765; }
.legend-mem { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: #5b9b91; }
.pgs-chart-axis-label { font-size: 11px; fill: var(--pgs-muted, #64748b); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.pgs-server-history-empty { display: grid; gap: .4rem; padding: 1rem; border-radius: .8rem; background: var(--pgs-surface-soft, #f1f3f6); color: var(--pgs-muted, #69788b); font-size: .9rem; }
.pgs-server-history-empty strong { color: var(--pgs-text, #26364a); }
@media (max-width: 1200px) {
    .pgs-server-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .pgs-server-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pgs-server-metrics { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
    .pgs-server-summary { grid-template-columns: minmax(0, 1fr); }
    .pgs-server-live { margin-left: 0; }
    .pgs-server-history { padding: .9rem; }
}

/* Control de Aplicaciones y Servicios en Servidor */
.pgs-server-services { display: grid; gap: 1rem; min-width: 0; padding: 1.15rem; border: 1px solid var(--pgs-border, #dce2e8); border-radius: 1rem; background: var(--pgs-surface, #fff); box-shadow: 0 5px 18px color-mix(in srgb, var(--pgs-text, #26364a) 5%, transparent); }
.pgs-server-services-heading { display: flex; align-items: end; justify-content: space-between; gap: .8rem 1.2rem; flex-wrap: wrap; }
.pgs-server-services-heading h3 { margin: .15rem 0 .25rem; font: 500 clamp(1.15rem, 2.4vw, 1.45rem) Georgia, serif; }
.pgs-server-services-heading p { margin: 0; color: var(--pgs-muted, #69788b); font-size: .84rem; }
.pgs-server-services-summary { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .8rem; border-radius: .6rem; background: var(--pgs-surface-soft, #f1f3f6); color: var(--pgs-text, #26364a); font-size: .82rem; }

.pgs-server-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
@media (max-width: 1200px) { .pgs-server-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .pgs-server-services-grid { grid-template-columns: minmax(0, 1fr); } }

.pgs-service-card { display: grid; align-content: space-between; gap: .8rem; padding: 1rem; border: 1px solid var(--pgs-border-soft, #e7ebef); border-radius: .85rem; background: var(--pgs-surface-soft, #fafbfd); transition: border-color .2s ease, box-shadow .2s ease; position: relative; }
.pgs-service-card:hover { border-color: var(--pgs-border, #dce2e8); box-shadow: 0 4px 14px rgba(0,0,0,.04); }
.pgs-service-card.is-inactive { opacity: .8; background: #fdfdfd; border-style: dashed; }

.pgs-service-header { display: flex; align-items: flex-start; justify-content: space-between; gap: .6rem; }
.pgs-service-info { min-width: 0; }
.pgs-service-title { margin: 0 0 .15rem; font-size: 1rem; font-weight: 700; color: var(--pgs-text, #26364a); }
.pgs-service-sub { margin: 0; font-size: .76rem; color: var(--pgs-muted, #69788b); }

.pgs-service-badge { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.pgs-service-badge.badge-active { background: #eaf6ee; color: #237841; }
.pgs-service-badge.badge-active i { width: .45rem; height: .45rem; border-radius: 50%; background: #43a477; box-shadow: 0 0 0 2px rgba(67,164,119,.25); }
.pgs-service-badge.badge-inactive { background: #fbeeed; color: #c0392b; }
.pgs-service-badge.badge-inactive i { width: .45rem; height: .45rem; border-radius: 50%; background: #c0392b; }

.pgs-service-metrics { display: grid; gap: .5rem; padding: .65rem .75rem; background: var(--pgs-surface, #fff); border: 1px solid var(--pgs-border-soft, #e7ebef); border-radius: .65rem; }
.pgs-service-metric-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .8rem; }
.pgs-service-metric-row span { color: var(--pgs-muted, #69788b); }
.pgs-service-metric-row strong { font-variant-numeric: tabular-nums; }
.pgs-service-bar { height: .38rem; border-radius: 999px; background: #eef2f5; overflow: hidden; margin-top: .15rem; }
.pgs-service-bar > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5b9b91, #294765); transition: width .3s ease; }
.pgs-service-bar.bar-ram > span { background: linear-gradient(90deg, #3684b5, #1d4e78); }

.pgs-service-advisory { display: flex; align-items: flex-start; gap: .45rem; padding: .5rem .65rem; border-radius: .55rem; background: #fff8eb; border: 1px solid #f9e2b5; color: #92580c; font-size: .75rem; line-height: 1.35; }
.pgs-service-advisory i { font-style: normal; font-weight: bold; }

.pgs-service-actions { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; padding-top: .2rem; }
.pgs-btn-service { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .38rem .7rem; border-radius: .5rem; font-size: .78rem; font-weight: 650; cursor: pointer; transition: all .15s ease; border: 1px solid transparent; }
.pgs-btn-service:disabled { opacity: .5; cursor: not-allowed; }
.pgs-btn-service-restart { background: #eef3f8; color: #294765; border-color: #d1dde8; }
.pgs-btn-service-restart:hover:not(:disabled) { background: #e2ebf4; border-color: #b5c7d8; }
.pgs-btn-service-stop { background: #fdf2f2; color: #c0392b; border-color: #f7d4d4; }
.pgs-btn-service-stop:hover:not(:disabled) { background: #fbe5e5; border-color: #eeb5b5; }
.pgs-btn-service-start { background: #ebf7f0; color: #237841; border-color: #cce9d6; }
.pgs-btn-service-start:hover:not(:disabled) { background: #def0e4; border-color: #b1dcc0; }

.pgs-server-toast { position: fixed; bottom: 2rem; right: 2rem; z-index: 10000; display: flex; align-items: center; gap: .75rem; padding: .85rem 1.25rem; border-radius: .85rem; background: #26364a; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.22); font-size: .88rem; animation: pgsSlideUp .25s ease-out; }
.pgs-server-toast.toast-success { background: #1c5234; border-left: 5px solid #43a477; }
.pgs-server-toast.toast-error { background: #611e1b; border-left: 5px solid #e74c3c; }
.pgs-server-toast button { background: none; border: none; color: #fff; cursor: pointer; padding: 0 .2rem; font-size: 1.1rem; opacity: .8; }
.pgs-server-toast button:hover { opacity: 1; }
@keyframes pgsSlideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }


/* XAF MDI tabs should use the label width instead of reserving a fixed wide slot. */
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item {
    flex: 0 0 auto !important;
    width: max-content !important;
    min-width: 0 !important;
    padding-inline: 16px !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item > .dxbl-text:has(.xaf-tab-header-template),
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-text-container,
:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .dxbl-tabs-item .dxbl-tabs-text-container > .dxbl-text {
    flex: 0 0 auto !important;
    width: auto !important;
}

:is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi .xaf-tab-header-template {
    flex: 0 0 auto !important;
    width: auto !important;
}

.pgs-card-selection-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: 0 0 .75rem;
    color: var(--pgs-muted, #69788b);
    font-size: .86rem;
}

.pgs-card-selection-toolbar > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.pgs-card-selection-toolbar strong { color: var(--pgs-text, #26364a); }
.pgs-table-selection { width: 3rem; text-align: center !important; }
.pgs-table-selection input[type="checkbox"] { width: 1rem; height: 1rem; margin: 0; accent-color: var(--pgs-accent, #294c70); cursor: pointer; }
.dxbl-context-menu-item-icon { display: block !important; flex: 0 0 1rem !important; width: 1rem !important; height: 1rem !important; min-width: 1rem !important; min-height: 1rem !important; max-width: 1rem !important; max-height: 1rem !important; object-fit: contain !important; }

.pgs-document-list-tools { display: flex; align-items: center; gap: .7rem; }
.pgs-document-list-tools .pgs-list-view-switch { flex: 0 0 auto; }

/* Application usage keeps its summary and history in separate tabs. */
.pgs-surface.pgs-usage-log {
    box-sizing: border-box;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: .65rem;
    width: 100%;
    max-width: none;
    height: calc(100dvh - var(--pgs-document-top-offset, 11rem) - .3rem);
    min-height: 0;
    margin: 0;
    padding: .85rem;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.pgs-usage-heading { min-width: 0; margin: 0; }
.pgs-usage-heading h2 { margin: 0 0 .2rem; }
.pgs-usage-heading p,
.pgs-usage-panel-heading p { margin: 0; color: var(--pgs-muted); font-size: .84rem; }
.pgs-usage-general { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: .65rem; min-width: 0; min-height: 0; }
.pgs-usage-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; min-width: 0; }
.pgs-usage-kpi {
    display: grid;
    align-content: center;
    gap: .18rem;
    min-width: 0;
    padding: .65rem .8rem;
    border: 1px solid var(--pgs-border-soft);
    border-radius: .7rem;
    background: var(--pgs-surface);
}
.pgs-usage-kpi > span { color: var(--pgs-muted); font-size: .78rem; font-weight: 650; }
.pgs-usage-kpi > strong { overflow: hidden; color: var(--pgs-accent); font-size: 1.35rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.pgs-usage-kpi > small { overflow: hidden; color: var(--pgs-muted); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.pgs-usage-kpi-highlight > strong { color: var(--pgs-text); font-size: 1rem; }
.pgs-usage-chart-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: .35rem;
    min-width: 0;
    min-height: 0;
    padding: .6rem .8rem;
    border: 1px solid var(--pgs-border-soft);
    border-radius: .7rem;
    background: var(--pgs-surface);
}
.pgs-usage-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: .6rem; min-width: 0; }
.pgs-usage-panel-heading h3 { margin: 0 0 .1rem; font-size: 1rem; }
.pgs-usage-period { flex: 0 0 auto; padding: .2rem .55rem; border-radius: 999px; color: var(--pgs-accent); background: var(--pgs-accent-soft); font-size: .76rem; font-weight: 650; }
.pgs-usage-chart-frame { box-sizing: border-box; width: 100%; min-width: 0; min-height: 0; overflow: hidden; }
.pgs-usage-plot { display: grid; grid-template-rows: minmax(0, 1fr) 1.35rem; width: 100%; height: 100%; min-height: 0; }
.pgs-usage-plot-area { position: relative; min-width: 0; min-height: 0; margin-left: 2.4rem; }
.pgs-usage-gridline { position: absolute; z-index: 0; right: 0; bottom: var(--pgs-usage-y); left: 0; border-top: 1px solid var(--pgs-border-soft); }
.pgs-usage-axis-label { position: absolute; right: calc(100% + .35rem); bottom: -.45rem; color: var(--pgs-muted); font-size: .7rem; line-height: 1; }
.pgs-usage-bars { position: absolute; z-index: 1; inset: 0; display: flex; align-items: stretch; }
.pgs-usage-bar-slot { display: flex; flex: 1 1 0; justify-content: center; min-width: 0; }
.pgs-usage-bar { display: block; align-self: end; width: 58%; border-radius: .2rem .2rem 0 0; background: var(--pgs-accent); transition: background-color .15s ease; }
.pgs-usage-bar-slot:hover .pgs-usage-bar { background: var(--pgs-accent-strong, #17466f); }
.pgs-usage-hour-labels { position: relative; min-width: 0; margin-left: 2.4rem; }
.pgs-usage-hour-label { position: absolute; top: .12rem; color: var(--pgs-muted); font-size: .68rem; line-height: 1; white-space: nowrap; transform: translateX(-50%); }
.pgs-usage-history { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: .55rem; min-width: 0; min-height: 0; }
.pgs-usage-history-heading { min-width: 0; }
.pgs-usage-history-list { min-width: 0; min-height: 0; overflow: hidden; }
.pgs-usage-history-list > .pgs-surface { box-sizing: border-box; display: grid; grid-template-rows: auto minmax(0, 1fr); width: 100%; max-width: none; height: 100%; min-height: 0; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.pgs-usage-history-list .pgs-list-tools { min-width: 0; padding: .1rem 0 .55rem; }
.pgs-usage-history-list .pgs-grid-wrap { height: 100%; min-height: 0; }
.pgs-usage-empty,
.pgs-usage-error { align-self: center; margin: 0; }

@media (max-width: 900px) {
    .pgs-usage-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .pgs-surface.pgs-usage-log {
        grid-template-rows: auto auto minmax(25rem, 1fr);
        height: auto;
        min-height: calc(100dvh - 10rem);
        overflow: visible;
    }
    .pgs-usage-general { grid-template-rows: auto minmax(17rem, 1fr); }
    .pgs-usage-history { grid-template-rows: auto minmax(22rem, 1fr); }
    .pgs-usage-history-list > .pgs-surface { height: auto; }
    .pgs-usage-panel-heading { align-items: flex-start; }
    .pgs-usage-period { font-size: .7rem; }
}

@media (max-width: 520px) {
    .pgs-card-selection-toolbar { align-items: flex-start; flex-direction: column; }
    .pgs-card-selection-tools { width: 100%; margin: 0 0 .75rem; justify-content: flex-end; flex-wrap: wrap; white-space: normal; }
    .pgs-document-list-tools { justify-content: space-between; width: 100%; }
    .pgs-usage-summary { grid-template-columns: minmax(0, 1fr); }
    .pgs-usage-kpi { min-height: 5rem; }
    .pgs-usage-panel-heading { flex-direction: column; }
}

/* Account dropdown: polished identity header, large action targets, separated sign-out. */
.pgs-xaf-account-host .account-main {
    box-sizing: border-box !important;
    position: absolute !important;
    top: calc(100% + .55rem) !important;
    right: 0 !important;
    left: auto !important;
    transform: none !important;
    width: min(20.5rem, calc(100vw - 1.5rem)) !important;
    min-width: min(20.5rem, calc(100vw - 1.5rem)) !important;
    max-width: calc(100vw - 1rem) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe6ee !important;
    border-radius: 1.05rem !important;
    background: #ffffff !important;
    box-shadow: 0 22px 54px rgb(25 42 61 / 22%), 0 3px 10px rgb(25 42 61 / 7%) !important;
}
.pgs-xaf-account-host .account-main::before {
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, #294c70 0%, #527a9b 58%, #c9ae7b 100%) !important;
    content: "" !important;
}
.pgs-xaf-account-host .account-main-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 0 !important;
}
.pgs-xaf-account-host .pgs-account-menu-header {
    display: flex !important;
    align-items: center !important;
    gap: .9rem !important;
    min-width: 0 !important;
    padding: 1.15rem 1.1rem .95rem !important;
    background: linear-gradient(145deg, #f5f8fb 0%, #ffffff 82%) !important;
}
.pgs-xaf-account-host .pgs-account-avatar {
    display: grid !important;
    flex: 0 0 3.35rem !important;
    width: 3.35rem !important;
    height: 3.35rem !important;
    place-items: center !important;
    overflow: hidden !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    color: #ffffff !important;
    background: #294c70 !important;
    box-shadow: 0 0 0 1px #d8e2ec, 0 4px 12px rgb(41 76 112 / 16%) !important;
}
.pgs-xaf-account-host .pgs-account-avatar > svg {
    width: 1.7rem !important;
    height: 1.7rem !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.6 !important;
}
.pgs-xaf-account-host .pgs-account-avatar .xaf-dropdown-user-icon {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    background-size: cover !important;
}
.pgs-xaf-account-host .pgs-account-identity {
    display: grid !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: .18rem !important;
}
.pgs-xaf-account-host .pgs-account-identity > span {
    color: #75869a !important;
    font-size: .66rem !important;
    font-weight: 760 !important;
    letter-spacing: .12em !important;
    line-height: 1.2 !important;
}
.pgs-xaf-account-host .pgs-account-identity > strong {
    overflow: hidden !important;
    color: #20344c !important;
    font-size: 1.08rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.pgs-xaf-account-host .pgs-account-session-indicator {
    flex: 0 0 .62rem !important;
    width: .62rem !important;
    height: .62rem !important;
    border-radius: 50% !important;
    background: #39a875 !important;
    box-shadow: 0 0 0 4px #e8f5ee !important;
}
.pgs-xaf-account-host .pgs-account-menu-actions {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: .45rem !important;
    padding: .8rem .8rem .75rem !important;
}
.pgs-xaf-account-host .account-main .pgs-account-menu-action {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: .75rem !important;
    width: 100% !important;
    min-height: 4.15rem !important;
    margin: 0 !important;
    padding: .55rem .65rem !important;
    appearance: none !important;
    border: 1px solid #edf1f5 !important;
    border-radius: .78rem !important;
    color: #344b63 !important;
    background: #ffffff !important;
    font: inherit !important;
    text-align: left !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease, box-shadow .16s ease !important;
}
.pgs-xaf-account-host .pgs-account-menu-icon {
    display: grid !important;
    flex: 0 0 2.45rem !important;
    width: 2.45rem !important;
    height: 2.45rem !important;
    place-items: center !important;
    border-radius: .7rem !important;
    color: #294c70 !important;
    background: #edf3f8 !important;
}
.pgs-xaf-account-host .pgs-account-menu-icon > svg {
    width: 1.28rem !important;
    height: 1.28rem !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.7 !important;
}
.pgs-xaf-account-host .pgs-account-action-copy {
    display: grid !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: .2rem !important;
}
.pgs-xaf-account-host .pgs-account-action-copy strong {
    color: #283f58 !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}
.pgs-xaf-account-host .pgs-account-action-copy small {
    color: #748397 !important;
    font-size: .76rem !important;
    line-height: 1.3 !important;
}
.pgs-xaf-account-host .pgs-account-action-chevron { flex: 0 0 1rem !important; width: 1rem !important; height: 1rem !important; fill: none !important; stroke: #91a0af !important; stroke-linecap: round !important; stroke-linejoin: round !important; stroke-width: 1.8 !important; }
.pgs-xaf-account-host .pgs-account-menu-action:hover:not(:disabled) { transform: translateY(-1px) !important; border-color: #d5e0eb !important; background: #f7f9fb !important; box-shadow: 0 5px 13px rgb(30 50 70 / 7%) !important; }
.pgs-xaf-account-host .pgs-account-menu-action:active:not(:disabled) { transform: translateY(0) !important; }
.pgs-xaf-account-host .pgs-account-menu-action:focus-visible { outline: 3px solid #b5c8da !important; outline-offset: 2px !important; }
.pgs-xaf-account-host .account-main .pgs-account-menu-action:hover:not(:disabled) {
    color: #294c70 !important;
}
.pgs-xaf-account-host .pgs-account-restart .pgs-account-menu-icon { color: #8a6631 !important; background: #f7f1e5 !important; }
.pgs-xaf-account-host .pgs-account-logoff .pgs-account-menu-icon { color: #9a4852 !important; background: #faedef !important; }
.pgs-xaf-account-host .pgs-account-menu-action:disabled { opacity: .48 !important; cursor: not-allowed !important; }
.pgs-xaf-account-host .pgs-account-menu-footer {
    padding: .7rem .8rem .8rem !important;
    border-top: 1px solid #edf0f3 !important;
    background: #fafbfc !important;
}
.pgs-xaf-account-host .pgs-account-logoff .pgs-account-action-copy strong { color: #8a3f49 !important; }
.pgs-xaf-account-host .pgs-account-logoff:hover:not(:disabled) { border-color: #f0d9dc !important; background: #fff7f8 !important; }
@media (prefers-reduced-motion: reduce) {
    .pgs-xaf-account-host .pgs-account-menu-action { transition: none !important; }
}
@media (max-width: 520px) {
    .pgs-xaf-account-host .account-main { width: min(20.5rem, calc(100vw - 1rem)) !important; min-width: min(20.5rem, calc(100vw - 1rem)) !important; }
    .pgs-xaf-account-host .pgs-account-menu-header { padding: 1rem .9rem .85rem !important; }
    .pgs-xaf-account-host .pgs-account-menu-actions,
    .pgs-xaf-account-host .pgs-account-menu-footer { padding-right: .65rem !important; padding-left: .65rem !important; }
}

/* Embedded expediente list tools: actions on the left, search and view on the right. */
.pgs-document-list-tools,
.pgs-related-list-tools { justify-content: flex-start; flex-wrap: nowrap; width: 100%; }
.pgs-document-list-tools > .pgs-document-toolbar { flex: 0 0 auto; justify-content: flex-start; flex-wrap: nowrap; gap: .55rem; margin: 0 auto 0 0; }
.pgs-document-list-tools > .pgs-document-toolbar > span { flex: 0 0 auto; margin-right: .15rem; white-space: nowrap; }
.pgs-document-list-tools .pgs-document-search,
.pgs-related-list-tools .pgs-related-search { flex: 0 0 auto; margin: 0; white-space: nowrap; }
.pgs-document-list-tools .pgs-document-search input { flex: 0 1 12rem; width: 12rem; min-width: 0; }
.pgs-related-list-tools .pgs-related-list-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .45rem; margin-right: auto; }
.pgs-related-list-tools .pgs-related-search input { flex: 0 1 12rem; width: 12rem; min-width: 0; }

@media (max-width: 800px) {
    .pgs-document-list-tools,
    .pgs-related-list-tools { flex-wrap: wrap; justify-content: flex-start; }
    .pgs-document-list-tools > .pgs-document-toolbar,
    .pgs-related-list-tools .pgs-related-list-actions { margin-right: 0; }
    .pgs-document-list-tools .pgs-document-search,
    .pgs-related-list-tools .pgs-related-search { margin-left: auto; }
}

@media (max-width: 520px) {
    .pgs-document-list-tools .pgs-document-search,
    .pgs-related-list-tools .pgs-related-search { width: 100%; }
    .pgs-document-list-tools .pgs-list-view-switch,
    .pgs-related-list-tools .pgs-list-view-switch { margin-left: auto; }
}

/* Persistent, Spanish reconnection screen shared by every server restart and circuit recovery. */
#components-reconnect-modal {
    position: fixed !important;
    z-index: 200000 !important;
    inset: 0 !important;
    display: none !important;
    place-items: center !important;
    box-sizing: border-box !important;
    padding: clamp(1rem, 4vw, 2rem) !important;
    overflow: auto !important;
    background: rgb(14 29 45 / 64%) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}
#components-reconnect-modal.pgs-reconnect-visible,
#components-reconnect-modal.components-reconnect-show,
#components-reconnect-modal.components-reconnect-retrying,
#components-reconnect-modal.components-reconnect-paused,
#components-reconnect-modal.components-reconnect-failed,
#components-reconnect-modal.components-reconnect-rejected {
    display: grid !important;
}
.pgs-reconnect-card {
    position: relative;
    box-sizing: border-box;
    width: min(100%, 34rem);
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 72%);
    border-radius: 1.35rem;
    background: #fff;
    box-shadow: 0 2rem 6rem rgb(7 20 34 / 35%), 0 .35rem 1rem rgb(7 20 34 / 12%);
    color: #20354b;
    animation: pgs-reconnect-card-enter .24s ease-out both;
}
.pgs-reconnect-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #173653 0%, #315b7c 62%, #ad8b4f 100%);
    content: "";
}
.pgs-reconnect-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #edf0f3;
    background: linear-gradient(135deg, #fbfcfd, #fff 75%);
}
.pgs-reconnect-brand > img { display: block; width: min(12.5rem, 58%); height: auto; }
.pgs-reconnect-brand-status {
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    flex: 0 0 auto;
    padding: .42rem .65rem;
    border: 1px solid #e2e8ed;
    border-radius: 999px;
    color: #617287;
    background: #fff;
    font-size: .7rem;
    font-weight: 650;
    white-space: nowrap;
}
.pgs-reconnect-brand-status > i { width: .48rem; height: .48rem; border-radius: 50%; background: #b78036; box-shadow: 0 0 0 .2rem #f7f0e5; }
#components-reconnect-modal[data-reconnect-state="retrying"] .pgs-reconnect-brand-status > i { background: #426c8d; box-shadow: 0 0 0 .2rem #e9f0f5; }
#components-reconnect-modal[data-reconnect-state="paused"] .pgs-reconnect-brand-status > i { background: #8995a1; box-shadow: 0 0 0 .2rem #eef0f2; }
#components-reconnect-modal[data-reconnect-state="failed"] .pgs-reconnect-brand-status > i,
#components-reconnect-modal[data-reconnect-state="rejected"] .pgs-reconnect-brand-status > i { background: #bc754a; box-shadow: 0 0 0 .2rem #f8eee8; }
#components-reconnect-modal[data-reconnect-state="hide"] .pgs-reconnect-brand-status > i { background: #43836b; box-shadow: 0 0 0 .2rem #e8f2ee; }
.pgs-reconnect-content { display: grid; justify-items: center; padding: 2rem 2rem 1.65rem; text-align: center; }
.pgs-reconnect-eyebrow { color: #8a744f; font-size: .68rem; font-weight: 800; letter-spacing: .16em; }
.pgs-reconnect-loader {
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    margin: 1.2rem 0 .65rem;
    place-items: center;
    border: 3px solid #e8edf1;
    border-top-color: #294d6c;
    border-right-color: #aa8952;
    border-radius: 50%;
    animation: pgs-reconnect-spin .95s linear infinite;
}
.pgs-reconnect-loader > span { width: 1.05rem; height: 1.05rem; border-radius: 50%; background: #294d6c; }
.pgs-reconnect-content h1 { margin: .55rem 0 .45rem; color: #1e344a; font: 600 clamp(1.35rem, 4vw, 1.7rem)/1.25 Georgia, "Times New Roman", serif; }
.pgs-reconnect-content > p:not(.pgs-reconnect-attempt) { max-width: 27rem; margin: 0; color: #68798b; font-size: .92rem; line-height: 1.65; }
.pgs-reconnect-progress { position: relative; width: min(20rem, 100%); height: .28rem; margin: 1.5rem 0 .7rem; overflow: hidden; border-radius: 999px; background: #e9edf1; }
.pgs-reconnect-progress > span { position: absolute; inset-block: 0; left: -34%; width: 34%; border-radius: inherit; background: linear-gradient(90deg, #294d6c, #b18f54); animation: pgs-reconnect-progress 1.5s ease-in-out infinite; }
.pgs-reconnect-attempt { margin: .25rem 0 0; color: #7d8996; font-size: .76rem; }
.pgs-reconnect-attempt > span:not(.pgs-reconnect-attempt-separator) { color: #495f74; font-variant-numeric: tabular-nums; font-weight: 700; }
.pgs-reconnect-attempt-separator { padding-inline: .35rem; color: #a0aab3; }
.pgs-reconnect-footer { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .85rem 1rem; border-top: 1px solid #edf0f3; color: #7b8794; background: #fafbfc; font-size: .72rem; }
.pgs-reconnect-footer-mark { color: #294d6c; font-family: Georgia, "Times New Roman", serif; font-size: .83rem; font-weight: 750; letter-spacing: .04em; }
@keyframes pgs-reconnect-spin { to { transform: rotate(360deg); } }
@keyframes pgs-reconnect-progress { to { left: 100%; } }
@keyframes pgs-reconnect-card-enter { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 520px) {
    .pgs-reconnect-brand { padding: 1rem; }
    .pgs-reconnect-brand-status { padding: .38rem .5rem; font-size: .65rem; }
    .pgs-reconnect-content { padding: 1.6rem 1.15rem 1.35rem; }
}
@media (prefers-reduced-motion: reduce) {
    .pgs-reconnect-loader, .pgs-reconnect-progress > span, .pgs-reconnect-card { animation: none !important; }
}

/* ==========================================================================
   MOBILE & RESPONSIVE SPECIAL STYLES (PGS MOBILE EXPERIENCE)
   - Menu principal plegable (Sidebar drawer & Hamburger button)
   - Textos pequeñitos (Micro-tipografía compacta y optimizada)
   - Adaptación completa de ListViews (Cards y Grillas táctiles)
   - Formularios y DetailViews responsive
   ========================================================================== */

/* Botón hamburguesa en el header (posicionado limpiamente en flex) */
.pgs-header-hamburger {
    display: none !important;
    position: static !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #D6CEBE !important;
    border-radius: 6px !important;
    background: #FAF8F5 !important;
    color: #4A4035 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    z-index: 5 !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.pgs-header-hamburger:hover,
.pgs-header-hamburger:focus-visible {
    background: #FFFFFF !important;
    border-color: #BBA68A !important;
    color: #2D2319 !important;
}

.pgs-header-hamburger svg {
    width: 20px !important;
    height: 20px !important;
    stroke: currentColor !important;
}

/* Cabecera interna del drawer móvil de navegación */
.pgs-sidebar-mobile-header {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid #ECE6DB;
    background: #F0ECE5;
}

.pgs-sidebar-mobile-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pgs-sidebar-mobile-caption {
    font-size: 11px;
    font-weight: 600;
    color: #6C5E50;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pgs-sidebar-mobile-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #6C5E50;
    cursor: pointer;
}

.pgs-sidebar-mobile-close:hover {
    background: #E5DFD4;
    color: #2D2319;
}

/* Sombra de fondo para el menú plegable (Backdrop) */
.sidebar-sm-shadow {
    display: none;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(18, 15, 12, 0.55) !important;
    backdrop-filter: blur(2px) !important;
    z-index: 1040 !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease !important;
}

.sidebar-sm-shadow.show {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* --------------------------------------------------------------------------
   TABLET & MOBILE: Menú lateral plegable y componentes adaptados (<= 991.98px)
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    /* Cabecera limpia en flex horizontal: Hamburguesa + Logo a la izquierda, Usuario a la derecha */
    .header.navbar-dark.pgs-notarial-header,
    .header.navbar-dark {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 10px !important;
        gap: 8px !important;
    }

    .header.navbar-dark .header-left-side.pgs-header-brand-side,
    .header.navbar-dark .pgs-header-brand-side {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        margin: 0 !important;
        gap: 8px !important;
        position: static !important;
    }

    /* Mostrar botón hamburguesa en header en flex flujo normal */
    .pgs-header-hamburger,
    .pgs-sidebar-menu-toggle.pgs-header-hamburger {
        display: inline-flex !important;
        position: static !important;
    }

    .pgs-notarial-brand {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
    }

    .pgs-notarial-brand-logo {
        font-size: 1.25rem !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    .pgs-notarial-brand-text,
    .pgs-notarial-brand-divider {
        display: none !important;
    }

    .header.navbar-dark .header-right-side.pgs-header-user-side,
    .header.navbar-dark .pgs-header-user-side {
        display: flex !important;
        align-items: center !important;
        margin-left: auto !important;
        gap: 8px !important;
        overflow: visible !important;
    }

    /* Ocultar botones hamburguesa duplicados del cuerpo o estilos absolutos de DevExpress */
    .xaf-application-body > .btn-hamburger,
    .xaf-application-body > .pgs-sidebar-menu-toggle,
    .btn-hamburger:not(.pgs-header-hamburger),
    button.btn-hamburger:not(.pgs-header-hamburger) {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Posicionamiento fijo y exacto del menú de usuario en tablet y móvil */
    .account-main,
    .pgs-xaf-account-host .account-main,
    .account-container .account-main,
    .xaf-application-header .account-main,
    .header .account-main {
        position: fixed !important;
        top: 48px !important;
        right: 8px !important;
        left: auto !important;
        bottom: auto !important;
        width: min(290px, calc(100vw - 16px)) !important;
        max-width: calc(100vw - 16px) !important;
        min-width: 0 !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 99999 !important;
        box-shadow: 0 12px 36px rgba(18, 15, 12, 0.3), 0 2px 10px rgba(18, 15, 12, 0.15) !important;
        border: 1px solid #D8CFC4 !important;
        border-radius: 12px !important;
        background: #FFFFFF !important;
    }

    .account-main::before,
    .pgs-xaf-account-host .account-main::before {
        display: none !important;
    }

    .pgs-xaf-account-host .pgs-account-menu-header {
        padding: 10px 12px !important;
        gap: 10px !important;
    }

    .pgs-xaf-account-host .pgs-account-avatar {
        flex: 0 0 2.2rem !important;
        width: 2.2rem !important;
        height: 2.2rem !important;
    }

    .pgs-xaf-account-host .pgs-account-avatar svg {
        width: 1.2rem !important;
        height: 1.2rem !important;
    }

    .pgs-xaf-account-host .pgs-account-identity > span {
        font-size: 0.6rem !important;
    }

    .pgs-xaf-account-host .pgs-account-identity > strong {
        font-size: 0.95rem !important;
    }

    .pgs-xaf-account-host .pgs-account-menu-actions {
        padding: 6px 8px !important;
        gap: 4px !important;
    }

    .pgs-xaf-account-host .account-main .pgs-account-menu-action {
        padding: 6px 8px !important;
        gap: 8px !important;
    }

    .pgs-xaf-account-host .pgs-account-menu-icon {
        flex: 0 0 1.9rem !important;
        width: 1.9rem !important;
        height: 1.9rem !important;
    }

    .pgs-xaf-account-host .pgs-account-action-copy strong {
        font-size: 0.82rem !important;
    }

    .pgs-xaf-account-host .pgs-account-action-copy small {
        font-size: 0.68rem !important;
    }

    .pgs-xaf-account-host .pgs-account-menu-footer {
        padding: 6px 8px !important;
    }

    /* El menú principal se pliega por defecto fuera de la pantalla */
    .xaf-sidebar.sidebar.pgs-notarial-sidebar,
    .xaf-sidebar.pgs-notarial-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        height: 100vh !important;
        height: 100dvh !important;
        width: min(290px, 84vw) !important;
        max-width: 310px !important;
        min-width: 0 !important;
        z-index: 1050 !important;
        transform: translateX(-100%) !important;
        transition: transform 0.26s cubic-bezier(0.33, 1, 0.68, 1), visibility 0.26s !important;
        visibility: hidden !important;
        box-shadow: none !important;
        overflow-y: auto !important;
        display: flex !important;
        flex-direction: column !important;
        background: #FFFFFF !important;
    }

    /* Al desplegar el menú principal */
    .xaf-sidebar.sidebar.pgs-notarial-sidebar.pgs-sidebar-open,
    .xaf-sidebar.sidebar.pgs-notarial-sidebar.sidebar-sm-show {
        transform: translateX(0) !important;
        visibility: visible !important;
        box-shadow: 6px 0 28px rgba(0, 0, 0, 0.35) !important;
    }

    /* Mostrar cabecera con botón cerrar dentro del drawer móvil */
    .pgs-sidebar-mobile-header {
        display: flex !important;
    }

    /* Ocultar tirador de redimensionado en móvil */
    .pgs-sidebar-resize-handle {
        display: none !important;
    }

    /* Área de navegación en móvil */
    .pgs-navmenu-wrapper {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Items del menú en móvil */
    .xaf-sidebar .xaf-navmenu .dxbl-accordion-group-header,
    .xaf-sidebar .xaf-navmenu .dxbl-group-header {
        min-height: 42px !important;
        padding: 8px 12px !important;
        font-size: 12px !important;
    }

    /* Pie del menú móvil */
    .pgs-sidebar-footer {
        padding: 12px 16px !important;
        border-top: 1px solid #ECE6DB !important;
    }

    /* Evitar scroll del fondo cuando el menú está abierto */
    body.pgs-mobile-menu-active {
        overflow: hidden !important;
    }
}

/* --------------------------------------------------------------------------
   SMARTPHONE (<= 767.98px): Textos pequeñitos, adaptación de ListViews y vistas
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    /* Tipografía compacta y limpia */
    body,
    .pgs-application-body,
    .pgs-notarial-view-wrapper,
    .pgs-surface,
    .main-content {
        font-size: 11.5px !important;
    }

    /* Cabecera superior compacta */
    .header.navbar-dark.pgs-notarial-header {
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 8px !important;
    }

    .pgs-notarial-brand-text {
        display: none !important;
    }

    .pgs-notarial-brand-divider {
        display: none !important;
    }

    .pgs-notarial-brand-logo {
        font-size: 1.15rem !important;
        letter-spacing: 0.04em !important;
    }

    /* Encabezados de página con textos pequeños */
    .pgs-notarial-heading-row {
        margin-bottom: 6px !important;
    }

    h1.pgs-notarial-title {
        font-size: 14px !important;
        line-height: 1.25 !important;
        margin: 0 0 2px 0 !important;
        font-weight: 700 !important;
    }

    p.pgs-notarial-subtitle {
        font-size: 10px !important;
        line-height: 1.25 !important;
        margin: 0 0 6px 0 !important;
        color: #7A6F62 !important;
    }

    /* Pestañas MDI compactas */
    :is(.pgs-tabbed-mdi-host, .pgs-application-body) .xaf-tabbed-mdi > .dxbl-tabs-tablist {
        min-height: 34px !important;
        height: 34px !important;
        padding: 0 4px !important;
    }

    .xaf-tabbed-mdi .dxbl-tabs-tab {
        padding: 3px 7px !important;
        font-size: 10.5px !important;
    }

    .xaf-tabbed-mdi .dxbl-tabs-tab-text {
        font-size: 10.5px !important;
    }

    .xaf-tabbed-mdi .dxbl-tabs-tab-close-btn {
        width: 14px !important;
        height: 14px !important;
        margin-left: 4px !important;
    }

    /* Barra de herramientas de ListViews (Nuevo, Eliminar, Buscar, etc.) */
    .pgs-notarial-toolbar,
    .pgs-list-tools {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
        padding: 6px 8px !important;
    }

    .pgs-notarial-toolbar-left,
    .pgs-notarial-toolbar-right {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 4px !important;
        width: 100% !important;
    }

    .pgs-notarial-toolbar-right {
        justify-content: space-between !important;
    }

    /* Buscador en ancho completo */
    .pgs-notarial-search,
    .pgs-search {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .pgs-notarial-search input,
    .pgs-search input {
        width: 100% !important;
        height: 28px !important;
        font-size: 11px !important;
        padding: 2px 6px !important;
    }

    /* Botones pequeños para pantalla táctil */
    .pgs-tb-btn,
    .pgs-list-card-page,
    .pgs-list-card-open {
        font-size: 10.5px !important;
        padding: 3px 7px !important;
        min-height: 26px !important;
        height: auto !important;
        border-radius: 4px !important;
    }

    .pgs-tb-btn .pgs-tb-svg,
    .pgs-tb-btn .pgs-tb-icon {
        width: 12px !important;
        height: 12px !important;
        font-size: 11px !important;
    }

    /* Contenedor de tarjeta principal */
    .pgs-notarial-card,
    .pgs-surface {
        padding: 6px !important;
        border-radius: 6px !important;
        margin-bottom: 8px !important;
    }

    /* ==========================================================================
       ADAPTACIÓN DE LISTVIEWS A MÓVIL
       ========================================================================== */

    /* Modo Tarjetas (PgsCardListView) adaptado a 1 columna vertical */
    .pgs-card-grid {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        padding: 4px 0 !important;
    }

    .pgs-list-card {
        padding: 8px 9px !important;
        border-radius: 6px !important;
        border: 1px solid #ECE7DF !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    }

    .pgs-list-card-header {
        margin-bottom: 5px !important;
        padding-bottom: 5px !important;
        border-bottom: 1px solid #F2ECE4 !important;
    }

    .pgs-list-card-heading h3 {
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        margin: 0 !important;
    }

    .pgs-list-card-heading p {
        font-size: 10px !important;
        color: #7A6F62 !important;
        margin: 1px 0 0 0 !important;
    }

    /* Pares Clave-Valor dentro de las tarjetas */
    .pgs-card-details {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3px 6px !important;
        margin: 0 !important;
    }

    .pgs-card-details dt {
        font-size: 9px !important;
        font-weight: 700 !important;
        color: #8C8072 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.25px !important;
        margin: 0 !important;
        line-height: 1.2 !important;
    }

    .pgs-card-details dd {
        font-size: 10.5px !important;
        font-weight: 500 !important;
        margin: 0 0 3px 0 !important;
        line-height: 1.25 !important;
        word-break: break-word !important;
    }

    /* Paginación de tarjetas en móvil */
    .pgs-card-pagination {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 5px !important;
        padding: 6px 0 !important;
        font-size: 10px !important;
    }

    .pgs-card-pagination > div {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    /* Modo Tabla (DxGrid) con scroll suave táctil y celdas ultra-compactas */
    .pgs-grid-wrap,
    .pgs-notarial-grid-container {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-radius: 4px !important;
    }

    .dxbl-grid,
    .pgs-grid,
    .pgs-notarial-grid {
        font-size: 10px !important;
        min-width: 580px !important;
    }

    .dxbl-grid table th,
    .dxbl-grid table td,
    .pgs-grid th,
    .pgs-grid td {
        padding: 3px 5px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    .pgs-status-cell {
        font-size: 9.5px !important;
        gap: 3px !important;
    }

    .pgs-evidence-value {
        font-size: 10px !important;
    }

    /* Estado e insignias */
    .pgs-dot {
        width: 6px !important;
        height: 6px !important;
    }

    /* Switch de modo lista/tarjetas */
    .pgs-list-view-switch button {
        width: 26px !important;
        height: 26px !important;
        padding: 2px !important;
    }

    .pgs-list-view-switch svg {
        width: 13px !important;
        height: 13px !important;
    }

    /* ==========================================================================
       DETAILVIEWS Y PANELES EN MÓVIL
       ========================================================================== */

    /* Pestañas del expediente táctiles con scroll horizontal */
    .pgs-detail-tabs,
    .pgs-doc-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 4px !important;
        padding-bottom: 4px !important;
        margin-bottom: 8px !important;
        scrollbar-width: thin;
    }

    .pgs-detail-tab-btn,
    .pgs-doc-tab-btn {
        flex: 0 0 auto !important;
        font-size: 10.5px !important;
        padding: 4px 8px !important;
        border-radius: 4px !important;
        white-space: nowrap !important;
    }

    /* Formularios colapsados a 1 sola columna en smartphones */
    .pgs-entity-form,
    .pgs-field-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 5px !important;
    }

    .pgs-field {
        margin-bottom: 3px !important;
    }

    .pgs-field label {
        font-size: 9.5px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.25px !important;
        color: #7A6F62 !important;
        margin-bottom: 1px !important;
    }

    .pgs-field input,
    .pgs-field select,
    .pgs-field textarea {
        font-size: 10.5px !important;
        padding: 3px 6px !important;
        height: 28px !important;
        border-radius: 4px !important;
    }

    .pgs-field textarea {
        height: auto !important;
        min-height: 48px !important;
    }

    /* Avisos y Toasts en móvil */
    .pgs-toast {
        font-size: 10.5px !important;
        padding: 6px 8px !important;
        margin-bottom: 6px !important;
    }

    .pgs-action-alert {
        font-size: 10.5px !important;
        padding: 5px 8px !important;
    }

    /* Modales, diálogos y popups en móvil */
    .dxbl-modal,
    .dxbl-popup,
    .modal-dialog,
    .dxbl-popup-content {
        max-width: calc(100vw - 12px) !important;
        margin: 6px auto !important;
    }

    /* Barras de acciones y ribbons en móvil */
    .xaf-action-toolbar,
    .dxbl-toolbar {
        flex-wrap: wrap !important;
        gap: 3px !important;
    }

    .dxbl-toolbar .dxbl-btn,
    .xaf-action-toolbar .dxbl-btn {
        min-height: 28px !important;
        height: 28px !important;
        padding: 2px 6px !important;
        font-size: 10px !important;
    }

    /* Botones principales y tarjetas KPI en móvil */
    .pgs-expediente-hero,
    .pgs-card-hero {
        padding: 8px !important;
    }

    .pgs-expediente-hero button,
    .pgs-card-hero button {
        font-size: 11px !important;
        padding: 4px 8px !important;
    }

    .pgs-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }
}

/* Barra del listado de expedientes: una sola línea; el selector de vista tiene la altura de los botones. */
@media (min-width: 1180px) {
    .pgs-notarial-toolbar {
        flex-wrap: nowrap !important;
        gap: 10px !important;
        overflow: visible;
    }

    .pgs-notarial-toolbar-left,
    .pgs-notarial-toolbar-right {
        flex-wrap: nowrap !important;
        flex: 0 0 auto;
        gap: 8px !important;
    }

    .pgs-notarial-toolbar-right { margin-left: auto; }

    .pgs-notarial-toolbar .pgs-tb-btn,
    .pgs-notarial-toolbar .pgs-tb-menu .pgs-tb-btn {
        white-space: nowrap;
        flex: 0 0 auto;
    }

    .pgs-notarial-toolbar .pgs-notarial-search-box {
        flex: 0 1 220px;
        min-width: 130px;
        width: auto !important;
    }

    .pgs-notarial-toolbar .pgs-list-view-switch {
        flex: 0 0 auto;
        height: 44px;
        margin: 0;
        padding: 3px;
        border-radius: 7px;
        border-color: #E0DDD7;
        box-sizing: border-box;
    }

    .pgs-notarial-toolbar .pgs-list-view-switch button {
        width: 40px;
        height: 100%;
        border-radius: 5px;
    }
}

.pgs-tb-menu { position: relative; display: inline-flex; flex: 0 0 auto; }

.pgs-tb-menu-backdrop { position: fixed; inset: 0; z-index: 60; background: transparent; }

.pgs-tb-menu-list {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 61;
    min-width: 210px;
    display: grid;
    gap: 2px;
    padding: 6px;
    background: #FFFFFF;
    border: 1px solid #E0DDD7;
    border-radius: 9px;
    box-shadow: 0 10px 28px rgba(32, 52, 76, 0.16);
}

.pgs-tb-menu-list button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 40px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #332B23;
    font: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}

.pgs-tb-menu-list button:hover:not(:disabled),
.pgs-tb-menu-list button:focus-visible { background: #F7F5F0; }

.pgs-tb-menu-list button:disabled { opacity: 0.45; cursor: not-allowed; }

.pgs-tb-menu-list svg { flex: 0 0 auto; color: var(--pgs-navy, #20344C); }

@media (min-width: 1180px) {
    .pgs-notarial-toolbar .pgs-tb-btn { padding-inline: 12px !important; gap: 5px; }
    .pgs-notarial-toolbar-right { flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
    .pgs-notarial-toolbar .pgs-notarial-search-box { flex: 1 1 160px; max-width: 240px; min-width: 90px; }
}

.pgs-example-list-tools { margin-bottom: .75rem; }
.pgs-example-delete-list { margin: .5rem 0 1rem; padding-left: 1.2rem; display: grid; gap: .2rem; }
.pgs-example-delete-list small { color: var(--pgs-muted, #69788b); }

.pgs-example-protection { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; padding: .8rem 1rem; border: 1px solid var(--pgs-border, #d7dee7); border-radius: 10px; background: #FAF9F6; }
.pgs-example-protection.protected { border-color: #C9A24A; background: #FFF8E6; }
.pgs-example-protection p { margin: .2rem 0 0; color: var(--pgs-muted, #69788b); font-size: .9em; }
.pgs-example-fields td:first-child { width: 14rem; font-weight: 600; white-space: nowrap; }
.pgs-example-json { margin: .5rem 0; }
.pgs-example-json summary { cursor: pointer; font-weight: 600; }
.pgs-example-json pre { max-height: 22rem; overflow: auto; }
