/* Doc RCL styling — scoped to document-admin pages only (.il-doc-rcl-root). */

/* ------------------------------------------------------------------ */
/* Token bridge (RCL + Bootstrap + DevExpress primary chains)         */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root {
    /* Prefer host client brand (--primary from app.{client}.css); fall back to legacy doc blue-grey */
    --doc-rcl-primary: var(--primary, #3b6f8f);
    --doc-rcl-primary-hover: var(--active, #2f586f);
    --doc-rcl-primary-rgb: var(--bs-primary-rgb-com, 59, 111, 143);

    --primary-contrast: #ffffff;
    --secondary: var(--il-muted, #6b7280);
    --secondary-contrast: #ffffff;
    --danger: #dc3545;
    --danger-contrast: #ffffff;
    --border-color: var(--il-border, #e5e7eb);
    --border-radius: 0.375rem;
    --bg-soft: #f8fafc;
    --bg-surface: var(--il-card, #ffffff);
    --text-color: var(--il-text, #111827);
    --text-muted: var(--il-muted, #6b7280);
    --shadow-soft: 0 1px 3px rgba(0, 0, 0, 0.06);

    --button: var(--doc-rcl-primary);
    --dxbl-btn-bg: var(--doc-rcl-primary);
    --bs-primary: var(--doc-rcl-primary);
    --bs-primary-rgb: var(--doc-rcl-primary-rgb);
    --bs-link-color: var(--doc-rcl-primary);
    --bs-link-hover-color: var(--doc-rcl-primary-hover);
    --bs-btn-focus-shadow-rgb: var(--doc-rcl-primary-rgb);
}

/* Portaled DevExpress popups (ConfirmationPopup) — inherit client --primary from :root */
body.il-doc-rcl-page {
    --button: var(--primary, #3b6f8f);
    --dxbl-btn-bg: var(--primary, #3b6f8f);
    --bs-primary: var(--primary, #3b6f8f);
    --bs-primary-rgb: var(--bs-primary-rgb-com, 59, 111, 143);
}

/* ------------------------------------------------------------------ */
/* RCL primary consumers                                              */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root .rcl-column-filter-btn:hover,
.il-doc-rcl-root .rcl-column-filter-active {
    color: var(--doc-rcl-primary);
}

.il-doc-rcl-root .rcl-file-drop-zone:hover {
    border-color: var(--doc-rcl-primary);
}

.il-doc-rcl-root .rcl-file-drop-content i {
    color: var(--doc-rcl-primary);
}

.il-doc-rcl-root .rcl-title,
.il-doc-rcl-root .proto-title,
.il-doc-rcl-root h1,
.il-doc-rcl-root h5 {
    color: var(--doc-rcl-primary);
}

/* ------------------------------------------------------------------ */
/* Page chrome (tabs, headings)                                       */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root .proto-tabs .nav-link.active {
    color: var(--doc-rcl-primary);
    background: color-mix(in srgb, var(--doc-rcl-primary) 10%, white);
    box-shadow: inset 0 -2px 0 var(--doc-rcl-primary);
}

/* ------------------------------------------------------------------ */
/* SideDrawer                                                         */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root .drawer-container {
    border-color: var(--doc-rcl-primary);
    border-top-color: var(--doc-rcl-primary);
}

.il-doc-rcl-root .drawer-button-wrapper {
    background: var(--doc-rcl-primary);
}

.il-doc-rcl-root .drawer-button-wrapper button {
    border-color: var(--doc-rcl-primary);
}

.il-doc-rcl-root .drawer-button-wrapper button:hover {
    border-color: var(--doc-rcl-primary);
}

/* Drawer action rows — right-aligned */
.il-doc-rcl-root .component-sidedrawer .rcl-form-actions,
.il-doc-rcl-root .component-sidedrawer .rcl-confirm-actions,
.il-doc-rcl-root .component-sidedrawer .drawer-content-wrapper .d-flex.gap-2:not(.flex-column),
.il-doc-rcl-root .component-sidedrawer .drawer-content-wrapper .d-flex.justify-content-end:not(.flex-column) {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 0.5rem;
    flex-wrap: wrap;
    width: 100%;
}

/* ------------------------------------------------------------------ */
/* Intranet toolbar icons                                             */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root .icon-button {
    color: var(--doc-rcl-primary) !important;
}

.il-doc-rcl-root .icon-button:hover {
    color: var(--doc-rcl-primary-hover) !important;
}

/* ------------------------------------------------------------------ */
/* Button alignment                                                   */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root .rcl-icon-btn.btn-primary,
.il-doc-rcl-root .rcl-icon-btn.btn-outline-primary {
    background: transparent !important;
    border: none !important;
    color: var(--doc-rcl-primary) !important;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.il-doc-rcl-root .rcl-icon-btn.btn-primary:hover,
.il-doc-rcl-root .rcl-icon-btn.btn-outline-primary:hover {
    background: rgba(59, 111, 143, 0.08) !important;
    color: var(--doc-rcl-primary-hover) !important;
}

.il-doc-rcl-root .rcl-icon-btn.btn-outline-secondary {
    background: transparent !important;
    border: none !important;
    color: #64748b !important;
    width: 32px;
    height: 32px;
    border-radius: 4px;
}

.il-doc-rcl-root .rcl-icon-btn.btn-outline-secondary:hover {
    background: rgba(100, 116, 139, 0.08) !important;
    color: #475569 !important;
}

.il-doc-rcl-root .rcl-icon-btn.btn-outline-danger {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    padding: 0;
}

.il-doc-rcl-root .rcl-form-actions .btn-primary,
.il-doc-rcl-root .rcl-popup-footer .btn-primary,
.il-doc-rcl-root .rcl-confirm-actions .btn-primary,
.il-doc-rcl-root .rcl-drawer-form .btn-primary,
.il-doc-rcl-root .rcl-card .btn-primary,
.il-doc-rcl-root .btn-primary:not(.rcl-icon-btn):not(.popup-button) {
    background-color: var(--doc-rcl-primary) !important;
    border-color: var(--doc-rcl-primary) !important;
    border-radius: 7px;
    color: #ffffff !important;
}

.il-doc-rcl-root .rcl-form-actions .btn-primary:hover,
.il-doc-rcl-root .rcl-popup-footer .btn-primary:hover,
.il-doc-rcl-root .rcl-confirm-actions .btn-primary:hover,
.il-doc-rcl-root .rcl-drawer-form .btn-primary:hover,
.il-doc-rcl-root .rcl-card .btn-primary:hover,
.il-doc-rcl-root .btn-primary:not(.rcl-icon-btn):not(.popup-button):hover {
    background-color: var(--doc-rcl-primary-hover) !important;
    border-color: var(--doc-rcl-primary-hover) !important;
}

.il-doc-rcl-root .rcl-form-actions .btn-outline-secondary,
.il-doc-rcl-root .rcl-popup-footer .btn-outline-secondary,
.il-doc-rcl-root .rcl-confirm-actions .btn-outline-secondary,
.il-doc-rcl-root .rcl-drawer-form .btn-outline-secondary,
.il-doc-rcl-root .btn-outline-secondary:not(.rcl-icon-btn) {
    border-color: #e5e7eb;
    color: #64748b;
    border-radius: 7px;
}

/* Filter Values Select All / Clear — match DxGrid filter Cancel/Apply (solid primary) */
.il-doc-rcl-root .rcl-column-filter-actions .btn,
.il-doc-rcl-root .rcl-column-filter-actions .btn-primary,
.il-doc-rcl-root .rcl-column-filter-actions .btn-outline-primary,
.il-doc-rcl-root .rcl-column-filter-actions .btn-outline-secondary,
.il-doc-rcl-root .rcl-column-filter-actions .btn-sm {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--doc-rcl-primary);
    --bs-btn-border-color: var(--doc-rcl-primary);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--doc-rcl-primary-hover);
    --bs-btn-hover-border-color: var(--doc-rcl-primary-hover);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--doc-rcl-primary-hover);
    --bs-btn-active-border-color: var(--doc-rcl-primary-hover);
    --bs-btn-focus-shadow-rgb: var(--doc-rcl-primary-rgb);
    background-color: var(--doc-rcl-primary) !important;
    border: 4px solid var(--doc-rcl-primary) !important;
    text-decoration: none;
    border-radius: 7px !important;
    color: #ffffff !important;
    font-size: 0.875rem;
    line-height: 1.4285;
    padding: 0.25rem 0.75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

.il-doc-rcl-root .rcl-column-filter-actions .btn:hover,
.il-doc-rcl-root .rcl-column-filter-actions .btn:active,
.il-doc-rcl-root .rcl-column-filter-actions .btn:focus,
.il-doc-rcl-root .rcl-column-filter-actions .btn-primary:hover,
.il-doc-rcl-root .rcl-column-filter-actions .btn-primary:active,
.il-doc-rcl-root .rcl-column-filter-actions .btn-primary:focus,
.il-doc-rcl-root .rcl-column-filter-actions .btn-outline-primary:hover,
.il-doc-rcl-root .rcl-column-filter-actions .btn-outline-primary:active,
.il-doc-rcl-root .rcl-column-filter-actions .btn-outline-primary:focus,
.il-doc-rcl-root .rcl-column-filter-actions .btn-outline-secondary:hover,
.il-doc-rcl-root .rcl-column-filter-actions .btn-outline-secondary:active,
.il-doc-rcl-root .rcl-column-filter-actions .btn-outline-secondary:focus,
.il-doc-rcl-root .rcl-column-filter-actions .btn-sm:hover,
.il-doc-rcl-root .rcl-column-filter-actions .btn-sm:active,
.il-doc-rcl-root .rcl-column-filter-actions .btn-sm:focus {
    background-color: var(--doc-rcl-primary-hover) !important;
    border-color: var(--doc-rcl-primary-hover) !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
}

/* DevExpress primary buttons (Access Groups drawer, grids) */
.il-doc-rcl-root .dxbl-btn-primary,
.il-doc-rcl-root .dxbl-btn.dxbl-btn-primary,
.il-doc-rcl-root .dxbl-btn-standalone.dxbl-btn-primary {
    --dxbl-btn-bg: var(--doc-rcl-primary);
    --dxbl-btn-border-color: var(--doc-rcl-primary);
    --dxbl-btn-hover-bg: var(--doc-rcl-primary-hover);
    --dxbl-btn-hover-border-color: var(--doc-rcl-primary-hover);
    --dxbl-btn-color: #ffffff;
}

/* Portaled confirmation popup buttons */
body.il-doc-rcl-page .confirmaitonPopup .main-button-hover-effect::after {
    background-color: #3b6f8f;
}

body.il-doc-rcl-page .confirmaitonPopup .dxbl-btn-primary,
body.il-doc-rcl-page .confirmaitonPopup .dxbl-btn.dxbl-btn-primary {
    --dxbl-btn-bg: #3b6f8f;
    --dxbl-btn-border-color: #3b6f8f;
    --dxbl-btn-hover-bg: #2f586f;
    --dxbl-btn-hover-border-color: #2f586f;
    --dxbl-btn-color: #ffffff;
}

.il-doc-rcl-root .main-button-hover-effect::after {
    background-color: var(--doc-rcl-primary);
}

/* DevExpress grid accents (Access Groups tab) */
.il-doc-rcl-root .dxbl-checkbox {
    --dxbl-checkbox-check-element-checked-bg: var(--doc-rcl-primary);
    --dxbl-checkbox-check-element-checked-hover-bg: var(--doc-rcl-primary-hover);
}

.il-doc-rcl-root .dxbl-pager .dxbl-btn.dxbl-active,
.il-doc-rcl-root .dxbl-pager .dxbl-btn-primary {
    --dxbl-btn-bg: var(--doc-rcl-primary);
    --dxbl-btn-border-color: var(--doc-rcl-primary);
    --dxbl-btn-color: #ffffff;
}

/* ------------------------------------------------------------------ */
/* DevExpress-like grid                                               */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root .rcl-table-wrap {
    border-radius: 3px;
    background: #fff;
    font-size: 14px;
}

.il-doc-rcl-root .rcl-table {
    margin-bottom: 0;
    border-collapse: collapse;
}

.il-doc-rcl-root .rcl-table thead th {
    background: #f4f4f4;
    color: #111;
    font-weight: 600;
    padding: 2px 8px;
}

.il-doc-rcl-root .rcl-table th,
.il-doc-rcl-root .rcl-table td {
    padding: 2px 8px;
    border-color: #d9dee3;
    vertical-align: middle;
}

.il-doc-rcl-root .rcl-table tbody tr:hover {
    background: #eef6ff;
}

.il-doc-rcl-root .rcl-actions {
    justify-content: right;
    gap: 0.35rem;
}

/* ------------------------------------------------------------------ */
/* Badges                                                             */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root .rcl-badge-success {
    background-color: #28a745;
    color: #ffffff;
    border: 1px solid #28a745;
}

.il-doc-rcl-root .rcl-badge-danger {
    background-color: #6c757d;
    color: #ffffff;
    border: 1px solid #6c757d;
}

.il-doc-rcl-root .rcl-badge-secondary {
    background-color: #f1f3f5;
    color: #6c757d;
    border: 1px solid #dee2e6;
}

/* ------------------------------------------------------------------ */
/* Forms, cards, popups                                               */
/* ------------------------------------------------------------------ */

.il-doc-rcl-root .rcl-card {
    border-color: var(--il-border, #e5e7eb);
    box-shadow: var(--shadow-soft);
}

.il-doc-rcl-root .rcl-drawer-form .form-control,
.il-doc-rcl-root .rcl-drawer-form .form-select {
    border-color: var(--il-border, #e5e7eb);
    border-radius: var(--border-radius);
}

.il-doc-rcl-root .rcl-display-value {
    border-color: var(--il-border, #e5e7eb);
    background: var(--bg-soft);
    border-radius: var(--border-radius);
}

.il-doc-rcl-root .rcl-file-drop-zone {
    border-color: var(--il-border, #e5e7eb);
    background: var(--bg-soft);
    border-radius: var(--border-radius);
}

.il-doc-rcl-root .rcl-popup {
    border-color: var(--il-border, #e5e7eb);
    border-radius: var(--border-radius);
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.15);
}

.il-doc-rcl-root .rcl-popup-header,
.il-doc-rcl-root .rcl-popup-footer {
    background: #f8fafc;
    border-color: var(--il-border, #e5e7eb);
}

.il-doc-rcl-root .rcl-popup-title {
    color: var(--doc-rcl-primary);
}

.il-doc-rcl-root .rcl-column-filter-menu {
    border-color: var(--il-border, #e5e7eb);
    border-radius: var(--border-radius);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.il-doc-rcl-root .rcl-popup-footer,
.il-doc-rcl-root .rcl-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.il-doc-rcl-root .rcl-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}
