/* ============================================================
   Tema institucional Rio Quito
   Paleta base: #FFEA1A, #FFD411, #AED767, #8BC64F,
   #E3E4E5, #231F20, #FFD100, #009639, #FFFFFF, #003893.
   ============================================================ */
:root {
    --rq-yellow-vivid: #FFEA1A;
    --rq-yellow: #FFD100;
    --rq-gold: #FFD411;
    --rq-green-light: #AED767;
    --rq-green-soft: #8BC64F;
    --rq-green: #009639;
    --rq-blue: #003893;
    --rq-neutral: #E3E4E5;
    --rq-white: #FFFFFF;
    --rq-dark: #231F20;
    --rq-page: #F7F8F4;
    --rq-surface: #FFFFFF;
    --rq-surface-soft: #F2F5ED;
    --rq-border: #DDE2D8;
    --rq-muted: #626262;
    --rq-shadow: 0 10px 28px rgba(35, 31, 32, .08);
}

html,
body {
    background: var(--rq-page) !important;
    color: var(--rq-dark) !important;
}

a {
    color: var(--rq-green);
}

a:hover {
    color: var(--rq-blue);
}

.text-primary,
.link-primary {
    color: var(--rq-green) !important;
}

.text-success {
    color: var(--rq-green) !important;
}

.text-info {
    color: var(--rq-blue) !important;
}

.text-warning {
    color: var(--rq-gold) !important;
}

.text-danger {
    color: var(--rq-dark) !important;
}

.text-secondary,
.text-muted {
    color: var(--rq-muted) !important;
}

