@charset "UTF-8";
/* 1. VARIABLES BASE */
:root {
  --sigep-table-header-height: 32px;
  --sigep-table-header-padding-y: 8px;
  --sigep-table-header-padding-x: 7px;
  --sigep-table-header-line-height: 1.25;
  --sigep-table-header-font-weight: 400;
  --sigep-table-header-border: 2px solid var(--sigep-border);
  --sigep-table-cell-border: 1px solid var(--sigep-border);
  --sigep-table-row-height: auto;
  --sigep-table-row-line-height: 1.15;
  --sigep-table-header-letter-spacing: 0.02em;
  --sigep-table-th-bg: #051841;
  --sigep-table-heading-color: #f5c451;
  --sigep-table-header-radius: 5px;
  --sigep-table-th-color: var(--sigep-table-heading-color);
  --sigep-table-td-color: #000000;
  --sigep-table-tr-hover-bg: var(--sigep-notice-success-bg);
  --sigep-table-a-color: #000000;
  --sigep-table-action-size: 24px;
  --sigep-table-cell-padding-x: 0.4rem;
  --sigep-table-cell-padding-y: 0.0625rem;
  --sigep-table-code-column-min-width: 6.25rem;
  --sigep-table-index-column-width: 4rem;
  --sigep-list-header-min-height: 30px;
  --sigep-list-header-padding-y: 3px;
  --sigep-list-header-padding-x: 10px;
  --sigep-list-header-gap: 6px;
  --sigep-list-header-action-height: 24px;
  --sigep-pagination-control-height: 26px;
  --sigep-pagination-gap: 0.25rem;
  --sigep-pagination-padding: 0.3rem 0.5rem;
  --sigep-button-height: 28px;
  --sigep-button-font-weight: 400;
  --sigep-button-padding-x: 0.75rem;
  --sigep-topbar-height: 68px;
  --sigep-topbar-padding: 14px 28px;
  --sigep-content-padding: 22px 24px 34px;
  --sigep-modal-width: 420px;
  --sigep-modal-radius: 10px;
  --sigep-modal-header-padding: 0.65rem 2.5rem;
  --sigep-modal-body-padding: 0.75rem 1rem;
  --sigep-modal-footer-padding: 0.6rem 1rem;
  --sigep-modal-gap: 0.5rem;
  --sigep-modal-input-height: 32px;
  --sigep-modal-textarea-height: 76px;
  --sigep-modal-info-bg: linear-gradient(110deg, #eaf5ff 0%, #f7fbff 100%);
  --sigep-modal-info-border: #d8e7f7;
  --sigep-modal-info-accent: #1688cf;
  --sigep-modal-characteristics-bg: #fffaf1;
  --sigep-modal-characteristics-border: #f2d9b2;
  --sigep-modal-characteristics-accent: #d9901a;
  --sigep-modal-physical-bg: linear-gradient(110deg, #effcf6 0%, #fbfffd 100%);
  --sigep-modal-physical-border: #c7ead8;
  --sigep-modal-physical-accent: #17a263;
  --sigep-modal-notes-bg: linear-gradient(110deg, #f3efff 0%, #fcfaff 100%);
  --sigep-modal-notes-border: #d5c6ee;
  --sigep-modal-notes-accent: #8d6fc2;
  --sigep-master-modal-width: 760px;
  --sigep-master-modal-compact-width: 600px;
  --sigep-master-modal-frame-height: 360px;
  --sigep-btn-modal-close-size: 24px;
  --sigep-btn-modal-close-color: #ff5757;
  --sigep-inventory-modal-summary-color: #f8a51b;
  --sigep-inventory-modal-header-bg: #061a38;
  --sigep-modal-header-text-color: #fff;
  --sigep-inventory-modal-title-gap: 4px;
  --sigep-inventory-modal-width: 840px;
  --sigep-inventory-modal-viewport-gap: 16px;
  --sigep-patrimonial-search-bg: #e8f7ed;
  --sigep-patrimonial-search-border: #9fd3ad;
  --sigep-catalog-search-bg: #fdeaea;
  --sigep-catalog-search-border: #efaaaa;
  --sigep-catalog-source-bg: #dcfce7;
  --sigep-catalog-source-border: #86d5a0;
  --sigep-catalog-source-text: #166534;
  --sigep-filter-control-height: 24px;
  --sigep-filter-control-border: 1px solid color-mix(in srgb, var(--sigep-primary) 65%, var(--sigep-card));
  --sigep-filter-control-radius: 8px;
  --sigep-filter-section-padding: 0.5rem 0.75rem;
  --sigep-filter-gap-x: 0.55rem;
  --sigep-filter-gap-y: 0.4rem;
  --sigep-filter-panel-bg: var(--sigep-card);
  --sigep-filter-panel-border: var(--sigep-primary);
  --sigep-filter-panel-accent: var(--sigep-primary);
  --sigep-filter-icon-color: var(--sigep-primary);
  --sigep-combo-dropdown-bg: #eef9f1;
  --sigep-combo-dropdown-border: #a9d9b9;
  --sigep-combo-option-text: #173b29;
  --sigep-combo-option-active-bg: #ccebd6;
  --sigep-combo-option-hover-bg: #ddf2e4;
  --sigep-combo-option-padding-y: 0.25rem;
  --sigep-combo-option-padding-x: 0.55rem;
  --sigep-combo-option-gap-y: 1px;
  --sigep-combo-option-gap-x: 3px;
  --sigep-account-breakdown-row-height: 24px;
  --sigep-account-breakdown-gap: 0.14rem;
  --sigep-account-breakdown-padding-y: 0.04rem;
  --sigep-account-breakdown-padding-x: 0.35rem;
  --sigep-btn-account-breakdown-text: #000000;
  --sidebar-width: 310px;
  --sigep-primary: #0f2d59;
  --sigep-primary-ink: #031126;
  --sigep-icon-accent: #174a7c;
  --sigep-gold: var(--sigep-icon-accent);
  --sigep-gold-soft: #d4af37;
  --sigep-sidebar-menu-text: #7dd3fc;
  --sigep-bg: #e6f1fc;
  --sigep-bg-soft: #f0f6fd;
  --sigep-card: #ffffff;
  --sigep-card-solid: #ffffff;
  --sigep-card-soft: #e0eaf7;
  --sigep-input: #ffffff;
  --sigep-text: #0f172a;
  --sigep-muted: #475569;
  --sigep-border: rgba(7, 27, 58, 0.14);
  --sigep-notice-info-bg: #dcecff;
  --sigep-notice-info-border: #9fc8f5;
  --sigep-notice-info-text: #063b72;
  --sigep-notice-warning-bg: #fabebe;
  --sigep-notice-warning-border: #ff0000;
  --sigep-notice-warning-text: #063b72;
  --sigep-notice-success-bg: #d9f3e5;
  --sigep-notice-success-border: #92d5ae;
  --sigep-notice-success-text: #075c36;
  --sigep-notice-danger-bg: #fde2e5;
  --sigep-notice-danger-border: #f3adb6;
  --sigep-notice-danger-text: #8a1725;
  --sigep-notice-neutral-bg: #edf2f7;
  --sigep-notice-neutral-border: #cbd5e1;
  --sigep-notice-neutral-text: #334155;
  --sigep-shadow: 0 16px 38px rgba(7, 27, 58, 0.10);
  --sigep-ring: rgba(56, 189, 248, 0.18);
  --sigep-row-strong: #071b3a;
  --sigep-row-primary: #334155;
  --sigep-row-secondary: #475569;
  --sigep-result-text: #334155;
  --sigep-result-strong: #071b3a;
  --sigep-result-muted: #475569;
  --sigep-result-heading: #0f2d59;
  --sigep-result-accent: #0284c7;
  --sigep-topbar-bg: rgba(255, 255, 255, 0.86);
  --sigep-stat-primary-bg: rgba(15, 45, 89, 0.10);
  --sigep-stat-primary-color: #0f2d59;
  --sigep-duplicate-detail-bg: #ffffff;
  --sigep-duplicate-inventory-detail-bg: #f8fbff;
  --sigep-acct-code-border: rgba(184, 134, 11, 0.32);
  --sigep-acct-code-bg: rgba(245, 196, 81, 0.2);
  --sigep-acct-code-color: #6b4a00;
  --sigep-acct-btn-after-filter: none;
  --sigep-heading-color: var(--sigep-primary);
  --sigep-section-heading-color: #0f2744;
  --sigep-section-subtitle-color: #526a84;
  --sigep-badge-prog-bg: rgba(100, 116, 139, 0.08);
  --sigep-badge-prog-border: rgba(100, 116, 139, 0.2);
  --sigep-badge-prog-text: #475569;
  --sigep-badge-proc-bg: rgba(217, 119, 6, 0.08);
  --sigep-badge-proc-border: rgba(217, 119, 6, 0.25);
  --sigep-badge-proc-text: #d97706;
  --sigep-badge-cerr-bg: rgba(16, 185, 129, 0.08);
  --sigep-badge-cerr-border: rgba(16, 185, 129, 0.25);
  --sigep-badge-cerr-text: #059669;
  --sigep-badge-anul-bg: rgba(220, 38, 38, 0.08);
  --sigep-badge-anul-border: rgba(220, 38, 38, 0.25);
  --sigep-badge-anul-text: #dc2626;
  --sigep-status-default-bg: rgba(16, 185, 129, 0.06);
  --sigep-status-default-border: rgba(16, 185, 129, 0.4);
  --sigep-status-default-text: #059669;
  --sigep-status-prog-bg: rgba(100, 116, 139, 0.06);
  --sigep-status-prog-border: rgba(100, 116, 139, 0.3);
  --sigep-status-prog-text: #475569;
  --sigep-status-proc-bg: rgba(217, 119, 6, 0.06);
  --sigep-status-proc-border: rgba(217, 119, 6, 0.4);
  --sigep-status-proc-text: #d97706;
  --sigep-status-cerr-bg: rgba(16, 185, 129, 0.06);
  --sigep-status-cerr-border: rgba(16, 185, 129, 0.4);
  --sigep-status-cerr-text: #059669;
  --sigep-status-anul-bg: rgba(220, 38, 38, 0.06);
  --sigep-status-anul-border: rgba(220, 38, 38, 0.25);
  --sigep-status-anul-text: #dc2626;
  --sigep-stat-mini-span-color: #475569;
  --sigep-dashboard-card-p-color: #52525b;
  --sigep-report-card-span-color: #475569;
  --sigep-stat-mini-strong-color: #0f172a;
  --sigep-report-card-strong-color: #0f172a;
  --sigep-dashboard-card-h4-color: #0f172a;
  --sigep-btn-text-color: #ffffff;
  --sigep-btn-primary-bg: #042e5a;
  --sigep-btn-primary-border: #115aa8;
  --sigep-btn-primary-hover-bg: #0f5aa9;
  --sigep-btn-primary-color: var(--sigep-btn-text-color);
  --sigep-btn-success-bg: #068a5e;
  --sigep-btn-success-border: #0b7745;
  --sigep-btn-success-hover-bg: #116b40;
  --sigep-btn-success-color: var(--sigep-btn-text-color);
  --sigep-btn-danger-solid-bg: var(--sigep-btn-primary-bg);
  --sigep-btn-danger-solid-border: var(--sigep-btn-primary-border);
  --sigep-btn-danger-solid-hover-bg: var(--sigep-btn-primary-hover-bg);
  --sigep-btn-danger-solid-color: var(--sigep-btn-text-color);
  --sigep-btn-warning-solid-bg: var(--sigep-btn-danger-solid-bg);
  --sigep-btn-warning-solid-border: var(--sigep-btn-danger-solid-border);
  --sigep-btn-warning-solid-hover-bg: var(--sigep-btn-danger-solid-hover-bg);
  --sigep-btn-warning-solid-color: var(--sigep-btn-danger-solid-color);
  --sigep-btn-info-bg: #087f9b;
  --sigep-btn-info-border: #066a82;
  --sigep-btn-info-hover-bg: #066a82;
  --sigep-btn-info-color: var(--sigep-btn-text-color);
  --sigep-btn-danger-outline-bg: var(--sigep-btn-primary-bg);
  --sigep-btn-danger-outline-border: var(--sigep-btn-primary-border);
  --sigep-btn-danger-outline-color: var(--sigep-btn-text-color);
  --sigep-btn-secondary-bg: #072e97;
  --sigep-btn-secondary-border: #06345f;
  --sigep-btn-secondary-color: var(--sigep-btn-text-color);
  --sigep-btn-secondary-hover-bg: #dcecf9;
  --sigep-btn-secondary-hover-border: #9fc2e0;
  --sigep-btn-secondary-hover-color: var(--sigep-btn-text-color);
  --sigep-btn-secondary-shadow: 0 2px 4px rgba(15, 23, 42, 0.04);
  --sigep-btn-secondary-hover-shadow: 0 4px 10px rgba(15, 45, 89, 0.12);
  --sigep-btn-nav-hover-bg: color-mix(in srgb, var(--sigep-sidebar-menu-text) 6%, transparent);
  --sigep-btn-nav-hover-border: transparent;
  --sigep-btn-nav-icon-color: #7dd3fc;
  --sigep-btn-nav-icon-bg: color-mix(in srgb, var(--sigep-btn-nav-icon-color) 10%, transparent);
  --sigep-btn-nav-icon-border: color-mix(in srgb, var(--sigep-btn-nav-icon-color) 24%, transparent);
  --sigep-btn-nav-focus-color: var(--sigep-btn-nav-icon-color);
  --sigep-filter-chip-bg: #ffffff;
  --sigep-row-warning-bg: #cf175e;
  --sigep-tooltip-bg: #111827;
  --sigep-tooltip-color: #ffffff;
  --sigep-quick-note-border: rgba(56, 189, 248, 0.35);
  --sigep-btn-view-bg: rgba(37, 99, 235, 0.05);
  --sigep-btn-view-border: rgba(37, 99, 235, 0.25);
  --sigep-btn-view-color: #2563eb;
  --sigep-btn-view-hover-bg: #2563eb;
  --sigep-btn-view-hover-border: #2563eb;
  --sigep-btn-view-hover-color: #ffffff;
  --sigep-btn-action-view-color: #16a34a;
  --sigep-btn-action-edit-color: #16a34a;
  --sigep-btn-action-print-color: #1e3a5f;
  --sigep-btn-action-danger-color: #dc2626;
  --sigep-btn-action-location-color: #2563eb;
  --sigep-btn-action-people-color: #2563eb;
  --sigep-btn-action-download-color: #2563eb;
  --sigep-btn-action-warning-color: #ca8a04;
  --sigep-btn-action-hover-color: #ffffff;
  --sigep-btn-action-confirm-color: #16a34a;
  --sigep-btn-action-default-color: #2563eb;
  --sigep-btn-action-current-color: var(--sigep-btn-action-default-color);
  --sigep-btn-action-surface-color: #ffffff;
  --sigep-btn-action-bg: color-mix(in srgb, var(--sigep-btn-action-current-color) 5%, var(--sigep-btn-action-surface-color));
  --sigep-btn-action-border: color-mix(in srgb, var(--sigep-btn-action-current-color) 30%, var(--sigep-btn-action-surface-color));
  --sigep-btn-action-hover-bg: color-mix(in srgb, var(--sigep-btn-action-current-color) 12%, var(--sigep-btn-action-surface-color));
  --sigep-btn-action-shadow: none;
  --sigep-btn-action-focus-shadow: 0 0 0 2px color-mix(in srgb, var(--sigep-btn-action-current-color) 25%, transparent);
  --sigep-btn-edit-bg: rgba(22, 163, 74, 0.05);
  --sigep-btn-edit-border: rgba(22, 163, 74, 0.25);
  --sigep-btn-edit-color: #16a34a;
  --sigep-btn-edit-hover-bg: #16a34a;
  --sigep-btn-edit-hover-border: #16a34a;
  --sigep-btn-edit-hover-color: #ffffff;
  --sigep-btn-danger-bg: color-mix(in srgb, var(--sigep-btn-danger-solid-bg) 5%, transparent);
  --sigep-btn-danger-border: color-mix(in srgb, var(--sigep-btn-danger-solid-bg) 25%, transparent);
  --sigep-btn-danger-color: var(--sigep-btn-danger-solid-bg);
  --sigep-btn-danger-hover-bg: var(--sigep-btn-danger-solid-bg);
  --sigep-btn-danger-hover-border: var(--sigep-btn-danger-solid-border);
  --sigep-btn-danger-hover-color: #ffffff;
  --sigep-btn-warning-bg: rgba(202, 138, 4, 0.05);
  --sigep-btn-warning-border: rgba(202, 138, 4, 0.25);
  --sigep-btn-warning-color: #ca8a04;
  --sigep-btn-warning-hover-bg: #ca8a04;
  --sigep-btn-warning-hover-border: #ca8a04;
  --sigep-btn-warning-hover-color: #071b3a;
  --sigep-btn-lock-bg: color-mix(in srgb, var(--sigep-btn-primary-bg) 5%, transparent);
  --sigep-btn-lock-border: color-mix(in srgb, var(--sigep-btn-danger-solid-bg) 25%, transparent);
  --sigep-btn-lock-color: var(--sigep-btn-danger-solid-bg);
  --sigep-btn-lock-hover-bg: var(--sigep-btn-danger-solid-bg);
  --sigep-btn-lock-hover-border: var(--sigep-btn-danger-solid-border);
  --sigep-btn-lock-hover-color: #ffffff;
}
/* Alineación estándar del cierre en todas las barras de ventanas modales. */
.modal-header { align-items: center; }
.modal-header>.btn-close { align-self: center; margin-top: 0 !important; margin-bottom: 0 !important; }
/* Acción estándar para seleccionar un bien desde resultados de inventario. */
.btn.btn-inventory-select { border-color: var(--sigep-btn-danger-solid-border) !important; background: var(--sigep-btn-danger-solid-bg) !important; background-image: none !important; color: var(--sigep-btn-danger-solid-color) !important; }
.btn.btn-inventory-select:hover,.btn.btn-inventory-select:focus,.btn.btn-inventory-select:active { border-color: var(--sigep-btn-danger-solid-border) !important; background: var(--sigep-btn-danger-solid-hover-bg) !important; background-image: none !important; color: var(--sigep-btn-danger-solid-color) !important; }
.btn.btn-inventory-select i { color: var(--sigep-btn-danger-solid-color) !important; }
/* 2. RESET Y BASE */
body { margin: 0; font-family: var(--sigep-font); font-size: var(--sigep-font-size-text); background: var(--sigep-bg); color: var(--sigep-text); }
.content,.main-area { background: var(--sigep-bg); color: var(--sigep-text); }
/* Avisos semánticos propios de SIGEP */
.sigep-notice { margin: 0 0 1rem; padding: 1rem 1.1rem; border: 1px solid transparent; border-radius: 16px; font-weight: 500; }
.sigep-notice-codes { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .75rem; font-size: var(--sigep-font-size-heading); }
/* Escala tipográfica compacta y uniforme del módulo de migración SIGA. */
.migracion-page { font-size: var(--sigep-font-size-text); }
.migracion-page .section-header h3 { font-size: var(--sigep-font-size-text) !important; line-height: 1.2 !important; }
.migracion-page .section-header span,.migracion-page .form-text,.migracion-page .text-muted,.migracion-page table,.migracion-page .table,.migracion-page .form-label,.migracion-page .badge,.migracion-page .btn { font-size: var(--sigep-font-size-table) !important; }
.migracion-page .migration-final-step h4 { margin-bottom: 0.2rem !important; font-size: var(--sigep-font-size-heading) !important; line-height: 1.2 !important; }
.migracion-page .migration-final-step p { font-size: var(--sigep-font-size-support) !important; line-height: 1.3 !important; }
.migracion-page .migration-final-step .btn { padding: 0.45rem 0.9rem !important; white-space: nowrap; }
.migracion-page .sigep-notice { padding: 0.65rem 0.8rem; border-radius: 11px; font-size: var(--sigep-font-size-table) !important; line-height: 1.35; }
.migracion-page .sigep-notice-codes { gap: 0.35rem; margin-top: 0.45rem; font-size: var(--sigep-font-size-table); }
.migracion-page .sigep-notice-code { padding: 0.15rem 0.45rem; font-size: var(--sigep-font-size-table); }
.migracion-page .summary-item { min-height: 38px; padding: 5px 8px; }
.migracion-page .summary-item span,.migracion-page .summary-item small { font-size: var(--sigep-font-size-meta); }
.migracion-page .summary-item strong { font-size: var(--sigep-font-size-text); }
.sigep-notice-code { display: inline-flex; align-items: center; padding: .2rem .55rem; border: 1px solid currentColor; border-radius: 999px; font-weight: 700; letter-spacing: .02em; }
.sigep-notice--compact { padding: .75rem 1rem; font-size: var(--sigep-font-size-heading); }
.sigep-notice-info { background: var(--sigep-notice-info-bg); border-color: var(--sigep-notice-info-border); color: var(--sigep-notice-info-text); }
.sigep-notice-warning { background: var(--sigep-notice-warning-bg); border-color: var(--sigep-notice-warning-border); color: var(--sigep-notice-warning-text); }
.sigep-notice-success { background: var(--sigep-notice-success-bg); border-color: var(--sigep-notice-success-border); color: var(--sigep-notice-success-text); }
.sigep-notice-danger { background: var(--sigep-notice-danger-bg); border-color: var(--sigep-notice-danger-border); color: var(--sigep-notice-danger-text); }
.sigep-notice-neutral { background: var(--sigep-notice-neutral-bg); border-color: var(--sigep-notice-neutral-border); color: var(--sigep-notice-neutral-text); }
a { text-decoration: none; }
.sigep-table-index { width: 50px; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; background-size: 42px 42px; }
/* 3. LAYOUT GLOBAL */
h1,h2,h3,h4,h5,h6,.page-title h1,.section-header h3 { color: inherit; }
.app-wrapper { min-height: 100vh; display: flex; }
.sidebar { width: var(--sidebar-width); height: 100vh; height: 100dvh; min-height: 0; position: fixed; inset: 0 auto 0 0; z-index: 1050; transition: transform 0.28s ease; overflow: hidden; border-right: 1px solid rgba(148, 163, 184, 0.22) !important; }
.sidebar-menu { padding: 8px 10px; }
.menu-label { padding: 6px 10px 2px !important; margin-top: 4px; font-size: var(--sigep-font-size-meta) !important; text-transform: uppercase; letter-spacing: 0.10em !important; color: rgba(148, 163, 184, 0.72) !important; font-family: var(--sigep-font) !important; font-weight: 800; }
.menu-link { display: flex; align-items: center; gap: 8px; padding: 4px 8px !important; margin-bottom: 1px; border-radius: 8px !important; transition: 0.2s ease; font-family: var(--sigep-font) !important; letter-spacing: 0 !important; }
.menu-link:hover,.menu-link.active { background: rgba(56, 189, 248, 0.13) !important; color: var(--sigep-sidebar-gold) !important; transform: none !important; box-shadow: inset 3px 0 0 #d4af37 !important; }
.menu-link i { width: 22px; text-align: center; opacity: 0.92; }
.content { width: 100%; min-width: 0; margin-left: var(--sidebar-width); min-height: 100vh; position: relative; z-index: 1; transition: margin-left 0.28s cubic-bezier(0.4, 0, 0.2, 1); }
.topbar { position: sticky; top: 0; z-index: 1020; min-height: var(--sigep-topbar-height) !important; background: var(--sigep-topbar-bg) !important; backdrop-filter: blur(14px); border-bottom: 1px solid var(--sigep-border) !important; display: flex; align-items: center; justify-content: space-between; padding: var(--sigep-topbar-padding); box-shadow: none !important; }
.topbar--compact { --sigep-topbar-height: 36px; --sigep-topbar-padding: 4px 12px; flex-wrap: wrap; gap: var(--sigep-filter-gap-x); }
.topbar--compact>.d-flex { min-width: 0; }
.page-title--compact { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .6rem; min-width: 0; }
.topbar-entity { color: var(--sigep-muted); font-size: var(--sigep-filter-font-size); }
.work-header-help { position: relative; }
.work-header-help>summary:focus-visible { outline: 2px solid var(--sigep-primary); outline-offset: 2px; }
.work-header-help>summary { list-style: none; }
.work-header-help>summary::-webkit-details-marker { display: none; }
.work-header-help>div { position: absolute; top: calc(100% + .4rem); right: 0; z-index: 1050; width: min(24rem, 80vw); padding: .6rem .75rem; border: 1px solid var(--sigep-border); border-radius: var(--sigep-filter-control-radius); background: var(--sigep-card); color: var(--sigep-text); box-shadow: var(--sigep-shadow); font-size: var(--sigep-filter-font-size); line-height: 1.4; }
.btn-menu-mobile { display: none; width: 44px; height: 44px; border-radius: 14px; }
.page-title h1 { margin: 0; font-size: var(--sigep-font-size-title) !important; font-weight: 800; letter-spacing: -0.03em; color: var(--sigep-text); }
.page-title h1,.section-header h3,.main-area h2,.main-area h3 { color: var(--sigep-heading-color, inherit) !important; }
.page-title p { margin: 4px 0 0; color: var(--sigep-muted); font-size: var(--sigep-font-size-text) !important; }
.main-area { padding: var(--sigep-content-padding) !important; min-width: 0; max-width: 1320px !important; margin-inline: auto !important; width: 100% !important; }
.stat-icon { border-radius: 14px !important; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.menu-label,.page-title p,.section-header span,.form-text,.text-muted { font-weight: 400 !important; }
.menu-link i { color: #7dd3fc !important; }
.av-sidebar { display: flex; flex-direction: column; }
.sidebar-brand,.brand { display: flex; align-items: center; gap: 8px; padding: 7px 12px 6px; border-bottom: 1px solid rgba(148, 163, 184, 0.18); }
.sidebar-brand { flex: 0 0 auto; min-width: 0; }
.side-menu a,.menu-link { display: flex; align-items: center; gap: 8px; min-height: 28px; margin-bottom: 1px; padding: 4px 8px !important; border-radius: 8px !important; font-size: var(--sigep-filter-font-size) !important; border: 1px solid transparent; transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease; }
.side-menu a:hover,.side-menu a.active,.menu-link:hover,.menu-link.active { color: var(--sigep-sidebar-gold) !important; background: rgba(245, 196, 81, 0.12) !important; border-color: rgba(245, 196, 81, 0.18) !important; box-shadow: inset 3px 0 0 #d4af37 !important; }
.side-menu a:hover .nav-icon,.side-menu a.active .nav-icon,.menu-link:hover .nav-icon,.menu-link.active .nav-icon { color: #031126 !important; background: linear-gradient(145deg, #d4af37, #f3d675) !important; border-color: rgba(243, 214, 117, 0.45) !important; }
.sidebar-footer { flex: 0 0 auto; min-width: 0; width: 100%; padding: 14px 12px 18px; border-top: 1px solid rgba(148, 163, 184, 0.18); }
.sidebar-footer .logout { margin-bottom: 0; width: 100%; background: transparent; border: 0; text-align: left; }
.page-title h1,.section-header h3,.report-tile h3,.quick-inventory-page .quick-hero .hero-content { padding: 0 !important; }
.quick-inventory-page .quick-hero-content { width: 100%; }
/* 4. COMPONENTES GLOBALES */
.section-card,.card { background: var(--sigep-card) !important; color: var(--sigep-text) !important; border: 1px solid var(--sigep-border) !important; box-shadow: var(--sigep-shadow) !important; backdrop-filter: blur(16px); }
textarea.form-control { min-height: 15px !important; }
strong,b,.fw-bold { font-weight: 500 !important; }
td.table-actions { min-width: 118px; }
td.table-actions,th.table-actions { display: table-cell !important; text-align: center !important; vertical-align: middle !important; white-space: nowrap !important; }
td.table-actions .btn,td.table-actions .av-icon-btn,th.table-actions .btn,th.table-actions .av-icon-btn { display: inline-flex !important; margin: 0 2px !important; }
input[type="search"],input[name="q"]:not([type="hidden"]),input.quick-search-input,input.search-input,form[method="get" i] input[type="text"],form[method="get" i] input:not([type]),.ts-control input,.ts-dropdown input { text-transform: uppercase; }
.stat-icon { width: 38px !important; height: 38px !important; border-radius: 8px; display: grid; place-items: center; font-size: var(--sigep-font-size-heading) !important; }
.stat-icon.success { background: rgba(34, 197, 94, 0.14) !important; color: #86efac !important; }
/* Inventory closure compact metrics */
.summary-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; margin-bottom: 10px; overflow: hidden; border: 1px solid var(--sigep-border); border-radius: 8px; background: var(--sigep-border); }
.summary-item { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "label value"
        "help value"; align-items: center; column-gap: 8px; min-height: 42px; padding: 7px 10px; background: var(--sigep-card); }
.summary-item span { grid-area: label; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); font-weight: 800; line-height: 1.05; text-transform: uppercase; }
.summary-item strong { grid-area: value; color: var(--sigep-warning); font-size: var(--sigep-font-size-heading); font-weight: 800; line-height: 1; text-align: right; white-space: nowrap; }
.summary-item small { grid-area: help; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); line-height: 1.1; }
@media (max-width: 1199.98px) {
  .summary-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .summary-strip { grid-template-columns: 1fr; }
}
.section-card { background: var(--sigep-card); border: 1px solid var(--sigep-border); border-radius: 20px !important; box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06); overflow: hidden; }
.section-header { padding: 8px 18px !important; border-bottom: 1px solid var(--sigep-border) !important; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.section-header h3 { font-size: var(--sigep-font-size-heading) !important; font-weight: 850; margin: 0; letter-spacing: -0.02em; color: var(--sigep-section-heading-color) !important; }
.section-header span { color: var(--sigep-section-subtitle-color) !important; font-size: var(--sigep-font-size-text); }
.progress-main { height: 12px !important; border-radius: 999px; background: rgba(19, 199, 13, 0.9) !important; overflow: hidden; }
.bottom-mobile-nav { display: none; }
.table-actions { white-space: nowrap !important; flex-wrap: nowrap !important; min-width: max-content; }
.table-actions .btn { width: 34px; height: 34px; display: inline-grid; place-items: center; }
.mobile-card-list { display: none; }
.mobile-record-card { padding: 14px; border-bottom: 1px solid var(--sigep-border); border: 1px solid var(--sigep-border); border-radius: 20px; background: #fff; box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05); margin-bottom: 12px; }
.mobile-record-card p { margin: 8px 0; font-size: var(--sigep-font-size-heading); }
.mobile-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-start; margin-top: 10px; }
.form-card .form-control,.form-card .form-select { border-radius: 16px; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.detail-grid div,.detail-stack div { padding: 14px; border: 1px solid var(--sigep-border); border-radius: 18px; background: #f8fafc; }
.detail-grid span,.detail-stack span { display: block; color: var(--sigep-muted); font-size: var(--sigep-font-size-text); text-transform: uppercase; letter-spacing: 0.04em; font-weight: 800; margin-bottom: 4px; }
.bien-detail-page .detail-grid span,.bien-detail-page .detail-stack span { color: #b91c1c !important; }
.detail-grid strong,.detail-stack strong { font-size: var(--sigep-font-size-heading); }
.detail-stack { display: grid; gap: 12px; }
/* En el detalle de bienes, los datos se muestran como texto dentro del panel principal, sin tarjetas o subpaneles individuales. */
.bien-detail-page .detail-grid>div,.bien-detail-page .detail-stack>div { padding: 0; border: 0; border-radius: 0; background: transparent; }
.danger-card { border-left: 6px solid #dc2626; }
.permission-grid { columns: 4 16rem; column-gap: var(--sigep-filter-gap-x); }
.permission-menu-section { margin-top: .4rem; }
.permission-section-title { margin: 0 0 .3rem; padding: .2rem .4rem; border-radius: var(--sigep-filter-control-radius); background: var(--sigep-card-soft); color: var(--sigep-primary); font-size: var(--sigep-filter-heading-size); font-weight: 800; line-height: 1.2; }
.permission-card { break-inside: avoid; margin-bottom: var(--sigep-filter-gap-y); padding: .4rem .5rem; border: 1px solid var(--sigep-border); border-radius: var(--sigep-filter-control-radius); background: var(--sigep-card); }
.permission-card h4 { margin: 0 0 .25rem; color: var(--sigep-primary); font-size: var(--sigep-filter-heading-size); font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; }
.permission-actions { display: flex; flex-wrap: wrap; gap: .1rem .35rem; }
.permission-card .form-check { display: flex; align-items: flex-start; gap: .35rem; min-height: var(--sigep-table-action-size); margin: 0; padding: .2rem .25rem; border-radius: var(--sigep-filter-control-radius); cursor: pointer; }
.permission-card .form-check:hover { background: var(--sigep-card-soft); }
.permission-card .form-check-input { float: none; flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .05rem 0 0; }
.permission-card .form-check-label { min-width: 0; color: var(--sigep-text); font-size: var(--sigep-filter-font-size); line-height: 1.25; overflow-wrap: anywhere; }
.permission-card .form-check-label small { margin-left: .3rem; font-size: inherit; }
.btn,button,.form-control,.form-select { font-family: var(--sigep-font) !important; }
.section-header span,.text-muted,small,.small { color: var(--sigep-muted) !important; }
.form-control,.form-select,.form-control-lg,.form-select-lg { min-height: 38px !important; height: 38px !important; padding: 7px 11px !important; font-size: var(--sigep-font-size-text) !important; border-radius: 11px !important; box-shadow: none !important; font-weight: 400 !important; letter-spacing: 0 !important; }
.form-control::placeholder { color: color-mix(in srgb, var(--sigep-muted), transparent 20%); font-weight: 400 !important; }
.form-control:focus,.form-select:focus { border-color: #38bdf8 !important; box-shadow: 0 0 0 0.18rem var(--sigep-ring) !important; }
.form-label { font-size: var(--sigep-font-size-text) !important; font-weight: 750 !important; color: var(--sigep-muted) !important; margin-bottom: 5px !important; }
.btn,.btn-lg,.btn-sm { border-radius: 11px !important; }
.btn { padding: 7px 12px !important; font-size: var(--sigep-font-size-text) !important; }
.btn-lg { padding: 8px 14px !important; font-size: var(--sigep-font-size-heading) !important; }
.btn-sm { padding: 5px 9px !important; font-size: var(--sigep-font-size-text) !important; }
.rounded-pill { border-radius: 999px !important; }
.badge { font-size: var(--sigep-font-size-table) !important; padding: 5px 8px !important; }
.badge.badge-total-bienes { background-color: var(--sigep-table-th-bg); color: var(--sigep-table-heading-color) !important; }
.alert { border-radius: 14px !important; border-color: var(--sigep-border) !important; }
.bg-white,.list-group-item { background-color: var(--sigep-card) !important; color: var(--sigep-text) !important; border-color: var(--sigep-border) !important; }
.border,.border-top,.border-bottom { border-color: var(--sigep-border) !important; }
.text-dark { color: var(--sigep-text) !important; }
.section-card,.card { border-radius: 8px !important; }
.form-label,.badge { font-weight: 500 !important; letter-spacing: 0.015em !important; }
.btn,.btn-lg,.btn-sm { font-weight: var(--sigep-button-font-weight) !important; letter-spacing: 0 !important; text-shadow: none !important; }
.av-actions { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.av-actions form { margin: 0; }
.av-btn,.av-icon-btn { border: 1px solid var(--sigep-border) !important; background: rgba(255, 255, 255, 0.06) !important; color: var(--sigep-text) !important; box-shadow: none !important; transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease; }
.av-btn { min-height: 34px; padding: 7px 12px !important; border-radius: 12px !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; font-size: var(--sigep-font-size-text) !important; line-height: 1; }
.av-icon-btn { width: 34px; height: 34px; place-items: center; font-size: var(--sigep-font-size-text) !important; position: relative; line-height: 1; }
.av-btn:hover,.av-icon-btn:hover { transform: translateY(-1px); border-color: rgba(245, 196, 81, 0.55) !important; background: rgba(245, 196, 81, 0.12) !important; }
.av-btn-ghost { color: var(--sigep-text) !important; }
.av-btn.disabled,.av-icon-btn.disabled { pointer-events: none; opacity: 0.45; }
.filter-search { min-width: 0; }
.input-icon-wrap { position: relative; }
.input-icon-wrap>i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--sigep-muted); pointer-events: none; font-size: var(--sigep-font-size-text); }
.input-icon-wrap .form-control,.section-card form[method="get"] .input-icon-wrap .form-control,.hero-panel form[method="get"] .input-icon-wrap .form-control { padding-left: 36px !important; }
.filter-actions { display: flex; gap: 0.4rem !important; justify-content: flex-end; }
.compact-filter-form { container: sigep-filters / inline-size; }
.filter-primary-grid { display: grid; grid-template-columns: minmax(13rem, 1.5fr) repeat(var(--sigep-filter-primary-count, 2), minmax(9rem, 1fr)) max-content; align-items: end; gap: var(--sigep-filter-gap-y) var(--sigep-filter-gap-x); }
.filter-primary-grid--four { --sigep-filter-primary-count: 3; }
.filter-primary-grid>div,.filter-advanced-grid>div { min-width: 0; }
.filter-disclosure { margin-top: var(--sigep-filter-gap-y); border-top: 1px solid var(--sigep-border); }
.filter-disclosure>summary { width: fit-content; min-height: var(--sigep-table-action-size); padding: .2rem 0; color: var(--sigep-primary); font-size: var(--sigep-filter-font-size); font-weight: 600; cursor: pointer; }
.filter-disclosure>summary:focus-visible { outline: 2px solid var(--sigep-primary); outline-offset: 2px; border-radius: var(--sigep-filter-control-radius); }
.filter-advanced-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--sigep-filter-gap-y) var(--sigep-filter-gap-x); padding-top: var(--sigep-filter-gap-y); }
.work-toolbar { display: grid; gap: var(--sigep-filter-gap-y); }
.work-toolbar-main { display: grid; grid-template-columns: repeat(var(--sigep-work-field-count, 1), minmax(0, 1fr)) max-content; align-items: end; gap: var(--sigep-filter-gap-y) var(--sigep-filter-gap-x); min-width: 0; }
.work-toolbar-main--search { grid-template-columns: minmax(10rem, 1.5fr) repeat(var(--sigep-work-extra-count, 1), minmax(0, 1fr)) max-content; }
.work-toolbar-main>div,.work-toolbar-actions>div { width: auto; max-width: none; min-width: 0; margin: 0; padding: 0; }
.work-toolbar-main>.form-check { display: flex; align-items: center; gap: var(--sigep-filter-gap-x); min-height: var(--sigep-filter-control-height); }
.work-toolbar-main>.form-check .form-check-input { float: none; flex-shrink: 0; margin: 0; }
.work-toolbar-main>.form-check .form-check-label { font-size: var(--sigep-filter-font-size); line-height: 1.15; }
.work-toolbar-actions { align-items: center; }
.work-toolbar-actions>div { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sigep-filter-gap-x); }
@container sigep-filters (max-width: 52rem) {
  .filter-primary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-primary-grid>.filter-actions { align-self: end; justify-content: flex-start; }
  .work-toolbar-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-toolbar-actions { grid-column: 1 / -1; }
}
@container sigep-filters (max-width: 30rem) {
  .filter-primary-grid,.filter-advanced-grid { grid-template-columns: minmax(0, 1fr); }
  .filter-primary-grid>.filter-actions { flex-wrap: wrap; }
  .work-toolbar-main { grid-template-columns: minmax(0, 1fr); }
  .work-toolbar-actions { justify-content: flex-start; flex-wrap: wrap; }
}
.filter-chips { display: flex; flex-wrap: wrap; padding: 0 0.75rem 0.75rem !important; }
.filter-chip { display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid var(--sigep-border); color: var(--sigep-muted); background: var(--sigep-filter-chip-bg); }
.filter-chip.active,.filter-chip:hover { color: #031126 !important; border-color: rgba(212, 175, 55, 0.58) !important; background: linear-gradient(145deg, #d4af37, #f3d675) !important; }
.progress-slim { height: 8px !important; }
.status-pill { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 8px; border-radius: 999px; border: 1px solid var(--sigep-border); font-size: var(--sigep-font-size-table); line-height: 1; color: var(--sigep-text); background: rgba(148, 163, 184, 0.10); }
.status-pill.status-pendiente { color: #f87171 !important; border-color: rgba(239, 68, 68, 0.45) !important; background: rgba(239, 68, 68, 0.15) !important; font-weight: 700 !important; }
.status-pill.status-en_proceso { color: #38bdf8 !important; border-color: rgba(56, 189, 248, 0.45) !important; background: rgba(56, 189, 248, 0.15) !important; font-weight: 700 !important; }
.status-pill.status-observado { color: #fbbf24 !important; border-color: rgba(245, 158, 11, 0.45) !important; background: rgba(245, 158, 11, 0.15) !important; font-weight: 700 !important; }
.status-pill.status-cerrado { color: #4ade80 !important; border-color: rgba(34, 197, 94, 0.45) !important; background: rgba(34, 197, 94, 0.15) !important; font-weight: 700 !important; }
.office-row-warning td { background: var(--sigep-row-warning-bg) !important; }
.pagination-bar { display: flex; justify-content: space-between; border-top: 1px solid var(--sigep-border); }
.pagination-info { color: var(--sigep-muted); font-size: var(--sigep-font-size-text); }
.office-mobile-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; font-size: var(--sigep-font-size-support); color: var(--sigep-muted); }
.office-mobile-stats span { border: 1px solid var(--sigep-border); border-radius: 10px; padding: 6px; text-align: center; }
.table-actions,.mobile-actions,.av-actions { display: inline-flex; align-items: center; justify-content: center; gap: 0.22rem !important; flex-wrap: wrap; }
.table-actions form,.mobile-actions form,.av-actions form { display: inline-flex; margin: 0; }
.table-actions .btn,.mobile-actions .btn,.av-icon-btn { width: 35px !important; height: 35px !important; min-width: 35px !important; min-height: 35px !important; padding: 0 !important; border-radius: 10px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border: 1px solid rgba(148, 163, 184, 0.22) !important; background: rgba(255, 255, 255, 0.055) !important; color: rgba(226, 232, 240, 0.86) !important; font-size: var(--sigep-font-size-heading) !important; line-height: 1 !important; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important; vertical-align: middle; cursor: pointer !important; text-decoration: none !important; }
.table-actions .btn i,.mobile-actions .btn i,.av-icon-btn i { margin: 0 !important; font-size: var(--sigep-font-size-heading) !important; line-height: 1 !important; transition: transform 0.2s ease !important; }
.table-actions .btn:hover,.mobile-actions .btn:hover,.av-icon-btn:hover { transform: translateY(-2px) scale(1.05) !important; border-color: rgba(56, 189, 248, 0.5) !important; background: rgba(56, 189, 248, 0.15) !important; color: #38bdf8 !important; box-shadow: 0 0 12px rgba(56, 189, 248, 0.45) !important; }
.table-actions .btn:hover i,.mobile-actions .btn:hover i,.av-icon-btn:hover i { transform: scale(1.1) !important; }
.table-actions .btn:active,.mobile-actions .btn:active,.av-icon-btn:active { transform: translateY(-0.5px) scale(0.96) !important; }
.table-actions .btn:disabled,.mobile-actions .btn:disabled,.av-icon-btn:disabled { opacity: 0.45 !important; transform: none !important; box-shadow: none !important; }
.table-actions,.mobile-actions { display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; flex-wrap: wrap; }
.tooltip { --bs-tooltip-bg: var(--sigep-tooltip-bg); --bs-tooltip-color: var(--sigep-tooltip-color); --bs-tooltip-border-radius: 0.65rem; --bs-tooltip-padding-x: 0.65rem; --bs-tooltip-padding-y: 0.38rem; font-size: var(--sigep-font-size-support); font-weight: 500; letter-spacing: 0.01em; }
.table-actions .btn,.table-actions .av-icon-btn { flex: 0 0 32px !important; }
.table-actions form { flex: 0 0 auto; }
.quick-register-form .form-label { color: var(--sigep-muted); }
.quick-search-box { display: grid; grid-template-columns: 1fr auto; gap: 0.6rem; align-items: stretch; max-width: 520px; }
.quick-search-input { min-height: 48px; font-size: var(--sigep-font-size-title); letter-spacing: 0.02em; }
.quick-search-btn { min-width: 54px; border-radius: 14px; }
.quick-register-form .form-control,.quick-register-form .form-select { min-height: 40px; font-size: var(--sigep-font-size-heading); }
.inventariados-table-wrap { display: block !important; width: 100%; }
.inventariados-table-wrap .table-responsive { display: block !important; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.inventoried-table { --sigep-table-header-text-align: left; --sigep-table-header-padding-x: var(--sigep-table-cell-padding-x); --sigep-table-code-column-width: 26%; --sigep-table-code-column-min-width: 16rem; }
.inventoried-table :is(th,td):first-child { width: var(--sigep-table-index-column-width); min-width: var(--sigep-table-index-column-width); white-space: nowrap !important; }
.inventoried-table :is(th,td):nth-child(4) { width: 16%; min-width: var(--sigep-inventoried-technical-min-width, 12rem); }
.inventoried-table :is(th,td):nth-child(5) { width: 12%; min-width: 8rem; }
.inventoried-table :is(th,td):nth-child(6) { width: 14%; min-width: 10rem; }
.compact-data-table .list-cell-text,.compact-data-table .list-technical-part { display: block; }
.compact-data-table .list-cell-text { white-space: normal !important; }
.compact-data-table :is(th,td).table-actions { display: table-cell !important; min-width: 0 !important; white-space: nowrap !important; }
.inventoried-table thead th:first-child,.inventoried-table thead th.table-actions { --sigep-table-header-text-align: center; }
.inventoried-page .inventoried-record-surplus { --bs-table-accent-bg: var(--sigep-notice-danger-bg); --sigep-card: var(--sigep-notice-danger-bg); background-color: var(--sigep-notice-danger-bg); }
.inventoried-page .inventoried-record-surplus:hover { --bs-table-accent-bg: var(--sigep-table-tr-hover-bg); }
.stat-icon.primary { background: var(--sigep-stat-primary-bg) !important; color: var(--sigep-stat-primary-color) !important; }
.stat-icon.warning { background: rgba(212, 175, 55, 0.16) !important; color: #f3d675 !important; }
.stat-icon.info { background: rgba(56, 189, 248, 0.14) !important; color: #7dd3fc !important; }
.stat-icon.danger { background: rgba(239, 68, 68, 0.14) !important; color: #fca5a5 !important; }
.form-control,.form-select,.form-control-lg,.form-select-lg { background-color: var(--sigep-input) !important; border-color: var(--sigep-border) !important; color: var(--sigep-text) !important; }
.form-label,.text-muted,small,.small { color: var(--sigep-text) !important; }
.section-header { border-color: var(--sigep-border) !important; }
.brand-logo { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; display: grid; place-items: center; background: linear-gradient(145deg, #d4af37, #f3d675); color: #031126; font-weight: 900; letter-spacing: 0; box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24); }
.brand strong { display: block; color: #ffffff; font-size: var(--sigep-font-size-heading); line-height: 1.05; }
.brand span { display: block; margin-top: 1px; color: #7dd3fc; font-size: var(--sigep-font-size-meta); line-height: 1.1; }
.side-menu { padding: 8px 10px; flex: 1 1 auto; min-height: 0; min-width: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; scrollbar-color: var(--sigep-sidebar-menu-text) transparent; }
.side-menu::-webkit-scrollbar { width: 4px; }
.side-menu::-webkit-scrollbar-thumb { background-color: var(--sigep-sidebar-menu-text); border-radius: 6px; }
.nav-icon { width: 22px; height: 22px; flex: 0 0 22px; border-radius: 6px; display: grid; place-items: center; color: #7dd3fc; background: rgba(56, 189, 248, 0.10); border: 1px solid rgba(125, 211, 252, 0.16); }
.nav-icon svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.user-box { display: flex; align-items: center; gap: 8px; padding: 8px 10px; margin-bottom: 6px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 10px; }
.user-box>div:last-child { flex: 1 1 auto; min-width: 0; }
.user-box .avatar { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 8px; display: grid; place-items: center; font-weight: 900; }
.user-box strong { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #ffffff; font-size: var(--sigep-font-size-text); }
.user-box span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #94a3b8; font-size: var(--sigep-font-size-table); }
.mobile-record-card strong,.badge,.filter-chip { color: var(--sigep-primary-ink) !important; }
.badge.text-bg-dark,.badge.bg-dark,.badge.text-bg-primary,.badge.bg-primary,.badge.text-bg-danger,.badge.bg-danger,.badge.text-bg-secondary,.badge.bg-secondary { color: #ffffff !important; }
.migration-method-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--sigep-navy, #061b49); color: #00d9ff; font-size: var(--sigep-font-size-display-sm); font-weight: 800; line-height: 1; box-shadow: 0 0 0 2px rgb(253, 143, 0); }
.migration-method-card { overflow: visible; }
.migration-method-row { display: grid; grid-template-columns: 2.75rem minmax(250px, 0.8fr) minmax(420px, 1.7fr); align-items: center; gap: 0.75rem; padding: 0.65rem 0.8rem; background: var(--sigep-soft, #eaf2fb); border-radius: inherit; }
.migration-method-copy h3 { margin: 0 0 0.12rem; font-size: var(--sigep-font-size-text) !important; line-height: 1.15; }
.migration-method-copy span { display: block; font-size: var(--sigep-font-size-table) !important; line-height: 1.2; }
.migration-method-controls,.migration-upload-inline { display: flex; align-items: center; gap: 0.55rem; min-width: 0; }
.migration-method-controls { justify-content: flex-end; }
.migration-upload-inline { flex: 1 1 auto; }
.migration-upload-inline .form-control { flex: 1 1 280px; min-width: 180px; }
.migration-method-controls .sigep-notice { width: 100%; margin: 0; padding: 0.48rem 0.65rem; }
@media (max-width: 767.98px) {
  .migration-method-row { grid-template-columns: 2.75rem minmax(0, 1fr); }
  .migration-method-controls { grid-column: 1 / -1; flex-wrap: wrap; justify-content: stretch; }
  .migration-upload-inline { width: 100%; flex-wrap: wrap; }
  .migration-upload-inline .form-control { flex-basis: 100%; }
}
.badge.text-bg-success,.badge.bg-success { color: var(--sigep-notice-success-text) !important; background-color: var(--sigep-notice-success-bg) !important; }
.table-actions a,.mobile-actions a,.av-actions a,.table-actions .btn,.mobile-actions .btn,.av-icon-btn { text-decoration: none !important; border-bottom: 0 !important; outline: 0 !important; }
.table-actions a::after,.mobile-actions a::after,.av-actions a::after,.table-actions .btn::after,.mobile-actions .btn::after,.av-icon-btn::after { content: none !important; display: none !important; }
.progress-native { display: block; width: 100%; height: 14px; appearance: none; border: 0; }
.progress-native::-webkit-progress-bar { background: #e5e7eb; border-radius: 999px; overflow: hidden; }
.progress-native::-webkit-progress-value,.progress-native::-moz-progress-bar { background: linear-gradient(90deg, #10b981, #4ade80); border-radius: 999px; }
.office-area-name { font-size: var(--sigep-font-size-text); line-height: 1.2; }
.office-responsible-name { font-size: var(--sigep-font-size-text); }
.office-progress-cell { min-width: 150px; }
.account-breakdown-card { overflow: hidden; }
.account-breakdown-card .section-header { padding: 0.35rem 0.55rem; border-bottom: 1px solid var(--sigep-border); }
.account-breakdown-card .section-header h3 { font-size: var(--sigep-message-title-font-size); }
.account-breakdown-card .section-header span { font-size: var(--sigep-message-support-font-size); }
.account-breakdown-body { padding: var(--sigep-account-breakdown-gap) var(--sigep-account-breakdown-padding-x); }
.account-breakdown-accordion { display: grid; gap: var(--sigep-account-breakdown-gap); }
.account-breakdown-item { overflow: hidden; border: 1px solid var(--sigep-border) !important; border-radius: 9px !important; background: var(--sigep-card-bg) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04); }
.account-breakdown-button { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: var(--sigep-account-breakdown-gap); align-items: center; min-height: var(--sigep-account-breakdown-row-height); padding: var(--sigep-account-breakdown-padding-y) var(--sigep-account-breakdown-padding-x) !important; border: 0 !important; background: linear-gradient(90deg, rgba(44, 146, 184, 0.12), transparent 42%),
    var(--sigep-card-bg) !important; color: var(--sigep-text) !important; font-size: var(--sigep-account-breakdown-title-font-size) !important; font-weight: 800; text-align: left !important; box-shadow: none !important; }
.account-breakdown-button:not(.collapsed) { background: linear-gradient(90deg, rgba(245, 196, 81, 0.14), rgba(44, 146, 184, 0.1)),
    var(--sigep-card-bg) !important; }
.account-breakdown-button::after { grid-column: 4; margin-left: 0.1rem; filter: var(--sigep-acct-btn-after-filter); opacity: 0.72; }
.account-breakdown-code { display: inline-flex; align-items: center; justify-content: center; min-width: 4.2rem; min-height: 1.05rem; padding: 0.05rem 0.32rem; border: 1px solid var(--sigep-acct-code-border); border-radius: 7px; background: var(--sigep-acct-code-bg); color: var(--sigep-acct-code-color); font-size: var(--sigep-account-breakdown-meta-font-size); font-weight: 900; }
.account-breakdown-name { overflow: hidden; justify-self: start; width: 100%; color: var(--sigep-text); text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.account-breakdown-count { display: inline-flex; align-items: center; justify-content: center; width: max-content; min-width: 3.55rem; min-height: 1.05rem; padding: 0.05rem 0.34rem; border: 1px solid rgba(125, 211, 252, 0.34); border-radius: 999px; background: rgba(44, 146, 184, 0.16); color: var(--sigep-text); font-size: var(--sigep-account-breakdown-meta-font-size); white-space: nowrap; font-weight: 800; }
.badge-status { padding: 0.35rem 0.65rem; font-weight: 700; font-size: var(--sigep-font-size-table); text-transform: uppercase; letter-spacing: 0.03em; border-radius: 999px; display: inline-flex; align-items: center; border: 1px solid transparent; }
.badge-status-programado { background: var(--sigep-badge-prog-bg) !important; border-color: var(--sigep-badge-prog-border) !important; color: var(--sigep-badge-prog-text) !important; }
.badge-status-en_proceso { background: var(--sigep-badge-proc-bg) !important; border-color: var(--sigep-badge-proc-border) !important; color: var(--sigep-badge-proc-text) !important; }
.badge-status-cerrado { background: var(--sigep-badge-cerr-bg) !important; border-color: var(--sigep-badge-cerr-border) !important; color: var(--sigep-badge-cerr-text) !important; }
.badge-status-anulado { background: var(--sigep-badge-anul-bg) !important; border-color: var(--sigep-badge-anul-border) !important; color: var(--sigep-badge-anul-text) !important; }
.quick-single-column { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.8rem; width: 100%; max-width: 100% !important; margin: 0 auto; }
.quick-search-column,.quick-register-column { min-width: 0; }
.quick-search-column>.section-card,.quick-register-column>.section-card,.quick-single-column>.section-card { margin-bottom: 0 !important; }
.quick-context-readonly { cursor: default; font-weight: 700; }
.quick-context-readonly:focus { box-shadow: none !important; }
.quick-patrimonial-table-wrap { border: 1px solid rgba(148, 163, 184, 0.25); border-radius: 12px; overflow: auto; }
.quick-select-action { width: 104px; min-width: 104px; white-space: nowrap !important; }
.quick-select-action .btn { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
/* Anchos estables para que los datos administrativos no compriman la descripción. */
.quick-inventory-page .quick-asset-table { width: 100%; min-width: 1060px; table-layout: fixed; }
.quick-asset-table .quick-asset-index { width: 36px; }
.quick-asset-table .quick-asset-code { width: 112px; }
.quick-asset-table .quick-asset-description { width: 24%; }
.quick-pending-table .quick-pending-brand,.quick-pending-table .quick-pending-serial { width: 9%; }
.quick-pending-table .quick-pending-location { width: 28%; }
.quick-pending-table .quick-pending-action { width: 52px; }
.quick-inventory-page .quick-asset-table :is(th,td) { white-space: normal; word-break: normal; overflow-wrap: break-word; }
.quick-inventory-page .quick-pending-table .quick-select-action { width: 52px; min-width: 52px; }
.quick-registered-table .quick-registered-condition { width: 14%; }
.quick-registered-table .quick-registered-date { width: 16%; }
.quick-unified-search-form { min-width: 0; }
.quick-search-toolbar { display: grid; grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr) max-content; align-items: end; gap: var(--sigep-filter-gap-x); }
.quick-search-mode-field,.quick-search-entry { min-width: 0; }
.quick-search-toolbar .quick-search-box { max-width: none; width: 100%; }
.quick-search-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem; min-height: var(--sigep-filter-control-height); }
.quick-area-option { display: inline-flex; align-items: center; gap: .35rem; margin: 0; padding: 0; white-space: nowrap; font-size: var(--sigep-filter-font-size); }
.quick-area-option .form-check-input { float: none; margin: 0 !important; }
.quick-catalog-table-wrap { border: 1px solid rgba(245, 158, 11, 0.45); border-radius: 12px; overflow: auto; background: rgba(245, 158, 11, 0.08); }
.catalog-source-badge { display: inline-flex; align-items: center; width: fit-content; margin-top: 0.35rem; padding: 0.15rem 0.45rem; border: 1px solid var(--sigep-catalog-source-border); border-radius: 999px; background: var(--sigep-catalog-source-bg); color: var(--sigep-catalog-source-text) !important; font-size: var(--sigep-font-size-table); font-weight: 700; }
.ts-control { background-color: var(--sigep-card) !important; color: inherit !important; border-color: rgba(148, 163, 184, 0.2) !important; min-height: 100% !important; padding: 0 36px 0 16px !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.2 !important; border: none !important; background: transparent !important; box-shadow: none !important; height: 100% !important; width: 100% !important; display: flex !important; align-items: center !important; flex-wrap: nowrap !important; overflow: hidden !important; }
.ts-control input,.ts-control .item { color: var(--sigep-text) !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.2 !important; }
.ts-dropdown { background-color: var(--sigep-combo-dropdown-bg) !important; color: var(--sigep-combo-option-text) !important; border-color: var(--sigep-combo-dropdown-border) !important; z-index: 1050 !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.2 !important; max-height: min(260px, var(--sigep-dropdown-available-height, 260px)) !important; overflow-y: auto !important; border-radius: 6px !important; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important; margin-top: 4px !important; }
.ts-dropdown .option { color: var(--sigep-combo-option-text) !important; padding: var(--sigep-combo-option-padding-y) var(--sigep-combo-option-padding-x) !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.2 !important; cursor: pointer; border-radius: 3px !important; margin: var(--sigep-combo-option-gap-y) var(--sigep-combo-option-gap-x) !important; transition: background 0.15s ease, color 0.15s ease; }
.ts-dropdown .option.active { background-color: var(--sigep-combo-option-active-bg) !important; color: var(--sigep-combo-option-text) !important; }
.ts-dropdown .option:hover:not(.active) { background-color: var(--sigep-combo-option-hover-bg) !important; color: var(--sigep-combo-option-text) !important; }
.table-actions .btn,.table-actions .av-icon-btn,.mobile-actions .btn,.mobile-actions .av-icon-btn,.av-actions .btn,.av-actions .av-icon-btn { width: 28px !important; height: 28px !important; min-width: 28px !important; padding: 0 !important; }
.section-card form[method="get"],.hero-panel form[method="get"] { padding-top: 0.1rem !important; }
.section-card form[method="get"] .row,.hero-panel form[method="get"] .row { --bs-gutter-x: 0.65rem; --bs-gutter-y: 0.55rem; justify-content: flex-start; }
.section-card form[method="get"] .row>[class*="col-"],.hero-panel form[method="get"] .row>[class*="col-"] { max-width: 100% !important; }
.section-card form[method="get"] .form-control,.section-card form[method="get"] .form-select,.hero-panel form[method="get"] .form-control,.hero-panel form[method="get"] .form-select { min-height: 34px !important; height: 34px !important; padding: 0.35rem 0.65rem !important; font-size: var(--sigep-font-size-text) !important; border-radius: 9px !important; }
.section-card form[method="get"] input[type="search"],.section-card form[method="get"] input[name="q"],.hero-panel form[method="get"] input[type="search"],.hero-panel form[method="get"] input[name="q"],.section-card form[method="get"] select,.hero-panel form[method="get"] select,.section-card form[method="get"] input[type="text"],.hero-panel form[method="get"] input[type="text"],.section-card form[method="get"] input[type="date"],.hero-panel form[method="get"] input[type="date"],.section-card form[method="get"] input[type="number"],.hero-panel form[method="get"] input[type="number"],.section-card form[method="get"] .ts-wrapper,.hero-panel form[method="get"] .ts-wrapper { width: 100% !important; max-width: 100% !important; }
.section-card form[method="get"] .btn,.hero-panel form[method="get"] .btn { min-height: 34px !important; height: 34px !important; padding: 0.35rem 0.75rem !important; font-size: var(--sigep-font-size-text) !important; white-space: nowrap; }
.section-card form[method="get"] .row>.col-md-3,.section-card form[method="get"] .row>.col-md-9 { width: 100% !important; flex: 0 0 auto !important; min-width: 0 !important; }
.ts-wrapper { border-radius: 12px !important; background-color: var(--sigep-card, #ffffff) !important; color: var(--sigep-text, #334155) !important; border: 1px solid var(--sigep-border, #e2e8f0) !important; min-height: 40px !important; height: 40px !important; padding: 0 !important; box-shadow: 0 2px 4px rgba(0,0,0,0.02) !important; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; position: relative !important; display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; background-image: none !important; background-repeat: no-repeat !important; }
/* Los identificadores patrimoniales son indivisibles en cualquier tabla. */
.table :is(th,td).asset-code-cell { width: var(--sigep-table-code-column-width, 1%); min-width: var(--sigep-table-code-column-min-width); white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; }
/* Las características constatadas se capturan y muestran en formato institucional. */
.physical-observed-input { text-transform: uppercase; }
.registro-usuario-iniciales { color: inherit; cursor: help; font-weight: 700; text-decoration: none; }
.table th.asset-code-cell { white-space: normal !important; }
.table .asset-code-cell :is(strong,span,a) { white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; }
.table .asset-code-cell :is(small,.small,.text-muted):not(.list-cell-text) { white-space: normal !important; }
.ts-dropdown-host { position: relative !important; }
.ts-dropdown-host>.ts-dropdown { top: 100% !important; left: 0 !important; width: 100% !important; margin-top: 2px !important; z-index: 20050 !important; }
/* Las listas de modales comparten su capa, fuera de tarjetas y zonas recortadas. */
.modal>.ts-dropdown { z-index: 20050 !important; }
.ts-dropdown.sigep-modal-dropdown { margin-top: 0 !important; overflow: hidden !important; }
.sigep-modal-dropdown .ts-dropdown-content { max-height: var(--sigep-dropdown-content-height, 220px) !important; overflow-y: auto !important; }
/* Regularización inicial: las columnas permanecen estables aunque la ubicación tenga un nombre largo. */
.regularizacion-table { min-width: 920px; table-layout: fixed; }
.regularizacion-table :is(th,td):nth-child(1) { width: 4%; }
.regularizacion-table :is(th,td):nth-child(2) { width: 10%; }
.regularizacion-table :is(th,td):nth-child(3) { width: 16%; }
.regularizacion-table :is(th,td):nth-child(4) { width: 31%; }
.regularizacion-table :is(th,td):nth-child(5) { width: 39%; overflow: visible; }
.regularizacion-table td:last-child .ts-wrapper { min-width: 0; width: 100%; }
.regularizacion-table-wrap { overflow: visible; }
.ts-wrapper::after,.ts-wrapper::before { display: none !important; content: none !important; }
/* Indicador permanente dentro del control para conservar toda el área clicable. */
.ts-wrapper.single .ts-control::after { display: block !important; content: "" !important; position: absolute !important; top: 50% !important; right: 0.75rem !important; width: 12px !important; height: 8px !important; transform: translateY(-50%) !important; background: center / 12px 8px no-repeat url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3e%3cpath fill='none' stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='m1 1.5 5 5 5-5'/%3e%3c/svg%3e") !important; pointer-events: none !important; z-index: 4 !important; }
/* Oculta únicamente el segundo indicador incluido por Tom Select Bootstrap. */
.ts-wrapper.single .ts-control::before { display: none !important; content: none !important; border: 0 !important; }
.ts-wrapper.single .ts-control { padding-right: 2.25rem !important; }
/* Separa el botón para limpiar del indicador de desplegable. */
.ts-wrapper.single.plugin-clear_button .ts-control { padding-right: 3.75rem !important; }
.ts-control input,.ts-control input:focus { background: transparent !important; border: none !important; box-shadow: none !important; outline: none !important; font-size: var(--sigep-filter-font-size) !important; color: var(--sigep-text, #334155) !important; padding: 0 !important; margin: 0 !important; }
.ts-wrapper.single .ts-control .item { color: var(--sigep-text, #334155) !important; font-size: var(--sigep-filter-font-size) !important; padding: 0 !important; margin: 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; max-width: calc(100% - 10px) !important; min-width: 0 !important; flex-shrink: 1 !important; display: inline-block; vertical-align: middle !important; }
/* Tom Select se adjunta al body; por eso no hereda siempre la tipografía del formulario que lo originó. Todos sus textos usan las variables globales. */
.ts-wrapper,.ts-control,.ts-control input,.ts-control .item,.ts-dropdown,.ts-dropdown .dropdown-input,.ts-dropdown .option,.ts-dropdown .no-results,.ts-dropdown .create { font-family: var(--sigep-font) !important; font-size: var(--sigep-filter-font-size) !important; }
.section-card form[method="get"] .form-control,.section-card form[method="get"] .btn { border-radius: 12px !important; height: 40px !important; }
.pagination-pages .av-btn { border: 1px solid var(--sigep-border) !important; background: rgba(255, 255, 255, 0.05) !important; color: var(--sigep-text) !important; font-weight: 600 !important; min-width: 34px; height: 34px; padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 10px !important; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; }
.pagination-pages .av-btn:hover { background: rgba(56, 189, 248, 0.15) !important; border-color: #38bdf8 !important; color: #38bdf8 !important; transform: translateY(-1px); }
.pagination-pages .av-btn.active { background: #22c55e !important; border-color: #22c55e !important; color: #ffffff !important; font-weight: 700 !important; box-shadow: 0 0 12px rgba(34, 197, 94, 0.45) !important; transform: none !important; }
.pagination-pages .av-btn.active:hover { background: #16a34a !important; border-color: #16a34a !important; color: #ffffff !important; }
.pagination { gap: 6px; }
.pagination .page-item .page-link { background: rgba(255, 255, 255, 0.05) !important; border: 1px solid var(--sigep-border) !important; color: var(--sigep-text) !important; border-radius: 10px !important; padding: 6px 12px !important; font-size: var(--sigep-font-size-text); font-weight: 600; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; }
.pagination .page-link:hover { background: rgba(56, 189, 248, 0.15) !important; border-color: #38bdf8 !important; color: #38bdf8 !important; }
.pagination .page-item.active .page-link { background: #22c55e !important; border-color: #22c55e !important; color: #ffffff !important; font-weight: 700 !important; box-shadow: 0 0 12px rgba(34, 197, 94, 0.45) !important; }
.pagination .page-item.active .page-link:hover { background: #16a34a !important; border-color: #16a34a !important; color: #ffffff !important; }
.pagination .page-item.disabled .page-link { background: rgba(255, 255, 255, 0.02) !important; border-color: rgba(148, 163, 184, 0.1) !important; color: var(--sigep-muted) !important; opacity: 0.5; }
.form-control[type="file"] { line-height: 22px !important; padding: 7px 11px !important; height: 38px !important; }
.form-control[type="file"]::file-selector-button { background-color: var(--sigep-btn-primary-bg) !important; color: var(--sigep-btn-primary-color) !important; border: none !important; border-inline-end: 1px solid var(--sigep-btn-primary-border) !important; border-radius: 0 !important; margin: -7px 11px -7px -11px !important; padding: 0 16px !important; height: 38px !important; font-size: var(--sigep-font-size-text) !important; font-weight: 500 !important; transition: all 0.2s ease !important; }
.form-control[type="file"]:hover::file-selector-button { background-color: var(--sigep-btn-primary-hover-bg) !important; }
.quick-register-form { padding-top: 6px !important; padding-bottom: 6px !important; }
.quick-register-form .form-label { margin-top: 0 !important; margin-bottom: 2px !important; font-size: var(--sigep-font-size-text) !important; font-weight: 700 !important; }
.quick-register-form .form-control,.quick-register-form .form-select { padding: 0.3rem 0.6rem !important; font-size: var(--sigep-font-size-text) !important; height: 32px !important; min-height: 32px !important; border-radius: 6px !important; }
.quick-register-form textarea.form-control { height: auto !important; min-height: 44px !important; }
.quick-register-form input[type="file"].form-control { height: auto !important; min-height: 32px !important; padding: 0.2rem 0.5rem !important; }
.quick-register-form .row { margin-top: 0 !important; margin-bottom: 0 !important; row-gap: 8px !important; }
.quick-register-form .row>* { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.quick-register-form .card { margin-bottom: 8px !important; border-radius: 10px !important; }
.quick-register-form .card-body { padding: 8px !important; background-color: #af10109d; border-radius: 8px; }
#differencesToggle:checked { background-color: var(--bs-danger) !important; border-color: var(--bs-danger) !important; }
.card-differences { background-color: #640a3f !important; }
#offline-status-bar { position: sticky; top: 60px; }
/* Base: todos los botones */
.btn,.btn-sm,.btn-lg,.av-btn,.av-icon-btn { border-radius: 12px !important; border: 1px solid var(--sigep-border) !important; font-weight: 400 !important; letter-spacing: 0 !important; text-shadow: none !important; box-shadow: none !important; transition: all 0.2s ease !important; position: relative; overflow: hidden; text-transform: none; }
.btn:hover,.btn-sm:hover,.btn-lg:hover,.av-btn:hover,.av-icon-btn:hover { transform: translateY(-1px) !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important; filter: none !important; }
/* Acciones secundarias: nunca fondo blanco puro en el modo claro. */
.btn-light { background: var(--sigep-btn-secondary-bg) !important; border-color: var(--sigep-btn-secondary-border) !important; color: var(--sigep-btn-secondary-color) !important; }
.btn-light:hover { background: var(--sigep-btn-secondary-hover-bg) !important; border-color: var(--sigep-btn-secondary-hover-border) !important; color: var(--sigep-btn-secondary-hover-color) !important; }
.btn:active,.av-btn:active,.av-icon-btn:active { transform: translateY(1px) !important; box-shadow: none !important; }
.btn:disabled,.btn.disabled,.av-icon-btn:disabled { opacity: 0.5 !important; pointer-events: none; filter: grayscale(0.5) !important; }
/* Secundario (outline): editar, ver, filtrar, exportar */
.btn-outline-primary,.btn-outline-secondary,.btn-outline-info,.btn-outline-dark,.btn-outline-success,.btn-outline-warning,.av-btn,.av-icon-btn,.table-actions .btn,.mobile-actions .btn { background: var(--sigep-btn-secondary-bg) !important; border-color: var(--sigep-btn-secondary-border) !important; color: var(--sigep-btn-secondary-color) !important; box-shadow: var(--sigep-btn-secondary-shadow) !important; }
.btn-outline-primary:hover,.btn-outline-secondary:hover,.btn-outline-info:hover,.btn-outline-dark:hover,.btn-outline-success:hover,.btn-outline-warning:hover,.av-btn:hover,.av-icon-btn:hover,.table-actions .btn:hover,.mobile-actions .btn:hover { background: var(--sigep-btn-secondary-hover-bg) !important; border-color: var(--sigep-btn-secondary-hover-border) !important; color: var(--sigep-btn-secondary-hover-color) !important; box-shadow: var(--sigep-btn-secondary-hover-shadow) !important; }
.btn-outline-danger { background: var(--sigep-btn-danger-outline-bg) !important; border-color: var(--sigep-btn-danger-outline-border) !important; color: var(--sigep-btn-danger-outline-color) !important; }
.btn-outline-danger:hover { background: var(--sigep-btn-danger-solid-hover-bg) !important; border-color: var(--sigep-btn-danger-solid-border) !important; color: var(--sigep-btn-danger-solid-color) !important; }
/* Primario estandarizado: guardar, confirmar, crear y buscar */
.btn-primary,.av-btn-primary,.av-icon-primary,.table-actions .av-icon-primary,.mobile-actions .av-icon-primary { background: var(--sigep-btn-primary-bg) !important; border-color: var(--sigep-btn-primary-border) !important; color: var(--sigep-btn-primary-color) !important; }
.btn-primary:hover,.av-btn-primary:hover,.av-icon-primary:hover { background: var(--sigep-btn-primary-hover-bg) !important; border-color: var(--sigep-btn-primary-border) !important; color: var(--sigep-btn-primary-color) !important; }
.btn-primary *,.av-btn-primary * { color: var(--sigep-btn-primary-color) !important; }
.btn-success { background: var(--sigep-btn-success-bg) !important; border-color: var(--sigep-btn-success-border) !important; color: var(--sigep-btn-success-color) !important; }
.btn-success:hover { background: var(--sigep-btn-success-hover-bg) !important; border-color: var(--sigep-btn-success-border) !important; color: var(--sigep-btn-success-color) !important; }
.btn-success * { color: var(--sigep-btn-success-color) !important; }
/* Acciones de peligro: paleta corporativa compartida */
.btn-danger,.av-icon-danger,.table-actions .btn-outline-danger,.mobile-actions .btn-outline-danger { background: var(--sigep-btn-danger-solid-bg) !important; border-color: var(--sigep-btn-danger-solid-border) !important; color: var(--sigep-btn-danger-solid-color) !important; }
.btn-danger:hover,.av-icon-danger:hover { background: var(--sigep-btn-danger-solid-hover-bg) !important; border-color: var(--sigep-btn-danger-solid-border) !important; color: var(--sigep-btn-danger-solid-color) !important; }
.btn-danger *,.av-icon-danger * { color: var(--sigep-btn-danger-solid-color) !important; }
/* Advertencia */
.btn-warning,.quick-search-btn,.av-icon-warning,.table-actions .av-icon-warning,.mobile-actions .av-icon-warning { background: var(--sigep-btn-warning-solid-bg) !important; border-color: var(--sigep-btn-warning-solid-border) !important; color: var(--sigep-btn-warning-solid-color) !important; }
.btn-warning:hover,.av-icon-warning:hover { background: var(--sigep-btn-warning-solid-hover-bg) !important; border-color: var(--sigep-btn-warning-solid-border) !important; color: var(--sigep-btn-warning-solid-color) !important; }
.btn-warning *,.quick-search-btn * { color: var(--sigep-btn-warning-solid-color) !important; }
/* Info (cian suave) */
.btn-info { background: var(--sigep-btn-info-bg) !important; border-color: var(--sigep-btn-info-border) !important; color: var(--sigep-btn-info-color) !important; }
.btn-info:hover { background: var(--sigep-btn-info-hover-bg) !important; border-color: var(--sigep-btn-info-border) !important; color: var(--sigep-btn-info-color) !important; }
/* Iconos de acción en tablas (3 colores) */
.table-actions .av-icon-edit,.mobile-actions .av-icon-edit,.av-actions .av-icon-edit,.table-actions .btn-outline-primary,.mobile-actions .btn-outline-primary,.av-actions .btn-outline-primary { background: var(--sigep-btn-edit-bg) !important; color: var(--sigep-btn-edit-color) !important; border-color: var(--sigep-btn-edit-border) !important; }
.table-actions .av-icon-edit:hover,.mobile-actions .av-icon-edit:hover,.av-actions .av-icon-edit:hover { background: var(--sigep-btn-edit-hover-bg) !important; color: var(--sigep-btn-edit-hover-color) !important; border-color: var(--sigep-btn-edit-hover-border) !important; }

.table-actions .av-icon-danger:hover,.mobile-actions .av-icon-danger:hover,.av-actions .av-icon-danger:hover { background: var(--sigep-btn-danger-hover-bg) !important; color: var(--sigep-btn-danger-hover-color) !important; border-color: var(--sigep-btn-danger-hover-border) !important; }

.table-actions .av-icon-warning:hover,.mobile-actions .av-icon-warning:hover,.av-actions .av-icon-warning:hover { background: var(--sigep-btn-warning-hover-bg) !important; color: var(--sigep-btn-warning-hover-color) !important; border-color: var(--sigep-btn-warning-hover-border) !important; }

.table-actions .av-icon-lock:hover,.mobile-actions .av-icon-lock:hover,.av-actions .av-icon-lock:hover { background: var(--sigep-btn-lock-hover-bg) !important; color: var(--sigep-btn-lock-hover-color) !important; border-color: var(--sigep-btn-lock-hover-border) !important; }
/* Force icons inside table/mobile action buttons to inherit parent button color to avoid being forced to white */
.table-actions .av-icon-edit *,.mobile-actions .av-icon-edit *,.av-actions .av-icon-edit *,.table-actions .av-icon-danger *,.mobile-actions .av-icon-danger *,.av-actions .av-icon-danger *,.table-actions .av-icon-warning *,.mobile-actions .av-icon-warning *,.av-actions .av-icon-warning *,.table-actions .av-icon-lock *,.mobile-actions .av-icon-lock *,.av-actions .av-icon-lock * { color: inherit !important; }
/* btn-ficha-action: 3 colores */
.btn-ficha-action.ver,.btn-ficha-action.pdf,.btn-ficha-action.barcode { background: var(--sigep-btn-secondary-bg); color: var(--sigep-btn-secondary-color) !important; border: 1px solid var(--sigep-btn-secondary-border); }
.btn-ficha-action.ver:hover,.btn-ficha-action.pdf:hover,.btn-ficha-action.barcode:hover { background: var(--sigep-btn-secondary-hover-bg); color: var(--sigep-btn-secondary-hover-color) !important; border-color: var(--sigep-btn-secondary-hover-border); box-shadow: var(--sigep-btn-secondary-hover-shadow); }
.btn-ficha-action.eliminar,.btn-ficha-action.cerrar { background: var(--sigep-btn-danger-bg); color: var(--sigep-btn-danger-color) !important; border: 1px solid var(--sigep-btn-danger-border); }
.btn-ficha-action.eliminar:hover,.btn-ficha-action.cerrar:hover { background: var(--sigep-btn-danger-hover-bg); color: var(--sigep-btn-danger-hover-color) !important; border-color: var(--sigep-btn-danger-hover-border); box-shadow: var(--sigep-btn-secondary-hover-shadow); }
.btn-ficha-action.aperturar { background: var(--sigep-btn-warning-bg); color: var(--sigep-btn-warning-color) !important; border: 1px solid var(--sigep-btn-warning-border); }
.btn-ficha-action.aperturar:hover { background: var(--sigep-btn-warning-hover-bg); color: var(--sigep-btn-warning-hover-color) !important; border-color: var(--sigep-btn-warning-hover-border); box-shadow: var(--sigep-btn-secondary-hover-shadow); }
/* av-icon-btn override (tabla icono circular) */
.av-icon-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 10px !important; padding: 0 !important; }
.av-icon-btn i { font-size: var(--sigep-font-size-heading) !important; }
/* Componentes unificados */
/* Detail grids, stacks, parameter rows and info boxes */
.detail-grid>div,.detail-stack>div,.info-box,.inventoried-detail-card { background: var(--sigep-card-soft) !important; color: var(--sigep-text) !important; border: 1px solid var(--sigep-border) !important; border-radius: 12px !important; padding: 14px !important; }
.detail-grid span,.detail-stack span,.info-box span { color: var(--sigep-muted) !important; }
.detail-grid strong,.detail-stack strong,.info-box strong { color: var(--sigep-text) !important; font-weight: 600 !important; }
/* La ficha de bienes agrupa los campos por tipo de información; las filas internas no deben volver a mostrarse como tarjetas individuales. */
.bien-detail-page .detail-grid>div,.bien-detail-page .detail-stack>div { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
/* Mobile cards, lists and scanners */
.mobile-card-list,.mobile-record-card,.mobile-card-list .card,.mobile-card-list .section-card,.office-mobile-card,.area-check-card,.scanner-box,.report-tile { background: var(--sigep-card) !important; border: 1px solid var(--sigep-border) !important; color: var(--sigep-text) !important; border-radius: 16px !important; padding: 16px !important; box-shadow: var(--sigep-shadow) !important; }
.mobile-record-card *,.mobile-card-list .card *,.office-mobile-card *,.area-check-card *,.scanner-box *,.report-tile * { color: inherit; }
.mobile-record-card p,.mobile-record-card small,.mobile-record-card .small,.mobile-record-card .text-muted,.mobile-card-list .text-muted,.office-mobile-stats,.office-mobile-stats span { color: var(--sigep-muted) !important; font-weight: 400 !important; }
.mobile-record-card strong,.mobile-card-list strong,.office-mobile-card strong { color: var(--sigep-text) !important; font-weight: 700 !important; }
/* Secondary texts, helps and labels */
.form-label,.section-header span,.page-title p,.text-muted,.form-text,small,.small { color: var(--sigep-text) !important; }
/* Pagination and navigation controls */
.pagination-pages .av-btn,.pagination .page-link { background: var(--sigep-card) !important; border: 1px solid var(--sigep-border) !important; color: var(--sigep-text) !important; border-radius: 8px !important; padding: 6px 12px !important; font-weight: 500 !important; transition: all 0.2s ease !important; }
.pagination-pages .av-btn:hover,.pagination .page-link:hover { background: var(--sigep-card-soft) !important; border-color: var(--sigep-primary) !important; color: var(--sigep-primary) !important; }
.pagination-pages .av-btn.active,.pagination .page-item.active .page-link { background: #16a34a !important; border-color: #16a34a !important; color: #ffffff !important; box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25) !important; }
/* 5. MÓDULOS ESPECÍFICOS */
.section-card,.card,.report-tile,.mobile-record-card,.area-check-card,.filter-chip,.info-box { background: var(--sigep-card) !important; border-color: var(--sigep-border) !important; color: var(--sigep-text) !important; }
.section-card,.card,.report-tile,.mobile-record-card,.area-check-card,.filter-chip,.info-box,.inventoried-detail-card { background: var(--sigep-card) !important; background-color: var(--sigep-card) !important; border-color: var(--sigep-border) !important; box-shadow: 0 8px 45px rgba(0, 0, 0, 0.24) !important; }
.area-check-card { display: flex; gap: 12px; align-items: flex-start; padding: 15px; min-height: 96px; border: 1px solid var(--sigep-border); border-radius: 20px; background: #fff; cursor: pointer; transition: 0.2s ease; }
.area-check-card:hover { border-color: rgba(139, 0, 0, 0.35); box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06); }
.area-check-card input { margin-top: 4px; }
.area-check-card strong { display: block; font-size: var(--sigep-font-size-heading); line-height: 1.3; }
.area-check-card small { display: block; margin-top: 6px; color: var(--sigep-muted); }
.scanner-card { max-width: 860px; margin: 0 auto; }
.scanner-box { position: relative; width: 100%; aspect-ratio: 16 / 10; border-radius: 26px; overflow: hidden; background: #111827; border: 1px solid var(--sigep-border); }
.scanner-box video { width: 100%; height: 100%; object-fit: cover; display: block; }
.scanner-frame { position: absolute; inset: 18%; border: 3px solid rgba(214, 168, 79, 0.95); border-radius: 24px; box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.28); }
.report-tile { min-height: 180px; display: flex; flex-direction: column; gap: 12px; justify-content: center; padding: 24px; border-radius: 26px; border: 1px solid var(--sigep-border); background: #fff; color: var(--sigep-text); box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06); transition: 0.2s ease; }
.report-tile:hover { transform: translateY(-3px); border-color: rgba(139, 0, 0, 0.35); color: var(--sigep-text); }
.report-tile i { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 18px; background: rgb(245, 159, 31); color: var(--sigep-primary); font-size: var(--sigep-font-size-title); }
.report-tile strong { font-size: var(--sigep-font-size-title); }
.report-tile span { color: var(--sigep-muted); font-size: var(--sigep-font-size-heading); }
.audit-json-box { padding: 18px; max-height: 540px; overflow: auto; background: #0f172a; color: #e5e7eb; font-size: var(--sigep-font-size-text); line-height: 1.5; border-radius: 0 0 26px 26px; white-space: pre-wrap; word-break: break-word; }
.audit-json-mini { max-width: 360px; max-height: 90px; overflow: auto; background: #f8fafc; border: 1px solid var(--sigep-border); border-radius: 12px; padding: 8px; font-size: var(--sigep-font-size-table); white-space: pre-wrap; }
.institutional-logo-preview { min-height: 150px; border: 1px dashed var(--sigep-border); border-radius: 24px; background: #f8fafc; display: grid; place-items: center; padding: 16px; }
.institutional-logo-preview img { max-width: 100%; max-height: 120px; object-fit: contain; }
.institutional-logo-preview span { color: var(--sigep-muted); font-weight: 800; letter-spacing: 0.08em; }
.config-param-list { margin: 0; overflow: hidden; border: 1px solid var(--sigep-border); border-radius: 10px; background: var(--sigep-card-soft); }
.config-param-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; min-height: 46px; padding: 10px 14px !important; margin: 0; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--sigep-border) !important; border-radius: 0 !important; }
.config-param-row:last-child { border-bottom: 0 !important; }
.config-param-row strong { display: block; font-size: var(--sigep-filter-font-size); color: var(--sigep-primary); word-break: break-word; }
.config-param-row span { display: block; padding: 3px 8px; border-radius: 6px; background: #f8fbff; color: #18324c !important; font-size: var(--sigep-filter-font-size); font-weight: 750; word-break: break-word; }
.configuracion-page .config-param-list { background: #eaf3fc; border-color: #b7cde2; }
.configuracion-page .config-param-row strong { color: #173f6d !important; }
@media (max-width: 575.98px) {
  .config-param-row { grid-template-columns: 1fr; gap: .3rem; }
  .config-param-row span { justify-self: start; }
}
.barcode-svg { shape-rendering: crispEdges; }
.inventory-office-filters { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(150px, 240px) auto !important; gap: 0.55rem !important; align-items: end; padding: 0.75rem !important; }
.inventory-office-filters .form-label { margin-bottom: 6px; font-size: var(--sigep-font-size-support); }
.quick-inventory-page .quick-hero { min-height: auto !important; }
.quick-search-box,.quick-inventory-page .quick-search-box { display: flex !important; align-items: stretch !important; gap: 0.45rem !important; width: 100% !important; }
.quick-search-box .quick-search-input,.quick-inventory-page .quick-search-input { flex: 1 1 auto !important; width: 1% !important; min-width: 0 !important; height: 42px !important; min-height: 42px !important; font-size: var(--sigep-font-size-heading) !important; border-radius: 12px !important; }
.quick-search-box .quick-search-btn,.quick-inventory-page .quick-search-btn { flex: 0 0 42px !important; width: 40px !important; min-width: 15px !important; height: 40px !important; min-height: 40px !important; padding: 0 !important; border-radius: 12px !important; display: inline-grid !important; place-items: center !important; }
.quick-search-box .quick-search-btn i,.quick-inventory-page .quick-search-btn i { margin: 0 !important; font-size: var(--sigep-font-size-heading) !important; }
.quick-result-note,.duplicate-inventory-alert { background: rgba(148, 163, 184, 0.10); border: 1px solid var(--sigep-quick-note-border); color: var(--sigep-text); border-radius: 16px; padding: 11px 13px; font-size: var(--sigep-font-size-text); }
.inventoried-page .mobile-record-card { padding: 14px; border: 1px solid var(--sigep-border); border-radius: 18px; background: var(--sigep-card); }
.report-tile:hover,.filter-chip:hover { border-color: rgba(212, 175, 55, 0.48) !important; }
.quick-search-btn,.quick-inventory-page .quick-search-btn { background: linear-gradient(145deg, #d4af37, #f3d675) !important; border-color: rgba(212, 175, 55, 0.60) !important; color: #031126 !important; }
.section-header,.quick-result-note,.duplicate-inventory-alert,.duplicate-inventory-detail { border-radius: 8px; background: var(--sigep-card-soft); padding: 0.85rem; }
.duplicate-inventory-detail { background: var(--sigep-duplicate-inventory-detail-bg) !important; }
.duplicate-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.75rem; padding-bottom: 0.65rem; }
.duplicate-detail-header h4 { margin: 0; color: var(--sigep-result-heading); font-size: var(--sigep-font-size-heading); font-weight: 800; }
.duplicate-detail-header span { color: var(--sigep-row-secondary); font-size: var(--sigep-font-size-support); }
.duplicate-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; }
.duplicate-detail-grid>div,.duplicate-detail-observation { min-width: 0; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 10px; background: var(--sigep-duplicate-detail-bg); padding: 0.55rem 0.65rem; }
.duplicate-detail-grid span,.duplicate-detail-observation span { display: block; margin-bottom: 0.18rem; color: var(--sigep-row-secondary); font-size: var(--sigep-font-size-table); font-weight: 800; line-height: 1.1; text-transform: uppercase; }
.duplicate-detail-grid strong,.duplicate-detail-link,.duplicate-detail-observation p { color: var(--sigep-row-strong) !important; font-size: var(--sigep-font-size-heading); line-height: 1.25; word-break: break-word; }
.duplicate-detail-observation { margin-top: 0.55rem; }
.duplicate-detail-observation p { margin: 0; }
.duplicate-detail-link { display: inline-flex; align-items: center; font-weight: 700; text-decoration: none; }
.mobile-record-card { color: var(--sigep-row-strong) !important; font-weight: 400 !important; font-size: var(--sigep-font-size-text) !important; }
.mobile-record-card p,.mobile-record-card small,.mobile-record-card .small { color: var(--sigep-result-heading) !important; font-weight: 400 !important; }
.mobile-record-card a:not(.btn),.mobile-record-card a:not(.btn):hover,.barcode-select-cell { width: 60px; min-width: 60px; padding-left: 12px !important; padding-right: 12px !important; text-align: center !important; }
.barcode-select-cell .barcode-check,.barcode-check { position: static !important; float: none !important; display: block !important; margin: 0 auto !important; transform: none !important; }
.mobile-record-card .barcode-check { flex: 0 0 auto; margin: 2px 0 0 12px !important; }
.inventory-areas-page>.row.g-3.mb-3 { --bs-gutter-x: 0.75rem; --bs-gutter-y: 0.65rem; margin-bottom: 0.75rem !important; }
.inventory-dashboard-page { width: min(100%, 1320px); max-width: 1320px; margin-inline: auto; display: flex; flex-direction: column; }
.inventory-dashboard-status { display: inline-flex; align-items: center; min-height: 1.35rem; padding: 0.2rem 0.6rem; border: 1px solid var(--sigep-status-default-border); border-radius: 6px; background: var(--sigep-status-default-bg); color: var(--sigep-status-default-text); font-size: var(--sigep-font-size-table); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
/* Generador de etiquetas: configuración, vista del código y selección. */
.barcode-page { --sigep-filter-section-padding: .3rem .65rem; --sigep-filter-gap-y: .25rem; --sigep-list-header-min-height: 26px; }
.barcode-page .section-header>div:first-child { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: .5rem; }
.barcode-section-title { margin: 0; color: var(--sigep-section-heading-color); font-size: var(--sigep-message-title-font-size); font-weight: 700; line-height: 1.15; }
.barcode-selection-form { min-width: 0; }
.barcode-print-options { padding: .4rem .65rem; }
.barcode-setup-layout { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: .65rem; align-items: start; }
.barcode-setup-controls,.barcode-option-field { min-width: 0; }
.barcode-options-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem .55rem; align-items: end; }
.barcode-option-field .form-label { margin-bottom: .125rem !important; color: var(--sigep-text); font-size: var(--sigep-filter-font-size) !important; line-height: 1.1; }
.barcode-option-field .form-select { height: var(--sigep-filter-control-height) !important; min-height: var(--sigep-filter-control-height) !important; padding: .125rem 1.75rem .125rem .5rem !important; font-size: var(--sigep-filter-font-size) !important; border-radius: var(--sigep-filter-control-radius) !important; }
.barcode-roll-settings { margin-top: .3rem; }
.barcode-roll-note { display: flex; align-items: flex-start; gap: .4rem; margin: 0; padding: .25rem .5rem; border: 1px solid var(--sigep-notice-info-border); border-radius: 8px; background: var(--sigep-notice-info-bg); color: var(--sigep-notice-info-text); font-size: var(--sigep-message-support-font-size); line-height: 1.2; }
.barcode-roll-note>i { margin-top: .1rem; }
.barcode-calibration { margin-top: .25rem; padding-top: .25rem; border-top: 1px solid var(--sigep-border); }
.barcode-calibration summary { width: fit-content; color: var(--sigep-text); font-size: var(--sigep-filter-font-size); font-weight: 600; cursor: pointer; }
.barcode-calibration[open] summary { margin-bottom: .25rem; }
.barcode-calibration .form-label { font-size: var(--sigep-filter-font-size); }
.barcode-design-field { min-width: 0; padding: .35rem; border: 1px solid var(--sigep-border); border-radius: 8px; background: var(--sigep-bg-soft); }
.barcode-preview-title { margin: 0 0 .2rem; color: var(--sigep-text); font-size: var(--sigep-filter-font-size); font-weight: 600; }
.selected-design-preview { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .125rem; min-height: 72px; padding: .25rem; border: 1px solid var(--sigep-border); border-radius: 8px; background: var(--sigep-card); color: var(--sigep-text); }
.selected-design-visual { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 120px; height: 28px; padding: 2px; background: #fff; }
.selected-design-visual svg { display: block; width: 100%; height: 100%; }
.selected-design-preview .qr-preview { width: 52px; height: 52px; }
.selected-design-preview .qr-preview :is(canvas,img) { display: block; width: 44px; height: 44px; }
.selected-design-preview .qr-preview-error { width: 136px; color: var(--sigep-notice-danger-text); font-size: var(--sigep-font-size-support); text-align: center; }
.selected-design-code { font-size: var(--sigep-filter-font-size); letter-spacing: .04em; overflow-wrap: anywhere; }
.selected-design-name { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); text-align: center; }
.barcode-preview-specs { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .25rem; padding-top: .2rem; font-size: var(--sigep-font-size-table); color: var(--sigep-muted); }
.barcode-preview-specs strong { color: var(--sigep-text); }
.barcode-results-toolbar,.barcode-selection-tools,.barcode-results-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.barcode-results-toolbar { justify-content: space-between; padding: .35rem .65rem; border-bottom: 1px solid var(--sigep-border); }
.barcode-selection-hint { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); }
.barcode-selection-count { padding: .2rem .5rem; border: 1px solid var(--sigep-border); border-radius: 8px; background: var(--sigep-card); font-size: var(--sigep-filter-font-size); white-space: nowrap; }
.barcode-selection-count.has-selection { border-color: var(--sigep-notice-info-border); background: var(--sigep-notice-info-bg); }
.barcode-page .mobile-record-card.is-selected { outline: 1px solid var(--sigep-notice-info-border); outline-offset: -1px; }
.barcode-results-table tr.is-selected { background-color: var(--sigep-notice-info-bg); }
.barcode-results-table { --sigep-table-header-text-align: left; --sigep-table-header-padding-x: var(--sigep-table-cell-padding-x); --sigep-table-code-column-width: 14%; }
.barcode-results-table thead :is(.sigep-table-index,.barcode-selection-column) { --sigep-table-header-text-align: center; }
.barcode-results-table :is(th,td):nth-child(4) { width: 26%; }
.barcode-page .table :is(th,td).barcode-selection-column { width: 38px !important; min-width: 38px !important; max-width: 38px !important; padding-right: 3px !important; padding-left: 3px !important; white-space: nowrap !important; }
.barcode-recommendations-modal { --bs-modal-zindex: 20010; }
@media (min-width: 1400px) {
  .barcode-options-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1199.98px) {
  .barcode-setup-layout { grid-template-columns: minmax(0, 1fr) 210px; gap: .5rem; }
}
@media (max-width: 991.98px) {
  .barcode-setup-layout { grid-template-columns: minmax(0, 1fr); }
  .selected-design-preview { flex-direction: row; flex-wrap: wrap; min-height: 52px; column-gap: .55rem; }
}
@media (max-width: 575.98px) {
  .barcode-page .section-header { flex-wrap: wrap; gap: .5rem; }
  .barcode-page .section-header>div:first-child { grid-template-columns: minmax(0, 1fr); }
  .barcode-print-options { padding: .4rem .65rem; }
  .barcode-options-grid { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  .barcode-results-toolbar { align-items: stretch; padding: .4rem .65rem; }
  .barcode-selection-tools,.barcode-results-actions { width: 100%; }
  .barcode-results-actions>.btn { flex: 1 1 auto; }
}
.inventory-dashboard-delete-form { display: inline-flex; margin: 0; }
.inventory-dashboard-action-icon { gap: 0.38rem !important; min-width: 0; padding-inline: 0.72rem !important; }
.inventory-dashboard-action-icon i { width: 1rem; text-align: center; }
.inventory-dashboard-primary,.inventory-dashboard-secondary { display: inline-flex; gap: 0.5rem; align-items: center; justify-content: center; min-height: 2.2rem; padding: 0.4rem 1.1rem; border-radius: 8px; font-size: var(--sigep-font-size-heading); font-weight: 600; box-shadow: 0 10px 22px rgba(2, 8, 23, 0.2); transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); }
.inventory-dashboard-primary:hover,.inventory-dashboard-secondary:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(2, 8, 23, 0.28); }
.inventory-dashboard-primary { border: 1px solid #0284c7 !important; }
.inventory-dashboard-secondary { border: 1px solid rgba(148, 163, 184, 0.3) !important; }
.inventory-dashboard-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; justify-content: stretch; }
.inventory-stat-mini,.inventory-dashboard-card,.inventory-reports-card { border: 1px solid var(--sigep-border); background: var(--sigep-card-bg); color: var(--sigep-text); }
.inventory-stat-mini { position: relative; display: flex; align-content: center; overflow: hidden; min-height: 82px; padding: 0.85rem 1rem 0.85rem 1.25rem; border-radius: 14px; background: linear-gradient(180deg, rgba(30, 41, 59, 0.4) 0%, rgba(15, 23, 42, 0.6) 100%), #111d2d !important; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); flex-direction: column; justify-content: center; border: 1px solid rgba(148, 163, 184, 0.15) !important; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); }
.inventory-stat-mini::before { content: ""; position: absolute; inset: 0; border-left: 5px solid var(--inventory-stat-accent, #2c92b8); background: var(--inventory-stat-accent, #38bdf8); pointer-events: none; left: 0; top: 0; bottom: 0; width: 4px; border-radius: 4px 0 0 4px; }
.inventory-stat-mini::after { position: absolute; right: 0.85rem; top: 50%; display: flex; width: 3.2rem; height: 3.2rem; align-items: center; justify-content: center; transform: translateY(-50%) !important; border: 1px solid color-mix(in srgb, var(--inventory-stat-accent) 30%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--inventory-stat-accent) 8%, rgba(255, 255, 255, 0.02)) !important; color: var(--inventory-stat-accent, #38bdf8); font-family: "Font Awesome 6 Free"; font-size: var(--sigep-font-size-display-sm); font-weight: 900; z-index: 1; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.inventory-stat-mini:nth-child(1) { --inventory-stat-soft: rgba(34, 211, 238, 0.15); }
.inventory-stat-mini:nth-child(1)::after { content: "\f1ad"; }
.inventory-stat-mini:nth-child(2) { --inventory-stat-soft: rgba(245, 196, 81, 0.16); }
.inventory-stat-mini:nth-child(2)::after { content: "\f058"; }
.inventory-stat-mini:nth-child(3) { --inventory-stat-soft: rgba(56, 189, 248, 0.14); }
.inventory-stat-mini:nth-child(3)::after { content: "\f46c"; }
.inventory-stat-mini:nth-child(4) { --inventory-stat-soft: rgba(251, 113, 133, 0.15); }
.inventory-stat-mini:nth-child(4)::after { content: "\f071"; }
.inventory-stat-mini span,.inventory-stat-mini small { position: relative; z-index: 1; display: block; color: color-mix(in srgb, var(--sigep-muted) 78%, var(--sigep-text)); font-size: var(--sigep-font-size-support); font-weight: 700; line-height: 1.25; }
.inventory-stat-mini strong { position: relative; z-index: 1; display: block; margin: 0.1rem 0 0.03rem; font-size: var(--sigep-font-size-display) !important; font-weight: 800; line-height: 1.15; margin-bottom: 0.15rem; }
.inventory-dashboard-sync { display: flex; gap: 0.65rem; align-items: center; justify-content: space-between; padding: 0.55rem 0.75rem; border: 1px solid rgba(245, 196, 81, 0.42); border-radius: 12px; background: rgba(245, 196, 81, 0.12); color: var(--sigep-text); }
.inventory-dashboard-sync strong,.inventory-dashboard-sync span { display: block; }
.inventory-dashboard-sync span { margin-top: 0.15rem; color: var(--sigep-muted); font-size: var(--sigep-font-size-text); }
.inventory-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; justify-content: stretch; }
.inventory-dashboard-card { --inventory-card-accent: #22d3ee; --inventory-card-soft: rgba(34, 211, 238, 0.12); position: relative; display: flex; min-height: 170px; flex-direction: column; justify-content: space-between; padding: 1.25rem; border-radius: 16px; overflow: hidden; background: linear-gradient(180deg, rgba(30, 41, 59, 0.4) 0%, rgba(15, 23, 42, 0.6) 100%), #111d2d !important; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid rgba(148, 163, 184, 0.15) !important; }
.inventory-dashboard-card::before { content: ""; position: absolute; inset: 0; border-top: 3px solid var(--inventory-card-accent); border-left: 1px solid color-mix(in srgb, var(--inventory-card-accent) 38%, transparent); background: var(--inventory-card-accent, #38bdf8); pointer-events: none; top: 0; left: 0; right: 0; height: 3px; }
.inventory-dashboard-card::after { content: ""; position: absolute; right: -18px; top: -24px; width: 82px; height: 82px; border: 1px solid color-mix(in srgb, var(--inventory-card-accent) 18%, transparent); border-radius: 18px; transform: rotate(18deg); background: color-mix(in srgb, var(--inventory-card-accent) 6%, transparent); pointer-events: none; }
.inventory-dashboard-card:nth-child(2) { --inventory-card-accent: #34d399; --inventory-card-soft: rgba(56, 189, 248, 0.13); }
.inventory-dashboard-card:nth-child(3) { --inventory-card-accent: #f5c451; --inventory-card-soft: rgba(245, 196, 81, 0.15); }
.inventory-dashboard-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--inventory-card-accent) 50%, rgba(148, 163, 184, 0.15)) !important; box-shadow: 0 15px 30px rgba(0, 0, 0, 0.25); }
.inventory-dashboard-card-header { position: relative; z-index: 1; display: flex; grid-template-columns: auto minmax(0, 1fr); gap: 0.75rem; align-items: start; }
.inventory-dashboard-icon { display: flex; width: 2.3rem; height: 2.3rem; align-items: center; justify-content: center; border-radius: 10px; background: color-mix(in srgb, var(--inventory-card-accent) 8%, rgba(255, 255, 255, 0.02)) !important; color: var(--inventory-card-accent, #38bdf8); font-size: var(--sigep-font-size-title); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--inventory-card-accent) 35%, transparent); border: 1px solid color-mix(in srgb, var(--inventory-card-accent) 30%, transparent) !important; flex-shrink: 0; }
.inventory-dashboard-card h4 { margin: 0 0 0.2rem 0; color: var(--sigep-dashboard-card-h4-color) !important; font-size: var(--sigep-font-size-title) !important; font-weight: 750; letter-spacing: -0.01em; }
.inventory-dashboard-card p { margin: 0; font-size: var(--sigep-font-size-heading) !important; line-height: 1.45; }
.inventory-dashboard-links { position: relative; z-index: 1; display: grid; gap: 0.4rem; margin-top: 1rem; }
.inventory-dashboard-link { display: flex; align-items: center; justify-content: space-between; min-height: 1.78rem; padding: 0.45rem 0.75rem; border: 1px solid rgba(148, 163, 184, 0.15) !important; border-radius: 8px; font-size: var(--sigep-font-size-text); font-weight: 600; text-decoration: none; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); }
.inventory-dashboard-link:hover { transform: translateX(2px); padding-left: 0.95rem; }
.inventory-dashboard-link.is-disabled,.inventory-report-card.is-disabled { opacity: 0.55; cursor: not-allowed; }
.inventory-report-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.85rem; justify-content: stretch; padding: 1.25rem; }
.inventory-report-card { --report-soft: color-mix(in srgb, var(--report-accent, #38bdf8) 13%, transparent); position: relative; display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); column-gap: 0.75rem; row-gap: 0.15rem; align-items: start; min-height: 76px; padding: 0.9rem 1rem; border: 1px solid rgba(148, 163, 184, 0.12) !important; border-radius: 12px; text-decoration: none; overflow: hidden; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); }
.inventory-report-card::before { content: ""; position: absolute; inset: 0; width: auto; border-top: 3px solid var(--report-accent, #38bdf8); border-left: 1px solid color-mix(in srgb, var(--report-accent, #38bdf8) 38%, transparent); background: var(--report-accent, #38bdf8); opacity: 0.8; pointer-events: none; top: 0; left: 0; right: 0; height: 2px; }
.inventory-report-card::after { content: ""; position: absolute; right: -16px; top: -22px; width: 68px; height: 68px; border: 1px solid color-mix(in srgb, var(--report-accent, #38bdf8) 16%, transparent); border-radius: 16px; transform: rotate(18deg); background: color-mix(in srgb, var(--report-accent, #38bdf8) 6%, transparent); pointer-events: none; }
.inventory-report-card:nth-child(1) { --report-accent: #38bdf8; }
.inventory-report-card:nth-child(2) { --report-accent: #34d399; }
.inventory-report-card:nth-child(3) { --report-accent: #f87171; }
.inventory-report-card:nth-child(4) { --report-accent: #fb923c; }
.inventory-report-card:nth-child(5) { --report-accent: #c084fc; }
.inventory-report-card:nth-child(6) { --report-accent: #2dd4bf; }
.inventory-report-card>* { position: relative; z-index: 1; }
.inventory-report-card i { grid-row: span 2; display: flex; width: 2.2rem; height: 2.2rem; align-items: center; justify-content: center; border: 1px solid color-mix(in srgb, var(--report-accent) 30%, transparent) !important; border-radius: 8px; background: color-mix(in srgb, var(--report-accent) 8%, rgba(255, 255, 255, 0.02)) !important; color: var(--report-accent, #38bdf8); font-size: var(--sigep-font-size-heading); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--report-accent) 24%, transparent); transition: all 0.2s ease; }
.inventory-report-card strong { font-size: var(--sigep-font-size-title) !important; line-height: 1.25; font-weight: 750; letter-spacing: -0.01em; }
.inventory-report-card span { font-size: var(--sigep-font-size-heading) !important; line-height: 1.4; }
.inventory-report-card:hover { transform: translateY(-3px); border-color: var(--report-accent) !important; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); }
.inventory-reports-card { overflow: hidden; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); border: 1px solid rgba(148, 163, 184, 0.15) !important; border-radius: 16px; }
.inventory-reports-card .section-header { margin: -1px -1px 0; padding: 1rem 1.25rem; }
.report-btn-primary { border: 1px solid var(--sigep-primary) !important; background: var(--sigep-primary, #8b0000) !important; color: #ffffff !important; }
.report-btn-gold { border: 1px solid var(--sigep-gold) !important; background: var(--sigep-gold-soft, #f3d675) !important; color: #071b3a !important; }
.inventory-dashboard-status.status-programado { border-color: var(--sigep-status-prog-border) !important; background: var(--sigep-status-prog-bg) !important; color: var(--sigep-status-prog-text) !important; }
.inventory-dashboard-status.status-en_proceso { border-color: var(--sigep-status-proc-border) !important; background: var(--sigep-status-proc-bg) !important; color: var(--sigep-status-proc-text) !important; }
.inventory-dashboard-status.status-cerrado { border-color: var(--sigep-status-cerr-border) !important; background: var(--sigep-status-cerr-bg) !important; color: var(--sigep-status-cerr-text) !important; }
.inventory-dashboard-status.status-anulado { border-color: var(--sigep-status-anul-border) !important; background: var(--sigep-status-anul-bg) !important; color: var(--sigep-status-anul-text) !important; }
.inventory-dashboard-primary:hover,.inventory-dashboard-secondary:hover { transform: translateY(-2px); }
.inventory-stat-mini:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--inventory-stat-accent) 40%, rgba(255, 255, 255, 0.15)) !important; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25); }
.inventory-stat-mini:hover::after { transform: translateY(-50%) scale(1.1) !important; background: color-mix(in srgb, var(--inventory-stat-accent) 15%, transparent) !important; opacity: 1; }
.inventory-stat-mini span { color: var(--sigep-stat-mini-span-color) !important; font-size: var(--sigep-font-size-heading) !important; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 0.2rem; }
.inventory-stat-mini small { font-size: var(--sigep-font-size-text) !important; font-weight: 600; }
.inventory-dashboard-link i { font-size: var(--sigep-font-size-support); opacity: 0.7; transition: transform 0.2s ease; }
.inventory-dashboard-link:hover i { transform: translateX(3px); opacity: 1; }
.inventory-dashboard-link.is-primary:hover { border-color: var(--inventory-card-accent) !important; }
.inventory-dashboard-link.is-disabled { opacity: 0.45; cursor: not-allowed; background: rgba(255, 255, 255, 0.01) !important; border-color: rgba(148, 163, 184, 0.08) !important; color: #64748b !important; }
.inventory-dashboard-link.is-disabled:hover { padding-left: 0.75rem !important; }
.inventory-dashboard-link.is-disabled i { transform: none !important; }
.inventory-dashboard-card:nth-child(1) { --inventory-card-accent: #38bdf8; }
.inventory-report-card:hover i { transform: scale(1.08); background: color-mix(in srgb, var(--report-accent) 15%, transparent) !important; }
.inventory-report-card.is-disabled { opacity: 0.45; cursor: not-allowed; background: rgba(255, 255, 255, 0.01) !important; border-color: rgba(148, 163, 184, 0.08) !important; }
.inventory-report-card.is-disabled strong { color: #64748b !important; }
.inventory-report-card.is-disabled span { color: var(--sigep-text); }
.inventory-report-card.is-disabled i { color: #475569 !important; border-color: rgba(148, 163, 184, 0.08) !important; background: transparent !important; }
.quick-inventory-page { padding-top: 0.75rem !important; }
.quick-inventory-page .quick-context-select { background-color: rgba(255, 255, 255, 0.9); }
.quick-inventory-page .technical-fields { display: none; }
.ficha-table th { padding: 0.42rem 0.55rem !important; line-height: 1.15 !important; vertical-align: middle !important; }
.ficha-table td { padding: 0.38rem 0.55rem !important; line-height: 1.2 !important; vertical-align: middle !important; }
.mobile-card-list,.mobile-record-card,.office-mobile-card,.area-check-card { gap: 0.45rem !important; }
.mobile-record-card,.office-mobile-card,.area-check-card { padding: 0.7rem 0.8rem !important; }
.mobile-record-card p,.office-mobile-card p,.area-check-card p { margin-bottom: 0.22rem !important; }
.section-card form[method="get"] .form-label,.hero-panel form[method="get"] .form-label,.inventory-office-filters .form-label { margin-bottom: 0.25rem !important; font-size: var(--sigep-font-size-heading) !important; }
.inventory-office-filters .form-control,.inventory-office-filters .form-select,.inventory-office-filters .av-btn { height: 40px !important; min-height: 40px !important; }
.inventoried-filters-form .form-control,.inventoried-filters-form .form-select,.inventoried-filters-form select,.inventoried-filters-form input,.inventoried-filters-form .ts-wrapper { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
.ficha-document { background: #fff !important; color: #000 !important; border: 1px solid #111 !important; border-radius: 0 !important; box-shadow: none !important; font-family: var(--sigep-font); font-size: var(--sigep-print-font-size-7); line-height: 1.2; padding: 25px 25px 8px 25px; overflow-x: auto; }
.ficha-document,.ficha-document *,.ficha-document th,.ficha-document td,.ficha-document span,.ficha-document strong,.ficha-document div,.ficha-document p,.ficha-document small,.ficha-document h1 { color: #000 !important; }
.ficha-head { display: grid; grid-template-columns: minmax(0, 39fr) minmax(0, 34fr) minmax(0, 27fr); gap: 6px; align-items: start; margin-bottom: 3px; }
.ficha-title-block { text-align: center; font-weight: 800; }
.ficha-title-block .anexo { font-size: var(--sigep-print-font-size-7); font-weight: 900; }
.ficha-title-block h1 { font-size: var(--sigep-print-font-size-7-5); margin: 0; font-weight: 900; text-transform: uppercase; line-height: 1.15; }
.ficha-title-block div { font-size: var(--sigep-print-font-size-7); }
.ficha-info { font-size: var(--sigep-print-font-size-7); line-height: 1.2; white-space: normal; word-break: break-word; }
.ficha-info strong { font-weight: 900; }
.ficha-right { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; text-align: right; font-size: var(--sigep-print-font-size-6-5); font-weight: 700; word-break: break-word; padding-right: 15px; }
.ficha-page-number { justify-self: end; margin-bottom: 4px; font-size: var(--sigep-print-font-size-7); font-weight: 700 !important; white-space: nowrap; }
.ficha-logo { max-width: 100%; height: 80px; display: flex; justify-content: flex-end; align-items: center; overflow: hidden; flex-shrink: 0; }
.ficha-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ficha-logo span { font-size: var(--sigep-print-font-size-10); font-weight: 900; }
.ficha-blue { color: #000 !important; font-weight: 700; }
.ficha-verificacion { margin-top: 4px; }
.ficha-table { --sigep-ficha-table-font-size: var(--sigep-print-font-size-8); --sigep-ficha-table-cell-padding: 0.5px 2px; --sigep-ficha-table-line-height: 1.05; width: 100% !important; border-collapse: collapse !important; table-layout: fixed !important; font-size: var(--sigep-ficha-table-font-size) !important; }
.ficha-table th,.ficha-table td { border: 1px solid #000 !important; padding: var(--sigep-ficha-table-cell-padding) !important; vertical-align: middle !important; overflow: hidden; font-size: var(--sigep-ficha-table-font-size) !important; line-height: var(--sigep-ficha-table-line-height) !important; }
.ficha-table th { text-align: center !important; font-weight: 700 !important; font-size: var(--sigep-ficha-table-font-size) !important; background: #f1f1f1 !important; white-space: normal; word-break: break-word; }
.ficha-table td { white-space: normal; word-break: break-word; overflow-wrap: break-word; font-size: var(--sigep-ficha-table-font-size) !important; }
.ficha-table .col-n { width: 3.2%; text-align: center; }
.ficha-table .col-codigo { width: 7.5%; }
.ficha-table .col-denom { width: 25%; }
.ficha-table .col-marca,.ficha-table .col-modelo { width: 8%; }
.ficha-table .col-color { width: 7%; }
.ficha-table .col-serie { width: 9%; }
.ficha-table .col-dim { width: 8%; }
.ficha-table .col-sit { width: 5%; text-align: center; }
.ficha-table .col-estado { width: 8%; text-align: center; }
.ficha-table .col-obs { width: 11.3%; }
.ficha-footer { margin-top: 5px; font-size: var(--sigep-print-font-size-6-5); text-align: justify; line-height: 1.2; }
.ficha-footer p { margin: 1px 0; }
.ficha-consideraciones { margin-top: 2px; }
.ficha-consideraciones div { margin: 1px 0 0 6px; }
.ficha-signatures { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 88px; font-size: var(--sigep-print-font-size-7); text-align: center; }
.ficha-signatures .line { border-top: 1px solid #000; padding-top: 3px; font-weight: 800; width: 65%; margin: 0 auto; }
/* Pantalla e impresión usan las mismas hojas para conservar su numeración. */
#fichaLevantamiento[hidden] { display: none !important; }
.ficha-pages { --sigep-ficha-page-height: 209mm; width: 100%; overflow-x: auto; }
.ficha-pages--measuring { position: absolute; left: -100000px; top: 0; width: 297mm; visibility: hidden; pointer-events: none; }
.closure-page .ficha-document.ficha-sheet { width: 297mm !important; min-width: 297mm !important; max-width: 297mm !important; min-height: var(--sigep-ficha-page-height); box-sizing: border-box; padding: 10mm 10mm 8mm !important; margin: 0 0 12px !important; border: 0 !important; outline: 1px solid var(--sigep-border); overflow: visible !important; }
.ficha-sheet .ficha-head { margin-bottom: 2px; gap: 4px; }
.ficha-sheet .ficha-info { line-height: 1.15; }
.ficha-sheet .ficha-logo { height: 75px; }
.ficha-sheet :is(strong,b) { font-weight: 700 !important; }
.ficha-sheet .ficha-footer { margin-top: 4px; }
.ficha-sheet .ficha-signatures { padding-top: 80px !important; margin-top: 0 !important; gap: 12px; }
.btn-ficha-action { width: 35px !important; height: 35px !important; min-width: 35px !important; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; border: 1px solid transparent; font-size: var(--sigep-font-size-heading); cursor: pointer; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); text-decoration: none; position: relative; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
.btn-ficha-action i { transition: transform 0.2s ease; }
.btn-ficha-action:hover { transform: translateY(-2px) scale(1.05); }
.btn-ficha-action:hover i { transform: scale(1.1); }
.btn-ficha-action:active { transform: translateY(-0.5px) scale(0.96); }
.badge-ficha-ok,.badge-ficha-pend,.badge-ficha-cerrada { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; font-size: var(--sigep-font-size-table); font-weight: 700; }
.modal-backdrop { z-index: 20000 !important; }
/* Los lectores deben quedar por encima del backdrop global de los modales. */
.scanner-modal,body>.scanner-modal { z-index: 20010 !important; pointer-events: auto !important; }
.scanner-modal .modal-dialog,.scanner-modal .modal-content,.scanner-modal .modal-header,.scanner-modal .modal-body,.scanner-modal .modal-footer,.scanner-modal button,.scanner-modal label { pointer-events: auto !important; }
.scanner-modal .scanner-frame { pointer-events: none; }
@media (max-width: 767.98px), (max-height: 500px) {
  .scanner-modal .modal-dialog { margin: 8px auto; width: calc(100% - 16px); max-width: 500px; height: calc(100% - 16px); min-height: 0; }
  .scanner-modal .modal-content { max-height: 100%; }
  .scanner-modal .modal-header,.scanner-modal .modal-footer { padding: 8px 10px; }
  .scanner-modal .modal-body { min-height: 0; overflow-y: auto; padding: 10px; }
  .scanner-modal .scanner-box { max-height: 42vh; max-height: 42dvh; padding: 0 !important; margin-bottom: 8px !important; }
  .scanner-modal .modal-footer { gap: 6px; }
  .scanner-modal .modal-footer>.btn { flex: 1 1 auto; margin: 0; padding: 6px 8px; }
}
.quick-inventory-page #contextForm .row { --bs-gutter-x: 0.75rem; --bs-gutter-y: 0.45rem; display: grid !important; flex-wrap: wrap !important; align-items: end; gap: 0.75rem !important; }
.quick-inventory-page #contextForm .form-label { margin-bottom: 0.2rem !important; font-size: var(--sigep-font-size-table); }
.quick-inventory-page #contextForm .form-control,.quick-inventory-page #contextForm .form-select,.quick-inventory-page #contextForm .ts-wrapper { width: 100% !important; max-width: 100% !important; min-height: 38px; }
.quick-inventory-page #contextForm .form-control,.quick-inventory-page #contextForm .form-select { padding-top: 0.45rem; padding-bottom: 0.45rem; font-size: var(--sigep-font-size-text); width: 100% !important; }
.quick-inventory-page #contextForm .row>[class*="col-"] { width: 100% !important; max-width: none !important; flex: initial !important; }
body .swal2-container .swal2-popup,html .swal2-container .swal2-popup,.swal2-container .swal2-popup { background-color: #ffffff !important; background: #ffffff !important; border: none !important; border-radius: 16px !important; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important; color: #495057 !important; padding: 0 !important; overflow: hidden !important; font-family: var(--sigep-font) !important; max-width: 520px !important; width: 90% !important; }
body .swal2-container .swal2-title,html .swal2-container .swal2-title,.swal2-container .swal2-title { background-color: #dc3545 !important; color: #ffffff !important; margin: 0 !important; padding: 24px 24px 20px 24px !important; width: 100% !important; display: block !important; font-size: var(--sigep-message-title-font-size) !important; text-align: center !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }
body .swal2-container .swal2-html-container,html .swal2-container .swal2-html-container,.swal2-container .swal2-html-container { color: #495057 !important; font-size: var(--sigep-message-text-font-size) !important; line-height: 1.5 !important; padding: 24px 24px 16px 24px !important; margin: 0 !important; background-color: #ffffff !important; text-align: center !important; }
body .swal2-container .swal2-icon { display: none !important; }
body .swal2-container .swal2-input { background-color: #ffffff !important; border: 1px solid #ced4da !important; color: #495057 !important; border-radius: 8px !important; box-shadow: none !important; transition: border-color 0.2s !important; }
body .swal2-container .swal2-input:focus { border-color: #dc3545 !important; box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15) !important; }
body .swal2-container .swal2-close { color: rgba(255, 255, 255, 0.8) !important; background-color: rgba(247, 14, 14, 0.15) !important; border-radius: 50% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; position: absolute !important; margin: 0 !important; transition: background-color 0.2s, color 0.2s !important; }
body .swal2-container .swal2-close:hover { color: #ffffff !important; background-color: rgba(226, 3, 3, 0.3) !important; }
body .swal2-container .swal2-actions { background-color: #f8f9fa !important; border-top: 1px solid #dee2e6 !important; width: 100% !important; margin: 0 !important; display: flex !important; justify-content: center !important; }
body .swal2-container .swal2-styled.swal2-confirm { background: var(--sigep-btn-primary-bg) !important; color: var(--sigep-btn-primary-color) !important; -webkit-text-fill-color: currentColor; border: 2px solid var(--sigep-btn-primary-border) !important; border-radius: 50rem !important; font-size: var(--sigep-button-font-size) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; padding: 8px 24px !important; box-shadow: none !important; transition: background-color 0.2s, color 0.2s, border-color 0.2s !important; }
body .swal2-container .swal2-styled.swal2-confirm:hover { background-color: var(--sigep-btn-primary-hover-bg) !important; color: var(--sigep-btn-primary-color) !important; }
body .swal2-container .swal2-styled.swal2-cancel { background: var(--sigep-card-solid) !important; color: var(--sigep-text) !important; -webkit-text-fill-color: currentColor; border: 2px solid #6c757d !important; border-radius: 50rem !important; font-size: var(--sigep-button-font-size) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; padding: 8px 24px !important; box-shadow: none !important; transition: background-color 0.2s, color 0.2s, border-color 0.2s !important; }
body .swal2-container .swal2-styled.swal2-cancel:hover { background-color: var(--sigep-card-soft) !important; color: var(--sigep-text) !important; }
/* 6. UTILIDADES E IMPRESIÓN */
.sigep-confirm-card { font-size: var(--sigep-message-text-font-size); }
.sigep-confirm-card .sigep-confirm-title,.sigep-confirm-card>h2,.sigep-confirm-card>h3 { font-size: var(--sigep-message-title-font-size) !important; line-height: 1.3; }
.sigep-confirm-card p,.sigep-confirm-card .alert,.sigep-confirm-card .form-label,.sigep-confirm-card .form-control,.sigep-confirm-card .form-select,.sigep-confirm-card .form-text { font-size: var(--sigep-message-text-font-size); }
.sigep-confirm-card small,.sigep-confirm-card .small,.sigep-confirm-card .detail-label { font-size: var(--sigep-message-support-font-size); }
.sigep-confirm-card .btn { font-size: var(--sigep-button-font-size); }
.cleanup-migration-card { max-width: 980px; }
.cleanup-migration-summary { max-width: 920px; }
.cleanup-summary-column { overflow: hidden; border: 1px solid #d8e1ec; border-radius: 0.5rem; background: #fff; }
.cleanup-migration-summary td { padding: 0.28rem 0.45rem; color: #42526a; vertical-align: middle; }
.cleanup-migration-summary td:last-child { width: 4.5rem; color: #143968; }
.cleanup-migration-summary td:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cleanup-confirmation .form-label { margin-bottom: 0.2rem; }
.cleanup-confirmation .form-text { margin-top: 0.2rem; }
@media (max-width: 767.98px) {
  .cleanup-migration-summary .col-md-4:not(:first-child) { margin-top: 0.15rem; }
}
/* Detalle minimalista de incidencias, sin tarjetas por cada dato. */
.incidencia-detail-page { font-size: var(--sigep-message-text-font-size); }
.incidencia-detail-page .section-header { padding: 0.5rem 0.7rem !important; }
.incidencia-detail-page .section-header h3 { font-size: var(--sigep-message-title-font-size) !important; line-height: 1.2; }
.incidencia-detail-page .section-header span,.incidencia-detail-page .form-text,.incidencia-detail-page small,.incidencia-detail-page .small { font-size: var(--sigep-message-support-font-size) !important; }
.incidencia-detail-page .badge,.incidencia-detail-page .btn,.incidencia-detail-page .form-label,.incidencia-detail-page .form-control,.incidencia-detail-page .form-select,.incidencia-detail-page table { font-size: var(--sigep-button-font-size) !important; }
.incidence-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0.3rem 0.7rem 0.55rem; }
.incidence-fact { display: grid; grid-template-columns: minmax(105px, 34%) minmax(0, 1fr); align-items: baseline; gap: 0.45rem; min-width: 0; padding: 0.38rem 0.45rem; border-bottom: 1px solid var(--sigep-border); }
.incidence-fact span { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); font-weight: 600; line-height: 1.2; }
.incidence-fact strong { color: var(--sigep-text); font-size: var(--sigep-message-text-font-size); font-weight: 600 !important; line-height: 1.25; overflow-wrap: anywhere; }
.incidence-change-list { padding: 0.25rem 0.7rem 0.5rem; }
.incidence-change-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) 16px minmax(0, 1fr); align-items: center; gap: 0.45rem; padding: 0.42rem 0.45rem; border-bottom: 1px solid var(--sigep-border); font-size: var(--sigep-message-text-font-size); }
.incidence-change-row>strong { font-size: var(--sigep-message-support-font-size); color: var(--sigep-muted); }
.incidence-change-head { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); font-weight: 600; background: var(--sigep-bg-soft); }
.incidence-change-head span { text-decoration: none; }
.incidence-change-row>i { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); text-align: center; }
.incidence-old-value { padding: 0.2rem 0.4rem; border: 1px solid var(--sigep-notice-danger-border); border-radius: 6px; background: var(--sigep-notice-danger-bg); color: var(--sigep-notice-danger-text); }
.incidence-new-value { padding: 0.2rem 0.4rem; border: 1px solid var(--sigep-notice-success-border); border-radius: 6px; background: var(--sigep-notice-success-bg); color: var(--sigep-notice-success-text); font-weight: 600; }
.incidencia-detail-page .form-card { padding: 0.7rem !important; }
.incidencia-detail-page .form-card .mb-3 { margin-bottom: 0.6rem !important; }
@media (max-width: 767.98px) {
  .incidence-facts { grid-template-columns: 1fr; }
  .incidence-change-row { grid-template-columns: 82px minmax(0, 1fr); }
  .incidence-change-row>i { display: none; }
  .incidence-change-row .incidence-new-value { grid-column: 2; }
}
.mobile-overlay,.print-header { display: none; }
@media print {
  body { background: #fff !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }
  .sidebar,.topbar,.bottom-mobile-nav,.mobile-overlay,.no-print { display: none !important; }
  .content { margin-left: 0 !important; padding: 0 !important; display: block !important; width: 100% !important; max-width: 100% !important; min-width: 100% !important; }
  .main-area { padding: 0 !important; display: block !important; width: 100% !important; max-width: 100% !important; min-width: 100% !important; }
  .section-card { box-shadow: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
  .print-header { display: block; text-align: center; margin-bottom: 18px; }
  .print-header h2 { font-size: var(--sigep-print-font-size-18); font-weight: 900; margin: 0 0 6px; }
  .print-header p { margin: 2px 0; font-size: var(--sigep-print-font-size-12); }
  a[href]:after { content: "" !important; }
  html,body,table,td,th,p,span,div { font-family: var(--sigep-font) !important; font-weight: 400 !important; color: #f10a0a !important; text-shadow: none !important; }
  strong,b,th,h1,h2,h3,h4 { font-weight: 700 !important; }
  @page {
    size: A4 landscape;
    margin: 10mm 10mm 8mm 10mm;
  }
  /* Sin margen de página, el navegador no reserva espacio para fecha, URL ni pie automático. */
  @page sigep-ficha {
    size: A4 landscape;
    margin: 0;
    @top-left { content: ""; }
    @top-center { content: ""; }
    @top-right { content: ""; }
    @bottom-left { content: ""; }
    @bottom-center { content: ""; }
    @bottom-right { content: ""; }
  }
  .app-wrapper { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .sidebar,.topbar,.bottom-mobile-nav,.no-print,.mobile-overlay { display: none !important; }
  .ficha-document { border: 0 !important; padding: 0 !important; overflow: visible !important; font-size: var(--sigep-print-font-size-7); width: 100% !important; max-width: 100% !important; min-width: 100% !important; box-sizing: border-box !important; margin: 0 !important; }
  body:has(.ficha-document) { page: sigep-ficha; }
  .closure-page .ficha-document { padding: 10mm 10mm 8mm !important; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
  .ficha-pages { overflow: visible; }
  body:has(.ficha-pages),.app-wrapper:has(.ficha-pages),.content:has(.ficha-pages) { height: auto !important; min-height: 0 !important; }
  .closure-page .ficha-document.ficha-sheet { height: auto !important; min-height: 0 !important; margin: 0 !important; outline: 0; break-before: page; page-break-before: always; break-after: auto; page-break-after: auto; break-inside: avoid; box-decoration-break: slice; -webkit-box-decoration-break: slice; }
  .closure-page .ficha-document.ficha-sheet:first-child { break-before: auto; page-break-before: auto; }
  .ficha-head { margin-bottom: 2px; gap: 4px; width: 100% !important; break-inside: avoid; }
  .ficha-info { font-size: var(--sigep-print-font-size-7); line-height: 1.15; }
  .ficha-title-block .anexo { font-size: var(--sigep-print-font-size-7); }
  .ficha-title-block h1 { font-size: var(--sigep-print-font-size-7-5); }
  .ficha-title-block div { font-size: var(--sigep-print-font-size-7); }
  .ficha-right { font-size: var(--sigep-print-font-size-6-5); }
  .ficha-logo { max-width: 100%; height: 75px; }
  .ficha-table { width: 100% !important; page-break-inside: auto; }
  .ficha-table tr { page-break-inside: avoid; page-break-after: auto; }
  .ficha-footer { position: relative; margin-top: 4px; font-size: var(--sigep-print-font-size-6-5); background: #fff; break-inside: avoid; width: 100% !important; }
  .ficha-signatures { padding-top: 80px !important; margin-top: 0 !important; gap: 12px; font-size: var(--sigep-print-font-size-7); break-inside: avoid; }
}
@media (max-width: 991.98px) {
  .inventory-office-filters { grid-template-columns: 1fr; padding: 14px; }
  .filter-actions { justify-content: stretch; }
  .filter-actions .av-btn { flex: 1; }
  .av-actions { width: 100%; }
  .office-mobile-card .av-actions .av-btn { flex: 1; }
  .pagination-bar { flex-direction: column; align-items: stretch; }
  .pagination-bar .av-btn { width: 100%; }
  .duplicate-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .quick-search-box { grid-template-columns: 1fr; }
  .quick-search-btn { min-height: 46px; width: 100%; }
  .quick-search-box,.quick-inventory-page .quick-search-box { display: flex !important; grid-template-columns: none !important; flex-direction: row !important; }
  .quick-search-box .quick-search-btn,.quick-inventory-page .quick-search-btn { width: 42px !important; min-width: 42px !important; max-width: 42px !important; }
}
@media (max-width: 575.98px) {
  .duplicate-detail-header { flex-direction: column; }
  .duplicate-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1199.98px) {
  .inventory-dashboard-stats,.inventory-dashboard-grid,.inventory-report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .inventory-dashboard-sync { grid-template-columns: 1fr; flex-direction: column; align-items: stretch; }
  .inventory-dashboard-stats,.inventory-dashboard-grid,.inventory-report-grid { grid-template-columns: 1fr; }
  .section-card form[method="get"] .row>[class*="col-"],.hero-panel form[method="get"] .row>[class*="col-"],.section-card form[method="get"] .form-control,.section-card form[method="get"] .form-select,.hero-panel form[method="get"] .form-control,.hero-panel form[method="get"] .form-select,.section-card form[method="get"] input[type="search"],.section-card form[method="get"] input[name="q"],.hero-panel form[method="get"] input[type="search"],.hero-panel form[method="get"] input[name="q"],.section-card form[method="get"] select,.hero-panel form[method="get"] select,.section-card form[method="get"] input[type="text"],.hero-panel form[method="get"] input[type="text"],.section-card form[method="get"] input[type="date"],.hero-panel form[method="get"] input[type="date"],.section-card form[method="get"] input[type="number"],.hero-panel form[method="get"] input[type="number"],.quick-inventory-page #contextForm .form-control,.quick-inventory-page #contextForm .form-select { width: 100% !important; }
  .inventory-office-filters,.quick-inventory-page #contextForm .row { grid-template-columns: 1fr !important; }
  .section-card form[method="get"] .d-grid,.hero-panel form[method="get"] .d-grid,.section-card form[method="get"] .btn,.hero-panel form[method="get"] .btn { width: 100% !important; }
}
@media (min-width: 768px) {
  .section-card form[method="get"] .row>.col-md-3 { width: 25% !important; }
  .section-card form[method="get"] .row>.col-md-9 { width: 75% !important; }
}
/* Accounting reconciliation summary row styling */
.table-summary-row td { background-color: var(--sigep-card-soft) !important; border-top: 2px solid var(--sigep-border) !important; border-bottom: 2px solid var(--sigep-border) !important; }
/* Prevent action buttons from wrapping to multiple rows inside tables */
.table .av-actions,.table .table-actions { flex-wrap: nowrap !important; min-width: max-content !important; }
/* Acciones de Tabla: Iconos Normalizados */
.table-actions,.mobile-actions,.av-actions { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 0.38rem !important; flex-wrap: nowrap !important; }
.table-actions form,.mobile-actions form,.av-actions form { display: inline-flex !important; margin: 0 !important; }
.table-actions .btn,.mobile-actions .btn,.av-actions .btn,.table-actions .av-icon-btn,.mobile-actions .av-icon-btn,.av-actions .av-icon-btn,.av-icon-btn { width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important; padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 32px !important; border-width: 1px !important; border-style: solid !important; border-radius: 8px !important; background: rgba(15, 35, 58, 0.72) !important; border-color: rgba(120, 144, 173, 0.42) !important; color: #d8e0eb !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045) !important; outline: 0 !important; text-decoration: none !important; vertical-align: middle !important; }
.table-actions .btn i,.mobile-actions .btn i,.av-actions .btn i,.av-icon-btn i { margin: 0 !important; color: currentColor !important; font-size: var(--sigep-font-size-text) !important; line-height: 1 !important; }
.table-actions .av-icon-edit,.mobile-actions .av-icon-edit,.av-actions .av-icon-edit,.table-actions .btn-outline-primary,.mobile-actions .btn-outline-primary,.av-actions .btn-outline-primary,.table-actions .av-icon-info,.mobile-actions .av-icon-info,.av-actions .av-icon-info { background: rgba(14, 116, 144, 0.16) !important; border-color: rgba(56, 189, 248, 0.48) !important; color: #38bdf8 !important; }

.table-actions .av-icon-danger,.mobile-actions .av-icon-danger,.av-actions .av-icon-danger,.table-actions .btn-outline-danger,.mobile-actions .btn-outline-danger,.av-actions .btn-outline-danger,.table-actions .av-icon-lock,.mobile-actions .av-icon-lock,.av-actions .av-icon-lock { background: var(--sigep-btn-danger-bg) !important; border-color: var(--sigep-btn-danger-border) !important; color: var(--sigep-btn-danger-color) !important; }
.table-actions .btn:hover,.mobile-actions .btn:hover,.av-actions .btn:hover,.av-icon-btn:hover { transform: translateY(-1px) !important; background: rgba(24, 45, 71, 0.92) !important; border-color: rgba(190, 207, 225, 0.62) !important; color: #ffffff !important; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18) !important; }
.table-actions .btn:focus-visible,.mobile-actions .btn:focus-visible,.av-actions .btn:focus-visible,.av-icon-btn:focus-visible { border-color: #d7b76a !important; box-shadow: 0 0 0 0.16rem rgba(215, 183, 106, 0.22) !important; }
.table-actions .btn:disabled,.mobile-actions .btn:disabled,.av-actions .btn:disabled,.av-icon-btn:disabled,.av-icon-btn.disabled { opacity: 0.46 !important; transform: none !important; box-shadow: none !important; }
/* SIGEP UI 2.0 - Hero Panel and Button Styles */
.hero-panel { position: relative; padding: 1.5rem 2rem; border-radius: 16px; box-shadow: 0 16px 36px rgba(0, 0, 0, 0.2); color: #ffffff !important; }
.hero-panel h2,.hero-panel h2 i { color: var(--sigep-sidebar-gold, #f5c451) !important; font-size: var(--sigep-font-size-display-sm) !important; font-weight: 800 !important; margin-bottom: 0.5rem !important; }
.hero-panel p { color: rgba(255, 255, 255, 0.85) !important; margin-bottom: 0.5rem !important; }
.hero-panel p.small { color: rgba(255, 255, 255, 0.6) !important; }
.hero-panel .btn-hero { display: inline-flex; align-items: center; padding: 0.5rem 1.25rem; font-size: var(--sigep-font-size-heading); font-weight: 700; border-radius: 999px; background: linear-gradient(135deg, #fbbf24, #f5c451) !important; color: #031126 !important; border: 1px solid #fbbf24 !important; text-decoration: none; transition: all 0.2s ease; }
.hero-panel .btn-hero:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(245, 196, 81, 0.3); color: #031126 !important; }
.hero-panel .btn-hero-outline { display: inline-flex; align-items: center; padding: 0.5rem 1.25rem; font-size: var(--sigep-font-size-heading); font-weight: 700; border-radius: 999px; background: rgba(255, 255, 255, 0.08) !important; color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.25) !important; text-decoration: none; transition: all 0.2s ease; }
.hero-panel .btn-hero-outline:hover { background: rgba(255, 255, 255, 0.15) !important; border-color: rgba(255, 255, 255, 0.4) !important; transform: translateY(-1px); color: #ffffff !important; }
/* Quick Hero Customizations */
.quick-inventory-page .quick-hero { position: relative; border-radius: 12px !important; color: #ffffff !important; }
.quick-inventory-page .quick-hero .btn-hero-outline { display: inline-flex; align-items: center; font-weight: 700 !important; border-radius: 999px !important; background: rgba(255, 255, 255, 0.08) !important; color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.25) !important; text-decoration: none; transition: all 0.2s ease; }
.quick-inventory-page .quick-hero .btn-hero-outline:hover { background: rgba(255, 255, 255, 0.15) !important; border-color: rgba(255, 255, 255, 0.4) !important; transform: translateY(-1px); color: #ffffff !important; }
/* Modulo de Conciliacion: Estilos para texto normal en tablas */
.page-conciliacion table,.page-conciliacion table th,.page-conciliacion table td,.page-conciliacion table strong,.page-conciliacion table b,.page-conciliacion table .fw-bold { font-weight: 400 !important; }
/* Sidebar Collapse (Desktop) */
@media (min-width: 992px) {
  html:not(.sidebar-collapsed) #btnMenu { display: none !important; }
  .sidebar-collapsed .sidebar { transform: translateX(-100%); }
  .sidebar-collapsed .content { margin-left: 0; }
  .sidebar-collapsed .btn-menu-mobile { display: inline-grid !important; place-items: center; margin-right: 15px; }
}
#toggleSidebar { color: var(--sigep-sidebar-gold, #f5c451) !important; font-size: var(--sigep-font-size-title); transition: transform 0.2s ease, opacity 0.2s ease; opacity: 0.85; border: none; box-shadow: none; text-decoration: none; background: transparent; padding: 0; }
#toggleSidebar:hover { opacity: 1; transform: scale(1.15); }
/* Contraste consistente para el modo claro */
/* Estandarización: botones con colores sólidos, sin degradados */
.btn,.btn-danger,.btn-primary,.btn-success,.btn-warning,.btn-info,.btn-secondary,.btn-outline-danger,.btn-outline-primary,.btn-outline-success,.btn-outline-warning,.btn-outline-secondary,.av-btn,.av-icon-btn,button[class*="btn-"] { background-image: none !important; }
/* Configuración compacta */
.configuracion-page .section-card { padding: 10px 14px !important; }
.configuracion-page .section-header { padding: 8px 12px !important; }
.configuracion-page .form-label { line-height: 1.1; }
.configuracion-page .form-control-sm,.configuracion-page .form-select-sm { min-height: 32px !important; height: 32px !important; padding: 4px 8px !important; font-size: var(--sigep-filter-font-size) !important; }
/* La configuración comparte la escala tipográfica global del sistema. */
.configuracion-page :is(.form-label,.form-check-label,.small,small) { font-size: var(--sigep-filter-font-size) !important; }
.configuracion-page .row.g-3 { row-gap: .45rem !important; }
.configuracion-page .row.g-4 { row-gap: .65rem !important; }
/* Configuración: una acción de guardado y formularios compactos. */
.configuracion-page.config-redesign .config-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem); gap: .65rem; margin: 0; padding: 0; border: 0; min-width: 0; }
.config-redesign :is(.config-main,.config-side) { display: flex; flex-direction: column; gap: .65rem; min-width: 0; }
.configuracion-page.config-redesign .config-panel { padding: 0 !important; margin: 0 !important; border-radius: 9px !important; box-shadow: none; }
.configuracion-page.config-redesign .section-header { min-height: 30px !important; padding: .3rem .65rem !important; border-radius: 0 !important; }
.config-redesign .config-panel-body { padding: .6rem .7rem; }
.configuracion-page.config-redesign .form-label { display: block; margin-bottom: 2px !important; color: var(--sigep-text) !important; font-weight: 600 !important; line-height: 1.15 !important; }
.configuracion-page.config-redesign .form-control-sm { height: 29px !important; min-height: 29px !important; border-radius: 6px !important; padding: 3px 7px !important; }
.config-redesign .config-logo-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: .6rem; }
.config-redesign .config-logo-preview { display: grid; place-items: center; height: 64px; border: 1px dashed var(--sigep-border); border-radius: 8px; background: var(--sigep-card-soft); overflow: hidden; }
.config-redesign .config-logo-preview img { width: 56px; height: 56px; object-fit: contain; }
.config-redesign .config-logo-placeholder { display: grid; justify-items: center; gap: 3px; color: var(--sigep-muted); }
.config-redesign .config-logo-placeholder i { font-size: 20px; }
.config-redesign .config-logo-preview [hidden] { display: none !important; }
.config-redesign .config-logo-upload { min-width: 0; }
.config-redesign .config-logo-upload small { margin-top: 4px; line-height: 1.2; }
.config-redesign .config-logo-remove { margin: .4rem 0 0; min-height: 20px; }
.config-redesign .config-panel-body .form-switch { display: flex; align-items: center; gap: .4rem; width: 100%; padding: .3rem .45rem; margin: 0; background: var(--sigep-card-soft); border: 1px solid var(--sigep-border); border-radius: 6px; }
.config-redesign .config-panel-body .form-switch .form-check-input { flex: 0 0 auto; margin: 0 !important; }
.config-redesign .config-disclosure summary { display: flex; align-items: center; gap: .5rem; list-style: none; cursor: pointer; padding: .5rem .65rem; font-size: var(--sigep-filter-font-size); font-weight: 700; color: var(--sigep-text); }
.config-redesign .config-disclosure summary::-webkit-details-marker { display: none; }
.config-redesign .config-disclosure summary>span:first-child { flex: 1; }
.config-redesign .config-disclosure summary>i { font-size: 9px; color: var(--sigep-muted); transition: transform .15s; }
.config-redesign .config-disclosure[open] summary { border-bottom: 1px solid var(--sigep-border); }
.config-redesign .config-disclosure[open] summary>i { transform: rotate(180deg); }
.config-redesign .config-disclosure summary:focus-visible { outline: 2px solid var(--sigep-primary); outline-offset: -2px; }
.config-redesign .config-disclosure-count { padding: 1px 5px; border-radius: 4px; background: var(--sigep-card-soft); color: var(--sigep-muted); }
.config-redesign .config-technical-list { margin: 0; font-size: var(--sigep-filter-font-size); }
.config-redesign .config-technical-list>div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; padding: .3rem 0; border-bottom: 1px solid var(--sigep-border); }
.config-redesign .config-technical-list>div:last-child { border: 0; }
.config-redesign .config-technical-list :is(dt,dd) { margin: 0; overflow-wrap: anywhere; }
.config-redesign .config-technical-list dt { font-weight: 400; color: var(--sigep-muted); }
.config-redesign .config-technical-list dd { font-weight: 600; max-width: 10rem; text-align: right; }
@media (max-width: 1199.98px) {
  .configuracion-page.config-redesign .config-layout { grid-template-columns: minmax(0, 1fr); }
  .config-redesign .config-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .config-redesign .config-side>.config-panel:first-child { grid-row: span 2; }
}
@media (max-width: 575.98px) {
  .config-redesign .config-side { display: flex; }
  .topbar:has([form="configInstitucional"]) { flex-wrap: wrap; gap: .35rem; }
  .topbar:has([form="configInstitucional"]) .topbar-actions { margin-left: auto; }
  .config-redesign .config-panel-body { padding: .5rem .55rem; }
}
.inventory-dashboard-primary { border-color: #2563eb !important; background: linear-gradient(135deg, #3b82f6, #2563eb) !important; color: #ffffff !important; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15); }
.inventory-dashboard-primary:hover { background: linear-gradient(135deg, #2563eb, #1d4ed8) !important; box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25); }
.inventory-stat-mini,.inventory-dashboard-card,.inventory-report-card { border-color: rgba(148, 163, 184, 0.25) !important; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important; box-shadow: 0 8px 20px rgba(148, 163, 184, 0.06); }
.inventory-stat-mini:hover,.inventory-dashboard-card:hover,.inventory-report-card:hover { box-shadow: 0 12px 24px rgba(148, 163, 184, 0.14); }
.inventory-stat-mini::after,.inventory-dashboard-icon,.inventory-report-card i { background: color-mix(in srgb, var(--inventory-stat-accent, var(--inventory-card-accent, var(--report-accent, #3b82f6))) 6%, #ffffff) !important; border-color: color-mix(in srgb, var(--inventory-stat-accent, var(--inventory-card-accent, var(--report-accent, #3b82f6))) 22%, transparent) !important; }
.inventory-stat-mini:nth-child(1) { --inventory-stat-accent: #0284c7 !important; }
.inventory-stat-mini:nth-child(2) { --inventory-stat-accent: #16a34a !important; }
.inventory-stat-mini:nth-child(3) { --inventory-stat-accent: #2563eb !important; }
.inventory-stat-mini:nth-child(4) { --inventory-stat-accent: #dc2626 !important; }
.inventory-stat-mini small { color: color-mix(in srgb, var(--inventory-stat-accent) 85%, #000000) !important; }
.inventory-dashboard-link:hover { border-color: var(--inventory-card-accent) !important; }
.inventory-dashboard-link.is-primary { border-color: color-mix(in srgb, var(--inventory-card-accent) 30%, rgba(148, 163, 184, 0.25)) !important; background: color-mix(in srgb, var(--inventory-card-accent) 4%, #ffffff) !important; }
.inventory-dashboard-link.is-primary:hover { background: color-mix(in srgb, var(--inventory-card-accent) 10%, #ffffff) !important; color: #1d4ed8 !important; }
.inventory-reports-card .section-header { border-bottom: 1px solid rgba(148, 163, 184, 0.25); }
/* AJUSTES FINALES DE COMPONENTES */
.badge-ficha-ok { background: rgba(22, 163, 74, 0.08) !important; color: #16a34a !important; border: 1px solid rgba(22, 163, 74, 0.25) !important; }
.badge-ficha-pend { background: rgba(217, 119, 6, 0.08) !important; color: #d97706 !important; border: 1px solid rgba(217, 119, 6, 0.25) !important; }
.badge-ficha-cerrada { background: rgba(220, 38, 38, 0.08) !important; color: #dc2626 !important; border: 1px solid rgba(220, 38, 38, 0.25) !important; }
.table-actions .btn,.mobile-actions .btn,.av-actions .btn,.av-icon-btn { background: var(--sigep-btn-secondary-bg) !important; border-color: var(--sigep-btn-secondary-border) !important; color: var(--sigep-btn-secondary-color) !important; box-shadow: var(--sigep-btn-secondary-shadow) !important; }
.table-actions .av-icon-edit,.mobile-actions .av-icon-edit,.av-actions .av-icon-edit,.table-actions .av-icon-info,.mobile-actions .av-icon-info,.av-actions .av-icon-info { background: var(--sigep-btn-edit-bg) !important; border-color: var(--sigep-btn-edit-border) !important; color: var(--sigep-btn-edit-color) !important; }
.table-actions .av-icon-warning,.mobile-actions .av-icon-warning,.av-actions .av-icon-warning { background: var(--sigep-btn-warning-bg) !important; border-color: var(--sigep-btn-warning-border) !important; color: var(--sigep-btn-warning-color) !important; }
.table-actions .av-icon-danger,.mobile-actions .av-icon-danger,.av-actions .av-icon-danger { background: var(--sigep-btn-danger-bg) !important; border-color: var(--sigep-btn-danger-border) !important; color: var(--sigep-btn-danger-color) !important; }
.table-actions .av-icon-lock,.mobile-actions .av-icon-lock,.av-actions .av-icon-lock { background: var(--sigep-btn-lock-bg) !important; border-color: var(--sigep-btn-lock-border) !important; color: var(--sigep-btn-lock-color) !important; }
.hero-panel { background: linear-gradient(135deg, #0f2d59 0%, #1e40af 100%) !important; border: 1px solid rgba(15, 45, 89, 0.25) !important; }
.hero-panel h2,.hero-panel h2 i { color: #fde68a !important; }
.quick-inventory-page .quick-hero { margin-bottom: 0.55rem !important; }
.quick-inventory-page .quick-hero #contextForm { margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.quick-inventory-page .quick-hero .btn-hero-outline { min-height: 27px !important; padding: 0.25rem 0.65rem !important; font-size: var(--sigep-font-size-table) !important; }
.quick-inventory-page .quick-hero .form-label,.quick-inventory-page .quick-hero .form-label.text-dark { color: #eaf2ff !important; font-weight: 700 !important; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25); }
.quick-inventory-page .quick-hero .quick-context-select { color: #0f172a !important; background: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.75) !important; }
.quick-inventory-page .quick-hero .quick-context-select:disabled { color: #475569 !important; background: #e2e8f0 !important; opacity: 1; }
/* Panel compacto de busqueda del registro rapido */
.quick-inventory-page .quick-search-card { overflow: hidden; border: 1px solid #cbd9e8; border-radius: 10px !important; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08); }
.quick-inventory-page .quick-search-card>.section-header { min-height: 28px; padding: 4px 10px !important; background: linear-gradient(90deg, #dbe8f6, #e9f1fa); border-bottom: 1px solid #c5d7e9; }
.quick-inventory-page .quick-search-card>.section-header h3 { margin: 0; color: #12304f; font-size: var(--sigep-font-size-support); line-height: 1.15; }
.quick-inventory-page .quick-search-card .quick-unified-search-form { padding: var(--sigep-filter-section-padding) !important; border-radius: var(--sigep-filter-control-radius); }
.quick-inventory-page .quick-search-card .quick-search-btn { flex: 0 0 32px; width: 32px; min-width: 32px; height: 32px; min-height: 32px; border-radius: 7px !important; border-color: var(--sigep-btn-warning-solid-border) !important; background: var(--sigep-btn-warning-solid-bg) !important; background-image: none !important; color: var(--sigep-btn-warning-solid-color) !important; box-shadow: none; }
.quick-inventory-page .quick-search-card .quick-search-btn i { color: var(--sigep-btn-warning-solid-color) !important; }
.quick-inventory-page .quick-search-card .quick-search-btn:hover,.quick-inventory-page .quick-search-card .quick-search-btn:focus { border-color: var(--sigep-btn-warning-solid-border) !important; background: var(--sigep-btn-warning-solid-hover-bg) !important; background-image: none !important; }
.quick-inventory-page .quick-search-card>.px-3,.quick-inventory-page .quick-table-content { padding-right: 10px !important; padding-left: 10px !important; padding-bottom: 6px !important; }
.quick-inventory-page .quick-search-card .quick-result-note { margin-bottom: 0 !important; padding: 5px 8px !important; border-radius: 7px !important; font-size: var(--sigep-font-size-table); line-height: 1.2; }
.quick-inventory-page .quick-search-card>.px-3 .quick-result-note.mb-2 { margin-bottom: 6px !important; }
.quick-inventory-page .quick-search-card>.px-3 .btn.w-100 { min-height: 30px; padding: 4px 10px; font-size: var(--sigep-font-size-table); }
@media (max-width: 767.98px) {
  .quick-search-toolbar { grid-template-columns: minmax(8rem, 1fr) minmax(0, 2fr); }
  .quick-search-tools { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
  .quick-search-toolbar { grid-template-columns: minmax(0, 1fr); }
}
body::before { background-image: linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px); opacity: 0.28; }
.inventory-dashboard-secondary { background: #ffffff !important; border-color: rgba(71, 85, 105, 0.3) !important; color: #334155 !important; }
.inventory-dashboard-secondary:hover { background: #f8fafc !important; border-color: #2563eb !important; color: #1d4ed8 !important; }
.inventory-stat-mini,.inventory-dashboard-card { background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important; border-color: rgba(71, 85, 105, 0.2) !important; color: #0f172a !important; box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important; }
.inventory-stat-mini span,.inventory-stat-mini small { color: #475569 !important; }
.inventory-stat-mini strong { color: #0f172a !important; }
.inventory-dashboard-card p { color: #475569 !important; }
.inventory-dashboard-link { background: #ffffff !important; border-color: rgba(71, 85, 105, 0.2) !important; color: #334155 !important; }
.inventory-dashboard-link:hover { background: #f8fafc !important; color: #0f172a !important; }
.inventory-dashboard-link.is-primary { color: color-mix(in srgb, var(--inventory-card-accent) 85%, #0f172a) !important; }
.inventory-report-card { background: #ffffff !important; border-color: rgba(71, 85, 105, 0.18) !important; color: #334155 !important; box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07) !important; }
.inventory-report-card strong { color: #0f172a !important; }
.inventory-report-card span { color: #64748b !important; }
.inventory-report-card:hover { background: #f8fafc !important; color: #0f172a !important; }
.inventory-reports-card { background: #ffffff !important; border-color: rgba(71, 85, 105, 0.2) !important; }
.inventory-reports-card .section-header { background: #f8fafc !important; border-bottom-color: rgba(71, 85, 105, 0.18) !important; color: #0f172a !important; }
/* INVENTARIO: PALETA DE PANELES CLARA */
.inventory-dashboard-page .inventory-dashboard-secondary { border: 1px solid #aac7e5 !important; background: rgba(255, 255, 255, 0.88) !important; color: #174a7c !important; box-shadow: 0 3px 8px rgba(15, 45, 89, 0.08); }
.inventory-dashboard-page .inventory-dashboard-secondary:hover,.inventory-dashboard-page .inventory-dashboard-secondary:focus { border-color: #2563eb !important; background: #ffffff !important; color: #1d4ed8 !important; }
.inventory-dashboard-page .inventory-dashboard-action-icon.is-danger { border-color: var(--sigep-btn-danger-border) !important; color: var(--sigep-btn-danger-color) !important; }
.inventory-dashboard-page .inventory-dashboard-action-icon.is-danger:hover,.inventory-dashboard-page .inventory-dashboard-action-icon.is-danger:focus { border-color: var(--sigep-btn-danger-hover-border) !important; background: var(--sigep-btn-danger-hover-bg) !important; color: var(--sigep-btn-danger-hover-color) !important; }
.inventory-dashboard-page .inventory-stat-mini { border-width: 1px !important; box-shadow: 0 8px 18px rgba(15, 45, 89, .08) !important; }
.inventory-dashboard-page .inventory-stat-mini:nth-child(1) { background: linear-gradient(135deg, #f6fbff 0%, #e8f6ff 100%) !important; border-color: #b6e2fa !important; }
.inventory-dashboard-page .inventory-stat-mini:nth-child(2) { background: linear-gradient(135deg, #f5fffa 0%, #e7faef 100%) !important; border-color: #b8ebce !important; }
.inventory-dashboard-page .inventory-stat-mini:nth-child(3) { background: linear-gradient(135deg, #f6f9ff 0%, #eaf1ff 100%) !important; border-color: #c6d9ff !important; }
.inventory-dashboard-page .inventory-stat-mini:nth-child(4) { background: linear-gradient(135deg, #fff8f8 0%, #ffedf0 100%) !important; border-color: #ffc5cc !important; }
.inventory-dashboard-page .inventory-dashboard-card { box-shadow: 0 10px 22px rgba(15, 45, 89, .08) !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(1) { background: linear-gradient(135deg, #f7fcff 0%, #e9f7ff 100%) !important; border-color: #bae3fa !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(2) { background: linear-gradient(135deg, #f7fffb 0%, #e9fbf1 100%) !important; border-color: #bcecd3 !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(3) { background: linear-gradient(135deg, #fffdf7 0%, #fff6df 100%) !important; border-color: #f4d89c !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(1) .inventory-dashboard-icon,.inventory-dashboard-page .inventory-dashboard-card:nth-child(1) .inventory-dashboard-link.is-primary { background: #e4f5ff !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(2) .inventory-dashboard-icon,.inventory-dashboard-page .inventory-dashboard-card:nth-child(2) .inventory-dashboard-link.is-primary { background: #e3faed !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(3) .inventory-dashboard-icon,.inventory-dashboard-page .inventory-dashboard-card:nth-child(3) .inventory-dashboard-link.is-primary { background: #fff4d8 !important; }
.inventory-dashboard-page .inventory-reports-card { background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important; border-color: #d6e3ef !important; }
.inventory-dashboard-page .inventory-report-card:nth-child(1) { background: linear-gradient(135deg, #f7fcff 0%, #e9f7ff 100%) !important; border-color: #bae3fa !important; }
.inventory-dashboard-page .inventory-report-card:nth-child(2) { background: linear-gradient(135deg, #f7fffb 0%, #e9fbf1 100%) !important; border-color: #bcecd3 !important; }
.inventory-dashboard-page .inventory-report-card:nth-child(3) { background: linear-gradient(135deg, #fff9f9 0%, #fff0f1 100%) !important; border-color: #ffc7cc !important; }
.inventory-dashboard-page .inventory-dashboard-card h4,.inventory-dashboard-page .inventory-dashboard-card p,.inventory-dashboard-page .inventory-dashboard-link,.inventory-dashboard-page .inventory-report-card strong,.inventory-dashboard-page .inventory-report-card span { color: #18324c !important; }
/* Acciones del tablero: contraste alto y jerarquía evidente. */
.inventory-dashboard-page .inventory-dashboard-link { border: 1px solid color-mix(in srgb, var(--inventory-card-accent) 52%, #9eb6ca) !important; background: rgba(255, 255, 255, .88) !important; box-shadow: 0 2px 5px rgba(15, 45, 89, .06) !important; font-weight: 750; }
.inventory-dashboard-page .inventory-dashboard-link.is-primary { background: color-mix(in srgb, var(--inventory-card-accent) 20%, #ffffff) !important; border-color: var(--inventory-card-accent) !important; box-shadow: 0 4px 10px color-mix(in srgb, var(--inventory-card-accent) 20%, transparent) !important; }
.inventory-dashboard-page .inventory-dashboard-link i { display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--inventory-card-accent) 18%, #ffffff); color: color-mix(in srgb, var(--inventory-card-accent) 86%, #18324c) !important; }
.inventory-dashboard-page .inventory-dashboard-link:hover { transform: translateX(4px); background: color-mix(in srgb, var(--inventory-card-accent) 28%, #ffffff) !important; box-shadow: 0 7px 14px color-mix(in srgb, var(--inventory-card-accent) 20%, transparent) !important; }
.inventory-dashboard-page a.inventory-report-card { cursor: pointer; }
.inventory-dashboard-page a.inventory-report-card strong::after { content: "Abrir  →"; display: block; margin-top: .3rem; color: color-mix(in srgb, var(--report-accent) 85%, #18324c) !important; font-size: var(--sigep-font-size-table); font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.inventory-dashboard-page a.inventory-report-card:hover strong::after { text-decoration: underline; text-underline-offset: 3px; }
/* NAVEGACIÓN Y SHELL */
html { color-scheme: light; }
/* PANEL LATERAL: AZUL OSCURO PERMANENTE */
.sidebar { background: #101828 !important; color: #FB2C36 !important; border-right-color: rgba(125, 211, 252, .20) !important; box-shadow: 12px 0 30px rgba(7, 27, 58, .20) !important; }
.sidebar-brand,.brand { border-bottom-color: rgba(148, 163, 184, .20) !important; }
.brand strong,.user-box strong { color: #ffffff !important; }
.brand span,.menu-label,.user-box span { color: var(--sigep-sidebar-menu-text) !important; }
.side-menu a,.menu-link { color: var(--sigep-sidebar-menu-text) !important; min-height: 24px; margin-bottom: 0; padding: 2px 7px !important; }
.sidebar-submenu-toggle { width: 100%; border: 1px solid transparent; background: transparent; text-align: left; flex-wrap: nowrap; }
.sidebar-submenu-toggle .sidebar-submenu-label { flex: 1; min-width: 0; white-space: nowrap; }
.sidebar-submenu-toggle .nav-icon { flex: 0 0 22px; width: 22px !important; height: 22px !important; min-width: 22px !important; }
.sidebar-submenu-chevron { flex: 0 0 auto; width: 12px !important; margin-left: auto; font-size: var(--sigep-font-size-table); text-align: center; transition: transform 0.18s ease; }
.sidebar-submenu.is-open .sidebar-submenu-chevron { transform: rotate(180deg); }
.sidebar-submenu-items { margin: 1px 0 4px 14px; padding-left: 7px; border-left: 1px solid rgba(125, 211, 252, 0.24); }
.sidebar-submenu-items[hidden] { display: none !important; }
.sidebar-submenu-link { min-height: 23px !important; font-size: var(--sigep-filter-font-size) !important; }
.sidebar-submenu-link .nav-icon { width: 19px !important; height: 19px !important; min-width: 19px !important; }
.side-menu a:hover,.side-menu a.active,.menu-link:hover,.menu-link.active { color: var(--sigep-sidebar-menu-text) !important; background: rgba(56, 189, 248, .13) !important; border-color: rgba(56, 189, 248, .32) !important; box-shadow: inset 3px 0 0 #38bdf8 !important; }
.nav-icon,.side-menu a .nav-icon { color: #7dd3fc !important; background: rgba(56, 189, 248, .10) !important; border-color: rgba(125, 211, 252, .24) !important; }
.side-menu a:hover .nav-icon,.side-menu a.active .nav-icon,.menu-link:hover .nav-icon,.menu-link.active .nav-icon { color: #f5c451 !important; background: rgba(245, 196, 81, .15) !important; border-color: rgba(245, 196, 81, .38) !important; }
/* El hover y el foco de teclado se distinguen de la página seleccionada. */
html body .sidebar-menu .menu-link:hover:not(.active) { background: var(--sigep-btn-nav-hover-bg) !important; border-color: var(--sigep-btn-nav-hover-border) !important; box-shadow: none !important; }
html body .sidebar-menu .menu-link:hover:not(.active) .nav-icon { color: var(--sigep-btn-nav-icon-color) !important; background: var(--sigep-btn-nav-icon-bg) !important; border-color: var(--sigep-btn-nav-icon-border) !important; }
html body .sidebar-menu .menu-link:focus-visible { outline: 2px solid var(--sigep-btn-nav-focus-color); outline-offset: 1px; }
.sidebar-footer { border-top-color: rgba(148, 163, 184, .20) !important; }
.user-box { background: rgba(255, 255, 255, .07) !important; border-color: rgba(148, 163, 184, .22) !important; }
.user-box .avatar { background: linear-gradient(135deg, #38bdf8, #2563eb) !important; color: #ffffff !important; }
.sidebar-footer .logout { color: #fecaca !important; }
.sidebar-footer .logout .nav-icon { color: #fda4af !important; background: rgba(248, 113, 113, .12) !important; border-color: rgba(248, 113, 113, .25) !important; }
#btnMenu { background: var(--sigep-btn-secondary-bg) !important; color: var(--sigep-btn-secondary-color) !important; border: 1px solid var(--sigep-btn-secondary-border) !important; width: 28px !important; min-width: 28px !important; height: 28px !important; min-height: 28px !important; padding: 0 !important; border-radius: 7px; flex: 0 0 28px !important; }
#btnMenu i { color: var(--sigep-btn-secondary-color) !important; -webkit-text-fill-color: var(--sigep-btn-secondary-color) !important; }
#btnMenu:hover { background: var(--sigep-btn-secondary-hover-bg) !important; border-color: var(--sigep-btn-secondary-hover-border) !important; }
#btnMenu:hover i { color: var(--sigep-btn-secondary-hover-color) !important; -webkit-text-fill-color: var(--sigep-btn-secondary-hover-color) !important; }
/* Contraste tipográfico del modo claro */
.content .text-muted,.content .form-text,.content .page-title p,.content .section-header span,.content .detail-grid span,.content .detail-stack span,.content .info-box span { color: var(--sigep-muted) !important; }
/* Etiquetas de la ficha de detalle: contraste frente a los valores. */
.content .bien-detail-page .detail-grid span,.content .bien-detail-page .detail-stack span { color: #dc2626 !important; }
.content .form-label,.content .section-header h3,.content .page-title h1,.content .detail-grid strong,.content .detail-stack strong,.content .info-box strong { color: var(--sigep-section-heading-color) !important; }
/* Modo laptop según el ancho útil del navegador; incluye 1366 x 768. */
@media screen and (min-width: 992px) and (max-width: 1440px) {
  :root {
    --sidebar-width: 225px;
    --sigep-topbar-height: 50px;
    --sigep-topbar-padding: 6px 12px;
    --sigep-content-padding: 10px 12px 14px;
    --sigep-filter-control-height: 28px;
    --sigep-table-header-height: 28px;
    --sigep-table-header-padding-y: 4px;
    --sigep-table-index-column-width: 2.5rem;
  }
  .sidebar-brand,.brand { gap: 8px !important; padding: 6px 12px 4px !important; }
  .sidebar-menu { padding: 4px 7px !important; }
  .menu-label { margin-top: 2px !important; padding: 2px 8px 1px !important; font-size: var(--sigep-font-size-micro) !important; }
  .menu-link,.sidebar-submenu-link { gap: 6px !important; min-height: 24px !important; padding: 1px 7px !important; margin-bottom: 0 !important; font-size: var(--sigep-filter-font-size) !important; }
  .nav-icon,.sidebar-submenu-toggle .nav-icon,.sidebar-submenu-link .nav-icon { flex-basis: 18px; width: 18px !important; height: 18px !important; min-width: 18px !important; border-radius: 6px !important; }
  .nav-icon svg { width: 12px !important; height: 12px !important; }
  .sidebar-footer { padding: 4px 8px !important; }
  .user-box { gap: 6px !important; padding: 4px 6px !important; }
  .user-box .avatar { flex-basis: 28px; width: 28px !important; height: 28px !important; min-width: 28px !important; font-size: var(--sigep-font-size-table) !important; }
  .page-title h1 { font-size: var(--sigep-font-size-heading) !important; }
  .page-title p { margin-top: 1px !important; font-size: var(--sigep-font-size-table) !important; line-height: 1.2 !important; }
  .topbar-actions { gap: 6px !important; }
  .topbar-actions .btn { min-height: 30px !important; padding: 4px 10px !important; font-size: var(--sigep-font-size-table) !important; }
  .main-area { max-width: none !important; }
  .main-area .mb-4 { margin-bottom: 0.5rem !important; }
  .section-card { border-radius: 12px !important; }
  .section-header { gap: 8px !important; padding: 6px 12px !important; }
  .section-header h3 { font-size: var(--sigep-font-size-text) !important; }
  .section-header span { font-size: var(--sigep-font-size-table) !important; line-height: 1.2 !important; }
  .main-area .section-card>form,.main-area .form-card,.main-area .hero-panel form { padding: 9px 12px !important; }
  .main-area form .row { --bs-gutter-x: 0.65rem; --bs-gutter-y: 0.45rem; }
  .main-area .form-label { margin-bottom: 2px !important; font-size: var(--sigep-font-size-table) !important; line-height: 1.1 !important; }
  .main-area .form-control:not(textarea),.main-area .form-select,.main-area .ts-control { min-height: var(--sigep-filter-control-height) !important; height: var(--sigep-filter-control-height) !important; padding: 3px 8px !important; font-size: var(--sigep-filter-font-size) !important; border-radius: var(--sigep-filter-control-radius) !important; }
  .main-area .table-actions .btn,.main-area .table-actions .av-icon-btn { width: 26px !important; height: 26px !important; min-width: 26px !important; }
  .main-area .alert,.main-area .sigep-notice { margin-bottom: 0.65rem !important; padding: 7px 11px !important; font-size: var(--sigep-font-size-table) !important; }
  .compact-list-page { --sigep-list-viewport-gap: 15rem; --sigep-list-summary-gap: 0px; }
  .compact-list-page:has(.filter-disclosure[open]) { --sigep-list-viewport-gap: 19rem; }
  .compact-list-page:has(.sigep-filter-summary:not([hidden])) { --sigep-list-summary-gap: 2rem; }
  .compact-list-page .compact-table-viewport { max-height: max(12rem, calc(100dvh - var(--sigep-list-viewport-gap) - var(--sigep-list-summary-gap))); overflow: auto; scrollbar-gutter: stable; }
  .compact-table-viewport:focus-visible { outline: 2px solid var(--sigep-primary); outline-offset: -2px; }
  .compact-data-table { table-layout: fixed; min-width: 940px; }
  .compact-data-table thead th { position: sticky; top: 0; z-index: 1; }
  .compact-data-table .list-cell-text { overflow: hidden; white-space: nowrap !important; text-overflow: ellipsis; }
  .compact-data-table .list-cell-text .list-technical-part { display: inline; }
  .compact-data-table .list-cell-text .list-technical-part+.list-technical-part::before { content: ' · '; }
  .compact-data-table .list-nowrap { white-space: nowrap !important; overflow-wrap: normal; }
  .inventoried-table { --sigep-table-code-column-width: 18%; --sigep-table-code-column-min-width: 12rem; --sigep-inventoried-technical-min-width: 10rem; }
  .inventoried-table :is(th,td):nth-child(2) { width: 9%; }
  .inventoried-table :is(th,td):nth-child(5),.inventoried-table :is(th,td):nth-child(6) { width: 14%; }
  .inventoried-table :is(th,td):nth-child(7) { width: 9%; }
  .inventoried-table :is(th,td):nth-child(8) { width: 8%; }
  .inventoried-table :is(th,td).table-actions { width: 6rem; }
  .patrimonial-table :is(th,td):nth-child(2) { width: 14%; }
  .patrimonial-table :is(th,td):nth-child(3) { width: 25%; }
  .patrimonial-table :is(th,td):nth-child(4) { width: 24%; }
  .patrimonial-table :is(th,td):nth-child(5) { width: 14%; }
  .patrimonial-table :is(th,td):nth-child(6) { width: 9%; }
  .patrimonial-table :is(th,td).table-actions { width: 10%; }
  /* Toma rápida: distribución compacta para pantallas HD. */
  .quick-inventory-page { padding-top: 6px !important; }
  .quick-inventory-page .quick-hero { margin-bottom: 0.35rem !important; min-height: 0 !important; padding: 0 10px 3px !important; border-radius: 9px !important; }
  .quick-inventory-page .quick-hero .btn-hero-outline { min-height: 29px !important; padding: 4px 10px !important; font-size: var(--sigep-font-size-table) !important; border-radius: 8px !important; }
  .quick-inventory-page #contextForm .row { gap: 0.5rem !important; }
  .quick-inventory-page #contextForm .form-label { margin-bottom: 1px !important; font-size: var(--sigep-font-size-meta) !important; line-height: 1 !important; }
  .quick-inventory-page #contextForm .form-control,.quick-inventory-page #contextForm .form-select,.quick-inventory-page #contextForm .ts-control { min-height: 27px !important; height: 27px !important; padding: 2px 7px !important; font-size: var(--sigep-font-size-table) !important; }
  .quick-inventory-page .section-card { margin-bottom: 0.5rem !important; }
  .quick-inventory-page .section-header { min-height: 30px !important; padding: 4px 9px !important; }
  .quick-inventory-page .section-header h3 { font-size: var(--sigep-font-size-support) !important; }
  .quick-inventory-page .section-header span { font-size: var(--sigep-font-size-meta) !important; }
  .quick-inventory-page .quick-search-label,.quick-inventory-page .catalog-search-label { min-height: 0 !important; margin-bottom: 2px !important; font-size: var(--sigep-font-size-meta) !important; }
  .quick-inventory-page .quick-search-input { min-height: 30px !important; height: 30px !important; padding: 3px 8px !important; font-size: var(--sigep-font-size-table) !important; border-radius: 8px !important; }
  .quick-inventory-page .quick-search-btn { flex-basis: 30px !important; width: 30px !important; min-width: 30px !important; height: 30px !important; min-height: 30px !important; border-radius: 8px !important; }
  .quick-inventory-page .quick-result-note { margin-bottom: 0.4rem !important; padding: 5px 8px !important; border-radius: 8px !important; font-size: var(--sigep-font-size-table) !important; line-height: 1.2 !important; }
  .quick-inventory-page .quick-register-form { padding: 0.45rem 0.65rem !important; }
  .quick-inventory-page .quick-register-form .row { row-gap: 5px !important; }
  .quick-inventory-page .quick-register-form .form-label { margin-bottom: 1px !important; font-size: var(--sigep-font-size-table) !important; line-height: 1.05 !important; }
  .quick-inventory-page .quick-register-form .form-control,.quick-inventory-page .quick-register-form .form-select { min-height: 29px !important; height: 29px !important; padding: 3px 7px !important; font-size: var(--sigep-font-size-table) !important; }
  .quick-inventory-page .quick-register-form textarea.form-control { min-height: 38px !important; height: 38px !important; }
  .quick-inventory-page .quick-register-form .card { margin-bottom: 5px !important; }
  .quick-inventory-page .quick-register-form .card-body { padding: 6px !important; }
  .quick-inventory-page .quick-patrimonial-table-wrap { border-radius: 8px !important; }
  .quick-inventory-page .quick-select-action { width: 92px; min-width: 92px; }
  /* Tablero de Verificación Física */
  .inventory-dashboard-page { gap: 0.65rem !important; padding-top: 0 !important; }
  .inventory-dashboard-page .inventory-dashboard-primary,.inventory-dashboard-page .inventory-dashboard-secondary { min-height: 30px !important; padding: 0.3rem 0.75rem !important; font-size: var(--sigep-font-size-table) !important; }
  .inventory-dashboard-page .inventory-dashboard-stats,.inventory-dashboard-page .inventory-dashboard-grid { gap: 0.55rem !important; }
  .inventory-dashboard-page .inventory-stat-mini { min-height: 58px !important; padding: 0.45rem 2.8rem 0.45rem 0.8rem !important; border-radius: 10px !important; }
  .inventory-dashboard-page .inventory-stat-mini::after { right: 0.55rem !important; width: 2rem !important; height: 2rem !important; font-size: var(--sigep-font-size-text) !important; }
  .inventory-dashboard-page .inventory-stat-mini span,.inventory-dashboard-page .inventory-stat-mini small { font-size: var(--sigep-font-size-micro) !important; line-height: 1.15 !important; }
  .inventory-dashboard-page .inventory-stat-mini strong { margin: 0.04rem 0 !important; font-size: var(--sigep-font-size-heading) !important; line-height: 1.05 !important; }
  .inventory-dashboard-page .inventory-dashboard-card { min-height: 112px !important; padding: 0.65rem !important; border-radius: 10px !important; }
  .inventory-dashboard-page .inventory-dashboard-card-header { gap: 0.5rem !important; }
  .inventory-dashboard-page .inventory-dashboard-icon { width: 1.75rem !important; height: 1.75rem !important; border-radius: 7px !important; font-size: var(--sigep-font-size-support) !important; }
  .inventory-dashboard-page .inventory-dashboard-card h4 { margin-bottom: 0.08rem !important; font-size: var(--sigep-font-size-support) !important; line-height: 1.15 !important; }
  .inventory-dashboard-page .inventory-dashboard-card p { font-size: var(--sigep-font-size-meta) !important; line-height: 1.2 !important; }
  .inventory-dashboard-page .inventory-dashboard-links { gap: 0.25rem !important; margin-top: 0.45rem !important; }
  .inventory-dashboard-page .inventory-dashboard-link { min-height: 27px !important; padding: 0.25rem 0.5rem !important; border-radius: 6px !important; font-size: var(--sigep-font-size-meta) !important; }
  .inventory-dashboard-page .inventory-dashboard-link i { width: 1rem !important; height: 1rem !important; font-size: var(--sigep-font-size-micro) !important; }
  .inventory-dashboard-page .inventory-report-grid { gap: 0.5rem !important; padding: 0.6rem !important; }
  .inventory-dashboard-page .inventory-report-card { grid-template-columns: 1.7rem minmax(0, 1fr) !important; column-gap: 0.5rem !important; min-height: 52px !important; padding: 0.45rem 0.6rem !important; border-radius: 8px !important; }
  .inventory-dashboard-page .inventory-report-card i { width: 1.7rem !important; height: 1.7rem !important; border-radius: 6px !important; font-size: var(--sigep-font-size-table) !important; }
  .inventory-dashboard-page .inventory-report-card strong { font-size: var(--sigep-font-size-table) !important; line-height: 1.15 !important; }
  .inventory-dashboard-page .inventory-report-card span { font-size: var(--sigep-font-size-micro) !important; line-height: 1.15 !important; }
}
/* Detalle de bien compacto en pantallas de escritorio. */
@media (min-width: 992px) {
  .bien-detail-page>.row { --bs-gutter-x: 0.65rem; --bs-gutter-y: 0.55rem; }
  .bien-detail-page>.row>.col-lg-8 { width: 60% !important; }
  .bien-detail-page>.row>.col-lg-4 { width: 40% !important; }
  .bien-detail-page .section-card { padding: 0.7rem !important; margin-bottom: 0.55rem !important; border-radius: 10px !important; }
  .bien-detail-page .section-card>h3 { margin-bottom: 0.5rem !important; font-size: var(--sigep-font-size-text) !important; line-height: 1.15 !important; }
  .bien-detail-page .detail-grid,.bien-detail-page .detail-stack { gap: 0.38rem !important; }
  .bien-detail-page .detail-stack { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .bien-detail-page .detail-grid>div,.bien-detail-page .detail-stack>div { min-height: auto !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
  .bien-detail-page .detail-grid span,.bien-detail-page .detail-stack span { margin-bottom: 2px !important; font-size: var(--sigep-font-size-micro) !important; line-height: 1.1 !important; letter-spacing: 0.025em !important; }
  .bien-detail-page .detail-grid strong,.bien-detail-page .detail-stack strong { display: block !important; font-size: var(--sigep-font-size-table) !important; line-height: 1.22 !important; overflow-wrap: anywhere; }
  .bien-detail-page hr { margin: 0.55rem 0 !important; }
  .bien-detail-page .section-card>h4 { margin-bottom: 0.25rem !important; font-size: var(--sigep-font-size-table) !important; line-height: 1.15 !important; }
  .bien-detail-page .section-card>p { margin-bottom: 0.45rem !important; font-size: var(--sigep-font-size-meta) !important; line-height: 1.25 !important; }
}
/* Configuración institucional compacta para equipos HD. */
@media screen and (min-width: 992px) and (max-width: 1440px) {
  .configuracion-page>form.row { --bs-gutter-x: 0.55rem; --bs-gutter-y: 0.4rem; }
  .configuracion-page .section-card { padding: 0 !important; margin-bottom: 0.45rem !important; border-radius: 9px !important; }
  .configuracion-page .section-header { min-height: 32px !important; padding: 4px 8px !important; border-radius: 7px 7px 0 0 !important; }
  .configuracion-page .section-header h3,.configuracion-page .section-header span { line-height: 1.1 !important; }
  .configuracion-page .section-card>.p-2,.configuracion-page .section-card>.p-3,.configuracion-page .section-card>.p-md-3 { padding: 0.45rem 0.55rem !important; }
  .configuracion-page .row.g-2 { --bs-gutter-x: 0.45rem; --bs-gutter-y: 0.3rem; }
  .configuracion-page .form-label,.configuracion-page .form-check-label { margin-bottom: 1px !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.05 !important; }
  .configuracion-page .form-control-sm,.configuracion-page .form-select-sm { min-height: 27px !important; height: 27px !important; padding: 2px 7px !important; border-radius: 6px !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.1 !important; }
  .configuracion-page input[type="file"].form-control-sm { padding: 3px 6px !important; }
  .configuracion-page .form-check { min-height: 24px !important; margin-bottom: 0 !important; }
  .configuracion-page .form-check-input { width: 1.65rem !important; height: 0.86rem !important; margin-top: 0.2rem !important; }
  .configuracion-page .institutional-logo-preview { min-height: 48px !important; max-height: 52px !important; margin-bottom: 0.35rem !important; padding: 4px !important; border-radius: 8px !important; }
  .configuracion-page .institutional-logo-preview img { max-height: 44px !important; }
  .configuracion-page .section-card .d-grid.gap-2 { gap: 0.35rem !important; }
  .configuracion-page .section-card .btn { min-height: 27px !important; padding: 3px 9px !important; font-size: var(--sigep-button-font-size) !important; }
  .configuracion-page .config-param-list { padding: 0 !important; border-radius: 6px !important; }
  .configuracion-page .config-param-row { gap: 0.45rem !important; min-height: 28px !important; padding: 3px 6px !important; }
  .configuracion-page .config-param-row strong,.configuracion-page .config-param-row span { font-size: var(--sigep-filter-font-size) !important; line-height: 1.1 !important; }
  .configuracion-page .config-param-row span { padding: 2px 5px !important; }
}
/* Tamaño base uniforme para los botones de todos los módulos. */
html body .content :is(.btn,button):not(.account-breakdown-button) { display: inline-flex !important; align-items: center !important; justify-content: center !important; height: var(--sigep-button-height) !important; min-height: var(--sigep-button-height) !important; padding-top: 0.25rem !important; padding-right: var(--sigep-button-padding-x) !important; padding-bottom: 0.25rem !important; padding-left: var(--sigep-button-padding-x) !important; font-size: var(--sigep-button-font-size) !important; line-height: 1 !important; vertical-align: middle !important; }
/* TABLAS: bloque base único. Dimensiones y colores proceden de :root.
   Las variantes de módulo solo definen estructura, columnas y estados. */
html body table:not(.ficha-table):not(.ficha-document table) {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 0 !important;
  background-color: transparent !important;
  color: var(--sigep-table-td-color) !important;
}
html body table:not(.ficha-table):not(.ficha-document table),
html body table:not(.ficha-table):not(.ficha-document table) :is(th,td,strong,b,small,.small,span,a,.badge,.btn,button,label,input,select,textarea) {
  font-size: var(--sigep-table-font-size) !important;
}
html body table:not(.ficha-table):not(.ficha-document table),
html body table:not(.ficha-table):not(.ficha-document table) :is(th,td,strong,b,small,.small) {
  font-family: var(--sigep-font) !important;
  font-weight: 400 !important;
}
html body :is(table,.table):not(.ficha-table):not(.ficha-document table) thead :is(th,td) {
  height: var(--sigep-table-header-height) !important;
  padding: var(--sigep-table-header-padding-y) var(--sigep-table-header-padding-x) !important;
  line-height: var(--sigep-table-header-line-height) !important;
  letter-spacing: var(--sigep-table-header-letter-spacing) !important;
  text-transform: uppercase !important;
  font-weight: var(--sigep-table-header-font-weight) !important;
  text-align: var(--sigep-table-header-text-align, center) !important;
  vertical-align: middle !important;
  border-bottom: var(--sigep-table-header-border) !important;
  background-color: var(--sigep-table-th-bg) !important;
  color: var(--sigep-table-heading-color) !important;
}
html body table:not(.ficha-table):not(.ficha-document table) thead :is(th,td):first-child { border-radius: var(--sigep-table-header-radius) 0 0 var(--sigep-table-header-radius) !important; }
html body table:not(.ficha-table):not(.ficha-document table) thead :is(th,td):last-child { border-radius: 0 var(--sigep-table-header-radius) var(--sigep-table-header-radius) 0 !important; }
html body table:not(.ficha-table):not(.ficha-document table) :is(tbody,tfoot) td {
  height: var(--sigep-table-row-height) !important;
  padding: var(--sigep-table-cell-padding-y) var(--sigep-table-cell-padding-x) !important;
  line-height: var(--sigep-table-row-line-height) !important;
  border-bottom: var(--sigep-table-cell-border) !important;
  vertical-align: middle !important;
  white-space: normal;
  overflow-wrap: anywhere;
  background-color: transparent !important;
  color: var(--sigep-table-td-color) !important;
}
html body table:not(.ficha-table):not(.ficha-document table) td :is(strong,b,small,.small,.text-muted,span:not(.badge),a:not(.btn):not(.av-icon-btn)) { color: var(--sigep-table-td-color) !important; }
html body table:not(.ficha-table):not(.ficha-document table) tbody tr:hover td { background-color: var(--sigep-table-tr-hover-bg) !important; }
html body table:not(.ficha-table):not(.ficha-document table) a:not(.btn) { color: var(--sigep-table-a-color) !important; text-decoration: none !important; }
html body table:not(.ficha-table):not(.ficha-document table) a:not(.btn):hover { text-decoration: underline !important; }
html body table:not(.ficha-table):not(.ficha-document table) :is(.badge,.btn,button) { line-height: 1.1 !important; }
/* Compatibilidad del Anexo 7: conservar su cascada anterior, sin aplicar el bloque base. */
:where(.ficha-document) table { width: 100% !important; border-collapse: collapse !important; margin-bottom: 1.5rem !important; vertical-align: middle !important; background-color: transparent !important; }
:where(.ficha-document) th,:where(.ficha-document) table th,:where(.ficha-document) thead th,:where(.ficha-document) table thead th { padding: 8px 10px !important; font-size: var(--sigep-font-size-text) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; border-bottom: 2px solid var(--sigep-border) !important; background-color: var(--sigep-table-th-bg) !important; color: var(--sigep-table-th-color) !important; text-align: left; vertical-align: middle !important; }
:where(.ficha-document) table thead th:first-child { border-radius: var(--sigep-table-header-radius) 0 0 var(--sigep-table-header-radius) !important; }
:where(.ficha-document) table thead th:last-child { border-radius: 0 var(--sigep-table-header-radius) var(--sigep-table-header-radius) 0 !important; }
:where(.ficha-document) table tbody td { padding: 4px 10px !important; font-size: var(--sigep-font-size-text) !important; border-bottom: 1px solid var(--sigep-border) !important; vertical-align: middle !important; transition: background-color 0.2s ease !important; background-color: transparent !important; color: var(--sigep-table-td-color) !important; }
:where(.ficha-document) table tbody tr:hover td { background-color: var(--sigep-table-tr-hover-bg) !important; }
:where(.ficha-document) table small { font-size: var(--sigep-font-size-text) !important; color: var(--sigep-muted) !important; }
:where(.ficha-document) table a:not(.btn) { color: var(--sigep-table-a-color) !important; text-decoration: none !important; font-weight: 500 !important; }
:where(.ficha-document) table a:not(.btn):hover { text-decoration: underline !important; }
html :where(.ficha-document) table,html :where(.ficha-document) table[class],html :where(.ficha-document) table td,html :where(.ficha-document) table[class] td,html :where(.ficha-document) table td strong,html :where(.ficha-document) table[class] td strong,html :where(.ficha-document) table td b,html :where(.ficha-document) table[class] td b,html :where(.ficha-document) table td .fw-bold,html :where(.ficha-document) table[class] td .fw-bold,html :where(.ficha-document) table td small,html :where(.ficha-document) table[class] td small,html :where(.ficha-document) table td .small,html :where(.ficha-document) table[class] td .small,html :where(.ficha-document) table td .text-muted,html :where(.ficha-document) table[class] td .text-muted,html :where(.ficha-document) table td a:not(.btn),html :where(.ficha-document) table[class] td a:not(.btn) { font-family: var(--sigep-font) !important; font-size: var(--sigep-table-font-size) !important; font-weight: 400 !important; }
:where(.ficha-document) table { color: #000000 !important; }
:where(.ficha-document) table th,:where(.ficha-document) table thead th { color: var(--sigep-table-heading-color) !important; }
:where(.ficha-document) table tbody td,:where(.ficha-document) table tbody td:not(.table-actions) small,:where(.ficha-document) table tbody td:not(.table-actions) .small,:where(.ficha-document) table tbody td:not(.table-actions) .text-muted,:where(.ficha-document) table tbody td:not(.table-actions) strong,:where(.ficha-document) table tbody td:not(.table-actions) b,:where(.ficha-document) table tbody td:not(.table-actions) span:not(.badge),:where(.ficha-document) table tbody td:not(.table-actions) a:not(.btn):not(.av-icon-btn),:where(.ficha-document) table small,:where(.ficha-document) table .text-muted { color: #000000 !important; }
/* La ficha oficial usa su escala propia para pantalla e impresión. */
html body .ficha-table,html body .ficha-table th,html body .ficha-table td,html body .ficha-table th *,html body .ficha-table td * { font-size: var(--sigep-ficha-table-font-size) !important; }
/* Paginacion compacta y uniforme para las tablas de todos los modulos. */
.pagination-bar { gap: var(--sigep-pagination-gap) !important; padding: var(--sigep-pagination-padding) !important; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; }
.pagination-bar>.av-btn { width: auto !important; }
.pagination-pages,.pagination { gap: var(--sigep-pagination-gap) !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.pagination-bar :is(.av-btn,.btn),.pagination-pages .av-btn,.pagination .page-item .page-link { min-width: var(--sigep-pagination-control-height) !important; height: var(--sigep-pagination-control-height) !important; min-height: var(--sigep-pagination-control-height) !important; padding: 0.125rem 0.45rem !important; border-radius: 7px !important; font-size: var(--sigep-pagination-font-size) !important; line-height: 1 !important; }
/* La página actual usa la paleta corporativa en todas las paginaciones. */
.pagination-bar .pagination-pages :is(.av-btn-primary,.av-btn.active),.pagination-bar .pagination .page-item.active .page-link,.pagination .page-item.active .page-link { border-color: var(--sigep-btn-danger-solid-border) !important; background: var(--sigep-btn-danger-solid-bg) !important; color: var(--sigep-btn-danger-solid-color) !important; box-shadow: 0 2px 6px color-mix(in srgb, var(--sigep-btn-danger-solid-bg) 28%, transparent) !important; }
.pagination-bar .pagination-pages :is(.av-btn-primary,.av-btn.active):hover,.pagination-bar .pagination .page-item.active .page-link:hover,.pagination .page-item.active .page-link:hover { border-color: var(--sigep-btn-danger-solid-border) !important; background: var(--sigep-btn-danger-solid-hover-bg) !important; color: var(--sigep-btn-danger-solid-color) !important; }
.pagination-info,.pagination-pages>span { font-size: var(--sigep-pagination-font-size) !important; line-height: 1.1 !important; }
.pagination-bar+.text-center { padding-bottom: 0.3rem !important; line-height: 1.1 !important; }
.section-card>div:has(.pagination) { padding-top: 0.35rem !important; padding-bottom: 0.35rem !important; }
.pagination-jump { display: inline-flex; align-items: center; gap: 0.25rem; color: var(--sigep-muted); font-size: var(--sigep-pagination-font-size) !important; white-space: nowrap; }
.pagination-jump-select { width: auto !important; min-width: 58px; height: var(--sigep-pagination-control-height) !important; min-height: var(--sigep-pagination-control-height) !important; padding: 0.1rem 1.5rem 0.1rem 0.4rem !important; border: 1px solid var(--sigep-border) !important; border-radius: 7px !important; background-color: var(--sigep-card) !important; color: var(--sigep-text) !important; font-size: var(--sigep-pagination-font-size) !important; line-height: 1 !important; }
.pagination-jump-item { display: inline-flex; align-items: center; margin-left: 0.25rem; }
/* Verificación física: distribución vertical compacta. */
.inventory-dashboard-page { gap: 0.6rem !important; padding-top: 0.25rem !important; }
.inventory-dashboard-page .inventory-dashboard-stats,.inventory-dashboard-page .inventory-dashboard-grid { gap: 0.55rem !important; }
.inventory-dashboard-page .inventory-stat-mini { min-height: 58px !important; padding: 0.4rem 3.8rem 0.4rem 0.75rem !important; border-radius: 10px !important; }
.inventory-dashboard-page .inventory-stat-mini::after { right: 0.6rem !important; width: 2.35rem !important; height: 2.35rem !important; font-size: var(--sigep-font-size-heading) !important; }
.inventory-dashboard-page .inventory-stat-mini span { margin-bottom: 0.05rem !important; font-size: var(--sigep-font-size-table) !important; line-height: 1.05 !important; }
.inventory-dashboard-page .inventory-stat-mini strong { margin: 0 !important; font-size: var(--sigep-font-size-title) !important; line-height: 1 !important; }
.inventory-dashboard-page .inventory-stat-mini small { font-size: var(--sigep-font-size-table) !important; line-height: 1.05 !important; }
.inventory-dashboard-page .inventory-dashboard-sync { padding: 0.3rem 0.6rem !important; }
.inventory-dashboard-page .inventory-dashboard-card { min-height: 112px !important; padding: 0.65rem !important; border-radius: 11px !important; }
.inventory-dashboard-page .inventory-dashboard-card-header { gap: 0.5rem !important; }
.inventory-dashboard-page .inventory-dashboard-icon { width: 1.8rem !important; height: 1.8rem !important; font-size: var(--sigep-font-size-text) !important; }
.inventory-dashboard-page .inventory-dashboard-card h4 { margin-bottom: 0.05rem !important; font-size: var(--sigep-font-size-text) !important; line-height: 1.1 !important; }
.inventory-dashboard-page .inventory-dashboard-card p { font-size: var(--sigep-font-size-table) !important; line-height: 1.15 !important; }
.inventory-dashboard-page .inventory-dashboard-links { gap: 0.2rem !important; margin-top: 0.4rem !important; }
.inventory-dashboard-page .inventory-dashboard-link { font-size: var(--sigep-font-size-table) !important; }
.inventory-dashboard-page .inventory-reports-card .section-header { padding: 0.4rem 0.75rem !important; }
.inventory-dashboard-page .inventory-report-grid { gap: 0.45rem !important; padding: 0.5rem !important; }
.inventory-dashboard-page .inventory-report-card { min-height: 50px !important; grid-template-columns: 1.7rem minmax(0, 1fr) !important; column-gap: 0.5rem !important; padding: 0.4rem 0.55rem !important; }
.inventory-dashboard-page .inventory-report-card i { width: 1.7rem !important; height: 1.7rem !important; font-size: var(--sigep-font-size-support) !important; }
.inventory-dashboard-page .inventory-report-card strong { font-size: var(--sigep-font-size-text) !important; line-height: 1.1 !important; }
.inventory-dashboard-page .inventory-report-card span { font-size: var(--sigep-font-size-table) !important; line-height: 1.1 !important; }
/* Copias de seguridad: escala tipografica alineada con los demás módulos. */
.backups-page { font-size: var(--sigep-font-size-support); }
.backups-page .section-card>h2 { font-size: var(--sigep-font-size-text) !important; line-height: 1.15 !important; }
.backups-page :is(.form-label,.form-check-label) { font-size: var(--sigep-font-size-table) !important; line-height: 1.15 !important; }
.backups-page .form-text { font-size: var(--sigep-font-size-table) !important; line-height: 1.2 !important; }
.backups-page :is(.form-control,.form-select),.backups-page :is(.alert,.mobile-record-card) { font-size: var(--sigep-font-size-table) !important; }
/* Avance por oficinas: estado compacto únicamente dentro de la tabla. */
html body :is(.inventory-office-table,.closure-page .ubi-table) tbody td .status-pill { min-height: 18px !important; padding: 0.1rem 0.3rem !important; font-size: var(--sigep-font-size-micro) !important; line-height: 1 !important; white-space: nowrap !important; }
html body .inventory-office-table .office-status-cell { width: 112px !important; min-width: 112px !important; }
html body .inventory-office-table .office-incidence-count { white-space: nowrap !important; }
/* Bienes faltantes: espacio suficiente para la numeración correlativa. */
html body .report-table .missing-assets-number-column { width: 56px !important; min-width: 56px !important; white-space: nowrap !important; overflow-wrap: normal !important; }
/* Importación de cuentas: flujo compacto, claro y adaptable. */
.accounts-import-page { padding-top: 0.2rem; }
.accounts-import-card { max-width: 1050px; margin: 0 auto; overflow: hidden; }
.accounts-import-heading { display: flex; align-items: center; gap: 0.65rem; min-height: 48px; padding: 0.55rem 0.75rem; border-bottom: 1px solid var(--sigep-border); background: var(--sigep-bg-soft); }
.accounts-import-icon { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 8px; background: #198754; color: #fff; font-size: var(--sigep-font-size-text); }
.accounts-import-heading h3,.accounts-import-heading p { margin: 0; }
.accounts-import-heading h3 { color: var(--sigep-navy); font-size: var(--sigep-font-size-text); line-height: 1.15; }
.accounts-import-heading p,.accounts-panel-title small,.accounts-file-field small { color: var(--sigep-muted); font-size: var(--sigep-font-size-table); line-height: 1.2; }
.accounts-import-format { margin-left: auto; padding: 0.25rem 0.5rem; border: 1px solid var(--sigep-border); border-radius: 999px; background: #fff; color: var(--sigep-muted); font-size: var(--sigep-font-size-meta); white-space: nowrap; }
.accounts-import-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 0.65rem; padding: 0.65rem; }
.accounts-upload-panel,.accounts-structure-panel { min-width: 0; padding: 0.65rem; border: 1px solid var(--sigep-border); border-radius: 10px; background: #fff; }
.accounts-panel-title { display: flex; align-items: center; gap: 0.45rem; margin-bottom: 0.55rem; }
.accounts-panel-title>span { display: inline-flex; align-items: center; justify-content: center; width: 21px; height: 21px; flex: 0 0 21px; border-radius: 50%; background: var(--sigep-navy); color: #fff; font-size: var(--sigep-font-size-meta); font-weight: 800; }
.accounts-panel-title strong,.accounts-panel-title small,.accounts-file-field strong,.accounts-file-field small { display: block; }
.accounts-panel-title strong { color: var(--sigep-navy); font-size: var(--sigep-font-size-support); }
.accounts-file-field { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 0.5rem; min-height: 52px; padding: 0.5rem 0.6rem; border: 1px dashed #9dafc3; border-radius: 9px; background: #f8fafc; cursor: pointer; }
.accounts-file-field>i { color: #198754; font-size: var(--sigep-font-size-heading); text-align: center; }
.accounts-file-field strong { color: var(--sigep-navy); font-size: var(--sigep-font-size-table); }
.accounts-file-field em { padding: 0.22rem 0.45rem; border-radius: 6px; background: var(--sigep-navy); color: #fff; font-size: var(--sigep-font-size-meta); font-style: normal; font-weight: 700; }
.accounts-upload-panel>input[type="file"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.accounts-import-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem; margin-top: 0.55rem; }
.accounts-import-actions .btn { width: 100%; }
.accounts-example-table { border: 1px solid var(--sigep-border); }
.accounts-example-table th { background: var(--sigep-navy) !important; color: var(--sigep-gold) !important; white-space: nowrap !important; }
.accounts-import-notes { display: grid; gap: 0.3rem; margin-top: 0.5rem; }
.accounts-import-notes p { display: grid; grid-template-columns: 15px minmax(0, 1fr); gap: 0.35rem; margin: 0; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); line-height: 1.25; }
.accounts-import-notes i { margin-top: 0.1rem; color: #198754; text-align: center; }
@media (max-width: 767.98px) {
  .accounts-import-layout,.accounts-import-actions { grid-template-columns: 1fr; }
  .accounts-import-format { display: none; }
  .accounts-file-field { grid-template-columns: 26px minmax(0, 1fr); }
  .accounts-file-field em { display: none; }
}
/* Dashboard principal Usa los tokens globales y queda aislado del resto del sistema. */
@keyframes dashboard-pulse {
  0% { box-shadow: 0 0 0 0 rgba(245, 196, 81, .55); }
  70% { box-shadow: 0 0 0 10px rgba(245, 196, 81, 0); }
  100% { box-shadow: 0 0 0 0 rgba(245, 196, 81, 0); }
}
@keyframes dashboard-grid-drift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 30px 30px, 30px 30px; }
}
@keyframes dashboard-bar-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
.dashboard-main-area .db-hero { position: relative; isolation: isolate; min-height: 0; margin-bottom: 18px; padding: 14px 32px; overflow: hidden; color: #fff; background: radial-gradient(circle at 88% 12%, rgba(56, 189, 248, .24), transparent 30%), linear-gradient(118deg, #061a38 0%, #0c3568 48%, #13558b 100%); border: 1px solid rgba(125, 211, 252, .30); border-radius: 18px; box-shadow: 0 18px 34px rgba(7, 27, 58, .22), inset 0 1px 0 rgba(255, 255, 255, .16); }
.dashboard-main-area .db-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none; background-image: linear-gradient(rgba(125, 211, 252, .105) 1px, transparent 1px), linear-gradient(90deg, rgba(125, 211, 252, .105) 1px, transparent 1px); background-size: 30px 30px; mask-image: linear-gradient(90deg, rgba(0, 0, 0, .72), transparent 88%); animation: dashboard-grid-drift 24s linear infinite; }
.dashboard-main-area .db-hero-inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.dashboard-main-area .db-hero-text h2 { margin: 0 0 4px; color: #fff !important; font-size: var(--db-hero-title-size, var(--sigep-font-size-display-sm)) !important; font-weight: 800; }
.dashboard-main-area .db-hero-text p { max-width: 650px; margin: 0; color: rgba(226, 232, 240, .88) !important; font-size: var(--sigep-font-size-text) !important; }
.dashboard-main-area .db-hero-badge { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 4px 10px; color: #fff; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .18); border-radius: 16px; font-size: var(--sigep-font-size-support); font-weight: 700; }
.dashboard-main-area .db-hero-badge .dot { width: 7px; height: 7px; background: #10b981; border-radius: 50%; animation: dashboard-pulse 2s infinite; }
.dashboard-main-area .db-ring { position: relative; width: 142px; height: 142px; margin-right: 20px; flex-shrink: 0; }
.dashboard-main-area .db-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.dashboard-main-area .db-ring circle.track { fill: none; stroke: rgba(255, 255, 255, .15); stroke-width: 8; }
.dashboard-main-area .db-ring circle.fill { fill: none; stroke: #f59e0b; stroke-width: 8; stroke-linecap: round; stroke-dasharray: 251.2; transition: stroke-dashoffset 1s ease; }
.dashboard-main-area .db-ring-label { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.dashboard-main-area .db-ring-label strong { color: #fff; font-size: var(--sigep-font-size-display); font-weight: 800; line-height: 1; }
.dashboard-main-area .db-ring-label small { color: rgba(255, 255, 255, .75); font-size: var(--sigep-font-size-text); font-weight: 600; }
.dashboard-main-area .db-ring-label .db-ring-caption { color: #f59e0b !important; }
.dashboard-main-area .db-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.dashboard-main-area .db-kpi,.dashboard-main-area .db-quick-card { color: var(--sigep-text); background: var(--sigep-card-bg, #fff); border: 1px solid var(--sigep-border); border-radius: 15px; box-shadow: 0 5px 16px rgba(15, 45, 89, .07); }
.dashboard-main-area .db-kpi { position: relative; overflow: hidden; min-width: 0; padding: 11px 12px 10px; background: linear-gradient(145deg, color-mix(in srgb, var(--kpi-accent) 13%, var(--sigep-card-bg, #fff)), var(--sigep-card-bg, #fff) 72%); border-color: color-mix(in srgb, var(--kpi-accent) 28%, var(--sigep-border)); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.dashboard-main-area .db-kpi::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--kpi-accent); }
.dashboard-main-area .db-kpi:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--kpi-accent) 48%, var(--sigep-border)); box-shadow: 0 12px 24px color-mix(in srgb, var(--kpi-accent) 18%, transparent); }
.dashboard-main-area .db-kpi-header { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 5px; }
.dashboard-main-area .db-kpi-icon { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border-radius: 9px; font-size: var(--sigep-font-size-heading); }
.dashboard-main-area .db-kpi-value { margin-bottom: 1px; color: var(--sigep-text); font-size: var(--sigep-font-size-display-sm) !important; font-weight: 800; line-height: 1.05; }
.dashboard-main-area .db-kpi-label { color: var(--sigep-muted); font-size: var(--sigep-font-size-support) !important; font-weight: 700; text-transform: uppercase; }
.dashboard-main-area .db-kpi-sub { min-height: 1.2em; margin-top: 3px; overflow: hidden; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); text-overflow: ellipsis; white-space: nowrap; }
.dashboard-main-area .db-kpi-bar { width: 100%; height: 3px; margin-top: 7px; overflow: hidden; background: color-mix(in srgb, var(--kpi-accent) 12%, var(--sigep-card-soft)); border-radius: 999px; }
.dashboard-main-area .db-kpi-bar-fill { height: 100%; border-radius: 999px; transform-origin: left; animation: dashboard-bar-grow .75s cubic-bezier(.2,.8,.2,1) both; }
.dashboard-main-area .kpi-total { --kpi-accent: #0f2d59; }
.dashboard-main-area .kpi-ok { --kpi-accent: #059669; }
.dashboard-main-area .kpi-pend { --kpi-accent: #d49b08; }
.dashboard-main-area .kpi-miss { --kpi-accent: #dc2626; }
.dashboard-main-area .kpi-extra { --kpi-accent: #9333ea; }
.dashboard-main-area .kpi-avance { --kpi-accent: #0284c7; }
.dashboard-main-area .kpi-total .db-kpi-icon { color: #0f2d59; background: rgba(15, 45, 89, .08); }
.dashboard-main-area .kpi-total .db-kpi-bar-fill { background: #0f2d59; }
.dashboard-main-area .kpi-ok .db-kpi-icon { color: #059669; background: rgba(16, 185, 129, .10); }
.dashboard-main-area .kpi-ok .db-kpi-bar-fill { background: #10b981; }
.dashboard-main-area .kpi-pend .db-kpi-icon { color: #9f7924; background: rgba(245, 196, 81, .18); }
.dashboard-main-area .kpi-pend .db-kpi-bar-fill { background: #d4af37; }
.dashboard-main-area .kpi-miss .db-kpi-icon { color: #dc2626; background: rgba(239, 68, 68, .10); }
.dashboard-main-area .kpi-miss .db-kpi-bar-fill { background: #ef4444; }
.dashboard-main-area .kpi-extra .db-kpi-icon { color: #9333ea; background: rgba(168, 85, 247, .10); }
.dashboard-main-area .kpi-extra .db-kpi-bar-fill { background: #a855f7; }
.dashboard-main-area .kpi-avance .db-kpi-icon { color: #0284c7; background: rgba(2, 132, 199, .10); }
.dashboard-main-area .kpi-avance .db-kpi-bar-fill { background: #0284c7; }
@media (max-width: 1199.98px) {
  .dashboard-main-area .db-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.dashboard-main-area .db-quick-card { margin-bottom: 18px; padding: 16px 18px; }
.dashboard-main-area .db-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--sigep-border); }
.dashboard-main-area .db-card-header-text h3 { margin: 0; color: var(--sigep-text); font-size: var(--sigep-font-size-heading) !important; font-weight: 800; }
.dashboard-main-area .db-card-header-text p { margin: 2px 0 0; color: var(--sigep-muted); font-size: var(--sigep-font-size-support); }
.dashboard-main-area .db-alerts-list { display: flex; flex-direction: column; gap: 10px; }
.dashboard-main-area .db-alert-row { background: var(--sigep-card-soft); border: 1px solid var(--sigep-border); border-radius: 8px; }
.dashboard-main-area .db-quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; }
.dashboard-main-area .db-quick-action { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 12px 8px; color: var(--sigep-text); background: var(--sigep-card-soft); border: 1px solid var(--sigep-border); border-radius: 12px; text-align: center; transition: background .18s ease, color .18s ease; }
.dashboard-main-area .db-quick-action:hover { color: #fff !important; background: #0f2d59; }
.dashboard-main-area .db-qa-icon { margin-bottom: 6px; color: #0284c7; font-size: var(--sigep-font-size-title); }
.dashboard-main-area .db-quick-action:hover .db-qa-icon { color: var(--sigep-gold); }
.dashboard-main-area .db-quick-actions-card .db-quick-action { color: #fff; background: #0f2d59; border-color: #0f2d59; }
.dashboard-main-area .db-quick-actions-card .db-quick-action:hover { background: #0a1f40; border-color: #0a1f40; }
.dashboard-main-area .db-quick-actions-card .db-qa-icon { color: #f59e0b; }
.dashboard-main-area .db-qa-label { font-size: var(--sigep-font-size-support); font-weight: 700; }
.dashboard-main-area .db-btn-ghost { padding: 4px 10px; color: #0f2d59; background: transparent; border: 1px solid var(--sigep-border); border-radius: 8px; font-size: var(--sigep-font-size-support); font-weight: 700; transition: background .18s ease, color .18s ease; }
.dashboard-main-area .db-btn-ghost:hover { color: #fff; background: #0f2d59; }
.dashboard-main-area .db-alert-row { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; }
.dashboard-main-area .db-alert-dot { display: grid; width: 28px; height: 28px; flex-shrink: 0; place-items: center; border-radius: 8px; font-size: var(--sigep-font-size-text); }
.dashboard-main-area .db-alert-dot.danger { color: #dc2626; background: rgba(239, 68, 68, .1); }
.dashboard-main-area .db-alert-dot.warning { color: #d97706; background: rgba(245, 158, 11, .1); }
.dashboard-main-area .db-alert-body { flex: 1; }
.dashboard-main-area .db-alert-body strong { display: block; color: var(--sigep-text); font-size: var(--sigep-font-size-text); }
.dashboard-main-area .db-alert-body p { margin: 2px 0 4px; color: var(--sigep-muted); font-size: var(--sigep-font-size-support); }
.dashboard-main-area .db-alert-body time { color: var(--sigep-muted); font-size: var(--sigep-font-size-table); }
.dashboard-main-area .db-empty { padding: 20px; color: var(--sigep-muted); text-align: center; }
.dashboard-main-area .db-empty i { margin-bottom: 6px; font-size: var(--sigep-font-size-display); opacity: .6; }
@media screen and (max-width: 767.98px) {
  .content:has(>.dashboard-main-area)>.topbar { align-items: flex-start; gap: .5rem; }
  .content:has(>.dashboard-main-area)>.topbar>.d-flex { flex: 1; min-width: 0; }
  .content:has(>.dashboard-main-area) .page-title { --sigep-font-size-title: var(--sigep-font-size-heading); min-width: 0; overflow-wrap: anywhere; }
  .content:has(>.dashboard-main-area) .page-title h1 { line-height: 1.3; }
  .dashboard-main-area { --db-hero-title-size: var(--sigep-font-size-title); }
  .dashboard-main-area .db-hero { padding: 12px; margin-bottom: 12px; }
  .dashboard-main-area .db-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) 80px; gap: 8px 10px; align-items: center; }
  .dashboard-main-area .db-hero-text { display: contents; }
  .dashboard-main-area .db-hero-text h2 { grid-column: 1; margin: 0; line-height: 1.3; overflow-wrap: anywhere; }
  .dashboard-main-area .db-hero-text p { grid-column: 1 / -1; line-height: 1.4; }
  .dashboard-main-area .db-hero-badge { grid-column: 1 / -1; min-width: 0; margin-top: 0; border-radius: 8px; align-items: flex-start; }
  .dashboard-main-area .db-hero-badge>span:last-child { min-width: 0; overflow-wrap: anywhere; }
  .dashboard-main-area .db-hero-badge :is(.dot,i) { flex-shrink: 0; margin-top: 4px; }
  .dashboard-main-area .db-ring { grid-column: 2; grid-row: 1; width: 80px; height: 80px; margin-right: 0; }
  .dashboard-main-area .db-ring-label strong { font-size: var(--sigep-font-size-heading); }
  .dashboard-main-area .db-ring-label small { font-size: var(--sigep-font-size-support); }
  .dashboard-main-area .db-hero::before,.dashboard-main-area .db-hero-badge .dot { animation: none; }
  .dashboard-main-area .db-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
  .dashboard-main-area .db-kpi { display: flex; flex-direction: column; padding: 10px; }
  .dashboard-main-area .db-kpi-header { align-items: flex-start; }
  .dashboard-main-area .db-kpi-label { min-width: 0; overflow-wrap: anywhere; }
  .dashboard-main-area .db-kpi-icon { width: 26px; height: 26px; flex-basis: 26px; }
  .dashboard-main-area .db-kpi-value { overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
  .dashboard-main-area .db-kpi-sub { min-height: 2.6em; white-space: normal; overflow-wrap: anywhere; line-height: 1.3; margin-bottom: 7px; }
  .dashboard-main-area .db-kpi-bar { margin-top: auto; }
  .dashboard-main-area .db-quick-card { min-width: 0; margin-bottom: 12px; padding: 12px; }
  .dashboard-main-area .db-card-header { gap: 8px; margin-bottom: 10px; }
  .dashboard-main-area .db-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .dashboard-main-area .db-quick-action { min-width: 0; min-height: 56px; flex-direction: row; justify-content: flex-start; gap: 8px; padding: 10px; text-align: left; }
  .dashboard-main-area .db-qa-icon { flex: 0 0 20px; margin-bottom: 0; text-align: center; }
  .dashboard-main-area .db-qa-label { min-width: 0; overflow-wrap: anywhere; line-height: 1.3; }
  .dashboard-main-area .db-alerts-list { gap: 8px; }
  .dashboard-main-area .db-alert-body { min-width: 0; overflow-wrap: anywhere; }
  .dashboard-main-area .db-empty { padding: 12px 0; }
}
/* Video Tutoriales */
.video-tutorial-form { font-size: var(--sigep-filter-font-size); }
.video-tutorial-form .form-label,.video-tutorial-form .form-check-label { margin-bottom: 0.15rem; font-size: var(--sigep-filter-font-size); font-weight: 700; line-height: 1.1; }
.video-tutorial-form .form-control { min-height: var(--sigep-filter-control-height); padding: 0.2rem 0.5rem; font-size: var(--sigep-filter-font-size); line-height: 1.2; }
.video-tutorial-form textarea.form-control { min-height: 2.8rem; resize: vertical; }
.video-tutorial-card { overflow: hidden; background: var(--sigep-card); border: 1px solid var(--sigep-border); border-radius: 16px; box-shadow: 0 8px 20px rgba(15, 23, 42, .06); }
.video-tutorial-card.is-hidden { opacity: .72; }
.video-tutorial-media { background: #07152b; }
.video-tutorial-media iframe { border: 0; }
.video-tutorial-external { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; color: #fff; text-decoration: none; }
.video-tutorial-external:hover { color: var(--sigep-gold-soft); }
.video-tutorial-external i { font-size: var(--sigep-font-size-display-lg); }
.video-tutorial-external span { font-size: var(--sigep-button-font-size); font-weight: 800; }
.video-tutorial-body { padding: 1rem; }
.video-tutorial-body h4 { margin: 0 0 .5rem; color: var(--sigep-text); font-size: var(--sigep-font-size-heading); font-weight: 800; line-height: 1.25; }
.video-tutorial-body p { min-height: 2.6em; margin: 0 0 .9rem; color: var(--sigep-muted); font-size: var(--sigep-filter-font-size); line-height: 1.4; }
.video-tutorial-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.video-tutorial-actions form { margin: 0; }
/* Administración de accesos por usuario: matriz plana y compacta. */
.administracion-page .access-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .65rem; padding: .45rem .65rem; border-bottom: 1px solid var(--sigep-border); }
.administracion-page .access-toolbar strong { display: block; color: var(--sigep-text); font-size: var(--sigep-font-size-text); }
.administracion-page .access-toolbar span { display: block; color: var(--sigep-muted); font-size: var(--sigep-filter-font-size); }
.administracion-page .access-toolbar-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.administracion-page .access-modules-list { display: grid; gap: .35rem; }
.administracion-page .access-module-group { padding: .35rem 0; border: 0; border-bottom: 1px solid var(--sigep-border); background: transparent; }
.administracion-page .access-module-group h4 { margin: 0 0 .3rem; color: var(--sigep-primary); font-size: var(--sigep-font-size-support); font-weight: 850; }
.administracion-page .access-permission-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .2rem .4rem; }
.administracion-page .permission-user-row { display: flex; align-items: center; gap: .4rem; min-width: 0; margin: 0; padding: .3rem .4rem; border: 0; border-radius: 6px; cursor: pointer; transition: background-color .15s ease; }
.administracion-page .permission-user-row:hover { background: color-mix(in srgb, var(--sigep-primary) 6%, transparent); }
.administracion-page .permission-user-check { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.administracion-page .permission-visual-check { display: inline-grid; width: 18px; height: 18px; flex: 0 0 18px; place-items: center; color: transparent; background: var(--sigep-card); border: 1px solid var(--sigep-border); border-radius: 50%; font-size: var(--sigep-font-size-micro); transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.administracion-page .permission-user-check:checked+.permission-visual-check { color: #fff; background: #059669; border-color: #059669; }
.administracion-page .permission-user-check:focus-visible+.permission-visual-check { outline: 2px solid #38bdf8; outline-offset: 2px; }
.administracion-page .permission-user-text { min-width: 0; color: var(--sigep-text); font-size: var(--sigep-filter-font-size); line-height: 1.1; }
.administracion-page .permission-user-text strong { font-weight: 800; }
.administracion-page .permission-user-text small { display: block; overflow: hidden; margin-top: 1px; color: var(--sigep-muted); font-size: var(--sigep-filter-font-size); text-overflow: ellipsis; white-space: nowrap; }
.administracion-page .permission-user-text .badge { padding: .15rem .3rem; font-size: var(--sigep-font-size-micro); vertical-align: middle; }
.administracion-page .permission-inherited-icon { color: #64748b; font-size: var(--sigep-font-size-table); vertical-align: middle; cursor: help; }
@media (max-width: 1199.98px) {
  .administracion-page .access-permission-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .administracion-page .access-toolbar { align-items: flex-start; flex-direction: column; }
  .administracion-page .access-permission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sticky-save-access { position: sticky; z-index: 20; bottom: 1rem; display: flex; justify-content: flex-end; margin-top: 1rem; padding: .65rem; pointer-events: none; }
.sticky-save-access .btn { box-shadow: 0 8px 24px rgba(15,45,89,.25); pointer-events: auto; }
@media (prefers-reduced-motion: reduce) {
  .dashboard-main-area .db-hero::before,.dashboard-main-area .db-hero-badge .dot,.dashboard-main-area .db-kpi-bar-fill { animation: none !important; }
}
/* Dashboard de inventario: acciones claramente separadas de sus paneles. */
.inventory-dashboard-page .inventory-dashboard-card .inventory-dashboard-link { border-width: 1px !important; border-style: solid !important; background: #ffffff !important; box-shadow: 0 2px 6px rgba(15, 45, 89, 0.13) !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(1) .inventory-dashboard-link { border-color: #38bdf8 !important; color: #075985 !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(2) .inventory-dashboard-link { border-color: #34d399 !important; color: #047857 !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(3) .inventory-dashboard-link { border-color: #f5b82e !important; color: #92400e !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(1) .inventory-dashboard-link.is-primary { border-color: #0284c7 !important; background: linear-gradient(135deg, #0ea5e9, #0284c7) !important; color: #ffffff !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(2) .inventory-dashboard-link.is-primary { border-color: #059669 !important; background: linear-gradient(135deg, #10b981, #059669) !important; color: #ffffff !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(3) .inventory-dashboard-link.is-primary { border-color: #d97706 !important; background: linear-gradient(135deg, #f59e0b, #d97706) !important; color: #ffffff !important; }
.inventory-dashboard-page .inventory-dashboard-card .inventory-dashboard-link.is-primary i { background: rgba(255, 255, 255, 0.2) !important; color: #ffffff !important; }
.inventory-dashboard-page .inventory-dashboard-card .inventory-dashboard-link:hover { filter: saturate(1.08) brightness(0.98); transform: translateX(3px) translateY(-1px); box-shadow: 0 5px 10px rgba(15, 45, 89, 0.18) !important; }
/* Limita el tablero en monitores amplios sin afectar su respuesta móvil. */
body .main-area.inventory-dashboard-page { width: min(100%, 1200px) !important; min-width: 0 !important; max-width: 1200px !important; margin-right: auto !important; margin-left: auto !important; }
/* Toma global: composición compacta y búsqueda siempre horizontal. */
body .main-area.global-inventory-page { width: min(100%, 1200px) !important; min-width: 0 !important; max-width: 1200px !important; margin-inline: auto !important; gap: 0.55rem !important; font-size: var(--sigep-table-font-size); }
/* La toma global hereda exclusivamente la escala tipografica de SIGEP. */
.global-inventory-page :is(.btn,.btn-sm,.btn-lg) { font-size: var(--sigep-button-font-size) !important; }
.global-inventory-page .alert { font-size: var(--sigep-message-text-font-size) !important; }
.global-inventory-page :is(.form-text,.text-muted,small,.small) { font-size: var(--sigep-message-support-font-size) !important; }
/* Botones del tablero de inventario: numeración izquierda e icono funcional a la derecha. */
.inventory-dashboard-page .inventory-dashboard-link-number { display: inline-flex; width: 1.45rem; min-width: 1.45rem; height: 1.45rem; flex: 0 0 1.45rem; align-items: center; justify-content: center; padding: 0 !important; box-sizing: border-box; color: var(--inventory-card-accent); background: #fff; border: 1px solid currentColor; border-radius: 50%; font-size: var(--sigep-font-size-text); font-weight: 900; line-height: 1 !important; text-align: center; }
.inventory-dashboard-page .inventory-dashboard-link-icon { display: inline-grid !important; width: 1.35rem !important; min-width: 1.35rem !important; height: 1.35rem !important; min-height: 1.35rem !important; flex: 0 0 1.35rem; place-items: center; margin-left: 0.45rem; padding: 0 !important; box-sizing: border-box; border: 1px solid currentColor; border-radius: 50% !important; font-size: var(--sigep-font-size-table) !important; font-weight: 900; line-height: 1 !important; opacity: 1 !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(1) .inventory-dashboard-link-icon { background: #d7f0fd !important; color: #0369a1 !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(2) .inventory-dashboard-link-icon { background: #d9f9e6 !important; color: #047857 !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(3) .inventory-dashboard-link-icon { background: #fdf0c2 !important; color: #92400e !important; }
.inventory-dashboard-page .inventory-dashboard-card .inventory-dashboard-link.is-primary .inventory-dashboard-link-icon { border-color: rgba(255, 255, 255, .85) !important; background: rgba(255, 255, 255, .18) !important; color: #fff !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(1) .inventory-dashboard-link-number { color: #fff !important; background: #0284c7; border-color: #0284c7; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(2) .inventory-dashboard-link-number { color: #fff !important; background: #059669; border-color: #059669; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(3) .inventory-dashboard-link-number { color: #fff !important; background: #d97706; border-color: #d97706; }
.inventory-dashboard-page .inventory-dashboard-link.is-primary .inventory-dashboard-link-number { color: #fff !important; background: rgba(255, 255, 255, .22); border-color: rgba(255, 255, 255, .8); }
.inventory-dashboard-page .inventory-dashboard-link.is-disabled .inventory-dashboard-link-number { color: currentColor; }
/* Check visual único para todos los módulos; reemplaza checkbox y switch de Bootstrap. */
html body .form-check-input[type="checkbox"] { appearance: none !important; display: inline-grid !important; width: 18px !important; min-width: 18px !important; height: 18px !important; min-height: 18px !important; padding: 0 !important; place-content: center; margin-top: .12rem !important; background-color: var(--sigep-card) !important; background-image: none !important; background-position: center !important; background-repeat: no-repeat !important; background-size: 10px 10px !important; border: 1px solid var(--sigep-border) !important; border-radius: 50% !important; box-shadow: none !important; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, transform .15s ease !important; }
html body .form-check-input[type="checkbox"]:checked { background-color: #059669 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m3 8 3 3 7-7'/%3E%3C/svg%3E") !important; border-color: #059669 !important; }
html body .form-check-input[type="checkbox"]:hover:not(:disabled) { border-color: #059669 !important; transform: scale(1.06); }
html body .form-check-input[type="checkbox"]:focus-visible { outline: 2px solid #38bdf8 !important; outline-offset: 2px; }
html body .form-check-input[type="checkbox"]:disabled { cursor: not-allowed; opacity: .55; }
html body .form-switch { padding-left: 1.65rem !important; }
html body .form-switch .form-check-input[type="checkbox"] { margin-left: -1.65rem !important; }
.global-inventory-page .section-card { margin-bottom: 0.55rem !important; border-radius: 10px !important; overflow: hidden; border: 1px solid #d9e5f1; box-shadow: 0 3px 12px rgb(25 61 104 / 7%); }
.global-inventory-page .global-search-card { display: grid; grid-template-columns: minmax(220px, 0.6fr) minmax(360px, 1.4fr); align-items: center; padding: 9px 12px; background: linear-gradient(110deg, #f7fbff 0%, #fff 75%); }
.global-inventory-page .global-search-heading,.global-inventory-page .global-form-title { display: flex; align-items: center; gap: 9px; }
.global-inventory-page .global-search-heading h3,.global-inventory-page .global-form-title strong { display: block; margin: 0; color: #12345d; font-size: var(--sigep-message-text-font-size); font-weight: 800; }
.global-inventory-page .global-search-heading span,.global-inventory-page .global-form-title span { display: block; color: #64748b; font-size: var(--sigep-table-font-size); }
.global-inventory-page .global-heading-icon,.global-inventory-page .global-form-title>i { display: inline-grid; width: 2rem; height: 2rem; flex: 0 0 2rem; place-items: center; border-radius: 50%; color: #087dc1; background: #e6f5ff; border: 1px solid #b5e1fb; }
.global-inventory-page .section-header { min-height: 30px; padding: 5px 10px !important; }
.global-inventory-page .section-header h3 { margin: 0; font-size: var(--sigep-filter-font-size) !important; }
.global-inventory-page .section-header span { font-size: var(--sigep-table-font-size) !important; }
.global-inventory-page .global-search-form { padding: 0 !important; }
.global-inventory-page .global-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; align-items: center; }
.global-inventory-page .global-search-row .btn { width: auto !important; margin: 0 !important; min-height: var(--sigep-filter-control-height) !important; padding-inline: 1rem !important; }
.global-inventory-page .global-search-row .form-control { width: 100% !important; height: var(--sigep-filter-control-height) !important; min-height: var(--sigep-filter-control-height) !important; }
.global-inventory-page .global-inventory-form,.global-inventory-page .section-card>.p-3 { padding: 8px 10px !important; }
.global-inventory-page .global-asset-summary { padding: 9px 12px; background: #f7faff; border-bottom: 1px solid #dce8f4; }
.global-inventory-page .global-data-panel { margin: 10px 10px 0; border: 1px solid var(--sigep-modal-info-border); border-left: 4px solid var(--sigep-modal-info-accent); border-radius: 9px; background: var(--sigep-modal-info-bg); box-shadow: none; }
.global-inventory-page .global-asset-table-wrap { overflow: hidden; border: 1px solid #d6e2ee; border-radius: 7px; background: #fff; }
.global-inventory-page .global-asset-table { table-layout: fixed; min-width: 780px; }
.global-inventory-page .global-asset-table thead th { white-space: nowrap; }
.global-inventory-page .global-asset-table tbody td { overflow-wrap: anywhere; }
.global-inventory-page .global-asset-table :is(th,td):nth-child(1) { width: 6rem; }
.global-inventory-page .global-asset-table :is(th,td):nth-child(2) { width: 17%; }
.global-inventory-page .global-asset-table :is(th,td):nth-child(3) { width: 13%; }
.global-inventory-page .global-asset-table :is(th,td):nth-child(4) { width: 8%; }
.global-inventory-page .global-asset-table :is(th,td):nth-child(5) { width: 31%; }
.global-inventory-page .global-asset-table :is(th,td):nth-child(6) { width: 21%; }
.global-inventory-page .global-asset-table tbody span { display: block; margin-top: 2px; color: #66809b; font-size: var(--sigep-table-font-size); }
.global-inventory-page .global-asset-summary-title { margin-bottom: 6px; color: #31577d; font-size: var(--sigep-filter-font-size); font-weight: 800; text-transform: uppercase; letter-spacing: .025em; }
.global-inventory-page .global-asset-summary-title i { color: #148aca; margin-right: 5px; }
.global-inventory-page .global-asset-summary span { display: block; color: #64748b; font-size: var(--sigep-table-font-size); line-height: 1.1; }
.global-inventory-page .global-asset-summary strong { display: block; margin-top: 2px; color: #1d3552; font-size: var(--sigep-filter-font-size); line-height: 1.22; }
.global-inventory-page .global-form-title { padding: 0 0 7px; margin-bottom: 8px; border-bottom: 1px dashed #ccdae9; }
.global-inventory-page .global-location-status { display: flex; align-items: center; gap: 6px; margin: 0 0 0 auto; padding: 6px 9px; color: #075c36; background: #d9f7e7; border: 1px solid #82d8aa; border-left: 4px solid #109554; border-radius: 6px; box-shadow: 0 1px 3px rgb(16 149 84 / 15%); font-size: var(--sigep-table-font-size); font-weight: 800; line-height: 1.2; text-align: right; }
.global-inventory-page .global-location-status>i { font-size: var(--sigep-font-size-text); }
.global-inventory-page .global-location-status.text-warning { color: #991b1b !important; background: #fee2e2; border-color: #fca5a5; border-left-color: #dc2626; box-shadow: 0 1px 3px rgb(220 38 38 / 16%); }
/* Registro rápido: misma jerarquía visual de los paneles de toma global. */
.quick-inventory-page .quick-data-panel { padding: 9px; background: linear-gradient(110deg, #eaf5ff 0%, #f7fbff 100%); border: 1px solid #d8e7f7; border-left: 4px solid #1688cf; border-radius: 9px; box-shadow: 0 2px 7px rgb(22 136 207 / 9%); }
.quick-inventory-page .quick-characteristics-panel { border: 1px solid #f2d9b2 !important; border-left: 4px solid #d9901a !important; background: linear-gradient(110deg, #fff5df 0%, #fffdf8 100%) !important; box-shadow: 0 2px 7px rgb(217 144 26 / 9%); }
.quick-inventory-page .quick-characteristics-panel .card-body { background: transparent; }
/* Clasificación financiera de sobrantes: panel informativo, no de alerta. */
.quick-inventory-page .quick-financial-panel { border: 1px solid #b8d7ea !important; border-left: 4px solid #1688cf !important; background: linear-gradient(110deg, #edf7fd 0%, #f8fcff 100%) !important; box-shadow: 0 2px 8px rgba(22, 136, 207, 0.1) !important; color: var(--sigep-text) !important; }
.quick-inventory-page .quick-financial-panel .card-body { background: transparent !important; color: var(--sigep-text) !important; }
.quick-inventory-page .quick-financial-panel .card-body>.fw-bold { color: #0f4770 !important; }
.quick-inventory-page .quick-financial-heading { display: flex; gap: 0.65rem; align-items: baseline; margin-bottom: 0.35rem; }
.quick-inventory-page .quick-financial-heading .fw-bold { flex: 0 0 auto; color: #0f4770 !important; font-size: var(--sigep-font-size-text) !important; line-height: 1.15; }
.quick-inventory-page .quick-financial-heading p { margin: 0 !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.15; }
@media (max-width: 767.98px) {
  .quick-inventory-page .quick-financial-heading { display: block; }
  .quick-inventory-page .quick-financial-heading p { margin-top: 0.15rem !important; }
}
.quick-inventory-page .quick-financial-panel .text-muted,.quick-inventory-page .quick-financial-panel .form-label { color: #36566d !important; }
.quick-inventory-page .quick-financial-panel .ts-wrapper,.quick-inventory-page .quick-financial-panel .form-select { background-color: var(--sigep-card, #ffffff) !important; border-color: #9fc9e2 !important; color: var(--sigep-text) !important; }
body>.ts-dropdown { z-index: 20050 !important; }
.quick-inventory-page .quick-verification-panel { padding: 9px 10px; border: 1px solid #c7ead8; border-left: 4px solid #17a263; border-radius: 9px; background: linear-gradient(110deg, #effcf6 0%, #fbfffd 100%); box-shadow: 0 2px 7px rgb(23 162 99 / 9%); }
.quick-inventory-page .quick-panel-title { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding-bottom: 7px; border-bottom: 1px dashed #bfe2d0; }
.quick-inventory-page .quick-panel-title>i { display: inline-grid; width: 1.6rem; height: 1.6rem; flex: 0 0 1.6rem; place-items: center; color: #118952; background: #e9fbf2; border: 1px solid #bdebd3; border-radius: 50%; font-size: var(--sigep-font-size-support); }
.quick-inventory-page .quick-panel-title strong,.quick-inventory-page .quick-panel-title span { display: block; }
.quick-inventory-page .quick-panel-title strong { color: #123f2b; font-size: var(--sigep-font-size-text); }
.quick-inventory-page .quick-panel-title span { color: #5b786a; font-size: var(--sigep-font-size-table); }
.quick-inventory-page .quick-location-status { color: #991b1b; background: #fee2e2; border: 1px solid #fca5a5; border-left: 4px solid #dc2626; box-shadow: 0 1px 3px rgb(220 38 38 / 16%); }
.global-inventory-page .global-form-title>i { width: 1.6rem; height: 1.6rem; flex-basis: 1.6rem; color: #118952; background: #e9fbf2; border-color: #bdebd3; font-size: var(--sigep-font-size-support); }
.global-inventory-page .global-form-panel { padding: 9px 10px; margin-bottom: 8px; border: 1px solid var(--sigep-modal-physical-border); border-left: 4px solid var(--sigep-modal-physical-accent); border-radius: 9px; background: var(--sigep-modal-physical-bg); box-shadow: none; }
.global-inventory-page .global-characteristics-panel { border-color: var(--sigep-modal-characteristics-border); border-left-color: var(--sigep-modal-characteristics-accent); background: var(--sigep-modal-characteristics-bg); padding-block: 8px; }
.inventory-characteristics-fields { --sigep-color-control-width: 100%; --sigep-color-control-min-width: 0; }
.inventory-characteristics-fields>[class*="col-"] { min-width: 0; }
.inventory-characteristics-field-head { display: flex; align-items: center; gap: var(--sigep-filter-gap-x); min-height: var(--sigep-table-action-size); margin-bottom: .125rem; font-size: var(--sigep-table-font-size); }
.inventory-characteristics-option { display: inline-flex; align-items: center; flex-shrink: 0; gap: .25rem; margin: 0; line-height: 1.05; white-space: nowrap; cursor: pointer; }
.global-inventory-page .global-results-card .table th { white-space: nowrap; }
.global-inventory-page .global-results-card .table td { color: #263f5c; font-size: var(--sigep-table-font-size); }
.global-inventory-page .global-results-table { min-width: 900px; table-layout: fixed; }
.global-inventory-page .global-results-table :is(th,td):first-child { width: 11%; min-width: 100px; white-space: nowrap; overflow-wrap: normal; }
.global-inventory-page .global-results-table :is(th,td):nth-child(2) { width: 30%; }
.global-inventory-page .global-results-table :is(th,td):nth-child(3) { width: 17%; }
.global-inventory-page .global-results-table :is(th,td):nth-child(4) { width: 21%; }
.global-inventory-page .global-results-table :is(th,td):nth-child(5) { width: 15%; }
.global-inventory-page .global-results-table :is(th,td):last-child { width: 132px; min-width: 132px; text-align: center; }
.global-inventory-page .global-results-table td:last-child .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 118px; white-space: nowrap; }
.global-inventory-page .global-inventoried-table { min-width: 920px; table-layout: fixed; }
.global-inventory-page .global-inventoried-table :is(th,td) { overflow-wrap: anywhere; }
.global-inventory-page .global-inventoried-table :is(th,td):nth-child(1) { width: 27%; }
.global-inventory-page .global-inventoried-table :is(th,td):nth-child(2) { width: 20%; }
.global-inventory-page .global-inventoried-table :is(th,td):nth-child(3) { width: 15%; text-align: center; }
.global-inventory-page .global-inventoried-table :is(th,td):nth-child(4) { width: 25%; }
.global-inventory-page .global-inventoried-table :is(th,td):nth-child(5) { width: 13%; }
.global-inventory-page .global-inventoried-table .asset-code-cell { margin-bottom: 3px; white-space: nowrap; overflow-wrap: normal; }
@media (max-width: 767.98px) {
  .global-inventory-page .global-search-card { grid-template-columns: 1fr; gap: 9px; }
  .global-inventory-page .global-search-row .btn { padding-inline: .7rem !important; }
  .global-inventory-page .global-form-title { flex-wrap: wrap; }
  .global-inventory-page .global-location-status { width: 100%; margin-left: 0; text-align: left; }
}
.global-inventory-page .global-inventory-form .row { --bs-gutter-x: 0.55rem; --bs-gutter-y: 0.45rem; }
.global-inventory-page .global-inventory-form .form-label { margin-bottom: 2px; font-size: var(--sigep-table-font-size); }
.global-inventory-page .global-inventory-form :is(.form-control,.form-select) { min-height: var(--sigep-filter-control-height); height: var(--sigep-filter-control-height); padding: 4px 8px; border-radius: var(--sigep-filter-control-radius); font-size: var(--sigep-filter-font-size); }
.global-inventory-page .global-inventory-form textarea.form-control { min-height: 48px; }
.inventory-dashboard-page .inventory-dashboard-link { min-height: 34px !important; padding: 0.3rem 0.55rem !important; }
.inventory-dashboard-page .inventory-dashboard-link-label { display: inline-flex; min-width: 0; align-items: center; gap: 0.45rem; }
.inventory-dashboard-page .inventory-dashboard-link-label i { display: inline-grid !important; width: 1.35rem !important; min-width: 1.35rem !important; height: 1.35rem !important; min-height: 1.35rem !important; flex: 0 0 1.35rem; place-items: center; padding: 0 !important; box-sizing: border-box; border-radius: 50% !important; line-height: 1 !important; opacity: 1 !important; border: 1px solid currentColor; font-size: var(--sigep-font-size-table) !important; font-weight: 900; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(1) .inventory-dashboard-link-label i { background: #e0f2fe !important; color: #0369a1 !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(2) .inventory-dashboard-link-label i { background: #dcfce7 !important; color: #047857 !important; }
.inventory-dashboard-page .inventory-dashboard-card:nth-child(3) .inventory-dashboard-link-label i { background: #fef3c7 !important; color: #92400e !important; }
.inventory-dashboard-page .inventory-dashboard-card .inventory-dashboard-link.is-primary .inventory-dashboard-link-label i { border-color: rgba(255, 255, 255, 0.85) !important; background: rgba(255, 255, 255, 0.18) !important; color: #ffffff !important; }
/* Cierre de inventario: densidad vertical de la vista de ubicaciones. */
.closure-page .closure-locations-card { margin-bottom: 10px; border-radius: 9px !important; }
.closure-page .closure-locations-card .section-header { min-height: 0; padding: 5px 10px !important; gap: 8px; }
.closure-page .closure-locations-card .section-header h3 { font-size: var(--sigep-button-font-size) !important; line-height: 1.15; }
.closure-page .closure-locations-card .section-header span { display: block; margin-top: 2px; font-size: var(--sigep-table-font-size); line-height: 1.15; }
.closure-page .closure-location-filter { padding: 6px 10px; }
.closure-page .closure-location-filter .form-label { font-size: var(--sigep-filter-font-size); }
.closure-page .closure-location-filter .form-select { min-height: var(--sigep-filter-control-height); height: var(--sigep-filter-control-height); padding-block: 2px; font-size: var(--sigep-filter-font-size); }

.closure-page .closure-locations-card .ubi-table :is(th,td):first-child { width: var(--sigep-table-index-column-width); min-width: var(--sigep-table-index-column-width); white-space: nowrap; overflow-wrap: normal; text-align: center; }
.closure-page .closure-locations-card .btn-ficha-action { width: var(--sigep-table-action-size) !important; height: var(--sigep-table-action-size) !important; min-width: var(--sigep-table-action-size) !important; border-radius: 7px; font-size: var(--sigep-table-font-size); }
.closure-page .closure-locations-card td .d-flex { gap: 4px !important; }
/* Edición de toma: comparación plana y compacta. */
.inventoried-edit-page .inventoried-edit-card { border-radius: 9px !important; }
.inventoried-edit-page .section-header { min-height: 0; padding: 6px 10px !important; }
.inventoried-edit-page .section-header h3 { font-size: var(--sigep-button-font-size) !important; line-height: 1.15; }
.inventoried-edit-page .section-header span { font-size: var(--sigep-table-font-size) !important; line-height: 1.15; }
.inventoried-edit-form { padding: 7px 10px 9px; }
.inventoried-edit-table { table-layout: fixed; }

.inventoried-edit-table th:first-child { width: 16%; }
.inventoried-edit-table th:nth-child(2) { width: 34%; }
.inventoried-edit-table th:nth-child(3) { width: 50%; }
.inventoried-edit-page .form-control,.inventoried-edit-page .form-select { min-height: var(--sigep-table-action-size) !important; height: var(--sigep-table-action-size) !important; padding: 0 6px !important; border-radius: var(--sigep-filter-control-radius); font-size: var(--sigep-table-font-size) !important; line-height: 1 !important; }
.inventoried-edit-page textarea.form-control { min-height: var(--sigep-filter-control-height) !important; height: var(--sigep-filter-control-height) !important; padding: 3px 6px !important; line-height: 1.1 !important; resize: vertical; }
.inventoried-edit-page .select2-container { min-height: var(--sigep-table-action-size) !important; height: var(--sigep-table-action-size) !important; }
.inventoried-edit-page .select2-container .select2-selection--single { min-height: var(--sigep-table-action-size) !important; height: var(--sigep-table-action-size) !important; padding: 0 22px 0 6px !important; border-radius: var(--sigep-filter-control-radius) !important; }
.inventoried-edit-page .select2-container .select2-selection--single .select2-selection__rendered { height: var(--sigep-table-action-size) !important; padding: 0 !important; font-size: var(--sigep-table-font-size) !important; line-height: var(--sigep-table-action-size) !important; }
.inventoried-edit-page .select2-container .select2-selection--single .select2-selection__arrow { width: 20px !important; height: var(--sigep-table-action-size) !important; }
.inventoried-edit-extra { padding-top: 4px; }
.inventoried-edit-page .form-label { margin-bottom: 2px; font-size: var(--sigep-filter-font-size) !important; line-height: 1.1; }
.inventoried-edit-page .form-text { margin-top: 2px; font-size: var(--sigep-table-font-size) !important; }
.inventoried-edit-actions { margin-top: 4px; }
.inventoried-edit-actions .btn { min-height: var(--sigep-button-height); padding: 2px var(--sigep-button-padding-x) !important; font-size: var(--sigep-button-font-size) !important; }
@media (max-width: 767.98px) {
  .inventoried-edit-table { min-width: 720px; }
  .inventoried-edit-form { padding-inline: 7px; }
}
/* Edición de bienes inventariados dentro del listado. */
.inventoried-edit-modal { z-index: 20010 !important; }
.inventoried-edit-modal.show { display: flex !important; align-items: center; justify-content: center; pointer-events: auto !important; }
.inventoried-edit-modal .modal-dialog { width: min(var(--sigep-inventory-modal-width), calc(100vw - 24px)) !important; max-width: min(var(--sigep-inventory-modal-width), calc(100vw - 24px)) !important; height: auto !important; margin: 8px auto !important; min-height: auto !important; }
.inventoried-edit-modal .modal-content { height: auto !important; min-height: 0 !important; max-height: calc(100vh - var(--sigep-inventory-modal-viewport-gap)) !important; overflow: hidden; border: 1px solid var(--sigep-border) !important; border-radius: 10px !important; background: var(--sigep-card) !important; color: var(--sigep-text) !important; box-shadow: 0 18px 48px rgba(3, 17, 38, .28) !important; }
.inventoried-edit-modal form { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.inventoried-edit-modal .modal-header,.inventoried-edit-modal .modal-footer { flex: 0 0 auto; padding: 6px 12px !important; }
.inventoried-edit-modal .modal-header { position: relative; border-bottom: 1px solid var(--sigep-border) !important; background: var(--sigep-inventory-modal-header-bg) !important; color: var(--sigep-modal-header-text-color) !important; }
.inventoried-edit-modal .modal-header>div { min-width: 0; width: 100%; }
.inventoried-edit-modal .modal-header .modal-title { width: 100%; padding-inline: 34px; margin: 0 0 var(--sigep-inventory-modal-title-gap) !important; text-align: center; }
.inventoried-edit-modal .modal-header .modal-title,.inventoried-edit-modal .modal-header small { color: var(--sigep-modal-header-text-color) !important; }
.inventoried-edit-modal .modal-header .btn-close { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); margin: 0 !important; width: 28px; height: 28px; flex: 0 0 28px; padding: 0 !important; border: 1px solid rgba(255, 255, 255, .7); border-radius: 50%; background: #fff !important; filter: none; opacity: 1; }
.inventoried-edit-modal .modal-header .btn-close::before,.inventoried-edit-modal .modal-header .btn-close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 15px; height: 2px; border-radius: 2px; background: var(--sigep-btn-primary-bg); }
.inventoried-edit-modal .modal-header .btn-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.inventoried-edit-modal .modal-header .btn-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.inventoried-edit-modal .modal-header .btn-close:hover { background: #fee2e2 !important; }
.inventoried-edit-modal .modal-body { min-height: 0; overflow-y: auto !important; padding: 7px 10px !important; background: color-mix(in srgb, var(--sigep-card) 89%, var(--sigep-primary) 11%); }
.inventoried-edit-modal .modal-title { font-size: var(--sigep-inventory-modal-title-font-size) !important; line-height: 1.1; }
.inventoried-edit-modal .modal-header small,.inventoried-edit-modal .edit-field-reference { font-size: var(--sigep-table-font-size) !important; }
.inventoried-edit-modal .edit-field-reference { display: block; overflow: hidden; height: 13px; margin-bottom: 1px; color: var(--sigep-muted); line-height: 13px; text-overflow: ellipsis; white-space: nowrap; }
.inventoried-edit-modal .form-label { margin-bottom: 1px; font-weight: 600; font-size: var(--sigep-table-font-size) !important; line-height: 1.05; }
.inventoried-edit-modal .form-control,.inventoried-edit-modal .form-select { min-height: var(--sigep-table-action-size) !important; height: var(--sigep-table-action-size) !important; padding: 0 6px !important; border-radius: 7px !important; font-size: var(--sigep-table-font-size) !important; line-height: 1 !important; }
.inventoried-edit-modal .ts-wrapper { width: 100%; min-height: var(--sigep-table-action-size) !important; }
.inventoried-edit-modal .ts-control { min-height: var(--sigep-table-action-size) !important; height: var(--sigep-table-action-size) !important; padding: 0 28px 0 6px !important; align-items: center; border-radius: 7px !important; font-size: var(--sigep-table-font-size) !important; line-height: 1 !important; }
.inventoried-edit-modal .ts-control>input { min-width: 1px; font-size: var(--sigep-table-font-size) !important; }
.inventoried-edit-modal textarea.form-control { min-height: 42px !important; height: 42px !important; padding: 5px 7px !important; line-height: 1.25 !important; resize: vertical; }
.inventoried-edit-modal .edit-modal-section { --sigep-panel-bg: var(--sigep-modal-info-bg); --sigep-panel-border: var(--sigep-modal-info-border); --sigep-panel-accent: var(--sigep-modal-info-accent); padding: 7px 9px; border: 1px solid var(--sigep-panel-border); border-left: 4px solid var(--sigep-panel-accent); border-radius: 9px; background: var(--sigep-panel-bg); }
.inventoried-edit-modal .edit-modal-section--characteristics { --sigep-panel-bg: var(--sigep-modal-characteristics-bg); --sigep-panel-border: var(--sigep-modal-characteristics-border); --sigep-panel-accent: var(--sigep-modal-characteristics-accent); }
.inventoried-edit-modal .edit-modal-section--physical { --sigep-panel-bg: var(--sigep-modal-physical-bg); --sigep-panel-border: var(--sigep-modal-physical-border); --sigep-panel-accent: var(--sigep-modal-physical-accent); }
.inventoried-edit-modal .edit-modal-section--notes { --sigep-panel-bg: var(--sigep-modal-notes-bg); --sigep-panel-border: var(--sigep-modal-notes-border); --sigep-panel-accent: var(--sigep-modal-notes-accent); }
.inventoried-edit-modal .edit-modal-section+.edit-modal-section { margin-top: 6px; }
.inventoried-edit-modal .inventoried-read-view td.inventoried-value-changed { color: #dc2626 !important; font-weight: 700; }
.inventoried-edit-modal .edit-modal-section-title { display: flex; align-items: center; gap: 6px; margin: 0 0 5px; padding-bottom: 4px; border-bottom: 1px solid var(--sigep-panel-border); color: var(--sigep-primary); font-size: var(--sigep-font-size-table); font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.inventoried-edit-modal .edit-modal-section-title i { width: 15px; text-align: center; }
.inventoried-edit-modal .edit-field-placeholder { visibility: hidden; }
.inventoried-edit-modal .edit-modal-section .row { --bs-gutter-x: .65rem; --bs-gutter-y: .35rem; }
.inventoried-edit-modal .edit-modal-section .row>[class*="col-"] { position: relative; }
.inventoried-edit-modal .edit-modal-section .row>[class*="col-"]>.ts-dropdown { top: 100% !important; left: calc(var(--bs-gutter-x) * .5) !important; width: calc(100% - var(--bs-gutter-x)) !important; margin-top: 2px !important; z-index: 20050 !important; }
.inventoried-edit-modal .ts-dropdown { max-height: min(165px, var(--sigep-dropdown-available-height, 165px)) !important; overflow: hidden !important; font-size: var(--sigep-table-font-size) !important; }
.inventoried-edit-modal .ts-dropdown .dropdown-input-wrap { padding: 4px 5px !important; }
.inventoried-edit-modal .ts-dropdown .dropdown-input { min-height: 25px !important; height: 25px !important; padding: 2px 6px !important; font-size: var(--sigep-table-font-size) !important; }
.inventoried-edit-modal .ts-dropdown-content { max-height: min(126px, var(--sigep-dropdown-content-height, 126px)) !important; overflow-y: auto !important; }
.inventoried-edit-modal .ts-dropdown .option { min-height: 0; margin: var(--sigep-combo-option-gap-y) var(--sigep-combo-option-gap-x) !important; padding: var(--sigep-combo-option-padding-y) var(--sigep-combo-option-padding-x) !important; line-height: 1.15 !important; }
@media (max-width: 767.98px) {
  .inventoried-edit-modal .modal-dialog { width: calc(100vw - 16px) !important; max-width: calc(100vw - 16px) !important; margin: 8px auto !important; min-height: auto !important; }
  .inventoried-edit-modal .modal-content { max-height: calc(100vh - 16px) !important; }
  .inventoried-edit-modal .modal-body { padding: 10px !important; }
  .inventoried-edit-modal .edit-modal-section { padding: 7px 8px; }
}
.inventoried-edit-modal .modal-footer .btn { min-height: var(--sigep-button-height) !important; padding: 2px var(--sigep-button-padding-x) !important; font-size: var(--sigep-button-font-size) !important; }
/* Registro de toma rápida presentado en primer plano. */
.quick-register-modal .modal-dialog { width: min(var(--sigep-inventory-modal-width), calc(100vw - 24px)) !important; max-width: min(var(--sigep-inventory-modal-width), calc(100vw - 24px)) !important; }
.quick-register-modal .modal-body { overflow-y: auto !important; }
.quick-register-modal .modal-title { font-size: var(--sigep-inventory-modal-title-font-size) !important; }
#modalRegistroInventarioGlobal .modal-header { padding-block: 4px !important; align-items: center; }
#modalRegistroInventarioGlobal .modal-header>div { min-width: 0; flex: 1 1 auto; }
#modalRegistroInventarioGlobal .modal-title { margin: 0 0 var(--sigep-inventory-modal-title-gap) !important; line-height: 1 !important; }
.inventoried-edit-modal .modal-header .inventory-modal-asset-summary { display: block; margin: 0 !important; font-size: var(--sigep-font-size-table) !important; font-weight: 600; line-height: 1.08 !important; color: var(--sigep-inventory-modal-summary-color) !important; }
.quick-register-modal .modal-header small,.quick-register-modal .quick-register-form,.quick-register-modal .quick-register-form :is(p,span,strong,small,label,li,td,th) { font-size: var(--sigep-table-font-size) !important; }
.quick-register-modal .quick-register-column,.quick-register-modal .section-card { width: 100%; margin: 0 !important; }
.quick-register-modal .section-card { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; }
.quick-register-modal .quick-register-form { padding: 2px !important; }
.quick-register-modal :is(.quick-data-panel,.quick-financial-panel,.quick-characteristics-panel,.quick-verification-panel) { margin-bottom: 5px !important; }
.quick-register-modal .quick-register-form .row { --bs-gutter-x: .55rem; --bs-gutter-y: .35rem; }
.quick-register-modal :is(.quick-data-panel,.quick-verification-panel,.quick-characteristics-panel,.quick-financial-panel .card-body) { padding: 6px 8px !important; }
.quick-register-modal :is(.quick-data-panel,.quick-financial-panel,.quick-characteristics-panel,.quick-verification-panel) { --sigep-panel-bg: var(--sigep-modal-physical-bg); --sigep-panel-border: var(--sigep-modal-physical-border); --sigep-panel-accent: var(--sigep-modal-physical-accent); border: 1px solid var(--sigep-panel-border) !important; border-left: 4px solid var(--sigep-panel-accent) !important; border-radius: 9px !important; background: var(--sigep-panel-bg) !important; color: var(--sigep-text) !important; box-shadow: none !important; }
.quick-register-modal :is(.quick-data-panel,.quick-financial-panel) { --sigep-panel-bg: var(--sigep-modal-info-bg); --sigep-panel-border: var(--sigep-modal-info-border); --sigep-panel-accent: var(--sigep-modal-info-accent); }
.quick-register-modal :is(.quick-characteristics-panel,.sobrante-characteristics-panel) { --sigep-panel-bg: var(--sigep-modal-characteristics-bg); --sigep-panel-border: var(--sigep-modal-characteristics-border); --sigep-panel-accent: var(--sigep-modal-characteristics-accent); }
.quick-register-modal .quick-characteristics-panel>.card-body { padding: 0 !important; background: transparent !important; }
.quick-register-modal .quick-financial-panel>.card-body { background: transparent !important; }
.inventoried-edit-modal #tomaNuevoResponsable>.border { border-color: var(--sigep-modal-notes-border) !important; border-left: 4px solid var(--sigep-modal-notes-accent) !important; background: var(--sigep-modal-notes-bg); }
/* Acciones de responsables: variante compacta compartida por los modales. */
.modal .btn.btn-responsable-action { --sigep-button-height: var(--sigep-table-action-size); --sigep-button-padding-x: var(--sigep-filter-gap-x); --sigep-button-font-size: var(--sigep-table-font-size); --sigep-btn-text-color: var(--sigep-notice-success-text); --sigep-btn-secondary-bg: var(--sigep-notice-success-bg); --sigep-btn-secondary-border: var(--sigep-notice-success-border); --sigep-btn-secondary-hover-bg: var(--sigep-combo-option-active-bg); --sigep-btn-secondary-hover-border: var(--sigep-notice-success-border); display: inline-flex; align-items: center; min-height: var(--sigep-button-height) !important; height: var(--sigep-button-height) !important; margin-top: 4px !important; padding: 2px var(--sigep-button-padding-x) !important; border-radius: var(--sigep-filter-control-radius) !important; font-size: var(--sigep-button-font-size) !important; line-height: 1.1; }
.modal .btn-responsable-action[aria-expanded="true"] { --sigep-btn-secondary-bg: var(--sigep-combo-option-active-bg); }
.modal .btn.btn-responsable-action--secondary { --sigep-btn-text-color: var(--sigep-notice-neutral-text); --sigep-btn-secondary-bg: var(--sigep-notice-neutral-bg); --sigep-btn-secondary-border: var(--sigep-notice-neutral-border); --sigep-btn-secondary-hover-bg: var(--sigep-card-soft); --sigep-btn-secondary-hover-border: var(--sigep-notice-neutral-border); }
.modal .btn-responsable-action:focus-visible { outline: 2px solid var(--sigep-notice-success-text); outline-offset: 2px; }
.quick-register-modal :is(.quick-panel-title,.quick-financial-heading) { color: var(--sigep-primary) !important; font-size: var(--sigep-table-font-size) !important; font-weight: 700; }
.quick-register-modal .quick-panel-title { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 6px; margin-bottom: 5px; padding-bottom: 4px; border-bottom: 1px solid var(--sigep-panel-border); text-transform: uppercase; }
.quick-register-modal .quick-panel-title>div { display: flex !important; min-width: 0; align-items: center !important; }
.quick-register-modal .quick-panel-title>i { width: 22px; height: 22px; font-size: var(--sigep-table-font-size) !important; }
.quick-register-modal .quick-panel-title strong,.quick-register-modal .quick-financial-heading>div { font-size: var(--sigep-table-font-size) !important; }
.quick-register-modal .quick-panel-title strong { display: inline !important; white-space: nowrap; }
.quick-register-modal .quick-panel-title span,.quick-register-modal .quick-financial-heading p { display: none; }
.quick-register-modal .form-label { margin-bottom: 1px !important; font-size: var(--sigep-table-font-size) !important; line-height: 1.05; }
.quick-register-modal :is(.form-control,.form-select,.ts-control) { min-height: 26px !important; height: 26px !important; padding-top: 1px !important; padding-bottom: 1px !important; font-size: var(--sigep-table-font-size) !important; }
.quick-register-modal textarea.form-control { min-height: 38px !important; height: 38px !important; padding: 4px 6px !important; }
.quick-register-modal input[type="file"].form-control { min-height: 28px !important; height: 28px !important; padding: 2px 5px !important; }
.quick-register-modal .form-check { min-height: 18px; margin-top: 3px !important; font-size: var(--sigep-table-font-size); }
.quick-register-modal .quick-patrimonial-table-wrap { border-radius: 6px !important; }

.quick-register-modal .alert { margin-bottom: 5px !important; padding: 5px 8px !important; border-radius: 7px !important; font-size: var(--sigep-table-font-size); line-height: 1.2; }
.quick-register-modal small.text-muted { font-size: var(--sigep-table-font-size) !important; line-height: 1; }
.quick-register-modal .quick-followup-option { display: grid; grid-template-columns: auto minmax(190px, 270px) minmax(0, 1fr); min-height: 24px; align-items: center; gap: 8px; padding: 3px 7px; border: 1px solid var(--sigep-border); border-radius: 7px; background: color-mix(in srgb, var(--sigep-card) 94%, var(--sigep-primary) 6%); }
.quick-register-modal .quick-followup-option small { color: var(--sigep-muted) !important; font-size: var(--sigep-table-font-size) !important; line-height: 1.15; }
.global-observed-responsible { width: 100%; background: color-mix(in srgb, var(--sigep-card) 94%, var(--sigep-primary) 6%); }
.global-observed-responsible .alert { min-height: var(--sigep-filter-control-height); font-size: var(--sigep-table-font-size) !important; line-height: 1.15; }
.global-observed-responsible .alert .btn { white-space: nowrap; }
/* Sobrantes: contenido compacto dentro del tamaño modal estándar. */
.quick-register-modal.is-sobrante-register .modal-body { padding: 6px 8px !important; }
.quick-register-modal.is-sobrante-register .quick-register-form { padding: 1px !important; }
.quick-register-modal.is-sobrante-register :is(.quick-financial-panel,.quick-verification-panel) { margin-bottom: 4px !important; }
.quick-register-modal.is-sobrante-register .quick-verification-panel { padding: 5px 7px !important; }
.quick-register-modal.is-sobrante-register .quick-panel-title,.quick-register-modal .quick-characteristics-panel .quick-panel-title { margin-bottom: 3px; padding-bottom: 2px; }
.quick-register-modal.is-sobrante-register .sobrante-financial-panel .card-body { padding: 5px 7px !important; background: transparent !important; }
.quick-register-modal.is-sobrante-register .sobrante-financial-panel .form-label { color: #0f4770 !important; }
/* Contexto y últimos registros de la toma rápida: lectura clara y compacta. */
.quick-inventory-page .quick-hero { padding: 0 !important; background: var(--sigep-filter-panel-bg) !important; border: 1px solid var(--sigep-filter-panel-border) !important; border-left: 3px solid var(--sigep-filter-panel-accent) !important; box-shadow: none !important; }
.quick-context-panel { --sigep-quick-context-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr); }
.quick-inventory-page .quick-context-form .form-label { margin-bottom: 2px !important; color: #31577d !important; font-size: var(--sigep-table-font-size) !important; font-weight: 800 !important; letter-spacing: .02em; text-transform: uppercase; }
.quick-inventory-page .quick-context-form :is(.quick-context-select,.ts-wrapper) { min-height: 30px !important; height: 30px !important; border: var(--sigep-filter-control-border) !important; border-radius: 7px !important; background: var(--sigep-card) !important; box-shadow: none !important; }
.quick-inventory-page .quick-context-form .ts-control { min-height: 28px !important; height: 28px !important; }
.quick-inventory-page .quick-physical-summary { min-width: 260px; }
.quick-inventory-page .quick-physical-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--sigep-filter-gap-x); }
.quick-inventory-page .quick-physical-facts>div { display: flex; min-width: 0; align-items: baseline; gap: 4px; }
.quick-inventory-page .quick-physical-facts span { flex: 0 0 auto; color: #64748b; font-size: var(--sigep-font-size-meta); font-weight: 700; text-transform: uppercase; }
.quick-inventory-page .quick-physical-facts strong { min-width: 0; color: #1d3552; font-size: var(--sigep-table-font-size); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 768px) {
  .global-observed-responsible .alert { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; }
}
@media (max-width: 767.98px) {
  .quick-register-modal .quick-followup-option { align-items: flex-start; grid-template-columns: 1fr; flex-direction: column; }
  .quick-register-modal .modal-dialog { width: calc(100vw - 16px) !important; max-width: calc(100vw - 16px) !important; }
}
/* Áreas usuarias: filtros rápidos integrados al encabezado del listado. */
.inventory-areas-page .section-header .area-status-filters { justify-content: flex-end; margin-left: auto; padding: 0 !important; }
@media (max-width: 767.98px) {
  .inventory-areas-page .section-header .area-status-filters { width: 100%; justify-content: flex-start; margin-left: 0; }
}
/* Navegación común entre las modalidades de toma de inventario. */
.inventory-module-nav-btn { border-color: var(--sigep-btn-primary-border) !important; background: var(--sigep-btn-primary-bg) !important; color: var(--sigep-btn-primary-color) !important; box-shadow: 0 3px 8px rgba(15, 45, 89, .22); font-weight: 700; }
.inventory-module-nav-btn i { color: var(--sigep-btn-primary-color) !important; }
.inventory-module-nav-btn:hover,.inventory-module-nav-btn:focus-visible { border-color: var(--sigep-btn-primary-border) !important; background: var(--sigep-btn-primary-hover-bg) !important; color: var(--sigep-btn-primary-color) !important; box-shadow: 0 4px 10px rgba(15, 45, 89, .32); }
.inventory-module-nav-btn:hover i,.inventory-module-nav-btn:focus-visible i { color: var(--sigep-btn-primary-color) !important; }
.audit-detail-page { max-width: 1180px !important; }
.audit-detail-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.audit-detail-toolbar h2 { margin: 0; color: var(--sigep-text); font-size: var(--sigep-message-title-font-size); }
.audit-detail-toolbar span,.audit-detail-change header span,.audit-detail-agent span { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); }
.audit-detail-summary { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(0, 2.6fr); gap: .65rem 1rem; padding: .85rem 0; border-top: 1px solid var(--sigep-border); border-bottom: 1px solid var(--sigep-border); }
.audit-detail-user { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; column-gap: .55rem; min-width: 0; }
.audit-detail-user>i { display: grid; width: 32px; height: 32px; grid-row: span 2; place-items: center; color: #c6283e; background: var(--sigep-notice-danger-bg); border-radius: 50%; }
.audit-detail-user strong,.audit-detail-user span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.audit-detail-user strong { color: var(--sigep-text); font-size: var(--sigep-message-text-font-size); }
.audit-detail-user span { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); }
.audit-detail-user em { width: fit-content; margin-top: .2rem; padding: .12rem .38rem; color: var(--sigep-muted); background: var(--sigep-card-soft); border-radius: 999px; font-size: var(--sigep-message-support-font-size); font-style: normal; white-space: nowrap; }
.audit-detail-facts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; margin: 0; }
.audit-detail-facts div { min-width: 0; }
.audit-detail-facts dt { margin-bottom: .12rem; color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); font-weight: 500; text-transform: uppercase; }
.audit-detail-facts dd { overflow: hidden; margin: 0; color: var(--sigep-text); font-size: var(--sigep-message-text-font-size); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.audit-detail-agent { grid-column: 1 / -1; display: flex; gap: .55rem; padding-top: .5rem; border-top: 1px solid var(--sigep-border); }
.audit-detail-agent p { margin: 0; color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); overflow-wrap: anywhere; }
.audit-detail-changes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.audit-detail-change { min-width: 0; border: 1px solid var(--sigep-border); border-radius: 8px; overflow: hidden; }
.audit-detail-change header { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding: .5rem .7rem; border-bottom: 1px solid var(--sigep-border); }
.audit-detail-change h3 { margin: 0; color: var(--sigep-text); font-size: var(--sigep-message-text-font-size); }
.audit-detail-change .audit-json-box { max-height: 260px; margin: 0; padding: .65rem .75rem; color: var(--sigep-text); background: var(--sigep-bg-soft); border-radius: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--sigep-message-support-font-size); line-height: 1.35; }
@media (max-width: 991.98px) {
  .audit-detail-summary { grid-template-columns: 1fr; }
  .audit-detail-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .audit-detail-toolbar,.audit-detail-agent { align-items: flex-start; flex-direction: column; }
  .audit-detail-facts,.audit-detail-changes { grid-template-columns: 1fr; }
}
.inventory-dashboard-requirements-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.inventory-dashboard-requirements-top>div,.inventory-dashboard-requirements>.mt-2 { font-size: var(--sigep-message-text-font-size) !important; }
.inventory-dashboard-requirements-top .inventory-dashboard-primary { flex: 0 0 auto; }
@media (max-width: 767.98px) {
  .inventory-dashboard-requirements-top { align-items: stretch; flex-direction: column; }
}
/* ESTANDAR GLOBAL PARA SECCIONES DE FILTROS Todos los formularios GET de los modulos comparten la misma escala. */
.main-area :is(form[method="get" i],.backup-filters) {
  --sigep-btn-secondary-bg: var(--sigep-card);
  --sigep-btn-secondary-border: var(--sigep-primary);
  --sigep-btn-secondary-color: var(--sigep-primary);
  --sigep-btn-secondary-hover-bg: var(--sigep-card-soft);
  --sigep-btn-secondary-hover-border: var(--sigep-primary);
  --sigep-btn-secondary-hover-color: var(--sigep-primary);
  --sigep-btn-secondary-shadow: none;
  padding: var(--sigep-filter-section-padding) !important;
  font-size: var(--sigep-filter-font-size) !important;
  color: var(--sigep-text);
  background: var(--sigep-filter-panel-bg) !important;
  border: 1px solid var(--sigep-filter-panel-border) !important;
  border-inline-start: 3px solid var(--sigep-filter-panel-accent) !important;
  border-radius: var(--sigep-filter-control-radius) !important;
  box-shadow: none !important;
}
/* Las búsquedas de patrimonio y catálogo conservan sus colores de origen. */
.quick-inventory-page .quick-main-search-form { --sigep-filter-panel-bg: var(--sigep-patrimonial-search-bg); --sigep-filter-panel-border: var(--sigep-patrimonial-search-border); --sigep-filter-panel-accent: var(--sigep-notice-success-text); }
.quick-inventory-page .catalog-search-panel { --sigep-filter-panel-bg: var(--sigep-catalog-search-bg); --sigep-filter-panel-border: var(--sigep-catalog-search-border); --sigep-filter-panel-accent: var(--sigep-notice-danger-text); }
.main-area .section-card:has(>form[method="get"])>.section-header,.main-area .section-card>.section-header:has(>form[method="get"]) { flex-wrap: wrap; gap: var(--sigep-filter-gap-x) !important; padding: var(--sigep-filter-section-padding) !important; background: var(--sigep-filter-panel-bg) !important; border-color: var(--sigep-filter-panel-border) !important; }
.main-area .section-card:has(>form[method="get"])>.section-header h3,.main-area .section-card>.section-header:has(>form[method="get"]) h3 { font-size: var(--sigep-filter-heading-size) !important; line-height: 1.1 !important; }
.main-area .section-card:has(>form[method="get"])>.section-header>div:first-child>span,.main-area .section-card>.section-header:has(>form[method="get"])>div:first-child>span { font-size: var(--sigep-filter-meta-size) !important; line-height: 1.1 !important; }
.main-area form[method="get"] :is(.row,.filter-actions) { --bs-gutter-x: var(--sigep-filter-gap-x); --bs-gutter-y: var(--sigep-filter-gap-y); }
.main-area form[method="get"] .form-label { margin-bottom: 0.2rem !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.15 !important; }
:is(.main-area form[method="get" i],.section-card form[method="get"],form.section-card[method="get"],.hero-panel form[method="get"],.inventory-office-filters,.inventoried-filters-form,.main-area .backup-filters) :is(.form-label,.form-control,.form-select,.btn,.av-btn,.ts-control,.ts-control input,.ts-control .item) { font-size: var(--sigep-filter-font-size) !important; }
:is(.main-area form[method="get" i],.section-card form[method="get"],form.section-card[method="get"],.hero-panel form[method="get"],.inventory-office-filters,.inventoried-filters-form,.main-area .backup-filters) :is(.form-control:not(textarea),.form-select,.btn,.av-btn,.ts-wrapper,.ts-control) { height: var(--sigep-filter-control-height) !important; min-height: var(--sigep-filter-control-height) !important; }
:is(.main-area form[method="get" i],.section-card form[method="get"],form.section-card[method="get"],.hero-panel form[method="get"],.inventory-office-filters,.inventoried-filters-form,.main-area .backup-filters) :is(.form-control:not(textarea),.form-select,.btn,.av-btn) { padding-top: 0.125rem !important; padding-bottom: 0.125rem !important; line-height: 1.1 !important; }
.main-area form[method="get"] .form-select:not(.ts-wrapper) { padding-right: 1.75rem !important; background-size: 12px 9px !important; }
.main-area form[method="get"] .ts-wrapper.form-select { padding: 0 !important; background-image: none !important; }
.main-area form[method="get"] .ts-control { align-items: center; padding: 0.125rem 0.5rem !important; line-height: 1.1 !important; }
.main-area form[method="get"] .ts-control>input { min-height: 0 !important; padding: 0 !important; line-height: 1.1 !important; }
:is(.main-area form[method="get" i],.section-card form[method="get"],form.section-card[method="get"],.hero-panel form[method="get"],.inventory-office-filters,.inventoried-filters-form,.main-area .backup-filters) :is(.form-control,.form-select,.ts-wrapper) { background-color: var(--sigep-card) !important; border: var(--sigep-filter-control-border) !important; border-radius: var(--sigep-filter-control-radius) !important; box-shadow: none !important; }
/* El borde lo dibuja el contenedor exterior de Tom Select. */
:is(.main-area form[method="get"],.section-card form[method="get"],form.section-card[method="get"],.hero-panel form[method="get"],.inventory-office-filters,.inventoried-filters-form) .ts-wrapper .ts-control { border: 0 !important; border-radius: calc(var(--sigep-filter-control-radius) - 1px) !important; box-shadow: none !important; }
:is(.main-area form[method="get" i],.section-card form[method="get"],form.section-card[method="get"],.hero-panel form[method="get"],.inventory-office-filters,.inventoried-filters-form,.main-area .backup-filters) :is(.form-control:focus,.form-select:focus,.ts-wrapper.focus) { border-color: var(--sigep-primary) !important; box-shadow: none !important; outline: 2px solid var(--sigep-primary) !important; outline-offset: 2px; }
.main-area :is(form[method="get" i],.backup-filters) .is-filter-active { border-color: var(--sigep-primary) !important; }
.main-area :is(form[method="get" i],.backup-filters) :is(.btn,.av-btn):focus-visible { outline: 2px solid var(--sigep-primary) !important; outline-offset: 2px; }
.sigep-filter-summary { grid-column: 1 / -1; flex: 0 0 auto; width: 100%; min-width: 0; gap: var(--sigep-filter-gap-x); align-items: center; margin-top: var(--sigep-filter-gap-y); overflow-x: auto; font-size: var(--sigep-filter-font-size); color: var(--sigep-primary); }
.sigep-filter-summary:not([hidden]) { display: flex; }
.sigep-filter-summary-label { flex: 0 0 auto; font-weight: 600; white-space: nowrap; }
.sigep-filter-summary-item { flex: 0 0 auto; max-width: min(24rem, 100%); overflow: hidden; padding: .1rem .4rem; border: 1px solid var(--sigep-filter-panel-border); border-radius: var(--sigep-filter-control-radius); background: var(--sigep-card); text-overflow: ellipsis; white-space: nowrap; }
.sigep-filter-summary:focus-visible { outline: 2px solid var(--sigep-primary); outline-offset: 2px; }
.main-area form[method="get"] .input-icon-wrap>i { left: 10px; color: var(--sigep-filter-icon-color) !important; font-size: var(--sigep-filter-font-size) !important; }
.main-area form[method="get"] .input-icon-wrap .form-control { padding-left: 30px !important; }
.main-area form[method="get"] .input-group>.input-group-text { display: inline-flex; align-items: center; justify-content: center; height: var(--sigep-filter-control-height) !important; min-height: var(--sigep-filter-control-height) !important; padding: 0 0.5rem !important; border: var(--sigep-filter-control-border) !important; border-right: 0 !important; background: var(--sigep-input) !important; color: var(--sigep-filter-icon-color) !important; font-size: var(--sigep-filter-font-size) !important; }
.main-area form[method="get"] .input-group>.input-group-text+.form-control { min-width: 0; border-left: 0 !important; border-radius: 0 var(--sigep-filter-control-radius) var(--sigep-filter-control-radius) 0 !important; }
.filter-chips { gap: var(--sigep-filter-gap-y) !important; }
.filter-chip { min-height: var(--sigep-filter-control-height) !important; padding: 0.25rem 0.65rem !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1 !important; }
@media (max-width: 767.98px) {
  :root {
    --sigep-filter-section-padding: 0.5rem;
  }
}
/* Texto legible y uniforme en etiquetas y selectores con busqueda. */
.main-area form[method="get" i] .form-label,.quick-inventory-page .quick-hero .quick-context-form .form-label,.quick-inventory-page .quick-hero .quick-context-form .form-label.text-dark { color: var(--sigep-primary) !important; font-size: var(--sigep-filter-font-size) !important; font-weight: 700 !important; opacity: 1 !important; text-shadow: none !important; }
body>.ts-dropdown,body>.ts-dropdown :is(.dropdown-input,.option,.active,.item,.optgroup-header,.no-results,.create),.ts-wrapper .ts-control,.ts-wrapper .ts-control :is(input,.item) { font-family: var(--sigep-font) !important; font-size: var(--sigep-filter-font-size) !important; line-height: 1.2 !important; }
/* Botón flotante para regresar al inicio de tablas extensas. */
.sigep-back-to-top { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 1040; display: grid; width: 2.75rem; height: 2.75rem; padding: 0; place-items: center; border: 1px solid var(--sigep-btn-primary-border); border-radius: 50%; background: var(--sigep-btn-primary-bg); color: var(--sigep-btn-primary-color); box-shadow: 0 8px 22px rgba(7, 27, 58, 0.24); opacity: 0; visibility: hidden; transform: translateY(0.75rem); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, background-color 0.2s ease; pointer-events: none; }
.sigep-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.sigep-back-to-top:hover,.sigep-back-to-top:focus-visible { border-color: var(--sigep-btn-primary-border); background: var(--sigep-btn-primary-hover-bg); color: var(--sigep-btn-primary-color); }
.sigep-back-to-top:focus-visible { outline: 3px solid var(--sigep-ring); outline-offset: 3px; }
@media (max-width: 767.98px) {
  .sigep-back-to-top { right: 1rem; bottom: 5.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .sigep-back-to-top { transition: none; }
}
/* Los selectores de asignación deben desplegarse fuera de la tarjeta POST. */
.personal-table .personal-dni-cell { width: 5.5rem; min-width: 5.5rem; max-width: 5.5rem; white-space: nowrap !important; word-break: normal !important; overflow-wrap: normal !important; }
.sigep-origin-manual { color: #991b1b !important; background-color: #fee2e2 !important; border: 1px solid #fecaca !important; }
.report-area-search { flex: 1 1 24rem; flex-wrap: wrap; min-width: 16rem; max-width: none; }
.report-area-search .report-area-search-field { flex: 1 1 0; min-width: 8rem; }
.report-area-search .report-area-search-field .form-control { width: 100%; min-width: 0; }
@media (max-width: 991.98px) {
  .report-area-search { flex: 0 1 auto; width: 100%; min-width: 0; }
  .main-area .section-card form.report-area-search .btn { flex: 0 0 auto; width: auto !important; }
}
@media (max-width: 575.98px) {
  .report-area-search { flex-wrap: wrap; }
  .report-area-search .report-area-search-field { flex-basis: 100%; }
}
.report-table .report-area-code-cell { width: 4.75rem; min-width: 4.75rem; max-width: 4.75rem; white-space: nowrap !important; word-break: normal !important; overflow-wrap: normal !important; }
/* Reporte de sobrantes: más espacio para identificación y ubicación. */
.surplus-report-table { table-layout: fixed; min-width: 1000px; }
.surplus-report-table .surplus-index { width: 3%; }
.surplus-report-table .surplus-code { width: 11%; }
.surplus-report-table .surplus-description { width: 20%; }
.surplus-report-table .surplus-area { width: 17%; }
.surplus-report-table .surplus-location { width: 13%; }
.surplus-report-table .surplus-person { width: 14%; }
.surplus-report-table .surplus-state { width: 6%; }
.surplus-report-table .surplus-observation { width: 10%; }
.surplus-report-table .surplus-actions { width: 6%; }
html body .surplus-report-table :is(th,td) { white-space: normal; overflow-wrap: anywhere; }
html body .surplus-report-table .asset-code-cell { width: auto; min-width: 0; }
@media print {
  .surplus-report-table { min-width: 0; }
}
.responsable-create-page .responsable-form-card,.responsable-edit-page .responsable-form-card { position: relative; overflow: visible !important; }
.responsable-create-page .responsable-form-card:focus-within,.responsable-edit-page .responsable-form-card:focus-within { z-index: 50; }
.responsable-create-page .responsable-form-card .ts-wrapper,.responsable-edit-page .responsable-form-card .ts-wrapper { position: relative; z-index: 1; }
.responsable-create-page .responsable-form-card .ts-wrapper.dropdown-active,.responsable-edit-page .responsable-form-card .ts-wrapper.dropdown-active { z-index: 60; }
/* Los valores del contexto rapido pueden ser input o un item de Tom Select. */
.quick-inventory-page .quick-context-form :is(.quick-context-readonly,.quick-context-select,.ts-control,.ts-control>input,.ts-control>.item) { font-family: var(--sigep-font) !important; font-size: var(--sigep-filter-font-size) !important; font-weight: 400 !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important; }
/* Compensa la escala visual mayor de los nodos generados por Tom Select. */
.quick-inventory-page .quick-context-form .ts-control>.item,.quick-inventory-page .quick-context-form .ts-control>input,.quick-inventory-page .quick-context-form .ts-dropdown :is(.dropdown-input,.option,.active,.no-results) { font-size: var(--sigep-table-font-size) !important; }
/* El contexto mantiene columnas estables aunque cambie la longitud seleccionada. */
.quick-inventory-page #contextForm .row { grid-template-columns: var(--sigep-quick-context-columns) !important; }
.quick-inventory-page #contextForm .row>[class*="col-"] { min-width: 0 !important; }
.quick-inventory-page .quick-context-form :is(.ts-wrapper,.ts-control) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
.quick-inventory-page .quick-context-form .ts-control>.item { display: block !important; flex: 1 1 auto !important; min-width: 0 !important; max-width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
@media (max-width: 991.98px) {
  .quick-context-panel { --sigep-quick-context-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .quick-inventory-page #contextForm .row { grid-template-columns: minmax(0, 1fr) !important; }
}
/* Los combos buscables de filtros deben poder salir de la altura de la tarjeta. */
.main-area .section-card:has(>form[method="get"]),.main-area form.section-card[method="get"] { position: relative !important; z-index: 100 !important; overflow: visible !important; }
.main-area .section-card:has(>form[method="get"]):focus-within,.main-area form.section-card[method="get"]:focus-within { z-index: 20100 !important; }
.main-area .section-card>form[method="get"] .ts-dropdown-host,.main-area form.section-card[method="get"] .ts-dropdown-host { position: relative !important; z-index: 20050 !important; }
.main-area .section-card>form[method="get"] .ts-dropdown,.main-area form.section-card[method="get"] .ts-dropdown { z-index: 20200 !important; }
/* Selector de color reutilizable: cada nombre muestra su color dentro de la lista. */
.sigep-color-option { display: flex; align-items: center; gap: .5rem; }
.sigep-color-option-swatch { display: inline-block; flex: 0 0 .9rem; width: .9rem; height: .9rem; border: 1px solid var(--sigep-border); border-radius: 50%; background: var(--sigep-bg-soft); }
.sigep-color-select:not(.ts-hidden-accessible),.sigep-color-wrapper { width: var(--sigep-color-control-width, 13rem) !important; min-width: var(--sigep-color-control-min-width, var(--sigep-color-control-width, 13rem)) !important; max-width: var(--sigep-color-control-width, 13rem) !important; flex: 0 0 var(--sigep-color-control-width, 13rem) !important; }
.sigep-color-wrapper .ts-control { width: 100%; white-space: nowrap; }
@media (max-width: 575.98px) {
  .sigep-color-select:not(.ts-hidden-accessible),.sigep-color-wrapper { width: 100% !important; min-width: 0 !important; max-width: 100% !important; flex-basis: 100% !important; }
}
/* ESTÁNDAR GLOBAL DE VENTANAS MODALES SweetAlert y Bootstrap comparten una escala compacta. */
body .swal2-container .swal2-popup { width: calc(100% - 2rem) !important; max-width: var(--sigep-modal-width) !important; padding: 0 !important; border-radius: var(--sigep-modal-radius) !important; box-shadow: 0 14px 32px rgba(7, 27, 58, 0.22) !important; }
body .swal2-container .swal2-title { padding: var(--sigep-modal-header-padding) !important; font-size: var(--sigep-message-title-font-size) !important; line-height: 1.2 !important; letter-spacing: 0.025em !important; }
body .swal2-container .swal2-html-container { margin: 0 !important; padding: var(--sigep-modal-body-padding) !important; font-size: var(--sigep-message-text-font-size) !important; line-height: 1.35 !important; }
body .swal2-container .swal2-input-label { margin: 0.1rem 1rem 0 !important; color: var(--sigep-muted) !important; font-size: var(--sigep-message-support-font-size) !important; line-height: 1.2 !important; }
body .swal2-container .swal2-input { width: calc(100% - 2rem) !important; height: var(--sigep-modal-input-height) !important; margin: 0.45rem 1rem 0.65rem !important; padding: 0 0.6rem !important; font-size: var(--sigep-message-text-font-size) !important; }
body .swal2-container .swal2-textarea { width: calc(100% - 2rem) !important; height: var(--sigep-modal-textarea-height) !important; min-height: var(--sigep-modal-textarea-height) !important; margin: 0.45rem 1rem 0.65rem !important; padding: 0.5rem 0.6rem !important; border: 1px solid var(--sigep-border) !important; border-radius: 7px !important; color: var(--sigep-text) !important; font-family: var(--sigep-font) !important; font-size: var(--sigep-message-text-font-size) !important; line-height: 1.3 !important; box-shadow: none !important; resize: vertical !important; }
body .swal2-container .swal2-textarea:focus { border-color: var(--sigep-btn-primary-border) !important; box-shadow: 0 0 0 2px var(--sigep-ring) !important; }
body .swal2-container .swal2-validation-message { margin: 0 1rem 0.5rem !important; padding: 0.4rem 0.55rem !important; font-size: var(--sigep-message-support-font-size) !important; }
body .swal2-container .sigep-modal-message { margin: 0 0 0.55rem; padding: 0.5rem 0.6rem; border: 1px solid var(--sigep-modal-info-border); border-left: 4px solid var(--sigep-modal-info-accent); border-radius: 7px; background: var(--sigep-modal-info-bg); font-size: var(--sigep-message-text-font-size); line-height: 1.3; }
body .swal2-container .sigep-modal-check { display: flex; align-items: flex-start; gap: 0.45rem; margin: 0; padding: 0.5rem 0.6rem; border: 1px solid var(--sigep-modal-characteristics-border); border-left: 4px solid var(--sigep-modal-characteristics-accent); border-radius: 7px; background: var(--sigep-modal-characteristics-bg); color: var(--sigep-text); font-size: var(--sigep-message-text-font-size); line-height: 1.25; text-align: left; cursor: pointer; }
body .swal2-container .sigep-modal-check input { flex: 0 0 auto; width: 0.9rem; height: 0.9rem; margin-top: 0.08rem; accent-color: var(--sigep-btn-primary-bg); }
body .swal2-container .sigep-modal-check strong { font-weight: 700 !important; }
body .swal2-container .sigep-modal-fields { display: grid; gap: 0.3rem; margin-bottom: 0.6rem; padding: 0.5rem 0.6rem; border: 1px solid var(--sigep-modal-physical-border); border-left: 4px solid var(--sigep-modal-physical-accent); border-radius: 7px; background: var(--sigep-modal-physical-bg); text-align: left; }
body .swal2-container .sigep-modal-fields label { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); font-weight: 600; }
body .swal2-container .sigep-modal-field { width: 100%; min-height: var(--sigep-modal-input-height); padding: 0.35rem 0.55rem; border: 1px solid var(--sigep-border); border-radius: 7px; background: var(--sigep-input); color: var(--sigep-text); font-family: var(--sigep-font); font-size: var(--sigep-message-text-font-size); box-shadow: none; }
body .swal2-container .sigep-modal-field-textarea { min-height: var(--sigep-modal-textarea-height); resize: vertical; }
body .swal2-container .sigep-modal-field:focus { border-color: var(--sigep-btn-primary-border); outline: 0; box-shadow: 0 0 0 2px var(--sigep-ring); }
/* Diferencia visualmente las áreas cuyo cierre ya fue confirmado. */
html body :is(.inventory-office-table,.closure-page .ubi-table) tbody tr.inventory-area-row-closed>td { background-color: var(--sigep-notice-success-bg) !important; }
html body :is(.inventory-office-table,.closure-page .ubi-table) tbody tr.inventory-area-row-closed:hover>td { background-color: color-mix(in srgb, var(--sigep-notice-success-bg) 82%, var(--sigep-notice-success-border)) !important; }
body .swal2-container .swal2-close { top: 0.5rem !important; right: 0.6rem !important; width: 22px !important; height: 22px !important; font-size: var(--sigep-font-size-support) !important; }
body .swal2-container .swal2-actions { gap: var(--sigep-modal-gap) !important; padding: var(--sigep-modal-footer-padding) !important; }
body .swal2-container .swal2-styled:is(.swal2-confirm,.swal2-cancel,.swal2-deny) { min-height: var(--sigep-button-height) !important; padding: 0.3rem var(--sigep-button-padding-x) !important; font-size: var(--sigep-button-font-size) !important; letter-spacing: 0.025em !important; }
.modal-dialog:not(.modal-lg):not(.modal-xl):not(.modal-fullscreen) { max-width: var(--sigep-modal-width); }
.modal-content { border: 1px solid var(--sigep-border); border-radius: var(--sigep-modal-radius); box-shadow: 0 14px 32px rgba(7, 27, 58, 0.18); font-family: var(--sigep-font); font-size: var(--sigep-message-text-font-size); }
.modal-header { min-height: 0; padding: var(--sigep-modal-header-padding); }
.modal-title { font-size: var(--sigep-message-title-font-size) !important; line-height: 1.2; }
.modal-body { padding: var(--sigep-modal-body-padding); background: color-mix(in srgb, var(--sigep-card) 89%, var(--sigep-primary) 11%); font-size: var(--sigep-message-text-font-size); line-height: 1.35; }
.modal-body :is(.form-label,.form-control,.form-select,.form-text,p) { font-size: var(--sigep-message-text-font-size); }
.modal-body :is(small,.small,.text-muted) { font-size: var(--sigep-message-support-font-size) !important; }
.modal-footer { gap: var(--sigep-modal-gap); padding: var(--sigep-modal-footer-padding); }
.modal-footer .btn { min-height: var(--sigep-button-height); padding: 0.3rem var(--sigep-button-padding-x); font-size: var(--sigep-button-font-size); }
@media (max-width: 575.98px) {
  :root {
    --sigep-modal-width: calc(100vw - 1rem);
    --sigep-modal-header-padding: 0.6rem 2.25rem;
    --sigep-modal-body-padding: 0.65rem 0.75rem;
    --sigep-modal-footer-padding: 0.55rem 0.75rem;
  }
}
/* Resumen compacto del proceso activo integrado en la barra superior. */
.topbar-page-actions:has(.inventory-process-topbar) { min-width: min(31rem, 46vw); }
.inventory-process-topbar { display: flex; width: 100%; min-width: 0; align-items: center; justify-content: flex-end; gap: 0.55rem; }
.inventory-process-topbar-summary { display: grid; min-width: 0; gap: 0.12rem; padding-right: 0.65rem; border-right: 1px solid var(--sigep-border); text-align: right; }
.inventory-process-topbar-summary>div { display: flex; align-items: center; justify-content: flex-end; gap: 0.4rem; }
.inventory-process-topbar-summary strong { overflow: hidden; color: var(--sigep-text); font-size: var(--sigep-message-title-font-size); line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.inventory-process-topbar-summary small { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); line-height: 1.15; white-space: nowrap; }
.inventory-process-topbar-progress { display: flex; justify-content: flex-end; }
.inventory-process-topbar-progress progress { width: min(13rem, 100%); height: 4px; overflow: hidden; border: 0; border-radius: 999px; background: var(--sigep-card-soft); accent-color: var(--sigep-btn-primary-bg); }
.inventory-process-topbar-progress progress::-webkit-progress-bar { border-radius: 999px; background: var(--sigep-card-soft); }
.inventory-process-topbar-progress progress::-webkit-progress-value,.inventory-process-topbar-progress progress::-moz-progress-bar { border-radius: 999px; background: var(--sigep-btn-primary-bg); }
.inventory-process-topbar .inventory-dashboard-status { padding: 0.16rem 0.42rem !important; font-size: var(--sigep-font-size-micro) !important; }
.inventory-process-topbar .inventory-dashboard-action-icon { min-width: auto !important; white-space: nowrap; }
.inventory-process-mobile { display: grid; gap: 0.2rem; margin-bottom: 0.6rem; padding: 0.55rem 0.7rem; border: 1px solid var(--sigep-border); border-radius: 8px; background: var(--sigep-bg-soft); }
.inventory-process-mobile>div { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.inventory-process-mobile strong { font-size: var(--sigep-message-title-font-size); }
.inventory-process-mobile small { color: var(--sigep-muted); font-size: var(--sigep-message-support-font-size); }
@media (max-width: 991.98px) and (min-width: 768px) {
  .topbar-page-actions:has(.inventory-process-topbar) { min-width: min(25rem, 45vw); }
  .inventory-process-topbar-summary small { max-width: 18rem; overflow: hidden; text-overflow: ellipsis; }
}
/* Bienes inventariados: métricas y retorno integrados en la cabecera. */
.topbar-page-actions:has(.inventoried-topbar-summary) { flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
.inventoried-topbar-summary { display: grid; grid-template-columns: repeat(4, minmax(6.5rem, 1fr)); width: min(33rem, 48vw); overflow: hidden; border: 1px solid var(--sigep-border); border-radius: 8px; background: var(--sigep-border); gap: 1px; }
.inventoried-topbar-summary>div { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "label value"
        "help value"; align-items: center; min-width: 0; padding: 0.3rem 0.45rem; background: var(--sigep-card); column-gap: 0.35rem; }
.inventoried-topbar-summary span { grid-area: label; color: var(--sigep-muted); font-size: var(--sigep-font-size-micro); font-weight: 800; line-height: 1; text-transform: uppercase; }
.inventoried-topbar-summary strong { grid-area: value; color: var(--sigep-warning); font-size: var(--sigep-font-size-text); line-height: 1; }
.inventoried-topbar-summary small { grid-area: help; overflow: hidden; color: var(--sigep-muted); font-size: var(--sigep-font-size-micro); line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.inventoried-topbar-back { flex: 0 0 auto; white-space: nowrap; }
.inventoried-mobile-top { margin-bottom: 0.75rem; }
.inventoried-mobile-top .summary-strip { margin-bottom: 0.5rem; }
.inventoried-mobile-top>.btn { width: 100%; }
@media (min-width: 768px) and (max-width: 1199.98px) {
  .inventoried-topbar-summary { grid-template-columns: repeat(4, minmax(4.75rem, 1fr)); width: min(27rem, 45vw); }
  .inventoried-topbar-summary>div { padding-inline: 0.3rem; }
  .inventoried-topbar-summary small { display: none; }
}
/* Conciliación: códigos e importes del resumen en una sola línea. */
.page-conciliacion .account-summary-table { min-width: 56rem; }
html body .page-conciliacion table:is(.account-summary-table,.account-breakdown-table) tfoot .table-summary-row>td { font-weight: 700 !important; }
.page-conciliacion .account-summary-table.has-inventory { min-width: 72rem; }
.page-conciliacion .account-summary-table :is(thead th,tbody td):nth-child(2) { min-width: 7rem; white-space: nowrap; overflow-wrap: normal; }
.page-conciliacion .account-summary-table :is(thead th,tbody td):nth-child(3) { min-width: 16rem; overflow-wrap: normal; }
.page-conciliacion .account-summary-table tbody td:nth-child(n+4),.page-conciliacion .account-summary-table tfoot td:nth-child(n+2) { white-space: nowrap; overflow-wrap: normal; font-variant-numeric: tabular-nums; }
/* Conciliación: desglose contable compacto, gobernado por variables globales. */
.page-conciliacion .account-breakdown-body { padding: 0 var(--sigep-account-breakdown-padding-x) !important; }
.page-conciliacion .account-breakdown-accordion { gap: 0 !important; }
.page-conciliacion .account-breakdown-item { margin: 0 !important; border-radius: 5px !important; }
.page-conciliacion .account-breakdown-item>.accordion-header { height: var(--sigep-account-breakdown-row-height) !important; min-height: var(--sigep-account-breakdown-row-height) !important; margin: 0 !important; line-height: 1 !important; }
.page-conciliacion .account-breakdown-button { display: flex !important; height: var(--sigep-account-breakdown-row-height) !important; min-height: var(--sigep-account-breakdown-row-height) !important; max-height: var(--sigep-account-breakdown-row-height) !important; padding: 0 var(--sigep-account-breakdown-padding-x) !important; gap: var(--sigep-account-breakdown-gap) !important; align-items: center !important; font-size: var(--sigep-account-breakdown-title-font-size) !important; line-height: 1.05 !important; }
.page-conciliacion .account-breakdown-button>.account-breakdown-code,.page-conciliacion .account-breakdown-button>.account-breakdown-name,.page-conciliacion .account-breakdown-button>.account-breakdown-count { align-self: center !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.page-conciliacion .account-breakdown-button>.account-breakdown-name { display: flex; flex: 1 1 auto; min-width: 0; width: auto; align-items: center; }
.page-conciliacion .account-breakdown-code,.page-conciliacion .account-breakdown-count { min-height: 0.9rem !important; padding: 0.02rem 0.26rem !important; border-radius: 5px; font-size: var(--sigep-account-breakdown-meta-font-size) !important; line-height: 1 !important; }
.page-conciliacion .account-breakdown-button::after { align-self: center !important; margin-top: 0 !important; margin-bottom: 0 !important; width: 0.7rem; height: 0.7rem; background-size: 0.7rem; }
.page-conciliacion .account-breakdown-index { width: var(--sigep-table-index-column-width); min-width: var(--sigep-table-index-column-width); white-space: nowrap; }
/* * Botones ajustados al contenido en escritorio. * Las vistas móviles y las acciones declaradas explícitamente como w-100 o * flex-fill conservan su ancho completo por intención de diseño. */
@media (min-width: 768px) {
  html body .content :is(a.btn,button.btn,input.btn,.av-btn):not(.w-100):not(.flex-fill):not(.btn-block):not(.av-icon-btn):not(.btn-ficha-action):not(.btn-inventory-select):not(.table-actions *):not(.mobile-actions *):not(.av-actions *) { width: max-content !important; min-width: 0 !important; max-width: 100% !important; flex: 0 0 auto !important; white-space: nowrap; }
  html body .content .d-grid>:is(a.btn,button.btn,input.btn,.av-btn):not(.w-100):not(.flex-fill):not(.btn-block):not(.av-icon-btn):not(.btn-ficha-action):not(.btn-inventory-select):not(.table-actions *):not(.mobile-actions *):not(.av-actions *) { justify-self: end; }
  html body .content :is(.section-card form[method="get"],form.section-card[method="get"],.hero-panel form[method="get"],.inventory-office-filters,.inventoried-filters-form) :is(.btn,.av-btn):not(.w-100):not(.flex-fill):not(.btn-block):not(.av-icon-btn):not(.btn-ficha-action):not(.btn-inventory-select):not(.table-actions *):not(.mobile-actions *):not(.av-actions *) { width: max-content !important; min-width: 0 !important; flex: 0 0 auto !important; justify-self: end; }
}
/* Los filtros usan la paleta de cada botón para texto e iconos en todos sus estados.
   La paginación y las acciones con iconos conservan sus variantes compartidas. */
:is(button,input[type="button"],input[type="submit"],input[type="reset"],a.btn,.btn,.av-btn,[role="button"]):not(#sigep-button-color-override):not(.login-page *):not(.sidebar *):not(.menu-link):not(.av-icon-btn):not(.btn-ficha-action):not(.account-breakdown-button):not(.table-actions *):not(.mobile-actions *):not(.av-actions *):not(.pagination-bar *):not(:where(.main-area form[method="get" i] *,.main-area .backup-filters *)),
:is(button,a.btn,.btn,.av-btn,[role="button"]):not(#sigep-button-color-override):not(.login-page *):not(.sidebar *):not(.menu-link):not(.av-icon-btn):not(.btn-ficha-action):not(.account-breakdown-button):not(.table-actions *):not(.mobile-actions *):not(.av-actions *):not(.pagination-bar *):not(:where(.main-area form[method="get" i] *,.main-area .backup-filters *)) *,
input[type="file"]::file-selector-button,input[type="file"]::-webkit-file-upload-button { color: var(--sigep-btn-text-color) !important; -webkit-text-fill-color: var(--sigep-btn-text-color) !important; }
/* El encabezado desplegable de conciliación es navegación de contenido, no un botón de acción: conserva texto negro en todos sus estados. */
.page-conciliacion .account-breakdown-button,.page-conciliacion .account-breakdown-button:hover,.page-conciliacion .account-breakdown-button:focus,.page-conciliacion .account-breakdown-button:not(.collapsed),.page-conciliacion .account-breakdown-button>* { color: var(--sigep-btn-account-breakdown-text) !important; -webkit-text-fill-color: var(--sigep-btn-account-breakdown-text) !important; }
/* Altas de tablas maestras: una presentación compartida para los formularios. */
.sigep-master-modal { z-index: 20010 !important; }
.sigep-master-modal .modal-dialog { max-width: min(var(--sigep-master-modal-width), calc(100vw - 1.5rem)); }
.sigep-master-modal-compact .modal-dialog { max-width: min(var(--sigep-master-modal-compact-width), calc(100vw - 1.5rem)); }
.sigep-personal-fields { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; }
.sigep-personal-dni { width: 9rem; max-width: 100%; }
@media (max-width: 575.98px) {
  .sigep-personal-fields { grid-template-columns: minmax(0, 1fr); }
}
.sigep-master-modal .modal-content { overflow: hidden; }
.sigep-master-mobile-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sigep-master-modal .modal-header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.25rem 0.75rem; background: var(--sigep-inventory-modal-header-bg); border-bottom: 1px solid var(--sigep-border); }
.sigep-master-modal .modal-title { color: var(--sigep-inventory-modal-summary-color) !important; font-size: var(--sigep-font-size-heading); font-weight: 700; }
.sigep-master-modal .modal-header>.btn { width: var(--sigep-btn-modal-close-size) !important; height: var(--sigep-btn-modal-close-size) !important; min-height: var(--sigep-btn-modal-close-size) !important; padding: 0 !important; display: inline-grid; place-items: center; }
.sigep-master-modal .modal-header>.btn :is(.fa-xmark,i) { color: var(--sigep-btn-modal-close-color) !important; -webkit-text-fill-color: var(--sigep-btn-modal-close-color) !important; }
.sigep-master-modal .modal-body { padding: 0; }
.sigep-master-modal .sigep-master-modal-form .modal-body { padding: 1rem; }
.sigep-master-modal .sigep-master-modal-form .modal-body>.row { margin: 0; padding: 0.5rem; border: 1px solid var(--sigep-modal-physical-border); border-left: 4px solid var(--sigep-modal-physical-accent); border-radius: 9px; background: var(--sigep-modal-physical-bg); }
.sigep-master-modal .sigep-master-modal-form .form-label { margin-bottom: 0.25rem; font-size: var(--sigep-font-size-support); }
.sigep-master-modal .sigep-master-modal-form .form-control { min-height: var(--sigep-modal-input-height); font-size: var(--sigep-font-size-text); }
.sigep-master-modal iframe { display: block; width: 100%; height: var(--sigep-master-modal-frame-height); border: 0; }
body.sigep-modal-page { background: var(--sigep-surface); }
body.sigep-modal-page .app-wrapper { min-height: 0; }
body.sigep-modal-page :is(.sidebar,.topbar,.bottom-mobile-nav,.mobile-overlay,.sigep-back-to-top) { display: none !important; }
body.sigep-modal-page .content { width: 100%; min-height: 0; margin-left: 0 !important; padding: 0 !important; }
body.sigep-modal-page .main-area { width: 100%; padding: 0 !important; }
body.sigep-modal-page .section-card { margin: 0 !important; border: 1px solid var(--sigep-modal-info-border) !important; border-left: 4px solid var(--sigep-modal-info-accent) !important; border-radius: 9px !important; background: var(--sigep-modal-info-bg) !important; box-shadow: none !important; }
body.sigep-modal-page .section-card>form { margin: 0.5rem; border: 1px solid var(--sigep-modal-physical-border); border-left: 4px solid var(--sigep-modal-physical-accent); border-radius: 9px; background: var(--sigep-modal-physical-bg); }
body.sigep-modal-page .section-header { display: none !important; }
body.sigep-modal-page .form-card { padding: 1rem !important; }
body.sigep-modal-page .form-card :is(.form-control,.form-select) { height: var(--sigep-modal-input-height) !important; min-height: var(--sigep-modal-input-height) !important; font-size: var(--sigep-font-size-text) !important; }
body.sigep-modal-page .form-card .form-label { margin-bottom: 0.25rem; font-size: var(--sigep-font-size-support); }
/* CABECERAS COMPACTAS PARA LISTADOS Y TABLAS La tipografía y densidad son iguales con registros y en estados vacíos. */
.main-area .section-card>.section-header { min-height: var(--sigep-list-header-min-height) !important; padding: var(--sigep-list-header-padding-y) var(--sigep-list-header-padding-x) !important; gap: var(--sigep-list-header-gap) !important; align-items: center !important; flex-direction: row !important; }
.main-area .section-card>.section-header>div:first-child { display: grid; min-width: 0; gap: 0; align-content: center; }
.main-area .section-card>.section-header h3 { margin: 0 !important; font-size: var(--sigep-list-header-title-size) !important; line-height: 1.05 !important; }
.main-area .section-card>.section-header>div:first-child>span { display: block; margin: 1px 0 0 !important; font-size: var(--sigep-list-header-meta-size) !important; line-height: 1.05 !important; }
.main-area .section-card>.section-header>:is(a.btn,button.btn,.av-btn),.main-area .section-card>.section-header>div:not(:first-child) :is(a.btn,button.btn,.av-btn) { min-height: var(--sigep-list-header-action-height) !important; height: var(--sigep-list-header-action-height) !important; padding: 0.1rem 0.55rem !important; font-size: var(--sigep-list-header-meta-size) !important; line-height: 1 !important; }
.main-area .section-card>.section-header+:is(.table-responsive,.inventariados-table-wrap) { margin-top: 0 !important; }
@media (max-width: 575.98px) {
  .main-area .section-card>.section-header { min-height: 0 !important; align-items: flex-start !important; flex-wrap: wrap; }
}
/* Acciones globales: botones compactos con iconos de trazo y color por intención. */
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) { --sigep-btn-action-current-color: var(--sigep-btn-action-default-color); --sigep-btn-action-bg: color-mix(in srgb, var(--sigep-btn-action-current-color) 5%, var(--sigep-btn-action-surface-color)); --sigep-btn-action-border: color-mix(in srgb, var(--sigep-btn-action-current-color) 30%, var(--sigep-btn-action-surface-color)); --sigep-btn-action-hover-bg: color-mix(in srgb, var(--sigep-btn-action-current-color) 12%, var(--sigep-btn-action-surface-color)); --sigep-btn-action-focus-shadow: 0 0 0 2px color-mix(in srgb, var(--sigep-btn-action-current-color) 25%, transparent); display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; aspect-ratio: 1 !important; max-width: var(--sigep-table-action-size) !important; max-height: var(--sigep-table-action-size) !important; width: var(--sigep-table-action-size) !important; height: var(--sigep-table-action-size) !important; min-width: var(--sigep-table-action-size) !important; min-height: var(--sigep-table-action-size) !important; flex: 0 0 var(--sigep-table-action-size) !important; padding: 0 !important; border: 1px solid var(--sigep-btn-action-border) !important; border-radius: 5px !important; background: var(--sigep-btn-action-bg) !important; color: var(--sigep-btn-action-current-color) !important; box-shadow: var(--sigep-btn-action-shadow) !important; text-decoration: none !important; vertical-align: middle !important; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):hover { background: var(--sigep-btn-action-hover-bg) !important; border-color: var(--sigep-btn-action-current-color) !important; color: var(--sigep-btn-action-current-color) !important; box-shadow: var(--sigep-btn-action-shadow) !important; transform: none !important; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):focus-visible { outline: 0; box-shadow: var(--sigep-btn-action-focus-shadow) !important; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(i,svg) { color: inherit !important; -webkit-text-fill-color: currentColor !important; margin: 0 !important; font-size: var(--sigep-font-size-text) !important; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select).av-icon-primary { --sigep-btn-action-current-color: var(--sigep-btn-action-view-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select).av-icon-info { --sigep-btn-action-current-color: var(--sigep-btn-action-view-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select).av-icon-edit { --sigep-btn-action-current-color: var(--sigep-btn-action-edit-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select).av-icon-warning { --sigep-btn-action-current-color: var(--sigep-btn-action-warning-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select).av-icon-danger { --sigep-btn-action-current-color: var(--sigep-btn-action-danger-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select).av-icon-lock { --sigep-btn-action-current-color: var(--sigep-btn-action-danger-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-eye,.fa-eye-slash,.fa-file-lines)) { --sigep-btn-action-current-color: var(--sigep-btn-action-view-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-pen,.fa-pen-to-square,.fa-user-pen)) { --sigep-btn-action-current-color: var(--sigep-btn-action-edit-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-check,.fa-clipboard-check,.fa-list-check)) { --sigep-btn-action-current-color: var(--sigep-btn-action-confirm-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-print,.fa-file-pdf)) { --sigep-btn-action-current-color: var(--sigep-btn-action-print-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-trash,.fa-trash-can,.fa-power-off,.fa-lock,.fa-ban,.fa-xmark)) { --sigep-btn-action-current-color: var(--sigep-btn-action-danger-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-location-dot,.fa-map-location-dot,.fa-map-pin)) { --sigep-btn-action-current-color: var(--sigep-btn-action-location-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-user,.fa-users,.fa-user-group,.fa-users-gear)) { --sigep-btn-action-current-color: var(--sigep-btn-action-people-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-download,.fa-file-arrow-down,.fa-file-excel)) { --sigep-btn-action-current-color: var(--sigep-btn-action-download-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select):has(:is(.fa-key,.fa-rotate-left,.fa-rotate,.fa-unlock,.fa-lock-open,.fa-triangle-exclamation,.fa-bolt)) { --sigep-btn-action-current-color: var(--sigep-btn-action-warning-color); }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-eye)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2012s3.5-7%2010-7%2010%207%2010%207-3.5%207-10%207S2%2012%202%2012Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2012s3.5-7%2010-7%2010%207%2010%207-3.5%207-10%207S2%2012%202%2012Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-check)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204L19%206%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204%204L19%206%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-pen,.fa-pen-to-square,.fa-user-pen)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m16%203%205%205M4%2020l4-1%2013-13a2%202%200%200%200-3-3L5%2016l-1%204Z%22%2F%3E%3Cpath%20d%3D%22M12%2020h9%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m16%203%205%205M4%2020l4-1%2013-13a2%202%200%200%200-3-3L5%2016l-1%204Z%22%2F%3E%3Cpath%20d%3D%22M12%2020h9%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-trash,.fa-trash-can)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M9%206V3h6v3M5%206l1%2015h12l1-15M10%2010v7M14%2010v7%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M9%206V3h6v3M5%206l1%2015h12l1-15M10%2010v7M14%2010v7%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-lock)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3M12%2014v3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3M12%2014v3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-unlock,.fa-lock-open)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%207-2M12%2014v3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%207-2M12%2014v3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-key)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%225%22%2F%3E%3Cpath%20d%3D%22m12%2012%209%209M17%2017l3-3M15%2015l3-3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%225%22%2F%3E%3Cpath%20d%3D%22m12%2012%209%209M17%2017l3-3M15%2015l3-3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-print)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%209V3h12v6M6%2018H3V9h18v9h-3%22%2F%3E%3Cpath%20d%3D%22M6%2014h12v7H6zM17%2012h1%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%209V3h12v6M6%2018H3V9h18v9h-3%22%2F%3E%3Cpath%20d%3D%22M6%2014h12v7H6zM17%2012h1%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-file-lines,.fa-file-pdf,.fa-file-excel)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%202H5v20h14V7l-5-5Z%22%2F%3E%3Cpath%20d%3D%22M14%202v5h5M8%2012h8M8%2016h8%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%202H5v20h14V7l-5-5Z%22%2F%3E%3Cpath%20d%3D%22M14%202v5h5M8%2012h8M8%2016h8%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-download,.fa-file-arrow-down)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2016v5h16v-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2016v5h16v-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-rotate,.fa-rotate-left)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2010a9%209%200%201%201%202%208M3%203v7h7%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2010a9%209%200%201%201%202%208M3%203v7h7%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-power-off)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v10M5%205a9%209%200%201%200%2014%200%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v10M5%205a9%209%200%201%200%2014%200%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-location-dot,.fa-map-location-dot,.fa-map-pin)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012S4%2016%204%2010a8%208%200%200%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012S4%2016%204%2010a8%208%200%200%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-users,.fa-user-group,.fa-users-gear)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2021v-3a6%206%200%200%201%2012%200v3M16%204a3%203%200%200%201%200%206M18%2014a5%205%200%200%201%203%205v2%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2021v-3a6%206%200%200%201%2012%200v3M16%204a3%203%200%200%201%200%206M18%2014a5%205%200%200%201%203%205v2%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-user)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021v-3a8%208%200%200%201%2016%200v3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021v-3a8%208%200%200%201%2016%200v3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-clipboard-check,.fa-list-check)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%2214%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M9%202h6v4H9zM8%2014l3%203%205-6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%2214%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M9%202h6v4H9zM8%2014l3%203%205-6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-triangle-exclamation)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%203%2010%2018H2L12%203ZM12%209v5M12%2017h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%203%2010%2018H2L12%203ZM12%209v5M12%2017h.01%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-bolt)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m13%202-9%2012h7l-1%208%2010-13h-7l1-7Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m13%202-9%2012h7l-1%208%2010-13h-7l1-7Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-xmark)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%206%2012%2012M6%2018%2018%206%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%206%2012%2012M6%2018%2018%206%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
html body :is(:is(.table-actions,.mobile-actions,.av-actions) :is(a,button,.btn),.av-icon-btn,.btn-ficha-action,.btn-inventory-select) :is(.fa-ban)::before { content: '' !important; display: block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m6%206%2012%2012%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m6%206%2012%2012%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }

/* Jerarquía compacta de permisos según el menú de navegación. */
.administracion-page .alert { font-size: var(--sigep-message-text-font-size); }
.administracion-page .access-permission-legend { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .6rem; margin: .3rem 0; color: var(--sigep-muted); font-size: var(--sigep-filter-font-size); }
.administracion-page .access-hierarchy { display: grid; gap: .3rem; }
.administracion-page .access-menu-section { border-radius: 8px; margin: 0; }
.administracion-page .access-menu-section .section-header { padding: .25rem .5rem !important; min-height: 0; }
.administracion-page .access-menu-section .section-header h3 { margin: 0; font-size: var(--sigep-font-size-text) !important; line-height: 1.2; }
.administracion-page .access-section-modules { padding: 0 .5rem; }
.administracion-page .access-module-group { display: grid; grid-template-columns: minmax(180px, 24%) minmax(0, 1fr); align-items: center; gap: .15rem .5rem; min-width: 0; padding: .2rem 0; margin: 0; }
.administracion-page .access-module-group:last-child { border-bottom: 0; }
.administracion-page .access-module-heading { min-width: 0; }
.administracion-page .access-module-name { display: block; color: var(--sigep-primary); font-size: var(--sigep-filter-font-size); line-height: 1.15; }
.administracion-page .access-module-name .fa-circle-info { color: var(--sigep-muted); font-size: var(--sigep-font-size-meta); cursor: help; }
.administracion-page .access-module-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem; margin: .15rem 0 0; }
.administracion-page .access-selected-count { color: var(--sigep-muted); font-size: var(--sigep-font-size-meta); line-height: 1.1; }
.administracion-page .access-hierarchy .access-permission-grid { gap: .1rem .3rem; }
.administracion-page .access-hierarchy .permission-user-text { font-size: var(--sigep-filter-font-size); line-height: 1.15; }
.administracion-page .access-hierarchy .permission-user-row { align-items: center; padding: .2rem .25rem; }
.administracion-page .access-hierarchy .permission-visual-check { width: 15px; height: 15px; flex-basis: 15px; }
.administracion-page .sticky-save-access { margin-top: .3rem; padding: .25rem; bottom: .3rem; }
@media (max-width: 767.98px) {
  .administracion-page .access-module-group { grid-template-columns: minmax(130px, 34%) minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
  .administracion-page .access-module-group { grid-template-columns: 1fr; }
  .administracion-page .access-module-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .2rem; }
  .administracion-page .access-hierarchy .access-permission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Acceso: variante corporativa de los botones globales. */
:root {
  --sigep-btn-login-bg: #102f4f;
  --sigep-btn-login-border: #102f4f;
  --sigep-btn-login-hover-bg: #19466f;
  --sigep-btn-login-color: #ffd500;
  --sigep-btn-login-toggle-bg: transparent;
  --sigep-btn-login-toggle-border: transparent;
  --sigep-btn-login-toggle-color: #0088b0;
  --sigep-btn-login-toggle-hover-bg: #dce7f9;
  --sigep-btn-login-focus-ring: rgba(0, 169, 211, .25);
}
html body.login-page .btn.lgn-submit {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 38px; margin-top: 16px; padding: 8px 12px !important;
  border: 1px solid var(--sigep-btn-login-border) !important; border-radius: 7px !important;
  background: var(--sigep-btn-login-bg) !important;
  color: var(--sigep-btn-login-color) !important; -webkit-text-fill-color: var(--sigep-btn-login-color) !important;
  font-size: var(--sigep-font-size-text) !important; font-weight: 800 !important; line-height: 18px; cursor: pointer;
}
html body.login-page .btn.lgn-submit:hover { background: var(--sigep-btn-login-hover-bg) !important; transform: none !important; box-shadow: none !important; }
html body.login-page .btn.lgn-pw-btn {
  display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px;
  padding: 0 !important; border: 0 solid var(--sigep-btn-login-toggle-border) !important; border-radius: 6px !important;
  background: var(--sigep-btn-login-toggle-bg) !important;
  color: var(--sigep-btn-login-toggle-color) !important; -webkit-text-fill-color: var(--sigep-btn-login-toggle-color) !important;
  cursor: pointer; box-shadow: none !important;
}
html body.login-page .btn.lgn-pw-btn:hover { background: var(--sigep-btn-login-toggle-hover-bg) !important; transform: none !important; box-shadow: none !important; }
html body.login-page .btn.lgn-pw-btn svg { color: var(--sigep-btn-login-toggle-color) !important; }
html body.login-page .btn:focus-visible { outline: 2px solid var(--sigep-btn-login-toggle-color); outline-offset: 2px; box-shadow: 0 0 0 3px var(--sigep-btn-login-focus-ring) !important; }
/* Texto heredado y utilidades de tamaño compartidas por todos los módulos. */

h1,.h1 { font-size: var(--sigep-font-size-title); }
h2,h3,h4,.h2,.h3,.h4 { font-size: var(--sigep-font-size-heading); }
h5,h6,.h5,.h6 { font-size: var(--sigep-font-size-text); }
small,.small,.form-text { font-size: var(--sigep-font-size-support); }
.sigep-empty-state { padding: .75rem 1rem; font-size: var(--sigep-font-size-text); line-height: 1.3; }
.sigep-text-table { font-size: var(--sigep-table-font-size) !important; }
.sigep-text-meta { font-size: var(--sigep-font-size-meta) !important; }
.sigep-text-support { font-size: var(--sigep-font-size-support) !important; }
.sigep-text-display { font-size: var(--sigep-font-size-display) !important; }
.sigep-text-illustration { font-size: var(--sigep-font-size-illustration); }

/* Copias de seguridad: operaciones compactas e historial a todo el ancho. */
.backups-page .backup-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 10px; }
.backups-page .backup-summary .summary-item { min-height: 45px; padding: 8px 12px; }
.backups-page .section-card { border-radius: 9px !important; box-shadow: none !important; }
.backup-workspace { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.backup-workspace > :only-child { grid-column: 1 / -1; }
.backup-panel { padding: 10px 12px; }
.backup-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.backups-page :is(.backup-panel-heading,.backup-history-title) h2 { margin: 0; font-size: var(--sigep-font-size-heading) !important; font-weight: 700; line-height: 1.2; color: var(--sigep-text); }
.backup-panel-heading h2 i { margin-right: 4px; color: var(--sigep-muted); }
.backup-format { color: var(--sigep-muted); font-size: var(--sigep-font-size-table); border: 1px solid var(--sigep-border); border-radius: 4px; padding: 2px 5px; white-space: nowrap; }
.backup-create-form { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.backup-include { min-width: 0; }
.backup-include small { display: block; margin: 3px 0 0 1.5em; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); }
.backup-restore-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px 8px; }
.backup-restore-form .form-control { min-width: 0; }
.backup-restore-form small { grid-column: 1 / -1; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); line-height: 1.25; }
.backup-history-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--sigep-border); }
.backup-history-title { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; }
.backup-history-title span { color: var(--sigep-muted); font-size: var(--sigep-font-size-table); }
.backup-filters { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.backup-filters .form-select { width: 150px; }
.backup-search { position: relative; width: 235px; }
.backup-search > i { position: absolute; left: 9px; top: 50%; transform: translateY(-50%); color: var(--sigep-muted); pointer-events: none; }
.backup-search .form-control { padding-left: 28px; }
.backup-table-wrap { overflow-x: auto; }
.backups-page .backup-table { width: 100%; margin-bottom: 0; }
.backups-page .backup-table td { padding: 6px 9px !important; vertical-align: middle; }
.backups-page .backup-table th { padding-inline: 9px !important; }
.backup-file { display: flex; align-items: center; gap: 9px; min-width: 0; }
.backup-file > i { font-size: 20px; color: var(--sigep-muted); }
.backup-file strong { font-weight: 600; overflow-wrap: anywhere; }
.backup-file small { display: block; margin-top: 2px; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); }
.backup-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.backup-actions form { margin: 0; display: inline-flex; }
.backup-history-footer { padding: 7px 12px; border-top: 1px solid var(--sigep-border); color: var(--sigep-muted); font-size: var(--sigep-font-size-table); }
.backup-history-footer i { margin-right: 4px; }
.backup-empty { padding: 24px 12px; text-align: center; color: var(--sigep-muted); }
.backup-empty > i { font-size: 24px; }
.backup-empty p { margin: 7px 0 0; }
.backups-page [hidden] { display: none !important; }
@media (max-width: 1100px) {
  .backup-workspace { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .backups-page .backup-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .backup-history-toolbar { flex-direction: column; align-items: stretch; gap: 8px; }
  .backup-filters { width: 100%; }
  .backup-search { width: auto; flex: 1; min-width: 0; }
  .backup-filters .form-select { width: 130px; }
}
@media (max-width: 420px) {
  .backup-create-form { flex-wrap: wrap; }
  .backup-restore-form { grid-template-columns: minmax(0, 1fr); }
  .backup-restore-form small { grid-row: 2; }
}

/* Detalle de auditoría: comparación legible y trazabilidad desplegable. */
.audit-event-page { font-size: var(--sigep-font-size-text); }
.audit-event-context { display: grid; grid-template-columns: minmax(200px, .85fr) minmax(0, 2.3fr); align-items: center; gap: 12px 20px; padding: 12px; margin-bottom: 12px; background: var(--sigep-card); border: 1px solid var(--sigep-border); border-radius: 9px; }
.audit-event-actor { display: flex; align-items: center; gap: 9px; min-width: 0; }
.audit-event-avatar { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 8px; color: var(--sigep-notice-info-text); background: var(--sigep-notice-info-bg); }
.audit-event-actor strong,.audit-event-actor span { display: block; overflow-wrap: anywhere; }
.audit-event-actor strong { font-weight: 650; }
.audit-event-actor span { color: var(--sigep-muted); font-size: var(--sigep-font-size-table); margin-top: 3px; }
.audit-event-facts { display: grid; grid-template-columns: .7fr 1.1fr .6fr 1.4fr; align-items: start; gap: 10px; margin: 0; }
.audit-event-facts div { min-width: 0; }
.audit-event-facts dt,.audit-event-technical dt { margin-bottom: 3px; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); font-weight: 500; }
.audit-event-facts dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.audit-event-comparison { border: 1px solid var(--sigep-border); border-radius: 9px; background: var(--sigep-card); overflow: hidden; margin-bottom: 10px; }
.audit-event-comparison-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px 7px; }
.audit-event-comparison-heading h2 { margin: 0; font-size: var(--sigep-font-size-heading) !important; font-weight: 700; }
.audit-event-comparison-heading p { margin: 3px 0 0; color: var(--sigep-muted); font-size: var(--sigep-font-size-table); }
.audit-event-comparison-heading .form-check { margin-bottom: 0; font-size: var(--sigep-font-size-table); white-space: nowrap; }
.audit-event-counts { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 12px 9px; }
.audit-change-token { display: inline-block; padding: 2px 6px; border-radius: 4px; font-size: var(--sigep-font-size-table); line-height: 1.35; white-space: nowrap; }
.audit-change-agregado { background: var(--sigep-notice-success-bg); color: var(--sigep-notice-success-text); }
.audit-change-modificado { background: var(--sigep-notice-info-bg); color: var(--sigep-notice-info-text); }
.audit-change-retirado { background: var(--sigep-notice-danger-bg); color: var(--sigep-notice-danger-text); }
.audit-change-igual { background: var(--sigep-notice-neutral-bg); color: var(--sigep-notice-neutral-text); }
.audit-event-table-wrap { overflow-x: auto; }
.audit-event-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.audit-event-table thead th { background: var(--sigep-card-soft); color: var(--sigep-text); font-weight: 600; text-align: left; padding: 7px 12px; border-block: 1px solid var(--sigep-border); }
.audit-event-table thead th:first-child { width: 24%; }
.audit-event-table thead th:last-child { width: 110px; }
.audit-event-table tbody :is(th,td) { padding: 8px 12px; vertical-align: top; border-bottom: 1px solid var(--sigep-border); overflow-wrap: anywhere; }
.audit-event-table tbody tr:last-child :is(th,td) { border-bottom: 0; }
.audit-event-field { color: var(--sigep-text); font-weight: 600; text-align: left; }
.audit-event-table pre,.audit-event-originals pre { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--sigep-font-size-table); line-height: 1.4; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; max-height: 240px; overflow: auto; color: var(--sigep-text); }
.audit-event-missing { color: var(--sigep-muted); font-style: italic; font-size: var(--sigep-font-size-table); }
.audit-event-empty { text-align: center; padding: 20px 12px; margin: 0; color: var(--sigep-muted); }
.audit-event-empty p { margin: 6px 0 0; }
.audit-event-disclosure { border: 1px solid var(--sigep-border); border-radius: 8px; background: var(--sigep-card); margin-top: 8px; overflow: hidden; }
.audit-event-disclosure summary { padding: 9px 12px; cursor: pointer; font-weight: 600; }
.audit-event-disclosure summary > i { margin-inline: 4px; color: var(--sigep-muted); }
.audit-event-disclosure summary > span { color: var(--sigep-muted); font-weight: 400; font-size: var(--sigep-font-size-table); margin-left: 8px; }
.audit-event-disclosure summary:focus-visible { outline: 2px solid var(--sigep-border); outline-offset: -2px; }
.audit-event-originals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 10px 12px; border-top: 1px solid var(--sigep-border); }
.audit-event-originals section { min-width: 0; }
.audit-event-originals h3 { font-size: var(--sigep-font-size-text) !important; margin: 0 0 7px; font-weight: 600; }
.audit-event-originals pre { padding: 9px; background: var(--sigep-bg-soft); border: 1px solid var(--sigep-border); border-radius: 5px; }
.audit-event-technical { display: grid; grid-template-columns: minmax(110px, .4fr) minmax(0, 2fr); gap: 12px; padding: 10px 12px; margin: 0; border-top: 1px solid var(--sigep-border); }
.audit-event-technical dd { margin: 0; overflow-wrap: anywhere; font-size: var(--sigep-font-size-table); }
.audit-event-page [hidden] { display: none !important; }
@media (max-width: 1100px) {
  .audit-event-context { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .audit-event-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-event-comparison-heading { align-items: flex-start; flex-wrap: wrap; }
  .audit-event-originals,.audit-event-technical { grid-template-columns: 1fr; }
  .audit-event-disclosure summary > span { display: block; margin: 3px 0 0 20px; }
}

/* Auditoría: cabeceras y datos comparten la alineación de cada columna. */
.auditoria-page .audit-events-table :is(th,td) {
  text-align: center !important;
  vertical-align: middle !important;
  padding-inline: var(--sigep-table-cell-padding-x) !important;
}
.auditoria-page .audit-events-table td:last-child .av-icon-btn { margin-inline: auto; }

/* Comparación de auditoría: datos centrados bajo sus encabezados en escritorio. */
@media (min-width: 576px) {
  .audit-event-page .audit-event-table :is(th,td,pre) { text-align: center !important; }
  .audit-event-page .audit-event-table tbody :is(th,td) { vertical-align: middle; }
}

/* Ficha del bien: paneles suaves con el lenguaje visual del resumen de inventario. */
.bien-detail-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.bien-detail-column { display: grid; min-width: 0; gap: 12px; }
.bien-info-panel { --bien-panel-accent: #163c70; position: relative; min-width: 0; overflow: hidden; padding: 10px 12px 14px 15px; border: 1px solid color-mix(in srgb, var(--bien-panel-accent) 32%, var(--sigep-card)); border-radius: 14px; background: linear-gradient(125deg, color-mix(in srgb, var(--bien-panel-accent) 8%, var(--sigep-card)), var(--sigep-card) 78%); box-shadow: 0 3px 10px color-mix(in srgb, var(--bien-panel-accent) 8%, transparent); }
.bien-info-panel::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--bien-panel-accent); }
.bien-info-panel::after { content: ''; position: absolute; inset: auto 12px 7px 15px; height: 3px; border-radius: 2px; background: color-mix(in srgb, var(--bien-panel-accent) 38%, transparent); }
.bien-info-panel--technical { --bien-panel-accent: #9333ea; }
.bien-info-panel--location { --bien-panel-accent: #0284c7; }
.bien-info-panel--accounting { --bien-panel-accent: #d49a08; }
.bien-info-panel--valuation { --bien-panel-accent: #059669; }
.bien-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 9px; }
.bien-detail-page .bien-panel-heading h3 { margin: 0; font-size: var(--sigep-font-size-text); font-weight: 700; line-height: 1.2; }
.bien-panel-icon { display: inline-flex; flex: 0 0 30px; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 9px; color: var(--bien-panel-accent); background: color-mix(in srgb, var(--bien-panel-accent) 10%, var(--sigep-card)); font-size: 15px; }
.bien-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.bien-facts>div { min-width: 0; }
.bien-facts span { display: block; margin-bottom: 2px; color: var(--sigep-muted); font-size: var(--sigep-font-size-meta); font-weight: 600; line-height: 1.15; }
.bien-facts strong { display: block; color: var(--sigep-text); font-size: var(--sigep-font-size-text); font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.bien-fact-wide { grid-column: 1 / -1; }
.bien-facts .bien-value-code { font-size: 15px; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.bien-facts .bien-value-amount { color: var(--bien-panel-accent); font-size: 15px; font-variant-numeric: tabular-nums; }
.bien-detail-page .bien-info-panel hr { margin: 9px 0 !important; border-color: var(--bien-panel-accent); opacity: .18; }
.bien-detail-page .bien-info-panel h4 { margin: 0 0 3px; color: var(--sigep-muted); font-size: var(--sigep-font-size-meta); font-weight: 600; }
.bien-description { margin: 0 0 7px; color: var(--sigep-text); font-size: var(--sigep-font-size-text); line-height: 1.3; overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
  .bien-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bien-detail-column { gap: 10px; }
  .bien-info-panel { padding: 9px 10px 13px 13px; }
  .bien-facts { gap: 8px 10px; }
}