.bg-primary,
.bg-success {
    background-color: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.bg-info {
    background-color: var(--rq-blue) !important;
    color: var(--rq-white) !important;
}

.bg-warning {
    background-color: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.bg-danger,
.bg-dark {
    background-color: var(--rq-dark) !important;
    color: var(--rq-white) !important;
}

.bg-secondary,
.bg-light {
    background-color: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.btn {
    border-radius: 8px;
    font-weight: 700;
    letter-spacing: 0;
}

.btn-primary,
.btn-success {
    background: var(--rq-green) !important;
    border-color: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus {
    background: var(--rq-green-soft) !important;
    border-color: var(--rq-green-soft) !important;
    color: var(--rq-dark) !important;
}

.btn-info,
.btn-outline-info:hover,
.btn-outline-info:focus {
    background: var(--rq-blue) !important;
    border-color: var(--rq-blue) !important;
    color: var(--rq-white) !important;
}

.btn-warning,
.btn-outline-warning:hover,
.btn-outline-warning:focus {
    background: var(--rq-gold) !important;
    border-color: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.btn-danger,
.btn-dark,
.btn-outline-danger:hover,
.btn-outline-danger:focus {
    background: var(--rq-dark) !important;
    border-color: var(--rq-dark) !important;
    color: var(--rq-white) !important;
}

.btn-secondary {
    background: var(--rq-neutral) !important;
    border-color: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.btn-outline-primary,
.btn-outline-success {
    border-color: var(--rq-green) !important;
    color: var(--rq-green) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-success:hover,
.btn-outline-success:focus {
    background: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.btn-outline-secondary {
    border-color: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.btn-outline-danger {
    border-color: var(--rq-dark) !important;
    color: var(--rq-dark) !important;
}

.btn-link {
    color: var(--rq-green) !important;
}

.badge.bg-primary,
.badge.bg-success {
    background: var(--rq-green) !important;
}

.badge.bg-info {
    background: var(--rq-blue) !important;
    color: var(--rq-white) !important;
}

.badge.bg-warning {
    background: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.badge.bg-danger,
.badge.bg-dark {
    background: var(--rq-dark) !important;
}

.badge.bg-secondary,
.badge.bg-light {
    background: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.card,
.modal-content,
.dropdown-menu,
.aud-panel,
.aud-filter,
.aud-table-wrap,
.d-info-card,
.d-perms-wrap,
.d-kpi,
.d-chart-card,
.ag-card,
.pa-card,
.pd-card,
.editor-doc-shell {
    background: var(--rq-surface) !important;
    border-color: var(--rq-border) !important;
    box-shadow: var(--rq-shadow);
}

.card-header,
.modal-header {
    border-color: var(--rq-border) !important;
}

.card-header.bg-primary,
.modal-header.bg-primary,
.card-header.bg-success,
.modal-header.bg-success,
.modal-header.bg-dark,
.card-header.bg-dark {
    background: var(--rq-dark) !important;
    color: var(--rq-white) !important;
}

.modal-header.bg-danger,
.card-header.bg-danger {
    background: var(--rq-dark) !important;
    color: var(--rq-white) !important;
    border-bottom: 4px solid var(--rq-gold) !important;
}

.form-control,
.form-select,
.dataTables_filter input,
.dataTables_length select {
    border-color: var(--rq-border) !important;
    color: var(--rq-dark) !important;
}

.form-control:focus,
.form-select:focus,
.dataTables_filter input:focus,
.dataTables_length select:focus {
    border-color: var(--rq-green) !important;
    box-shadow: 0 0 0 .18rem rgba(0, 150, 57, .18) !important;
}

/* Tablas institucionales */
.table-responsive {
    border: 1px solid var(--rq-border);
    border-radius: 8px;
    background: var(--rq-white);
}

.table-responsive > .table {
    margin-bottom: 0;
}

.table,
.table.table-dark,
table.dataTable,
.aud-table {
    --bs-table-bg: var(--rq-white);
    --bs-table-color: var(--rq-dark);
    --bs-table-border-color: var(--rq-border);
    --bs-table-striped-bg: rgba(174, 215, 103, .07);
    --bs-table-hover-bg: rgba(174, 215, 103, .16);
    background: var(--rq-white) !important;
    color: var(--rq-dark) !important;
    border-color: var(--rq-border) !important;
}

.table-dark,
.table-dark > :not(caption) > * > * {
    background-color: var(--rq-white) !important;
    color: var(--rq-dark) !important;
    border-color: var(--rq-border) !important;
}

.table thead,
.table thead.table-dark,
.table-dark thead,
.table-dark > thead,
.table > thead,
table.dataTable > thead,
.aud-table thead {
    background: var(--rq-dark) !important;
}

.table thead th,
.table thead td,
.table-dark thead th,
.table-dark thead td,
thead.table-dark th,
thead.table-dark td,
table.dataTable thead th,
table.dataTable thead td,
.aud-table thead th,
.aud-table thead td {
    background: var(--rq-dark) !important;
    color: var(--rq-white) !important;
    border-color: var(--rq-dark) !important;
    font-weight: 700;
}

.table tbody td,
.table tbody th,
.table-dark tbody td,
.table-dark tbody th,
table.dataTable tbody td,
table.dataTable tbody th,
.aud-table tbody td,
.aud-table tbody th {
    background-color: var(--rq-white) !important;
    color: var(--rq-dark) !important;
    border-color: var(--rq-border) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > *,
.table tbody tr:nth-child(even) > *,
table.dataTable tbody tr:nth-child(even) > *,
.aud-table tbody tr:nth-child(even) > * {
    background-color: rgba(174, 215, 103, .07) !important;
}

.table-hover > tbody > tr:hover > *,
table.dataTable tbody tr:hover > *,
.aud-table tbody tr:hover > * {
    background-color: rgba(174, 215, 103, .16) !important;
    color: var(--rq-dark) !important;
}

.table-success > *,
.table tbody tr.table-success > * {
    background-color: rgba(174, 215, 103, .24) !important;
    color: var(--rq-dark) !important;
}

.table-primary > *,
.table tbody tr.table-primary > * {
    background-color: rgba(0, 150, 57, .12) !important;
    color: var(--rq-dark) !important;
}

.table-warning > *,
.table tbody tr.table-warning > * {
    background-color: rgba(255, 212, 17, .22) !important;
    color: var(--rq-dark) !important;
}

.table-danger > *,
.table tbody tr.table-danger > * {
    background-color: rgba(35, 31, 32, .08) !important;
    color: var(--rq-dark) !important;
}

.table-dark > *,
.table tbody tr.table-dark > * {
    background-color: rgba(35, 31, 32, .10) !important;
    color: var(--rq-dark) !important;
}

.table-info > *,
.table tbody tr.table-info > * {
    background-color: rgba(0, 56, 147, .08) !important;
    color: var(--rq-dark) !important;
}

.table-secondary > *,
.table tbody tr.table-secondary > * {
    background-color: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.table-light > *,
.table-active > *,
.table tbody tr.table-light > *,
.table tbody tr.table-active > * {
    background-color: var(--rq-surface-soft) !important;
    color: var(--rq-dark) !important;
}

.table .btn {
    border-radius: 6px;
    font-weight: 700;
}

.table .btn-warning {
    background: var(--rq-gold) !important;
    border-color: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.table .btn-danger {
    background: var(--rq-dark) !important;
    border-color: var(--rq-dark) !important;
    color: var(--rq-white) !important;
}

.table .btn-info {
    background: var(--rq-blue) !important;
    border-color: var(--rq-blue) !important;
    color: var(--rq-white) !important;
}

.table .btn-success,
.table .btn-primary {
    background: var(--rq-green) !important;
    border-color: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.table .btn-secondary,
.table .btn-light {
    background: var(--rq-neutral) !important;
    border-color: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.table .badge.bg-success,
.table .badge.badge-success {
    background: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.table .badge.bg-warning,
.table .badge.badge-warning {
    background: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.table .badge.bg-danger,
.table .badge.badge-danger {
    background: var(--rq-dark) !important;
    color: var(--rq-white) !important;
}

.table .badge.bg-info,
.table .badge.badge-info,
.table .badge.bg-primary,
.table .badge.badge-primary {
    background: var(--rq-blue) !important;
    color: var(--rq-white) !important;
}

.table .badge.bg-secondary,
.table .badge.badge-secondary,
.table .badge.bg-light,
.table .badge.badge-light {
    background: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.page-item.active .page-link,
.dataTables_wrapper .page-item.active .page-link {
    background: var(--rq-green) !important;
    border-color: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.page-link {
    color: var(--rq-green) !important;
}

.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_info {
    color: var(--rq-muted) !important;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--rq-border) !important;
    border-radius: 6px !important;
    background: var(--rq-white) !important;
    color: var(--rq-dark) !important;
}

.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
    border-color: var(--rq-green) !important;
    box-shadow: 0 0 0 3px rgba(0, 150, 57, .15) !important;
    outline: 0 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate .page-link {
    background: var(--rq-white) !important;
    border-color: var(--rq-border) !important;
    color: var(--rq-green) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .page-item.active .page-link {
    background: var(--rq-green) !important;
    border-color: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.dataTables_wrapper .dataTables_paginate .page-link:hover {
    background: rgba(174, 215, 103, .20) !important;
    border-color: var(--rq-green-soft) !important;
    color: var(--rq-dark) !important;
}

table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after {
    color: var(--rq-gold) !important;
    opacity: .95 !important;
}

.alert-success {
    background: rgba(174, 215, 103, .22) !important;
    border-color: var(--rq-green-soft) !important;
    color: var(--rq-dark) !important;
}

.alert-warning {
    background: rgba(255, 212, 17, .20) !important;
    border-color: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.alert-danger {
    background: rgba(227, 228, 229, .55) !important;
    border-color: var(--rq-dark) !important;
    color: var(--rq-dark) !important;
}

.alert-info {
    background: rgba(0, 56, 147, .08) !important;
    border-color: var(--rq-blue) !important;
    color: var(--rq-blue) !important;
}

/* Sidebar y topbar principal */
.sgd-wrap,
.sgd-main,
.sgd-content {
    background: var(--rq-page) !important;
}

.sgd-sb,
.sgd-topbar {
    background: var(--rq-white) !important;
    border-color: var(--rq-border) !important;
}

.sgd-pill {
    background: var(--rq-green) !important;
    border-color: var(--rq-page) !important;
    box-shadow: 0 2px 10px rgba(0, 150, 57, .24) !important;
}

.sgd-pill:hover {
    background: var(--rq-green-soft) !important;
}

.sgd-logo-wrap,
.sgd-user-card {
    background: var(--rq-surface-soft) !important;
    border-color: var(--rq-border) !important;
}

.sgd-brand-copy strong,
.sgd-user-meta b {
    color: var(--rq-dark) !important;
}

.sgd-brand-copy span,
.sgd-user-meta small,
.sgd-sect-lbl {
    color: var(--rq-muted) !important;
}

.sgd-ni {
    color: var(--rq-muted) !important;
}

.sgd-ni::before {
    background: var(--rq-green) !important;
}

.sgd-ni:hover {
    background: rgba(174, 215, 103, .16) !important;
    color: var(--rq-dark) !important;
}

.sgd-ni.active {
    background: rgba(0, 150, 57, .10) !important;
    color: var(--rq-green) !important;
    border-color: rgba(0, 150, 57, .28) !important;
}

.sgd-ni-ico {
    background: rgba(174, 215, 103, .20) !important;
    color: var(--rq-green) !important;
}

.sgd-ni.active .sgd-ni-ico {
    background: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.sgd-avatar {
    background: linear-gradient(135deg, var(--rq-green), var(--rq-green-soft)) !important;
    color: var(--rq-white) !important;
}

.sgd-out {
    background: var(--rq-white) !important;
    color: var(--rq-dark) !important;
    border-color: var(--rq-gold) !important;
}

.sgd-out:hover {
    background: var(--rq-dark) !important;
    color: var(--rq-white) !important;
    border-color: var(--rq-dark) !important;
    box-shadow: 0 4px 16px rgba(35, 31, 32, .22) !important;
}

.sgd-tip,
.sgd-tip::before {
    background: var(--rq-dark) !important;
}

.sgd-tip::before {
    border-right-color: var(--rq-dark) !important;
}

/* Dashboard de auditoria */
.aud-wrap,
.aud-title h1,
.aud-panel-head h2,
.aud-table-title h2 {
    color: var(--rq-dark) !important;
}

.aud-title p,
.aud-panel-head small,
.aud-muted,
.aud-unit {
    color: var(--rq-muted) !important;
}

.aud-band,
.aud-card.total {
    background: var(--rq-dark) !important;
    color: var(--rq-white) !important;
}

.aud-card.ok {
    background: var(--rq-green) !important;
}

.aud-card.wait {
    background: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.aud-card.due {
    background: var(--rq-blue) !important;
}

.aud-badge.ok {
    background: rgba(174, 215, 103, .25) !important;
    color: var(--rq-green) !important;
    border-color: var(--rq-green-soft) !important;
}

.aud-badge.wait {
    background: rgba(255, 212, 17, .22) !important;
    color: var(--rq-dark) !important;
    border-color: var(--rq-gold) !important;
}

.aud-badge.due {
    background: rgba(0, 56, 147, .10) !important;
    color: var(--rq-blue) !important;
    border-color: var(--rq-blue) !important;
}

.aud-badge.info,
.aud-users,
.token-chip {
    background: rgba(174, 215, 103, .18) !important;
    color: var(--rq-dark) !important;
    border-color: var(--rq-green-soft) !important;
}

/* Firma digital */
.badge-pendiente {
    background: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.badge-firmado {
    background: var(--rq-green) !important;
}

.badge-rechazado {
    background: var(--rq-dark) !important;
}

.badge-enviado {
    background: var(--rq-blue) !important;
}

#pdf-container,
#panel-estado {
    background: var(--rq-surface-soft) !important;
    border-color: var(--rq-border) !important;
}

#firma-preview {
    border-color: var(--rq-green) !important;
}

#barra-descarga {
    background: var(--rq-green) !important;
}

/* Login e index publico */
.menu-lateral a,
.login-box button,
body button[type="submit"] {
    border-radius: 8px;
}

.menu-lateral a.activo,
.menu-lateral a:hover {
    background: var(--rq-green) !important;
    color: var(--rq-white) !important;
    border-color: var(--rq-green) !important;
}

.menu-lateral a {
    color: var(--rq-green) !important;
    border-color: var(--rq-green) !important;
}

.login-box button,
button.fadeIn,
input[type="submit"] {
    background: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.login-box button:hover,
button.fadeIn:hover,
input[type="submit"]:hover {
    background: var(--rq-green-soft) !important;
    color: var(--rq-dark) !important;
}

/* SweetAlert */
.swal2-popup {
    color: var(--rq-dark) !important;
}

.swal2-confirm {
    background: var(--rq-green) !important;
    border-color: var(--rq-green) !important;
}

.swal2-cancel {
    background: var(--rq-neutral) !important;
    color: var(--rq-dark) !important;
}

.swal2-icon.swal2-success {
    border-color: var(--rq-green) !important;
    color: var(--rq-green) !important;
}

.swal2-icon.swal2-warning {
    border-color: var(--rq-gold) !important;
    color: var(--rq-gold) !important;
}

.swal2-icon.swal2-error {
    border-color: var(--rq-dark) !important;
    color: var(--rq-dark) !important;
}

/* Modulos con estilos embebidos propios */
.perfil-wrap,
.ag-page,
.pa-page,
.mu-wrap,
.pd-page {
    color: var(--rq-dark) !important;
}

.perfil-head,
.mu-hero,
#modalDetalleRadicado .modal-header {
    background: var(--rq-dark) !important;
    color: var(--rq-white) !important;
}

.perfil-avatar,
.d-escudo,
.d-avatar {
    background: var(--rq-green) !important;
    color: var(--rq-white) !important;
}

.perfil-head p,
.mu-hero p,
.d-date {
    color: var(--rq-neutral) !important;
}

.perfil-card,
.mu-index,
.mu-card,
.ag-stat,
.ag-flow,
.ag-table-wrap,
.pa-stat,
.pa-panel,
.pa-table-wrap {
    background: var(--rq-white) !important;
    border-color: var(--rq-border) !important;
    box-shadow: var(--rq-shadow);
}

.perfil-dato,
.perfil-card,
.mu-card,
.mu-index,
.ag-stat,
.ag-flow,
.pa-stat,
.pa-panel {
    color: var(--rq-dark) !important;
}

.perfil-dato span:first-child,
.perfil-form label,
.ag-title p,
.ag-stat span,
.ag-node small,
.pa-title p,
.pa-stat span,
.pa-step small,
.mu-card p,
.mu-index a,
.mu-list li,
.mu-note,
.d-section,
.d-ilabel,
.d-isub,
.d-kpi-lbl,
.d-chart-period,
.d-leg-item,
.d-stat-table th,
.d-dleg-key,
.d-dleg-pct {
    color: var(--rq-muted) !important;
}

.perfil-dato span:last-child,
.ag-title h1,
.ag-stat strong,
.ag-flow h2,
.ag-node strong,
.pa-title h1,
.pa-stat strong,
.pa-panel h2,
.pa-step strong,
.mu-card h2,
.d-ival,
.d-kpi-num,
.d-chart-title,
.d-stat-table td,
.d-dleg-val {
    color: var(--rq-dark) !important;
}

.ag-node,
.ag-trd-preview,
.pa-step,
.pa-preview,
.mu-shot {
    background: rgba(174, 215, 103, .14) !important;
    border-color: var(--rq-green-soft) !important;
    color: var(--rq-dark) !important;
}

.ag-arrow,
.mu-index a:hover {
    color: var(--rq-green) !important;
}

.pa-warning,
.mu-note {
    background: rgba(255, 212, 17, .16) !important;
    border-color: var(--rq-gold) !important;
    color: var(--rq-dark) !important;
}

.mu-note {
    border-left-color: var(--rq-green) !important;
}

.mu-pill {
    background: rgba(174, 215, 103, .18) !important;
    color: var(--rq-dark) !important;
    border-color: var(--rq-green-soft) !important;
}

#modalDetalleRadicado .modal-body,
#modalDetalleRadicado .modal-footer {
    background: var(--rq-page) !important;
    border-color: var(--rq-border) !important;
}

.detalle-card {
    background: var(--rq-white) !important;
    border-color: var(--rq-border) !important;
}

.detalle-card .card-section-title,
.di-label {
    color: var(--rq-muted) !important;
    border-color: var(--rq-border) !important;
}

.di-value,
.di-value.desc {
    color: var(--rq-dark) !important;
}

.di-icon.blue,
.di-icon.green,
.di-icon.orange,
.di-icon.purple,
.di-icon.red,
.di-icon.gray {
    background: rgba(174, 215, 103, .18) !important;
    color: var(--rq-green) !important;
}

.pill-radicado {
    background: rgba(255, 255, 255, .16) !important;
    border-color: rgba(255, 255, 255, .30) !important;
    color: var(--rq-neutral) !important;
}

.btn-detalle {
    background: rgba(174, 215, 103, .18) !important;
    border-color: var(--rq-green-soft) !important;
    color: var(--rq-green) !important;
}

.btn-detalle:hover {
    background: var(--rq-green) !important;
    border-color: var(--rq-green) !important;
    color: var(--rq-white) !important;
}
