/* Dhukhr visual identity: official primary and supporting palette. */
:root {
    --ccms-desktop-scale: 1;
    --dhukhr-navy: #043995;
    /* #02245D */
    --dhukhr-navy-hover: #011840;
    --dhukhr-gold: #CFA343;
    --dhukhr-gold-soft: #F5F0E4;
    --dhukhr-cream: rgb(252, 252, 252);
    --dhukhr-light-gray: #D9D9D6;
    --dhukhr-medium-gray: #A6A6A2;
    --dhukhr-dark-gray: #555555;
    --dhukhr-black: #1A1A1A;
    --bs-primary: var(--dhukhr-navy);
    --bs-primary-rgb: 2, 36, 93;
    --bs-primary-bg-subtle: #e6eaf2;
    --bs-primary-border-subtle: #b3bdd2;
    --bs-primary-text-emphasis: var(--dhukhr-navy-hover);
    --bs-link-color: var(--dhukhr-navy);
    --bs-link-color-rgb: 2, 36, 93;
    --bs-link-hover-color: var(--dhukhr-gold);
    --bs-link-hover-color-rgb: 207, 163, 67;
}

/*
 * Match the comfortable density users previously reached with 90% browser
 * zoom. Keep this on the authenticated desktop shell only: mobile and tablet
 * layouts retain their native viewport scale and users can still zoom.
 */
@media (min-width: 1200px) {
    html.ccms-desktop-scale {
        zoom: var(--ccms-desktop-scale);
    }
}

/*
 * App-wide paper texture + embossed brand watermark, matching the auth page.
 * The texture sits on the body behind everything; the watermark is a fixed
 * pseudo-element pinned to the inline-end edge (right in LTR, left in RTL —
 * `inset-inline-end` flips automatically off the `dir` attribute, no
 * per-locale override needed), kept behind content with a negative z-index
 * and faded with a radial mask so cards and tables stay fully readable.
 *
 * Exactly half the image is always cropped off past the edge, at any
 * viewport size: the box sits flush against the edge (`inset-inline-end: 0`)
 * and is then nudged out by `translateX(50%)` — a transform percentage is
 * resolved against the element's *own* box, not the viewport, so this stays
 * a consistent 50/50 crop whether the box is at its `vw` size or capped by
 * `max-width`. (The old approach used an independent `vw`-based negative
 * offset alongside a `max-width` cap, which agreed at most viewport widths
 * but drifted apart above ~1550px wide, where the box stopped growing but
 * the offset kept scaling — increasingly hiding the watermark on wide
 * screens.) `[dir="rtl"]` flips the sign so it noses out to the left instead.
 */
body {
    font-family: var(--ccms-font-body) !important;
    font-optical-sizing: auto;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    line-height: 1.55;
    background-color: var(--dhukhr-cream);
    /* background-image:
        radial-gradient(circle at 15% 50%, rgba(2, 36, 93, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 85% 30%, rgba(207, 163, 67, 0.03) 0%, transparent 50%),
        url('../assets/paper-texture.svg');
    background-size: auto, auto, 400px 400px;
    background-repeat: no-repeat, no-repeat, repeat;
    background-attachment: fixed; */
}

h1,
h2,
h3,
h4,
h5,
h6,
.text-display {
    font-family: var(--ccms-font-heading) !important;
    line-height: 1.25;
    letter-spacing: -0.018em;
    text-wrap: balance;
}

html[lang="ar"] body {
    line-height: 1.65;
}

html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3,
html[lang="ar"] h4,
html[lang="ar"] h5,
html[lang="ar"] h6,
html[lang="ar"] .text-display {
    line-height: 1.38;
    letter-spacing: 0;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

.ccms-table,
.table,
.ccms-kpi-card__value,
.kpi-value-num {
    font-variant-numeric: tabular-nums;
}

/*
 * Fixed Embossed Watermark pinned to the viewport edge matching brand guideline.
 * 50% bleed-off off-screen with crisp embossing visibility.
 */
body::after {
    content: '';
    position: fixed;
    top: 50%;
    transform: translateY(-50%);

    width: 950px;
    height: 950px;

    /* LTR: pinned to right edge with 50% bleed-off */
    right: -450px;
    left: auto;

    background: url('../assets/embossed-watermark.png') center / contain no-repeat;
    opacity: 0.75;
    mix-blend-mode: multiply;
    filter: contrast(135%) brightness(105%);
    pointer-events: none;
    z-index: 0;

    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 0) 100%);
}

[dir="rtl"] body::after {
    /* RTL: pinned to left edge with 50% bleed-off */
    left: -450px;
    right: auto;

    mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 0) 100%);
}

/* Enforce solid opaque cards and tables across the entire application */
.card,
.card-elegant,
.dashboard-kpi-card,
.dashboard-health-card,
.table-responsive,
.table,
.modal-content,
.dropdown-menu,
.accordion-item,
.list-group-item {
    background-color: #ffffff !important;
    position: relative;
    z-index: 1;
}

/* Let layout containers stay transparent so watermark shows only in gutters */
.layout-wrapper,
.layout-page,
.content-wrapper {
    background: transparent !important;
}

/* Global Pointer Event Utilities */
.pointer-events-none,
.pe-none {
    pointer-events: none !important;
}

.pointer-events-auto,
.pe-auto {
    pointer-events: auto !important;
}

/* Ensure all buttons across the CRM are fully interactive & clickable */
.btn,
a.btn,
button.btn,
[class*="btn-dhukhr"] {
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.btn *,
a.btn *,
button.btn *,
[class*="btn-dhukhr"] * {
    pointer-events: none !important;
}

.btn-primary {
    --bs-btn-bg: var(--dhukhr-navy);
    --bs-btn-border-color: var(--dhukhr-navy);
    --bs-btn-hover-bg: var(--dhukhr-navy-hover);
    --bs-btn-hover-border-color: var(--dhukhr-navy-hover);
    --bs-btn-active-bg: var(--dhukhr-navy-hover);
    --bs-btn-active-border-color: var(--dhukhr-navy-hover);
    --bs-btn-disabled-bg: var(--dhukhr-navy);
    --bs-btn-disabled-border-color: var(--dhukhr-navy);
}

.btn-outline-primary {
    --bs-btn-color: var(--dhukhr-navy);
    --bs-btn-border-color: var(--dhukhr-navy);
    --bs-btn-hover-bg: var(--dhukhr-navy);
    --bs-btn-hover-border-color: var(--dhukhr-navy);
    --bs-btn-active-bg: var(--dhukhr-navy-hover);
    --bs-btn-active-border-color: var(--dhukhr-navy-hover);
    --bs-btn-disabled-color: var(--dhukhr-navy);
    --bs-btn-disabled-border-color: var(--dhukhr-navy);
}

/* Premium Form Labels & Inputs styling */
.form-label,
label.form-label,
label {
    font-family: var(--ccms-font-body) !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    color: #0320c5 !important;
    margin-bottom: 0.45rem !important;
    display: inline-block;
    letter-spacing: 0px !important;
}

.form-label[class*="required"]::after,
.form-label span.text-danger,
label span.text-danger {
    color: #ef4444 !important;
    font-weight: 800 !important;
    margin-inline-start: 0.25rem;
}

.form-control,
.form-select,
.form-input,
textarea.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="number"],
select.form-select {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 0.65rem !important;
    padding: 0.65rem 0.95rem !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="number"]:focus,
select.form-select:focus {
    border-color: var(--dhukhr-navy) !important;
    box-shadow: 0 0 0 4px rgba(2, 36, 93, 0.1) !important;
    background-color: #ffffff !important;
    outline: none !important;
}

.form-control:disabled,
.form-select:disabled,
textarea.form-control:disabled {
    background-color: #f8fafc !important;
    border-color: #e2e8f0 !important;
    color: #94a3b8 !important;
    cursor: not-allowed !important;
}

.form-control::placeholder,
textarea.form-control::placeholder {
    color: #94a3b8 !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
}

/* System-Wide Input Group Merge styling (Integrated Icons in Fields) */
.input-group.input-group-merge {
    background-color: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 0.65rem !important;
    transition: all 0.2s ease-in-out !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: none !important;
}

.input-group.input-group-merge:hover {
    border-color: #94a3b8 !important;
}

.input-group.input-group-merge:focus-within {
    border-color: var(--dhukhr-navy) !important;
    box-shadow: 0 0 0 4px rgba(2, 36, 93, 0.1) !important;
    background-color: #ffffff !important;
}

.input-group.input-group-merge .form-control,
.input-group.input-group-merge .form-select,
.input-group.input-group-merge .input-group-text {
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.input-group.input-group-merge .input-group-text {
    color: #64748b !important;
    padding-inline: 0.85rem !important;
    font-size: 1.15rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s ease-in-out !important;
}

.input-group.input-group-merge:focus-within .input-group-text {
    color: var(--dhukhr-navy) !important;
}

.input-group.input-group-merge .form-control,
.input-group.input-group-merge .form-select {
    padding-block: 0.65rem !important;
    padding-inline: 0.5rem !important;
    font-size: 0.9rem !important;
}

/* Structured Form Section Cards */
.form-section-card {
    background-color: #ffffff !important;
    border: 1px solid rgba(2, 36, 93, 0.08) !important;
    border-radius: 1rem !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.025) !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    transition: all 0.2s ease-in-out !important;
}

.form-section-card:hover {
    box-shadow: 0 6px 24px rgba(2, 36, 93, 0.04) !important;
}

.form-section-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px dashed #e2e8f0;
}

.form-section-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(2, 36, 93, 0.06) 0%, rgba(207, 163, 67, 0.12) 100%);
    color: var(--dhukhr-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.form-section-title {
    font-family: var(--ccms-font-body) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--dhukhr-navy) !important;
    margin: 0 !important;
}

.form-section-subtitle {
    font-size: 0.8rem;
    color: #64748b;
    margin: 0;
}

.form-check-input:focus {
    border-color: var(--dhukhr-gold) !important;
    box-shadow: 0 0 0 4px rgba(207, 163, 67, 0.18) !important;
}

.form-check-input:checked {
    background-color: var(--dhukhr-navy) !important;
    border-color: var(--dhukhr-navy) !important;
}

.dropdown-item.active,
.dropdown-item:active,
.page-item.active .page-link {
    background-color: var(--dhukhr-navy);
    border-color: var(--dhukhr-navy);
}

.menu-item.disabled .menu-link {
    pointer-events: none;
    opacity: 0.5;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.65rem;
    border-radius: 50rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.search-result-item:hover {
    background-color: var(--bs-gray-100, #f5f5f9);
}

[x-cloak] {
    display: none !important;
}

/* ---------------------------------------------------------------------------
   Authentication (login) — Cover Style (matching brand identity logo cover)
   --------------------------------------------------------------------------- */
.auth-cover-wrapper {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    background-color: transparent !important;
    /* background-image:
        radial-gradient(circle at 15% 50%, rgba(2, 36, 93, 0.02) 0%, transparent 50%),
        radial-gradient(circle at 85% 30%, rgba(207, 163, 67, 0.02) 0%, transparent 50%);
    background-size: auto, auto;
    background-repeat: no-repeat, no-repeat; */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 5rem 1.5rem 18rem;
    /* Extra padding on bottom for mobile wave */
}

@media (min-width: 992px) {
    .auth-cover-wrapper {
        padding: 2rem 1.5rem;
        overflow: hidden;
    }
}

/* Unified watermark is rendered via body::after */

.auth-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 35vh;
    min-height: 250px;
    z-index: 0;
    pointer-events: none;
}

[dir="ltr"] .auth-wave {
    transform: scaleX(-1);
}

.auth-locale-toggle {
    position: absolute;
    top: 1.5rem;
    inset-inline-end: 1.5rem;
    z-index: 10;
}

.auth-locale-toggle .btn-outline-primary {
    border-color: rgba(2, 36, 93, 0.15);
    color: var(--dhukhr-navy);
}

.auth-locale-toggle .btn-outline-primary:hover {
    background-color: var(--dhukhr-navy) !important;
    color: #fff !important;
    border-color: var(--dhukhr-navy);
}

.auth-content-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1140px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 992px) {
    .auth-content-container {
        grid-template-columns: 1.2fr 1fr;
        gap: 5rem;
    }

    .auth-brand-info {
        margin-top: -5rem;
    }

    .auth-brand-divider-plain {
        display: block !important;
    }
}

.auth-brand-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem 0;
}

.auth-brand-heading {
    font-size: 2.25rem;
    font-weight: 600;
    color: var(--dhukhr-navy);
    line-height: 1.3;
    margin-bottom: 0;
    text-align: center;
    letter-spacing: -0.02em;
}

.auth-brand-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1.5rem auto;
    width: 60%;
    max-width: 350px;
}

.auth-brand-divider::before,
.auth-brand-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: var(--dhukhr-gold);
    opacity: 0.6;
}

.auth-brand-divider-dot {
    width: 7px;
    height: 7px;
    background-color: var(--dhukhr-gold);
    border-radius: 50%;
    margin: 0 0.8rem;
}

.auth-main-logo {
    height: 8rem;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
    mix-blend-mode: multiply !important;
}

.auth-brand-divider-plain {
    width: 40%;
    max-width: 250px;
    height: 1px;
    background-color: var(--dhukhr-gold);
    margin: 1.5rem auto;
    opacity: 0.6;
    display: none;
}

.auth-brand-tagline {
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--dhukhr-gold) !important;
    line-height: 1.6;
    max-width: 90%;
    margin-bottom: 0;
    text-align: center;
}

.auth-form-section {
    width: 100%;
    max-width: 28rem;
    margin: 0 auto;
}

.glass-card {
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 25px 50px rgba(2, 36, 93, 0.08) !important;
}

/* Adjust inputs for the glass card to look premium */
.glass-card .input-group.input-group-merge {
    border: 1px solid #ccd3db !important;
    border-radius: 10px !important;
    background-color: rgba(248, 249, 250, 0.8) !important;
    transition: all 0.2s ease-in-out !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: none !important;
}

.glass-card .input-group.input-group-merge:focus-within {
    border-color: var(--dhukhr-gold) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(207, 163, 67, 0.18) !important;
}

.glass-card .input-group.input-group-merge .form-control,
.glass-card .input-group.input-group-merge .input-group-text {
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.glass-card .input-group.input-group-merge .input-group-text {
    color: rgba(11, 20, 41, 0.6) !important;
    padding-inline: 0.9375rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.glass-card .input-group.input-group-merge .form-control {
    padding-block: 0.65rem !important;
    padding-inline: 0.5rem !important;
}

.glass-card .form-control:not(.input-group .form-control) {
    background-color: rgba(248, 249, 250, 0.8) !important;
    border: 1px solid #ccd3db !important;
    border-radius: 10px !important;
    padding-block: 0.65rem !important;
    padding-inline: 0.9375rem !important;
    transition: all 0.2s ease-in-out !important;
}

.glass-card .form-control:not(.input-group .form-control):focus {
    border-color: var(--dhukhr-gold) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(207, 163, 67, 0.18) !important;
}

/* Sneat authentication-basic embedded overrides */
.auth-embedded {
    min-block-size: auto;
    flex-basis: auto;
    width: 100%;
    justify-content: center;
}

.auth-embedded .authentication-inner {
    max-inline-size: 100%;
}

.auth-embedded .input-group.input-group-merge .form-control:not(:first-child),
.auth-embedded .input-group.input-group-merge .form-control {
    padding-inline: 0.9375rem;
}

[dir="rtl"] .auth-embedded .input-group.input-group-merge .form-control[dir="ltr"]:last-child {
    border-left-width: var(--bs-border-width, 1px);
    border-left-style: solid;
    border-left-color: color-mix(in sRGB, var(--bs-base-color) 22%, var(--bs-paper-bg));
    border-top-left-radius: var(--bs-border-radius, 0.375rem);
    border-bottom-left-radius: var(--bs-border-radius, 0.375rem);
    border-right-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.auth-embedded .form-label {
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.auth-secure-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin: 1.5rem 0 0;
    font-size: 0.85rem;
    color: var(--bs-secondary-color, #6f6b7d);
}

.cursor-pointer {
    cursor: pointer;
}

/*
 * Client feedback #6: the dropdown chevron uses a hardcoded right-edge
 * background-position (public/vendor/sneat/css/core.css), so under RTL it
 * stays pinned to the physical right — the reading-start side in Arabic —
 * instead of the reading-end side users expect (and where it already sits
 * in LTR). This flips both the icon and its padding to the logical
 * inline-end side so the indicator is consistent and predictable in both
 * directions.
 */
[dir="rtl"] .form-select:not([multiple]):not([size]),
[dir="rtl"] .form-select[size="1"] {
    background-position: left 0.9375rem center;
    padding-right: 0.9375rem;
    padding-left: 2.625rem;
}

/* Make dropdown indicator bolder and colored */
.form-select:not([multiple]):not([size]),
.form-select[size="1"] {
    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='%23CFA343' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-position: right 0.9375rem center;
    background-repeat: no-repeat;
    background-size: 16px 12px;
    padding-inline-end: 2.625rem;
}

.form-select-sm:not([multiple]):not([size]),
.form-select-sm[size="1"] {
    background-size: 14px 10px;
    padding-inline-end: 2.25rem;
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
    background-image: none;
    padding-inline-end: 0.9375rem;
}

.form-select:disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

/* ---------------------------------------------------------------------------
   Modern data-table skin (client feedback #8) — paired with the
   <x-data-table>/<x-sortable-th> components so every module's list looks and
   behaves the same: distinct header row, subtle separators, row hover, and a
   clear affordance for sortable columns.
   --------------------------------------------------------------------------- */
.ccms-table thead th {
    background: linear-gradient(185deg, #011840 0%, #02245D 100%);
    border-bottom: 2px solid var(--dhukhr-gold);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 1rem 1.25rem;
    white-space: nowrap;
}

/* Compact editable tables keep a quiet header while sharing the dossier
   spacing, separators, responsive behavior, and action affordances. */
.ccms-compact-table {
    min-width: 42rem;
}

.ccms-compact-table thead th {
    background: #f5f0e4;
    border-bottom: 2px solid #cfa343;
    color: #02245d;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.7rem 0.8rem;
    white-space: nowrap;
}

.ccms-compact-table tbody td {
    border-bottom: 1px solid #e5e7eb;
    padding: 0.65rem 0.8rem;
    vertical-align: middle;
}

.ccms-compact-table tbody tr:hover td {
    background: rgba(2, 36, 93, 0.035);
}

.ccms-compact-table .btn-sm {
    min-height: 2rem;
}

.ccms-table tbody tr {
    transition: all 0.2s ease-in-out;
}

.ccms-table tbody tr:hover {
    background-color: var(--dhukhr-gold-soft);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
}

.ccms-table tbody td {
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.04));
    padding: 1rem 1.25rem;
    vertical-align: middle;
}

.ccms-th-sort {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    cursor: pointer;
}

.ccms-th-sort:hover,
.ccms-th-sort.active {
    color: var(--dhukhr-navy);
}

.ccms-th-sort i {
    font-size: 0.9rem;
    opacity: 0.5;
}

.ccms-th-sort.active i {
    opacity: 1;
}

/* Dashboard KPI cards made clickable (client feedback #1). */
.kpi-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.kpi-card-link:hover .card {
    border-color: var(--dhukhr-gold);
    box-shadow: 0 0.25rem 0.75rem rgba(2, 36, 93, 0.08);
}

.kpi-trend {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.kpi-trend.up {
    color: var(--bs-success, #71dd37);
}

.kpi-trend.down {
    color: var(--bs-danger, #ff3e1d);
}

.kpi-trend.flat {
    color: var(--dhukhr-medium-gray);
}

/* ---------------------------------------------------------------------------
   Dhukhr Executive Sidebar & Navbar Styling
   --------------------------------------------------------------------------- */
.ccms-sidebar {
    background:
        radial-gradient(circle at top right, rgba(207, 163, 67, 0.18) 0%, transparent 55%),
        radial-gradient(circle at bottom left, rgba(130, 82, 233, 0.15) 0%, transparent 65%),
        linear-gradient(180deg, #0A1C33 0%, #030B17 100%) !important;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.25) !important;
    border-inline-end: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.3s ease !important;
}

/* Beautiful custom scrollbar for sidebar */
.ccms-sidebar::-webkit-scrollbar {
    width: 5px;
}

.ccms-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.ccms-sidebar::-webkit-scrollbar-thumb {
    background: rgba(207, 163, 67, 0.3);
    border-radius: 10px;
}

.ccms-sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(207, 163, 67, 0.6);
}

.ccms-sidebar .ps__rail-y {
    background: transparent !important;
}

.ccms-sidebar .ps__thumb-y {
    background-color: rgba(207, 163, 67, 0.3) !important;
    width: 5px !important;
}

.ccms-sidebar .ps__rail-y:hover .ps__thumb-y {
    background-color: rgba(207, 163, 67, 0.6) !important;
    width: 7px !important;
}

#layout-menu .app-brand,
.layout-menu .app-brand,
.app-brand,
.ccms-sidebar-brand {
    background: rgba(255, 255, 255, 0.02) !important;
    background-color: rgba(255, 255, 255, 0.02) !important;
    backdrop-filter: blur(12px) !important;
    height: 95px !important;
    min-height: 95px !important;
    padding: 0.75rem 1rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

.ccms-sidebar-brand .app-brand-link,
.app-brand .app-brand-link,
#layout-menu .app-brand-link {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 auto !important;
}

.ccms-sidebar-brand .brand-logo-img,
.app-brand .brand-logo-img,
#layout-menu .app-brand .brand-logo-img {
    max-height: 75px !important;
    height: auto !important;
    width: auto !important;
    max-width: 95% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ccms-sidebar-brand:hover .brand-logo-img,
.app-brand:hover .brand-logo-img {
    transform: scale(1.04) !important;
}

.brand-logo-container {
    height: 3.5rem;
    padding: 0.35rem 0.75rem;
    transition: transform 0.2s ease;
}

.brand-logo-container:hover {
    transform: scale(1.02);
}

.brand-logo-img {
    height: 100%;
    max-width: 100%;
    object-fit: contain;
}

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

.bg-gold-subtle {
    background-color: rgba(207, 163, 67, 0.18) !important;
}

.ccms-sidebar .menu-header::before,
.layout-menu .menu-header::before {
    display: none !important;
    content: none !important;
}

.ccms-sidebar .menu-header {
    margin-top: 0.85rem !important;
    margin-bottom: 0.25rem !important;
    padding-inline: 1.25rem !important;
}

.ccms-sidebar .menu-header-text {
    color: var(--dhukhr-gold) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    opacity: 0.95 !important;
}

.ccms-sidebar .menu-item .menu-link {
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 600 !important;
    border-radius: 0.5rem;
    margin-inline: 0.5rem;
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.ccms-sidebar .menu-item .menu-icon {
    color: rgba(255, 255, 255, 0.45) !important;
    font-size: 1.15rem !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.ccms-sidebar .menu-item:hover:not(.active) .menu-link {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.1), 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    transform: translateX(5px) !important;
}

[dir="rtl"] .ccms-sidebar .menu-item:hover:not(.active) .menu-link {
    transform: translateX(-5px) !important;
}

.ccms-sidebar .menu-item:hover:not(.active) .menu-icon {
    color: #dfa238 !important;
    transform: rotate(8deg) scale(1.15) !important;
}

.ccms-sidebar .menu-item.active>.menu-link,
.ccms-sidebar .menu-item.active .menu-link {
    color: #ffffff !important;
    background: linear-gradient(135deg, #dfa238 0%, #a2741d 100%) !important;
    font-weight: 700 !important;
    border-inline-start: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 8px 24px -4px rgba(207, 163, 67, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.3) !important;
    transform: scale(1.025) !important;
}

.ccms-sidebar .menu-item.active>.menu-link i,
.ccms-sidebar .menu-item.active .menu-link i,
.ccms-sidebar .menu-item.active>.menu-link .menu-icon,
.ccms-sidebar .menu-item.active .menu-link .menu-icon {
    color: #ffffff !important;
}

/* User Footer and Status Online Dot animations */
.sidebar-user-footer {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 14px !important;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.sidebar-user-footer:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(207, 163, 67, 0.25) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

.status-online-dot {
    width: 6px;
    height: 6px;
    background-color: #10b981;
    border-radius: 50%;
    display: inline-block;
    position: relative;
}

.status-online-dot::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #10b981;
    animation: statusPulse 1.8s infinite ease-in-out;
}

@keyframes statusPulse {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }

    100% {
        transform: scale(2.8);
        opacity: 0;
    }
}

/* Remove active vertical line indicator in sidebar */
.ccms-sidebar .menu-item.active::before,
.ccms-sidebar .menu-item.active>.menu-link::before {
    display: none !important;
    content: none !important;
    background: transparent !important;
}

.border-white {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-gold {
    --bs-border-opacity: 1;
    border-color: var(--dhukhr-gold) !important;
}

.gold-divider {
    background-image: linear-gradient(90deg, transparent, var(--dhukhr-gold), transparent);
    height: 1px;
}

.card-elegant,
.dashboard-kpi-card {
    border: 1px solid rgba(207, 163, 67, 0.25);
    border-radius: 0.75rem;
    background: #fdfdfc;
    box-shadow: 0 1px 2px rgba(2, 36, 93, 0.04), 0 8px 24px -12px rgba(2, 36, 93, 0.12);
    transition: box-shadow 200ms ease, transform 200ms ease, border-color 200ms ease;
}

.card-elegant:hover,
.dashboard-kpi-card:hover {
    box-shadow: 0 2px 4px rgba(2, 36, 93, 0.06), 0 14px 40px -14px rgba(2, 36, 93, 0.18);
    border-color: rgba(207, 163, 67, 0.6);
    transform: translateY(-2px);
}

.kpi-icon-pill {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.kpi-trend-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.55rem;
    border-radius: 20rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.kpi-trend-pill.up {
    background-color: rgba(113, 221, 55, 0.12);
    color: #2b9105;
}

.kpi-trend-pill.down {
    background-color: rgba(255, 62, 29, 0.12);
    color: #d62308;
}

.kpi-trend-pill.flat {
    background-color: rgba(133, 146, 163, 0.12);
    color: #697a8d;
}

.dashboard-health-card {
    border-radius: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.06);
    transition: all 0.2s ease;
    background: #ffffff;
}

.dashboard-health-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

/* Executive Buttons & Inputs (Reference Image 2 styling) */
.btn-dhukhr-gold {
    background: var(--dhukhr-gold) !important;
    color: var(--dhukhr-navy) !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 0.75rem !important;
    padding: 0.45rem 1.15rem !important;
    font-size: 0.82rem !important;
    box-shadow: 0 4px 14px rgba(207, 163, 67, 0.28) !important;
    transition: all 0.2s ease-in-out !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
}

.btn-dhukhr-gold:hover,
.btn-dhukhr-gold:focus,
.btn-dhukhr-gold:active {
    background: var(--dhukhr-gold) !important;
    color: var(--dhukhr-navy) !important;
    filter: brightness(0.94);
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(207, 163, 67, 0.34) !important;
}

.btn-dhukhr-glass {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-radius: 0.75rem !important;
    padding: 0.45rem 1.1rem !important;
    font-size: 0.82rem !important;
    transition: all 0.2s ease-in-out !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
}

.btn-dhukhr-glass:hover,
.btn-dhukhr-glass:focus {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.btn-dhukhr-outline {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

.btn-dhukhr-outline:hover,
.btn-dhukhr-outline:focus {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.dashboard-period-select-container {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 0.5rem;
    padding: 0.2rem 0.6rem;
    display: flex;
    align-items: center;
}

.dashboard-period-select-container select {
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 600;
    cursor: pointer;
}

.dashboard-period-select-container select option {
    background-color: var(--dhukhr-navy-hover) !important;
    color: #ffffff !important;
    padding: 8px;
}

/* Executive Hero Segmented Tabs & Buttons (Reference Image 2 styling) */
.dashboard-period-segmented-container {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 0.85rem !important;
    padding: 0.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
}

.btn-period-tab {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.85) !important;
    border: none !important;
    padding: 0.35rem 0.85rem !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    border-radius: 0.6rem !important;
    transition: all 0.2s ease-in-out !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
    outline: none !important;
    text-decoration: none !important;
}

.btn-period-tab:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

.btn-period-tab.active {
    background: var(--dhukhr-gold) !important;
    color: var(--dhukhr-navy) !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

/* ---------------------------------------------------------------------------
   Premium Executive KPI Cards (Image 2 Design Standard)
   --------------------------------------------------------------------------- */
.card-kpi-premium {
    background: #FFFFFF !important;
    border-radius: 1.1rem !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease-in-out !important;
    position: relative;
    overflow: hidden;
}

.card-kpi-premium:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.07) !important;
    border-color: rgba(207, 163, 67, 0.3) !important;
}

.kpi-card-title {
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    color: #475467 !important;
    line-height: 1.3 !important;
}

.kpi-icon-pill {
    width: 44px !important;
    height: 44px !important;
    border-radius: 0.75rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.25rem !important;
    flex-shrink: 0 !important;
}

.kpi-value-container {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 0.35rem !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.kpi-value-num {
    font-size: 1.85rem !important;
    font-weight: 700 !important;
    color: #02245D !important;
    font-family: var(--ccms-font-body) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
}

.kpi-value-unit {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: #64748B !important;
    line-height: 1 !important;
}

.kpi-card-divider {
    width: 100% !important;
    height: 1px !important;
    background-color: #F0F2F5 !important;
    margin-top: 0.85rem !important;
    margin-bottom: 0.65rem !important;
}

.kpi-subtitle-text {
    font-size: 0.78rem !important;
    color: #8C90A0 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

.kpi-trend-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    padding: 0.25rem 0.65rem !important;
    border-radius: 50rem !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* ---------------------------------------------------------------------------
   Sticky Header Layout Fix
   --------------------------------------------------------------------------- */
.layout-wrapper,
.layout-container,
.layout-page {
    overflow: visible !important;
}

.layout-navbar,
#layout-navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1030 !important;
    background: rgba(245, 240, 228, 0.88) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(207, 163, 67, 0.2) !important;
}

/* ---------------------------------------------------------------------------
   Theme Custom Scrollbar & Sidebar Clean Overflow Fixes
   --------------------------------------------------------------------------- */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(207, 163, 67, 0.4);
    border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(207, 163, 67, 0.7);
}

/* Firefox scrollbar support */
* {
    /* scrollbar-width: thin;
    scrollbar-color: rgba(207, 163, 67, 0.4) transparent; */
}

/* Sneat PerfectScrollbar Overrides */
.ps__rail-x,
.ps__rail-x:hover,
.ps__rail-x:focus,
.ps__thumb-x {
    display: none !important;
    height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.ps__rail-y {
    width: 6px !important;
    background-color: transparent !important;
    opacity: 0.7 !important;
}

.ps__rail-y:hover,
.ps__rail-y.ps--clicking {
    background-color: transparent !important;
    opacity: 1 !important;
}

.ps__thumb-y {
    width: 6px !important;
    background-color: #CFA343 !important;
    /* Dhukhr Gold */
    border-radius: 9999px !important;
    right: 2px !important;
}

[dir="rtl"] .ps__thumb-y {
    left: 2px !important;
    right: auto !important;
}

/* Clean sidebar scrolling without horizontal scrollbar */
.layout-menu,
.menu-inner,
.menu-vertical,
.ccms-sidebar {
    overflow-x: hidden !important;
}

.layout-menu::-webkit-scrollbar,
.menu-inner::-webkit-scrollbar {
    width: 5px !important;
    height: 0px !important;
}

.layout-menu::-webkit-scrollbar-thumb,
.menu-inner::-webkit-scrollbar-thumb {
    background: rgba(207, 163, 67, 0.4) !important;
    border-radius: 4px !important;
}

/* ---------------------------------------------------------------------------
   Responsive Sidebar & Navigation Overrides
   --------------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    .layout-menu {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 280px !important;
        max-width: 85vw !important;
        height: 100% !important;
        z-index: 1080 !important;
        transform: translate3d(-100%, 0, 0) !important;
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
        box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.25) !important;
        overflow-x: hidden !important;
    }

    [dir="rtl"] .layout-menu {
        left: auto !important;
        right: 0 !important;
        transform: translate3d(100%, 0, 0) !important;
    }

    html.layout-menu-expanded .layout-menu {
        transform: translate3d(0, 0, 0) !important;
    }

    .layout-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background-color: rgba(2, 36, 93, 0.6) !important;
        backdrop-filter: blur(4px) !important;
        z-index: 1075 !important;
        display: none;
        opacity: 0;
        transition: opacity 0.25s ease !important;
    }

    html.layout-menu-expanded .layout-overlay {
        display: block !important;
        opacity: 1 !important;
    }

    .layout-page {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .layout-navbar {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .layout-navbar h1 {
        font-size: 1.1rem !important;
    }

    .container-p-y {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    body::after {
        width: 600px !important;
        height: 600px !important;
        opacity: 0.4 !important;
    }
}

/* ---------------------------------------------------------------------------
   Executive Navbar Dropdowns (Profile & Notifications) Fix & Refinement
   --------------------------------------------------------------------------- */
.layout-navbar .navbar-dropdown .dropdown-menu,
.layout-navbar .dropdown-menu {
    position: absolute !important;
    top: calc(100% + 0.5rem) !important;
    bottom: auto !important;
    transform: none !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(207, 163, 67, 0.25) !important;
    box-shadow: 0 12px 32px rgba(2, 36, 93, 0.15), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    border-radius: 0.85rem !important;
    z-index: 1050 !important;
    margin: 0 !important;
    animation: ccmsDropdownFadeIn 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes ccmsDropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Position alignment based on direction */
[dir="ltr"] .layout-navbar .dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
}

[dir="rtl"] .layout-navbar .dropdown-menu-end {
    left: 0 !important;
    right: auto !important;
}

/* Keep the unread count attached to the bell's outer corner in RTL. */
[dir="rtl"] .ccms-notification-count {
    inset-inline-start: auto !important;
    inset-inline-end: 0 !important;
}

/* Navbar user dropdown item styling */
.layout-navbar .dropdown-user .dropdown-item {
    transition: all 0.15s ease-in-out;
    border-radius: 0.5rem;
    font-weight: 500;
}

.layout-navbar .dropdown-user .dropdown-item:hover,
.layout-navbar .dropdown-user .dropdown-item:focus {
    background-color: rgba(207, 163, 67, 0.12) !important;
    color: var(--dhukhr-navy) !important;
}

.layout-navbar .dropdown-user .dropdown-item.text-danger:hover,
.layout-navbar .dropdown-user .dropdown-item.text-danger:focus {
    background-color: rgba(255, 62, 29, 0.1) !important;
    color: #ff3e1d !important;
}

/* ---------------------------------------------------------------------------
   Corrective product-design pass: executive consulting dossier
   --------------------------------------------------------------------------- */
.ccms-dossier-page {
    --ccms-ink: #10213d;
    --ccms-muted: #667085;
    --ccms-line: #d8dde6;
    --ccms-warm: #faf8f2;
    --ccms-gold-pale: #f5ecd5;
    color: var(--ccms-ink);
}

.ccms-page-intro,
.ccms-dashboard-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 0.35rem 0 1.25rem;
    border-bottom: 1px solid rgba(2, 36, 93, 0.22);
    position: relative;
}

.ccms-page-intro::after,
.ccms-dashboard-intro::after {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    bottom: -1px;
    width: 5rem;
    height: 3px;
    background: var(--dhukhr-gold);
}

.ccms-eyebrow,
.ccms-section-step {
    display: block;
    color: #8a691d;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    line-height: 1.4;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

[dir="rtl"] .ccms-eyebrow,
[dir="rtl"] .ccms-section-step {
    letter-spacing: 0;
}

.ccms-page-title {
    color: var(--dhukhr-navy);
    font-size: clamp(1.65rem, 2vw, 2.15rem);
    font-weight: 700;
    line-height: 1.25;
}

.ccms-page-summary {
    color: var(--ccms-muted);
    font-size: 0.96rem;
    line-height: 1.7;
    max-width: 48rem;
}

.ccms-required-note {
    color: var(--ccms-muted);
    font-size: 0.84rem;
    white-space: nowrap;
}

.ccms-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--dhukhr-navy);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
}

.ccms-inline-link:hover,
.ccms-inline-link:focus-visible {
    color: #7d5e17;
    text-decoration: underline;
    text-underline-offset: 0.22rem;
}

.ccms-dashboard-intro__controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.ccms-period-selector {
    display: inline-flex;
    gap: 0;
    padding: 0.2rem;
    background: #fff;
    border: 1px solid var(--ccms-line);
    border-radius: 0.45rem;
}

.ccms-period-selector__button {
    min-height: 2.35rem;
    padding: 0.35rem 0.7rem;
    background: transparent;
    border: 0;
    border-radius: 0.25rem;
    color: #475467;
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    transition: background-color 160ms ease, color 160ms ease;
}

.ccms-period-selector__button:hover {
    background: var(--dhukhr-gold-soft);
    color: var(--dhukhr-navy);
}

.ccms-period-selector__button.is-active {
    background: var(--dhukhr-navy);
    color: #fff;
}

.ccms-period-selector__button:focus-visible,
.ccms-service-card a:focus-visible,
.ccms-workflow-panel a:focus-visible,
.ccms-form-actions a:focus-visible {
    outline: 3px solid rgba(207, 163, 67, 0.38);
    outline-offset: 2px;
}

.ccms-kpi-card {
    display: flex;
    flex-direction: column;
    min-height: 10.5rem;
    padding: 1.25rem;
    background: #fff !important;
    border: 1px solid var(--ccms-line);
    border-radius: 0.5rem;
    box-shadow: 0 8px 22px -20px rgba(2, 36, 93, 0.65);
    color: inherit;
    overflow: hidden;
    position: relative;
    z-index: 1;
    text-decoration: none;
    transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.ccms-kpi-card:hover,
.ccms-kpi-card:focus-visible {
    border-color: rgba(207, 163, 67, 0.78);
    box-shadow: 0 13px 28px -20px rgba(2, 36, 93, 0.72);
    color: inherit;
    transform: translateY(-2px);
}

.ccms-kpi-card:focus-visible {
    outline: 3px solid rgba(207, 163, 67, 0.3);
    outline-offset: 2px;
}

.ccms-kpi-card__topline {
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, var(--dhukhr-navy) 0 68%, var(--dhukhr-gold) 68% 100%);
}

[dir="rtl"] .ccms-kpi-card__topline {
    background: linear-gradient(-90deg, var(--dhukhr-navy) 0 68%, var(--dhukhr-gold) 68% 100%);
}

.ccms-kpi-card__label {
    display: block;
    color: #536174;
    font-size: 0.88rem;
    font-weight: 700;
    margin-bottom: 0.6rem;
}

.ccms-kpi-card__value {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem;
    color: var(--dhukhr-navy);
    font-family: var(--ccms-font-heading);
    font-size: clamp(1.6rem, 2vw, 2.1rem);
    font-weight: 700;
    line-height: 1.2;
}

.ccms-kpi-card__value small {
    color: #667085;
    font-family: var(--ccms-font-body);
    font-size: 0.78rem;
    font-weight: 700;
}

.ccms-kpi-card__icon,
.ccms-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.65rem;
    height: 2.65rem;
    border: 1px solid rgba(2, 36, 93, 0.1);
    border-radius: 0.4rem;
    background: #edf1f7;
    color: var(--dhukhr-navy);
    font-size: 1.2rem;
}

.ccms-kpi-card__icon.is-gold {
    background: #fbf3df;
    color: #866518;
}

.ccms-kpi-card__icon.is-success {
    background: #e7f6ee;
    color: #18794e;
}

.ccms-kpi-card__icon.is-danger {
    background: #fcebea;
    color: #b42318;
}

.ccms-kpi-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.8rem;
    margin-top: auto;
    border-top: 1px solid #eef0f4;
    color: #7b8492;
    font-size: 0.76rem;
}

.ccms-trend {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-weight: 800;
}

.ccms-trend.is-up {
    color: #18794e;
}

.ccms-trend.is-down {
    color: #b42318;
}

.ccms-trend.is-flat {
    color: #667085;
}

.ccms-chart-panel,
.ccms-follow-up-panel,
.ccms-workflow-panel,
.ccms-detail-panel,
.ccms-assignment-panel {
    padding: 1.4rem;
    background: #fff !important;
    border: 1px solid var(--ccms-line);
    border-radius: 0.5rem;
    box-shadow: 0 10px 28px -24px rgba(2, 36, 93, 0.72);
    position: relative;
    z-index: 1;
}

.ccms-panel-heading,
.ccms-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
}

.ccms-panel-heading {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #edf0f4;
}

.ccms-panel-heading h2,
.ccms-section-heading h2,
.ccms-panel-title {
    color: var(--dhukhr-navy);
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 0.25rem;
}

.ccms-panel-heading p,
.ccms-section-heading p {
    color: var(--ccms-muted);
    font-size: 0.86rem;
    line-height: 1.6;
    margin: 0;
}

.ccms-panel-heading--actions {
    align-items: center;
}

.ccms-chart-canvas--revenue {
    min-height: 320px;
}

.ccms-chart-canvas--status {
    min-height: 220px;
}

.ccms-chart-legend {
    display: grid;
    gap: 0.3rem;
    padding: 0.8rem 0 0;
    margin: 0;
    border-top: 1px solid #edf0f4;
    list-style: none;
}

.ccms-chart-legend li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto 2.5rem;
    align-items: center;
    gap: 0.55rem;
    min-height: 1.65rem;
    color: #344054;
    font-size: 0.82rem;
}

.ccms-chart-legend li strong {
    color: var(--dhukhr-navy);
}

.ccms-chart-legend li small {
    color: #7a8391;
    text-align: end;
}

.ccms-chart-legend__swatch {
    width: 0.62rem;
    height: 0.62rem;
    background: var(--legend-color);
    border-radius: 0.15rem;
}

.ccms-restricted-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 25.5rem;
    background: repeating-linear-gradient(-45deg, #fff, #fff 12px, #faf9f6 12px, #faf9f6 24px) !important;
    text-align: start;
}

.ccms-restricted-panel h2 {
    color: var(--dhukhr-navy);
    font-size: 1.05rem;
    margin-bottom: 0.3rem;
}

.ccms-restricted-panel p {
    color: var(--ccms-muted);
    margin: 0;
}

.ccms-follow-up-panel {
    padding-bottom: 0.6rem;
}

.ccms-follow-up-panel .table-responsive {
    border: 0 !important;
    box-shadow: none !important;
}

.ccms-catalog-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 1rem 1.15rem;
    background: var(--ccms-warm);
    border: 1px solid #e1ddd3;
    border-radius: 0.4rem;
    position: relative;
    z-index: 1;
}

.ccms-search-field {
    width: min(100%, 31rem);
}

.ccms-search-field .form-label {
    margin-bottom: 0.35rem;
}

.ccms-search-field .input-group-text {
    background: #fff;
    border-inline-end: 0;
    color: #667085;
}

.ccms-search-field .form-control {
    border-inline-start: 0;
}

.ccms-service-card {
    display: grid;
    grid-template-columns: 0.38rem minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    background: #fff !important;
    border: 1px solid var(--ccms-line);
    border-radius: 0.45rem;
    box-shadow: 0 10px 28px -25px rgba(2, 36, 93, 0.8);
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.ccms-service-card:hover {
    border-color: rgba(207, 163, 67, 0.7);
    box-shadow: 0 16px 32px -24px rgba(2, 36, 93, 0.72);
    transform: translateY(-2px);
}

.ccms-service-card.is-inactive {
    opacity: 0.68;
}

.ccms-service-card__marker {
    grid-row: 1 / -1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 1.6rem;
    background: var(--dhukhr-navy);
    color: transparent;
    overflow: hidden;
}

.ccms-service-card__body {
    padding: 1.35rem 1.35rem 1.1rem;
}

.ccms-category-label {
    color: #7c5d16;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.035em;
}

.ccms-service-card__title {
    color: var(--dhukhr-navy);
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.45;
    margin-bottom: 0.75rem;
}

.ccms-service-card__description {
    color: #5d6878;
    font-size: 0.9rem;
    line-height: 1.7;
    min-height: 4.6rem;
    margin-bottom: 1rem;
}

.ccms-service-card__meta {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding-top: 0.8rem;
    border-top: 1px solid #edf0f4;
    color: #566275;
    font-size: 0.82rem;
    font-weight: 600;
}

.ccms-service-card__meta i {
    color: #8a691d;
}

.ccms-service-card__footer {
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.85rem 1.35rem 1.15rem;
    background: #fbfaf7;
    border-top: 1px solid #ece8de;
}

.ccms-empty-state {
    padding: 4rem 1.5rem;
    background: #fff !important;
    border: 1px dashed #b9c0cc;
    border-radius: 0.45rem;
    color: var(--ccms-muted);
    position: relative;
    text-align: center;
    z-index: 1;
}

.ccms-empty-state>i {
    color: var(--dhukhr-gold);
    font-size: 2.2rem;
}

.ccms-empty-state h2 {
    color: var(--dhukhr-navy);
    font-size: 1.15rem;
    margin: 0.8rem 0 0.3rem;
}

.ccms-empty-state p {
    margin: 0;
}

.ccms-form-dossier {
    background: #fff !important;
    border: 1px solid var(--ccms-line);
    border-top: 3px solid var(--dhukhr-navy);
    border-radius: 0.45rem 0.45rem 0 0;
    box-shadow: 0 14px 34px -28px rgba(2, 36, 93, 0.78);
    position: relative;
    z-index: 1;
}

.ccms-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    background: #fff;
    border: 1px solid var(--ccms-line);
    border-radius: 0.4rem;
    position: relative;
    z-index: 1;
}

.ccms-pagination p {
    color: var(--ccms-muted);
    font-size: 0.82rem;
    margin: 0;
}

.ccms-pagination>div {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.ccms-pagination>div>span {
    color: #475467;
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
}

.ccms-form-section {
    padding: clamp(1.35rem, 3vw, 2.25rem);
}

.ccms-form-section+.ccms-form-section {
    border-top: 1px solid #e3e6eb;
}

.ccms-form-section:nth-child(even) {
    background: #f7f7f7;
}

.ccms-section-heading {
    margin-bottom: 1.5rem;
}

.ccms-section-heading .ccms-section-step {
    margin-bottom: 0.15rem;
}

.ccms-form-section .form-label,
.ccms-assignment-panel .form-label,
.ccms-search-field .form-label {
    color: #27364d;
    font-size: 0.86rem;
    font-weight: 700;
}

.ccms-form-section .form-control,
.ccms-form-section .form-select,
.ccms-assignment-panel .form-control,
.ccms-assignment-panel .form-select,
.ccms-search-field .form-control,
.ccms-search-field .input-group-text {
    min-height: 2.85rem;
    border-color: #cbd1db;
    border-radius: 0.35rem;
    font-size: 0.92rem;
}

.ccms-form-section textarea.form-control,
.ccms-assignment-panel textarea.form-control {
    min-height: auto;
}

.ccms-readonly-control {
    background: #f2f3f5 !important;
    color: #475467;
}

.ccms-selected-record {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.95rem 1rem;
    background: #f7f9fc;
    border: 1px solid #d7deea;
    border-inline-start: 3px solid var(--dhukhr-navy);
    border-radius: 0.35rem;
    font-size: 0.84rem;
}

.ccms-selected-record__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    background: #e8f4ed;
    border-radius: 50%;
    color: #18794e;
}

.ccms-upload-field {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 7rem;
    padding: 1.25rem;
    background: #faf9f5;
    border: 1px dashed #9ca6b5;
    border-radius: 0.4rem;
    color: var(--ccms-ink);
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease;
}

.ccms-upload-field:hover,
.ccms-upload-field:focus-within {
    background: #e3ebf7;
    border-color: #9a741c;
}

.ccms-upload-field__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    background: #fff;
    border: 1px solid #e1d7be;
    border-radius: 0.4rem;
    color: #8a691d;
    font-size: 1.45rem;
}

.ccms-upload-field strong,
.ccms-upload-field small {
    display: block;
}

.ccms-upload-field small {
    color: var(--ccms-muted);
    font-size: 0.8rem;
    margin-top: 0.25rem;
}

.ccms-upload-progress {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #6f5519;
    font-size: 0.84rem;
    margin-top: 0.75rem;
}

.ccms-file-list {
    display: grid;
    gap: 0.4rem;
    padding: 0;
    margin: 0.85rem 0 0;
    list-style: none;
}

.ccms-file-list li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #475467;
    font-size: 0.84rem;
}

.ccms-form-actions {
    position: relative;
    z-index: 1;
    bottom: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.35rem;
    background: rgba(242, 244, 250, 0.98);
    border: 1px solid #ddd8cc;
    border-top: 0;
    border-radius: 0 0 0.45rem 0.45rem;
    box-shadow: 0 12px 28px -26px rgba(2, 36, 93, 0.9);
}

.ccms-form-actions__hint {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #667085;
    font-size: 0.82rem;
}

.ccms-workflow-panel {
    border-top: 3px solid var(--dhukhr-navy);
}

.ccms-workflow-rejected {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #b42318;
    font-weight: 700;
}

.ccms-workflow-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0;
    margin: 0 0 1.5rem;
    list-style: none;
}

.ccms-workflow-rail li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    color: #8a93a1;
    font-size: 0.8rem;
    font-weight: 700;
    position: relative;
    text-align: center;
}

.ccms-workflow-rail li::after {
    content: '';
    position: absolute;
    z-index: 0;
    inset-inline-start: calc(50% + 1.25rem);
    top: 1.1rem;
    width: calc(100% - 2.5rem);
    height: 2px;
    background: #dfe3e9;
}

.ccms-workflow-rail li:last-child::after {
    display: none;
}

.ccms-workflow-rail li.is-complete::after {
    background: var(--dhukhr-gold);
}

.ccms-workflow-rail__node {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    width: 2.25rem;
    height: 2.25rem;
    background: #fff;
    border: 2px solid #c9ced7;
    border-radius: 50%;
    color: #737d8c;
}

.ccms-workflow-rail li.is-complete {
    color: #6e571d;
}

.ccms-workflow-rail li.is-complete .ccms-workflow-rail__node {
    background: var(--dhukhr-gold);
    border-color: var(--dhukhr-gold);
    color: #17243a;
}

.ccms-workflow-rail li.is-current {
    color: var(--dhukhr-navy);
}

.ccms-workflow-rail li.is-current .ccms-workflow-rail__node {
    background: var(--dhukhr-navy);
    border-color: var(--dhukhr-navy);
    box-shadow: 0 0 0 4px rgba(207, 163, 67, 0.2);
    color: #fff;
}

.ccms-workflow-context {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid #e0e3e8;
    background: #faf9f5;
}

.ccms-workflow-context>div {
    padding: 0.9rem 1rem;
}

.ccms-workflow-context>div+div {
    border-inline-start: 1px solid #e0e3e8;
}

.ccms-workflow-context dt {
    color: #667085;
    font-size: 0.74rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.ccms-workflow-context dd {
    color: var(--dhukhr-navy);
    font-size: 0.88rem;
    font-weight: 700;
    margin: 0;
    overflow-wrap: anywhere;
}

.ccms-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border: 1px solid #e3e6eb;
}

.ccms-detail-list>div {
    min-width: 0;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #e8eaee;
}

.ccms-detail-list>div:nth-child(odd) {
    border-inline-end: 1px solid #e8eaee;
}

.ccms-detail-list>div:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.ccms-detail-list dt,
.ccms-assignment-summary dt {
    color: #667085;
    font-size: 0.75rem;
    font-weight: 700;
    margin-bottom: 0.3rem;
}

.ccms-detail-list dd,
.ccms-assignment-summary dd {
    color: #25344b;
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0;
    overflow-wrap: anywhere;
}

.ccms-detail-notes {
    display: grid;
    gap: 0.9rem;
    padding-top: 1rem;
}

.ccms-detail-notes>div {
    padding: 1rem;
    background: #faf9f6;
    border-inline-start: 3px solid var(--dhukhr-gold);
}

.ccms-detail-notes h3 {
    color: var(--dhukhr-navy);
    font-size: 0.9rem;
    margin-bottom: 0.45rem;
}

.ccms-detail-notes p {
    color: #4f5c6e;
    line-height: 1.7;
    margin: 0;
    white-space: pre-line;
}

.ccms-assignment-panel {
    border-top: 3px solid var(--dhukhr-gold);
}

.ccms-assignment-summary {
    display: grid;
    gap: 1rem;
}

.ccms-assignment-summary>div {
    padding: 0.9rem 1rem;
    background: #faf9f5;
    border: 1px solid #e4e0d6;
}

.ccms-embedded-card {
    background: #fff !important;
    border: 1px solid var(--ccms-line) !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 12px 30px -26px rgba(2, 36, 93, 0.78) !important;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.ccms-embedded-card--diagnosis {
    border-top: 3px solid var(--dhukhr-navy) !important;
}

.ccms-embedded-card--documents {
    border-top: 3px solid var(--dhukhr-gold) !important;
}

.ccms-embedded-card__header {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    padding: 1.25rem 1.4rem !important;
    background: #fff !important;
    border-bottom: 1px solid #e7e9ed !important;
}

.ccms-embedded-card__header h2 {
    color: var(--dhukhr-navy);
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 0.25rem;
}

.ccms-embedded-card__header p {
    color: var(--ccms-muted);
    font-size: 0.86rem;
    line-height: 1.6;
    margin: 0;
}

.ccms-embedded-card>.card-body {
    padding: 1.4rem !important;
}

.ccms-embedded-card .form-label {
    color: #27364d;
    font-size: 0.86rem;
    font-weight: 700;
}

.ccms-embedded-card .form-control,
.ccms-embedded-card .form-select {
    border-color: #cbd1db;
    border-radius: 0.35rem;
}

.ccms-embedded-card .list-group-item {
    background: #fff !important;
}

.ccms-embedded-card fieldset .form-check {
    min-height: 2rem;
    padding-inline-start: 2rem;
}

.ccms-table-scroll-hint {
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.8rem;
    margin: 0 0 0.7rem;
    background: var(--ccms-gold-pale);
    border: 1px solid #e0c983;
    border-radius: 0.35rem;
    color: #624a13;
    font-size: 0.8rem;
    font-weight: 700;
}

.ccms-mobile-table-scroll:focus-visible {
    outline: 3px solid rgba(207, 163, 67, 0.38);
    outline-offset: 2px;
}

@media (max-width: 991.98px) {

    .ccms-page-intro,
    .ccms-dashboard-intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .ccms-dashboard-intro__controls {
        justify-content: flex-start;
    }

    .ccms-restricted-panel {
        min-height: 14rem;
    }
}

@media (max-width: 767.98px) {
    .ccms-page-title {
        font-size: 1.55rem;
    }

    .ccms-page-summary {
        font-size: 0.9rem;
    }

    .ccms-period-selector {
        max-width: 100%;
        overflow-x: auto;
    }

    .ccms-dashboard-intro__controls {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .ccms-dashboard-intro__controls>.btn {
        align-self: flex-start;
    }

    .ccms-form-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .ccms-form-actions>div:last-child {
        width: 100%;
    }

    .ccms-form-actions>div:last-child .btn {
        flex: 1 1 auto;
    }

    .ccms-workflow-context,
    .ccms-detail-list {
        grid-template-columns: 1fr;
    }

    .ccms-workflow-context>div+div {
        border-inline-start: 0;
        border-top: 1px solid #e0e3e8;
    }

    .ccms-detail-list>div:nth-child(odd) {
        border-inline-end: 0;
    }

    .ccms-detail-list>div:nth-last-child(2) {
        border-bottom: 1px solid #e8eaee;
    }

    .ccms-selected-record {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ccms-service-card__description {
        min-height: 0;
    }

    .ccms-table-scroll-hint {
        display: flex !important;
    }

    .ccms-mobile-table-scroll {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-bottom: 0.4rem;
        scrollbar-color: var(--dhukhr-gold) #e8e4da;
        scrollbar-width: auto;
        -webkit-overflow-scrolling: touch;
    }

    .ccms-mobile-table-scroll .table-responsive {
        width: max-content;
        min-width: 100%;
        overflow: visible !important;
    }

    .ccms-mobile-table-scroll .table {
        min-width: 46rem;
    }

    .ccms-mobile-table-scroll::-webkit-scrollbar {
        height: 10px;
    }

    .ccms-mobile-table-scroll::-webkit-scrollbar-track {
        background: #e8e4da;
        border-radius: 0.25rem;
    }

    .ccms-mobile-table-scroll::-webkit-scrollbar-thumb {
        background: var(--dhukhr-gold);
        border: 2px solid #e8e4da;
        border-radius: 0.25rem;
    }

    .ccms-embedded-card__header,
    .ccms-embedded-card>.card-body {
        padding: 1rem !important;
    }
}

@media (max-width: 575.98px) {
    .ccms-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .ccms-pagination>div {
        justify-content: space-between;
    }

    .ccms-workflow-rail {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .ccms-workflow-rail li {
        align-items: flex-start;
        flex-direction: row;
        text-align: start;
    }

    .ccms-workflow-rail li::after {
        inset-inline-start: 1.08rem;
        top: 2rem;
        width: 2px;
        height: calc(100% + 0.75rem);
    }

    .ccms-workflow-rail__label {
        padding-top: 0.5rem;
    }

    .ccms-panel-heading--actions {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

@media (prefers-reduced-motion: reduce) {

    .ccms-kpi-card,
    .ccms-service-card,
    .ccms-period-selector__button {
        transition: none;
    }
}

/* ---------------------------------------------------------------------------
   Visual iteration 2 — executive financial cockpit
   --------------------------------------------------------------------------- */
.ccms-app-shell .ccms-dashboard-page,
.ccms-app-shell .ccms-dashboard-page h1,
.ccms-app-shell .ccms-dashboard-page h2,
.ccms-app-shell .ccms-dashboard-page h3,
.ccms-app-shell .ccms-sidebar,
.ccms-app-shell .ccms-topbar,
.ccms-app-shell .ccms-topbar h1 {
    font-family: var(--ccms-font-body) !important;
}

.ccms-app-shell::after {
    opacity: 0.08;
    filter: grayscale(100%) contrast(115%) brightness(108%);
    mix-blend-mode: multiply;
}

.ccms-app-shell .ccms-shell-watermark--lower {
    opacity: 0.012;
}

.ccms-app-shell .ccms-shell-watermark--upper {
    opacity: 0.009;
}

.ccms-app-shell .ccms-sidebar {
    position: relative;
    background:
        radial-gradient(circle at 50% -8%, rgba(207, 163, 67, 0.13), transparent 25%),
        linear-gradient(180deg, #02245d 0%, #001b46 52%, #011638 100%) !important;
}

.ccms-app-shell .ccms-sidebar::after {
    content: '';
    position: absolute;
    z-index: 0;
    inset: 5.5rem 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(230, 185, 74, 0.58), transparent);
    pointer-events: none;
}

.ccms-app-shell .ccms-sidebar-brand {
    position: relative;
    z-index: 1;
    min-height: 6rem;
    padding: 1.15rem 1.25rem !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
}

.ccms-app-shell .ccms-sidebar-brand .brand-logo-img {
    height: 3.55rem;
    filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.16));
}

.ccms-app-shell .ccms-sidebar .menu-inner {
    position: relative;
    z-index: 1;
    padding: 1.2rem 0.65rem 1.4rem !important;
}

.ccms-app-shell .ccms-sidebar .menu-item .menu-link {
    min-height: 2.9rem;
    margin-block: 0.12rem !important;
    border: 1px solid transparent;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 0.9rem;
}

.ccms-app-shell .ccms-sidebar .menu-item .menu-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 1.35rem;
    width: 1.35rem;
    height: 1.35rem;
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 1.22rem;
    line-height: 1;
}

.ccms-app-shell .ccms-sidebar .menu-item:hover:not(.active) .menu-link {
    border-color: rgba(255, 255, 255, 0.045);
    background: rgba(255, 255, 255, 0.055) !important;
}

.ccms-app-shell .ccms-sidebar .menu-item.active>.menu-link,
.ccms-app-shell .ccms-sidebar .menu-item.active .menu-link {
    position: relative;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.055)) !important;
    border: 1px solid rgba(255, 255, 255, 0.075) !important;
    border-inline-start: 3px solid #e6b94a !important;
    box-shadow: 0 10px 24px -20px rgba(0, 0, 0, 0.8), inset 0 1px rgba(255, 255, 255, 0.05) !important;
}

[dir="rtl"] .ccms-app-shell .ccms-sidebar .menu-item.active>.menu-link,
[dir="rtl"] .ccms-app-shell .ccms-sidebar .menu-item.active .menu-link {
    background: linear-gradient(-90deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.055)) !important;
}

.ccms-app-shell .sidebar-user-footer {
    position: relative;
    z-index: 1;
    min-height: 4rem;
    background: rgba(0, 13, 35, 0.32);
    border-top-color: rgba(230, 185, 74, 0.14) !important;
}

.ccms-user-avatar {
    color: #ffffff !important;
    background: linear-gradient(145deg, #0a3776, #001b46) !important;
    border: 2px solid rgba(230, 185, 74, 0.82) !important;
    box-shadow: 0 7px 18px -12px rgba(2, 36, 93, 0.9);
}

.ccms-user-avatar--sidebar {
    color: #001b46 !important;
    background: linear-gradient(145deg, #f4d98f, #cfa343) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}

.ccms-app-shell .ccms-topbar,
.ccms-app-shell #layout-navbar.ccms-topbar {
    min-height: 4.8rem;
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(214, 219, 228, 0.86) !important;
    box-shadow: 0 18px 44px -30px rgba(0, 27, 70, 0.48), 0 2px 8px rgba(0, 27, 70, 0.025) !important;
}

.ccms-app-shell .ccms-topbar::after {
    content: '';
    position: absolute;
    inset: auto 1.1rem -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(207, 163, 67, 0.48), transparent);
}

.ccms-app-shell .ccms-topbar h1 {
    color: #001b46 !important;
    font-weight: 800 !important;
    letter-spacing: -0.012em;
}

[dir="rtl"] .ccms-app-shell .ccms-topbar h1 {
    letter-spacing: 0;
}

.ccms-app-shell .ccms-topbar-control,
.ccms-app-shell .ccms-topbar-search .input-group {
    border-color: #e1e5ec !important;
    background: #f7f8fa !important;
    box-shadow: inset 0 1px 1px rgba(0, 27, 70, 0.02) !important;
}

.ccms-app-shell .ccms-topbar-search .input-group:focus-within {
    border-color: rgba(207, 163, 67, 0.78) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(207, 163, 67, 0.12) !important;
}

.ccms-dashboard-page {
    --cockpit-blue: #3e6fd8;
    --cockpit-blue-rgb: 62, 111, 216;
    --cockpit-gold: #c8952e;
    --cockpit-gold-rgb: 200, 149, 46;
    --cockpit-green: #16835d;
    --cockpit-green-rgb: 22, 131, 93;
    --cockpit-red: #d8594b;
    --cockpit-red-rgb: 216, 89, 75;
}

.ccms-dashboard-hero {
    isolation: isolate;
    min-height: 9.6rem;
    padding: clamp(1.35rem, 2.2vw, 1.8rem) clamp(1.35rem, 2.8vw, 2.25rem);
    background:
        radial-gradient(circle at 4% 15%, rgba(230, 185, 74, 0.2), transparent 25%),
        linear-gradient(128deg, #ffffff 0%, #f8fafc 57%, #eef3f9 100%);
    border-color: #dde3ec;
    border-radius: 1.15rem;
    box-shadow: 0 22px 55px -42px rgba(0, 27, 70, 0.72), inset 0 1px rgba(255, 255, 255, 0.9);
}

[dir="rtl"] .ccms-dashboard-hero {
    background:
        radial-gradient(circle at 96% 15%, rgba(230, 185, 74, 0.2), transparent 25%),
        linear-gradient(-128deg, #ffffff 0%, #f8fafc 57%, #eef3f9 100%);
}

.ccms-dashboard-hero::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset-block: 0;
    inset-inline-end: 0;
    width: min(31%, 24rem);
    background:
        linear-gradient(90deg, transparent, rgba(2, 36, 93, 0.035)),
        repeating-linear-gradient(135deg, transparent 0 13px, rgba(2, 36, 93, 0.028) 13px 14px);
    border-inline-start: 1px solid rgba(2, 36, 93, 0.045);
    pointer-events: none;
}

.ccms-dashboard-hero::after {
    inset: 0 auto 0 0;
    width: 4px;
    height: auto;
    background: linear-gradient(180deg, #e6b94a, #02245d 75%);
    border-radius: 1.15rem 0 0 1.15rem;
}

[dir="rtl"] .ccms-dashboard-hero::after {
    inset: 0 0 0 auto;
    border-radius: 0 1.15rem 1.15rem 0;
}

.ccms-dashboard-hero__accent {
    position: absolute;
    z-index: 0;
    inset-inline-end: clamp(1.3rem, 3vw, 2.5rem);
    bottom: 1.2rem;
    display: flex;
    align-items: flex-end;
    gap: 0.38rem;
    height: 3.2rem;
    opacity: 0.18;
    pointer-events: none;
}

.ccms-dashboard-hero__accent span {
    width: 0.36rem;
    border-radius: 0.2rem 0.2rem 0 0;
    background: #02245d;
}

.ccms-dashboard-hero__accent span:nth-child(1) {
    height: 34%;
}

.ccms-dashboard-hero__accent span:nth-child(2) {
    height: 62%;
    background: #cfa343;
}

.ccms-dashboard-hero__accent span:nth-child(3) {
    height: 100%;
}

.ccms-dashboard-hero__copy,
.ccms-dashboard-hero .ccms-dashboard-intro__controls {
    position: relative;
    z-index: 1;
}

.ccms-dashboard-hero .ccms-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
    color: #8a681e;
    font-size: 0.7rem;
    letter-spacing: 0.095em;
}

.ccms-dashboard-hero .ccms-eyebrow::before {
    content: '';
    width: 1.55rem;
    height: 2px;
    background: #cfa343;
}

.ccms-dashboard-hero .ccms-page-title {
    color: #001b46;
    font-size: clamp(1.75rem, 2.55vw, 2.35rem);
    font-weight: 800;
    line-height: 1.22;
}

.ccms-dashboard-hero .ccms-page-summary {
    max-width: 42rem;
    color: #657083;
    font-size: 0.9rem;
}

.ccms-dashboard-hero .ccms-dashboard-intro__controls {
    flex: 0 0 auto;
    padding: 0.45rem;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(214, 220, 230, 0.92);
    border-radius: 0.95rem;
    box-shadow: 0 14px 32px -26px rgba(0, 27, 70, 0.52);
    backdrop-filter: blur(7px);
}

.ccms-dashboard-hero .ccms-period-selector {
    background: #eef2f7;
    border-color: transparent;
}

.ccms-dashboard-hero .ccms-period-selector__button {
    color: #5a6577;
    font-weight: 700;
}

.ccms-dashboard-hero .ccms-period-selector__button.is-active {
    background: linear-gradient(145deg, #07346e, #001b46);
    box-shadow: 0 8px 18px -12px rgba(0, 27, 70, 0.95);
}

.ccms-dashboard-primary-action {
    background: linear-gradient(145deg, #07346e, #001b46) !important;
    border-color: #001b46 !important;
    box-shadow: 0 9px 20px -14px rgba(0, 27, 70, 0.9);
}

.ccms-dashboard-primary-action:hover,
.ccms-dashboard-primary-action:focus-visible {
    background: #001b46 !important;
    border-color: #001b46 !important;
}

.ccms-kpi-card {
    --card-tone: var(--cockpit-blue);
    --card-tone-rgb: var(--cockpit-blue-rgb);
    min-height: 12.8rem;
    padding: 1.4rem 1.45rem 1.2rem;
    background: linear-gradient(180deg, rgba(var(--card-tone-rgb), 0.07), #ffffff 44%) !important;
    border-color: rgba(var(--card-tone-rgb), 0.16);
    border-radius: 1.1rem;
    box-shadow: 0 18px 46px -38px rgba(0, 27, 70, 0.72), inset 0 1px rgba(255, 255, 255, 0.82);
}

.ccms-kpi-card.is-tone-navy {
    --card-tone: var(--cockpit-blue);
    --card-tone-rgb: var(--cockpit-blue-rgb);
}

.ccms-kpi-card.is-tone-gold {
    --card-tone: var(--cockpit-gold);
    --card-tone-rgb: var(--cockpit-gold-rgb);
}

.ccms-kpi-card.is-tone-success {
    --card-tone: var(--cockpit-green);
    --card-tone-rgb: var(--cockpit-green-rgb);
}

.ccms-kpi-card.is-tone-danger {
    --card-tone: var(--cockpit-red);
    --card-tone-rgb: var(--cockpit-red-rgb);
}

.ccms-kpi-card::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: -2.5rem -2.5rem auto auto;
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--card-tone-rgb), 0.14), transparent 68%);
}

[dir="rtl"] .ccms-kpi-card::after {
    inset: -2.5rem auto auto -2.5rem;
}

.ccms-kpi-card:hover,
.ccms-kpi-card:focus-visible {
    border-color: rgba(var(--card-tone-rgb), 0.42);
    box-shadow: 0 26px 52px -35px rgba(var(--card-tone-rgb), 0.42), 0 8px 20px -18px rgba(0, 27, 70, 0.32);
    transform: translateY(-3px);
}

.ccms-kpi-card__topline {
    inset: 0 1.35rem auto;
    height: 3px;
    background: var(--card-tone);
    border-radius: 0 0 0.22rem 0.22rem;
}

[dir="rtl"] .ccms-kpi-card__topline {
    background: var(--card-tone);
}

.ccms-kpi-card__label {
    color: #5f6a7c;
    font-size: 0.81rem;
    letter-spacing: 0.015em;
}

[dir="rtl"] .ccms-kpi-card__label {
    letter-spacing: 0;
}

.ccms-kpi-card__value {
    color: #001b46;
    font-family: var(--ccms-font-body);
    font-size: clamp(1.95rem, 2.55vw, 2.48rem);
    font-weight: 800;
    letter-spacing: -0.035em;
}

[dir="rtl"] .ccms-kpi-card__value {
    letter-spacing: -0.015em;
}

.ccms-kpi-card__icon {
    background: rgba(var(--card-tone-rgb), 0.12) !important;
    color: var(--card-tone) !important;
    border: 1px solid rgba(var(--card-tone-rgb), 0.16);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.82);
}

.ccms-kpi-card__sparkline-line {
    stroke: var(--card-tone);
    stroke-width: 2.35;
}

.ccms-kpi-card__sparkline-fill {
    fill: rgba(var(--card-tone-rgb), 0.085);
}

.ccms-kpi-card__sparkline-grid {
    stroke: rgba(var(--card-tone-rgb), 0.09);
}

.ccms-kpi-card__footer {
    color: #778195;
    border-top-color: rgba(var(--card-tone-rgb), 0.11);
}

.ccms-trend {
    padding: 0.22rem 0.45rem;
    border-radius: 0.45rem;
}

.ccms-trend.is-positive {
    background: rgba(22, 131, 93, 0.09);
}

.ccms-trend.is-negative {
    background: rgba(216, 89, 75, 0.09);
}

.ccms-trend.is-neutral {
    background: rgba(102, 112, 133, 0.09);
}

.ccms-chart-panel,
.ccms-follow-up-panel {
    border-color: #dfe4ec;
    border-radius: 1.15rem;
    box-shadow: 0 24px 58px -44px rgba(0, 27, 70, 0.68), inset 0 1px rgba(255, 255, 255, 0.84);
}

.ccms-chart-panel--primary {
    background: linear-gradient(180deg, #ffffff, #fbfcfe) !important;
}

.ccms-chart-panel--distribution {
    background:
        radial-gradient(circle at 50% 46%, rgba(207, 163, 67, 0.055), transparent 32%),
        #ffffff !important;
}

.ccms-chart-panel::before,
.ccms-follow-up-panel::before {
    inset-inline: 1.35rem;
    height: 2px;
    background: linear-gradient(90deg, #02245d, #cfa343 46%, transparent 84%);
}

[dir="rtl"] .ccms-chart-panel::before,
[dir="rtl"] .ccms-follow-up-panel::before {
    background: linear-gradient(-90deg, #02245d, #cfa343 46%, transparent 84%);
}

.ccms-panel-heading {
    align-items: center;
    margin-bottom: 0.65rem;
    padding-bottom: 0.8rem;
}

.ccms-panel-heading h2 {
    color: #001b46;
    font-size: 1.08rem;
    font-weight: 800;
}

.ccms-panel-heading p {
    color: #778195;
    font-size: 0.79rem;
}

.ccms-chart-panel--primary .ccms-section-icon {
    color: #3e6fd8;
    background: rgba(62, 111, 216, 0.1);
}

.ccms-chart-panel--distribution .ccms-section-icon {
    color: #b17f1e;
    background: rgba(207, 163, 67, 0.13);
}

.ccms-chart-context {
    flex: 0 0 auto;
    padding: 0.28rem 0.55rem;
    color: #536174;
    background: #f4f6f9;
    border: 1px solid #e4e7ed;
    border-radius: 0.5rem;
    font-size: 0.7rem;
    font-weight: 700;
}

.ccms-chart-canvas--revenue {
    min-height: 326px;
}

.ccms-chart-canvas--status {
    min-height: 226px;
}

.ccms-chart-legend li {
    min-height: 2.25rem;
    color: #495568;
}

.ccms-chart-legend__swatch {
    width: 0.72rem;
    height: 0.72rem;
    border-radius: 50%;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--legend-color) 13%, transparent);
}

.ccms-report-panel .ccms-panel-heading {
    margin-bottom: 0;
    border-bottom: 0;
}

.ccms-report-panel .ccms-section-icon {
    color: #ffffff;
    background: linear-gradient(145deg, #07346e, #001b46);
    box-shadow: 0 8px 18px -13px rgba(0, 27, 70, 0.8);
}

.ccms-report-panel .ccms-table {
    border-top: 1px solid #e8eaf0;
}

.ccms-report-panel .ccms-table th {
    padding-block: 0.75rem;
    background: #f3f5f8 !important;
    color: #495568;
    font-size: 0.72rem;
    letter-spacing: 0.03em;
}

[dir="rtl"] .ccms-report-panel .ccms-table th {
    letter-spacing: 0;
}

.ccms-report-panel .ccms-table tbody tr {
    transition: background-color 150ms ease, transform 150ms ease;
}

.ccms-report-panel .ccms-table tbody tr:hover {
    background: rgba(62, 111, 216, 0.035);
}

.ccms-dashboard-hero,
.ccms-kpi-grid>div,
.ccms-chart-panel,
.ccms-follow-up-panel {
    animation: ccmsCockpitEnter 220ms both cubic-bezier(0.22, 1, 0.36, 1);
}

.ccms-kpi-grid>div:nth-child(1) {
    animation-delay: 20ms;
}

.ccms-kpi-grid>div:nth-child(2) {
    animation-delay: 35ms;
}

.ccms-kpi-grid>div:nth-child(3) {
    animation-delay: 50ms;
}

.ccms-kpi-grid>div:nth-child(4) {
    animation-delay: 65ms;
}

.ccms-chart-panel {
    animation-delay: 75ms;
}

.ccms-follow-up-panel {
    animation-delay: 90ms;
}

@keyframes ccmsCockpitEnter {
    from {
        opacity: 0;
        transform: translateY(9px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 991.98px) {
    .ccms-dashboard-hero::before {
        width: 38%;
        opacity: 0.55;
    }

    .ccms-dashboard-hero .ccms-dashboard-intro__controls {
        padding: 0.4rem;
    }
}

@media (max-width: 767.98px) {

    .ccms-app-shell .ccms-topbar,
    .ccms-app-shell #layout-navbar.ccms-topbar {
        min-height: 4.1rem;
        background: rgba(255, 255, 255, 0.97) !important;
    }

    .ccms-dashboard-hero {
        min-height: auto;
        padding: 1.1rem;
        background:
            radial-gradient(circle at 0 0, rgba(230, 185, 74, 0.16), transparent 28%),
            linear-gradient(145deg, #ffffff, #f3f6fa);
    }

    [dir="rtl"] .ccms-dashboard-hero {
        background:
            radial-gradient(circle at 100% 0, rgba(230, 185, 74, 0.16), transparent 28%),
            linear-gradient(-145deg, #ffffff, #f3f6fa);
    }

    .ccms-dashboard-hero::before {
        display: none;
    }

    .ccms-dashboard-hero__accent {
        inset-inline-end: 1rem;
        top: 0.85rem;
        bottom: auto;
        height: 2.25rem;
        opacity: 0.12;
    }

    .ccms-dashboard-hero .ccms-page-title {
        max-width: calc(100% - 2.5rem);
        font-size: 1.55rem;
        line-height: 1.28;
    }

    .ccms-dashboard-hero .ccms-page-summary {
        font-size: 0.82rem;
        line-height: 1.55;
    }

    .ccms-dashboard-hero .ccms-dashboard-intro__controls {
        gap: 0.5rem;
        padding: 0.45rem;
        background: rgba(255, 255, 255, 0.82);
    }

    .ccms-dashboard-hero .ccms-period-selector {
        gap: 0.1rem;
    }

    .ccms-dashboard-hero .ccms-period-selector__button {
        min-height: 2.15rem;
        font-size: 0.68rem;
    }

    .ccms-dashboard-primary-action {
        min-height: 2.55rem;
    }

    .ccms-kpi-card {
        min-height: 11.6rem;
        background: linear-gradient(180deg, rgba(var(--card-tone-rgb), 0.075), #ffffff 48%) !important;
    }

    .ccms-kpi-card__value {
        font-size: 2.05rem;
    }

    .ccms-chart-context {
        display: none;
    }

    .ccms-panel-heading {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {

    .ccms-dashboard-hero,
    .ccms-kpi-grid>div,
    .ccms-chart-panel,
    .ccms-follow-up-panel {
        animation: none !important;
    }
}

/* ---------------------------------------------------------------------------
   Premium enterprise command center: dashboard + shared application shell
   --------------------------------------------------------------------------- */
.ccms-shell-watermarks {
    position: fixed;
    z-index: 0;
    inset: 0;
    overflow: hidden;
}

.ccms-shell-watermark {
    position: absolute;
    object-fit: contain;
    pointer-events: none;
}

.ccms-shell-watermark--lower {
    inset-inline-start: -7rem;
    bottom: -7rem;
    width: min(34rem, 70vw);
    opacity: 0.025;
}

.ccms-shell-watermark--upper {
    inset-inline-end: -7.5rem;
    top: 7rem;
    width: min(27rem, 56vw);
    opacity: 0.018;
}

.layout-page {
    min-width: 0;
    background: rgba(247, 248, 250, 0.9) !important;
}

.ccms-sidebar {
    background: linear-gradient(180deg, #02245d 0%, #011840 100%) !important;
    border-inline-end: 1px solid rgba(207, 163, 67, 0.22) !important;
    box-shadow: 10px 0 36px -28px rgba(1, 24, 64, 0.9) !important;
}

[dir="rtl"] .ccms-sidebar {
    box-shadow: -10px 0 36px -28px rgba(1, 24, 64, 0.9) !important;
}

.ccms-sidebar-brand {
    min-height: 95px !important;
    padding: 0.75rem 1rem !important;
    background: rgba(255, 255, 255, 0.035);
    border-bottom: 1px solid rgba(207, 163, 67, 0.2);
}

.ccms-sidebar-brand .app-brand-link {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.ccms-sidebar-brand .brand-logo-img {
    width: auto !important;
    max-width: 95% !important;
    max-height: 75px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

.ccms-sidebar .menu-inner {
    padding: 1rem 0.55rem 1.25rem !important;
}

.ccms-sidebar .menu-item .menu-link {
    min-height: 2.75rem;
    gap: 0.7rem;
    margin: 0.15rem 0 !important;
    padding-inline: 0.85rem !important;
    border-radius: 0.75rem;
    font-size: 0.89rem;
}

.ccms-sidebar .menu-item .menu-icon {
    width: 1.25rem;
    font-size: 1.15rem;
}

.ccms-sidebar .menu-item .ccms-menu-label {
    display: -webkit-box;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    overflow-wrap: anywhere;
    line-height: 1.3;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.ccms-sidebar .menu-item.active>.menu-link,
.ccms-sidebar .menu-item.active .menu-link {
    background: rgba(255, 255, 255, 0.1) !important;
    border-inline-start: 3px solid #cfa343 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.045) !important;
}

.sidebar-user-footer {
    min-height: 4.75rem;
    background: rgba(0, 0, 0, 0.1);
}

.ccms-topbar,
#layout-navbar.ccms-topbar {
    width: auto !important;
    min-height: 4.65rem;
    margin: 0 1.25rem 0 !important;
    padding: 0.7rem 1rem !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(232, 234, 240, 0.95) !important;
    border-radius: 1rem !important;
    box-shadow: 0 12px 34px -26px rgba(2, 36, 93, 0.55) !important;
    backdrop-filter: blur(16px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(125%) !important;
}

.ccms-topbar-control {
    min-width: 2.4rem;
    min-height: 2.4rem;
    background: #ffffff !important;
    border: 1px solid #e8eaf0 !important;
    border-radius: 0.7rem !important;
    box-shadow: 0 6px 18px -16px rgba(2, 36, 93, 0.65) !important;
    font-size: 0.8rem !important;
}

.ccms-topbar-control:hover,
.ccms-topbar-control:focus-visible {
    border-color: rgba(207, 163, 67, 0.72) !important;
    background: #f7f8fa !important;
}

.ccms-topbar-search>div {
    min-width: 20rem !important;
    margin-inline-end: 0 !important;
}

.ccms-topbar-search .input-group {
    min-height: 2.5rem;
    border: 1px solid #e8eaf0;
    border-radius: 0.75rem;
    background: #f7f8fa;
    overflow: hidden;
}

.ccms-topbar-search .input-group-text,
.ccms-topbar-search .form-control {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ccms-topbar-search .card {
    width: min(24rem, calc(100vw - 2rem)) !important;
    margin-top: 0.6rem !important;
    border: 1px solid #e8eaf0 !important;
    border-radius: 0.9rem !important;
    box-shadow: 0 20px 50px -24px rgba(2, 36, 93, 0.46) !important;
}

.container-xxl.container-p-y {
    padding-top: 1.5rem;
}

.ccms-dashboard-page {
    --ccms-line: #e8eaf0;
}

.ccms-dashboard-hero {
    align-items: center;
    padding: clamp(1.35rem, 2.6vw, 2rem);
    background: #ffffff;
    border: 1px solid #e8eaf0;
    border-radius: 1.35rem;
    box-shadow: 0 16px 42px -34px rgba(2, 36, 93, 0.6);
    overflow: hidden;
}

.ccms-dashboard-hero::after {
    inset: 0 auto auto 0;
    width: 4.5rem;
    height: 3px;
    border-radius: 0 0 0.2rem 0;
}

[dir="rtl"] .ccms-dashboard-hero::after {
    inset: 0 0 auto auto;
    border-radius: 0 0 0 0.2rem;
}

.ccms-dashboard-hero__copy {
    min-width: 0;
}

.ccms-welcome-name {
    display: inline-block;
    direction: auto;
    unicode-bidi: isolate;
    white-space: nowrap;
}

.ccms-dashboard-hero .ccms-page-title {
    max-width: 48rem;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    letter-spacing: -0.025em;
}

[dir="rtl"] .ccms-dashboard-hero .ccms-page-title {
    letter-spacing: 0;
}

.ccms-dashboard-primary-action {
    min-height: 2.65rem;
    padding-inline: 1.1rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 24px -18px rgba(2, 36, 93, 0.9);
    font-weight: 700;
}

.ccms-period-selector {
    padding: 0.25rem;
    border-color: #e8eaf0;
    border-radius: 0.75rem;
    background: #f7f8fa;
}

.ccms-period-selector__button {
    min-width: 3.3rem;
    min-height: 2.3rem;
    border-radius: 0.55rem;
}

.ccms-period-selector__button.is-active {
    box-shadow: 0 6px 16px -12px rgba(2, 36, 93, 0.9);
}

.ccms-period-selector__button:disabled {
    cursor: wait;
    opacity: 0.7;
}

.ccms-dashboard-loading {
    position: fixed;
    z-index: 1090;
    inset-inline-end: 1.5rem;
    bottom: 1.5rem;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 0.9rem;
    color: #02245d;
    background: #ffffff;
    border: 1px solid #e8eaf0;
    border-radius: 0.75rem;
    box-shadow: 0 14px 32px -20px rgba(2, 36, 93, 0.6);
    font-size: 0.82rem;
    font-weight: 700;
}

.ccms-kpi-card {
    min-height: 12.5rem;
    padding: 1.45rem;
    border-color: #e8eaf0;
    border-radius: 1.25rem;
    box-shadow: 0 14px 38px -32px rgba(2, 36, 93, 0.65);
}

.ccms-kpi-card:hover,
.ccms-kpi-card:focus-visible {
    border-color: rgba(2, 36, 93, 0.22);
    box-shadow: 0 18px 42px -30px rgba(2, 36, 93, 0.68);
}

.ccms-kpi-card__topline {
    inset: 0 1.45rem auto;
    height: 2px;
    background: linear-gradient(90deg, #02245d 0 78%, #cfa343 78% 100%);
}

[dir="rtl"] .ccms-kpi-card__topline {
    background: linear-gradient(-90deg, #02245d 0 78%, #cfa343 78% 100%);
}

.ccms-kpi-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.ccms-kpi-card__label {
    margin-bottom: 0.55rem;
    color: #657083;
    font-size: 0.82rem;
}

.ccms-kpi-card__value {
    font-size: clamp(1.85rem, 2.4vw, 2.35rem);
    font-variant-numeric: tabular-nums;
}

.ccms-kpi-card__icon {
    width: 2.9rem;
    height: 2.9rem;
    border: 0;
    border-radius: 0.85rem;
    font-size: 1.3rem;
}

.ccms-kpi-card__sparkline {
    width: 100%;
    height: 2.7rem;
    margin: 0.75rem 0 0.55rem;
    overflow: visible;
}

.ccms-kpi-card__sparkline-grid {
    fill: none;
    stroke: rgba(var(--card-tone-rgb), 0.09);
    stroke-width: 1;
}

.ccms-kpi-card__sparkline-fill {
    fill: rgba(var(--card-tone-rgb), 0.075);
    stroke: none;
}

.ccms-kpi-card__sparkline-line {
    fill: none;
    stroke: var(--card-tone);
    stroke-width: 2.2;
    stroke-linecap: round;
}

.ccms-kpi-card__sparkline.is-positive .ccms-kpi-card__sparkline-line {
    stroke: #18794e;
}

.ccms-kpi-card__sparkline.is-positive .ccms-kpi-card__sparkline-fill {
    fill: rgba(24, 121, 78, 0.055);
}

.ccms-kpi-card__sparkline.is-negative .ccms-kpi-card__sparkline-line {
    stroke: #b42318;
}

.ccms-kpi-card__sparkline.is-negative .ccms-kpi-card__sparkline-fill {
    fill: rgba(180, 35, 24, 0.045);
}

.ccms-kpi-card__footer {
    min-height: 2rem;
    padding-top: 0.7rem;
    border-top-color: #eef0f4;
}

.ccms-trend.is-positive {
    color: #18794e;
}

.ccms-trend.is-negative {
    color: #b42318;
}

.ccms-trend.is-neutral {
    color: #667085;
}

.ccms-chart-panel,
.ccms-follow-up-panel {
    padding: clamp(1.2rem, 2.4vw, 1.65rem);
    border-color: #e8eaf0;
    border-radius: 1.25rem;
    box-shadow: 0 16px 42px -34px rgba(2, 36, 93, 0.58);
}

.ccms-chart-panel::before,
.ccms-follow-up-panel::before {
    content: '';
    position: absolute;
    inset: 0 1.5rem auto;
    height: 1px;
    background: linear-gradient(90deg, rgba(2, 36, 93, 0.7), rgba(207, 163, 67, 0.42), transparent);
}

[dir="rtl"] .ccms-chart-panel::before,
[dir="rtl"] .ccms-follow-up-panel::before {
    background: linear-gradient(-90deg, rgba(2, 36, 93, 0.7), rgba(207, 163, 67, 0.42), transparent);
}

.ccms-panel-heading {
    margin-bottom: 1.15rem;
    padding-bottom: 1rem;
    border-bottom-color: #eef0f4;
}

.ccms-panel-heading h2 {
    font-size: 1.15rem;
}

.ccms-chart-panel .ccms-section-icon,
.ccms-follow-up-panel .ccms-section-icon {
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 0.75rem;
    background: #f0f3f8;
}

.ccms-chart-canvas--revenue {
    min-height: 340px;
}

.ccms-chart-canvas--status {
    min-height: 240px;
}

.ccms-chart-legend {
    gap: 0;
    padding-top: 0.7rem;
}

.ccms-chart-legend li {
    min-height: 2rem;
    border-bottom: 1px solid #f0f1f4;
}

.ccms-chart-legend li:last-child {
    border-bottom: 0;
}

.ccms-follow-up-panel {
    padding-bottom: 0.75rem;
}

.ccms-follow-up-panel .ccms-table th {
    background: #f7f8fa;
    border-bottom: 1px solid #e8eaf0;
    color: #536174;
}

.ccms-follow-up-panel .ccms-table td {
    padding-block: 0.85rem;
}

@media (max-width: 991.98px) {
    .ccms-dashboard-hero {
        align-items: flex-start;
    }

    .ccms-topbar-search>div {
        min-width: 20rem !important;
    }
}

@media (max-width: 767.98px) {

    .ccms-topbar,
    #layout-navbar.ccms-topbar {
        min-height: 4rem;
        margin: 0.55rem 0.65rem 0 !important;
        padding: 0.55rem 0.7rem !important;
        border-radius: 0.85rem !important;
    }

    .ccms-topbar .navbar-nav-right,
    .ccms-topbar .navbar-nav-right>.navbar-nav {
        min-width: 0;
    }

    .ccms-topbar h1 {
        max-width: 9rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ccms-topbar h1+div {
        display: none !important;
    }

    .ccms-dashboard-hero {
        padding: 1.2rem;
        border-radius: 1rem;
    }

    .ccms-dashboard-hero .ccms-page-title {
        font-size: 1.7rem;
    }

    .ccms-dashboard-intro__controls,
    .ccms-dashboard-primary-action {
        width: 100%;
    }

    .ccms-period-selector {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        width: 100%;
        overflow: visible;
    }

    .ccms-period-selector__button {
        min-width: 0;
        padding-inline: 0.3rem;
        font-size: 0.73rem;
    }

    .ccms-dashboard-primary-action {
        justify-content: center;
    }

    .ccms-kpi-card {
        min-height: 11.75rem;
        padding: 1.25rem;
        border-radius: 1rem;
    }

    .ccms-kpi-card__topline {
        inset-inline: 1.25rem;
    }

    .ccms-chart-panel,
    .ccms-follow-up-panel {
        border-radius: 1rem;
    }
}

@media (max-width: 419.98px) {
    .ccms-language-label {
        display: none;
    }

    .ccms-topbar-control {
        padding-inline: 0.65rem !important;
    }

    .ccms-topbar h1 {
        max-width: 6.5rem;
        font-size: 0.98rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {

    .ccms-kpi-card,
    .ccms-sidebar .menu-link,
    .ccms-topbar-control {
        transition: none !important;
    }
}

/* Critical shell sizing: the fixed-menu vendor rule also reserves menu space. */
.ccms-app-shell .layout-container>.layout-page {
    flex: 1 1 0 !important;
    inline-size: 0;
    min-inline-size: 0;
    max-inline-size: none;
}

.ccms-app-shell .layout-page>.content-wrapper,
.ccms-app-shell .content-wrapper>.container-xxl {
    inline-size: 100% !important;
    min-inline-size: 0;
    max-inline-size: none !important;
}

.ccms-app-shell .content-wrapper>.container-xxl {
    margin-inline: 0 !important;
    padding-inline: clamp(1rem, 1.8vw, 1.75rem);
}

.ccms-app-shell .ccms-topbar {
    align-self: stretch;
    max-inline-size: none;
}

.ccms-kpi-card__value.is-money {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.3rem;
    min-inline-size: 0;
    font-size: clamp(1.55rem, 1.75vw, 2.12rem);
    line-height: 1.12;
    white-space: nowrap;
}

.ccms-kpi-card__value.is-money bdi {
    min-inline-size: 0;
}

.ccms-kpi-card__value.is-money small {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (min-width: 1200px) {

    html.layout-menu-fixed .ccms-app-shell .layout-container>.layout-page,
    html.layout-menu-fixed:not(.layout-menu-collapsed) .ccms-app-shell .layout-container>.layout-page {
        padding-inline-start: 0 !important;
    }

    .ccms-app-shell .layout-container>.ccms-sidebar {
        flex: 0 0 var(--bs-menu-width);
    }
}

@media (max-width: 575.98px) {
    .ccms-kpi-card__value.is-money {
        font-size: clamp(1.65rem, 8vw, 2rem);
    }
}

/* Localized file picker: native browser labels do not follow the app locale. */
.ccms-localized-file-input {
    display: flex;
    align-items: stretch;
    min-inline-size: 0;
    min-block-size: 46px;
    overflow: hidden;
    border: 1px solid var(--ccms-border, #e8eaf0);
    border-radius: 0.75rem;
    background: #fff;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.ccms-localized-file-input:focus-within {
    border-color: rgba(207, 163, 67, 0.9);
    box-shadow: 0 0 0 3px rgba(207, 163, 67, 0.14);
}

.ccms-localized-file-input.is-invalid {
    border-color: var(--bs-danger, #dc3545);
}

.ccms-localized-file-input__button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-inline-size: max-content;
    margin: 0;
    padding-inline: 1rem;
    border-inline-end: 1px solid var(--ccms-border, #e8eaf0);
    background: #f7f8fa;
    color: #02245d;
    font-weight: 700;
    cursor: pointer;
    transition: color 160ms ease, background-color 160ms ease;
}

.ccms-localized-file-input__button:hover {
    background: rgba(207, 163, 67, 0.12);
    color: #001b46;
}

.ccms-localized-file-input__name {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-inline-size: 0;
    padding-inline: 0.9rem;
    overflow: hidden;
    color: #64748b;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ccms-localized-file-input.is-small {
    min-block-size: 38px;
    border-radius: 0.625rem;
    font-size: 0.875rem;
}

.ccms-localized-file-input.is-small .ccms-localized-file-input__button {
    padding-inline: 0.75rem;
}

@media (max-width: 575.98px) {
    .ccms-localized-file-input__button {
        padding-inline: 0.8rem;
    }
}

/* ---------------------------------------------------------------------------
   Dhukhr Premium UI Redesign Extensions
   --------------------------------------------------------------------------- */
.card-kpi-premium {
    background-color: #ffffff !important;
    border: 1px solid rgba(207, 163, 67, 0.15) !important;
    border-radius: 1rem !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.card-kpi-premium:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(207, 163, 67, 0.08) !important;
}

.kpi-card-title {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    color: #64748b !important;
    font-family: var(--ccms-font-body);
}

.kpi-icon-pill {
    width: 38px;
    height: 38px;
    border-radius: 50rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
}

.kpi-value-container {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.kpi-value-num {
    font-size: 1.85rem !important;
    font-weight: 800 !important;
    color: #02245D !important;
    font-family: var(--ccms-font-body);
    line-height: 1;
}

.kpi-card-divider {
    height: 1px;
    background-color: rgba(0, 0, 0, 0.06);
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.kpi-trend-badge {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: 0.375rem !important;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.kpi-subtitle-text {
    font-size: 0.75rem !important;
    color: #94a3b8 !important;
    font-family: var(--ccms-font-body);
}

/* Sidebar Language Switcher Custom Styles */
.sidebar-language-switcher {
    background-color: rgba(255, 255, 255, 0.03) !important;
}

.sidebar-language-switcher button {
    transition: all 0.2s ease;
}

.sidebar-language-switcher button:hover span {
    color: #ffffff !important;
}

.sidebar-language-switcher button:hover i.text-gold {
    color: #ffffff !important;
    filter: brightness(1.2);
}

.ccms-sidebar .user-info {
    text-align: start !important;
}

/* Section Title styling */
.text-navy {
    color: #0b1429 !important;
}

/* ===========================================================================
   COMPLETE UI/UX REDESIGN OVERHAUL SYSTEM STYLES (Inspired by reference UI)
   =========================================================================== */

/* Sidebar Active & Item Overhaul */
.ccms-sidebar {
    background: linear-gradient(180deg, #0a1128 0%, #0d193a 100%) !important;
    border-inline-end: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.ccms-sidebar .menu-item .menu-link {
    color: rgba(255, 255, 255, 0.75) !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    margin-inline: 0.5rem !important;
    padding: 0.65rem 1rem !important;
    transition: all 0.2s ease-in-out !important;
}

.ccms-sidebar .menu-item .menu-icon {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 1.2rem !important;
}

.ccms-sidebar .menu-item:hover:not(.active) .menu-link {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    transform: translateX(-2px);
}

[dir="ltr"] .ccms-sidebar .menu-item:hover:not(.active) .menu-link {
    transform: translateX(2px);
}

.ccms-sidebar .menu-item.active>.menu-link {
    background: linear-gradient(90deg, #dfa238 0%, #c48b28 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 18px rgba(223, 162, 56, 0.35) !important;
}

.ccms-sidebar .menu-item.active>.menu-link .menu-icon {
    color: #ffffff !important;
}

.sidebar-user-footer {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(10px);
}

.status-online-dot {
    width: 8px;
    height: 8px;
    background-color: #22c55e;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
}

/* Pastel Tinted KPI Cards */
.kpi-card-pink {
    background: linear-gradient(135deg, #fff0f5 0%, #fce7f3 100%) !important;
    border: 1px solid #fbcfe8 !important;
}

.kpi-card-green {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%) !important;
    border: 1px solid #a7f3d0 !important;
}

.kpi-card-orange {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%) !important;
    border: 1px solid #fed7aa !important;
}

.kpi-card-blue {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
    border: 1px solid #bfdbfe !important;
}

.transition-all {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.transition-all:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
}

/* Redesigned Modern Table Styling */
.table-responsive {
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.ccms-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
}

.ccms-table thead th {
    background: linear-gradient(90deg, #0b1429 0%, #152243 100%) !important;
    color: #ffffff !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    padding: 1.1rem 1.25rem !important;
    border-bottom: 3px solid #dfa238 !important;
    border-top: none !important;
    white-space: nowrap !important;
}

.ccms-table tbody td {
    padding: 1rem 1.25rem !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #f1f5f9 !important;
    font-size: 0.88rem !important;
    color: #1e293b !important;
}

.ccms-table tbody tr:nth-child(even) {
    background-color: #fafbfc !important;
}

.ccms-table tbody tr:hover {
    background-color: #f1f5f9 !important;
}

/* Coloured Action Icon Buttons for Tables */
.btn-action-icon {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    border: none !important;
    transition: all 0.2s ease !important;
    font-size: 1.1rem !important;
}

.btn-action-edit {
    background-color: rgba(37, 99, 235, 0.1) !important;
    color: #2563eb !important;
}

.btn-action-edit:hover {
    background-color: #2563eb !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.btn-action-delete {
    background-color: rgba(239, 68, 68, 0.1) !important;
    color: #dc2626 !important;
}

.btn-action-delete:hover {
    background-color: #dc2626 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.btn-action-view {
    background-color: rgba(16, 185, 129, 0.1) !important;
    color: #059669 !important;
}

.btn-action-view:hover {
    background-color: #059669 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.btn-action-more {
    background-color: rgba(100, 116, 139, 0.1) !important;
    color: #64748b !important;
}

.btn-action-more:hover {
    background-color: #64748b !important;
    color: #ffffff !important;
}

/* Status Badges Overhaul */
.status-pill {
    padding: 0.35rem 0.85rem !important;
    border-radius: 50px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
}

/* Redesigned Form Section Cards */
.form-section-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    padding: 1.75rem !important;
    margin-bottom: 1.5rem !important;
}

.form-section-header {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #0b1429 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    padding-bottom: 0.85rem !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 1.5rem !important;
    font-family: var(--ccms-font-heading) !important;
}

.form-control,
.form-select {
    border-radius: 12px !important;
    border: 1.5px solid #e2e8f0 !important;
    padding: 0.65rem 1rem !important;
    font-size: 0.9rem !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    transition: all 0.2s ease !important;
}

.form-control:focus,
.form-select:focus {
    border-color: #dfa238 !important;
    box-shadow: 0 0 0 4px rgba(223, 162, 56, 0.15) !important;
}

/* Tag Chips for Multi-Selects */
.tag-chip {
    background-color: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
    border-radius: 50px;
    padding: 0.25rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.tag-chip-remove {
    cursor: pointer;
    color: #60a5fa;
}

.tag-chip-remove:hover {
    color: #1e40af;
}

/* General Button Enhancements */
.btn-gold {
    background: linear-gradient(90deg, #d99b26 0%, #f3be53 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(217, 155, 38, 0.35) !important;
    transition: all 0.25 ease !important;
}

.btn-gold:hover {
    background: linear-gradient(90deg, #c5891d 0%, #e0aa3e 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(217, 155, 38, 0.45) !important;
}

/* ==========================================================================
   MASTER DESIGN SYSTEM OVERRIDES (UI/UX VISUAL REDESIGN PROMPT)
   ========================================================================== */

body,
html,
.layout-wrapper,
.layout-page {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
}

.ccms-app-shell .content-wrapper {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
}

.ccms-shell-watermarks,
.layout-overlay,
.menu-inner-shadow {
    display: none !important;
}

/* Glassmorphism Container Base */
.card,
.glass-panel,
.ccms-chart-panel,
.ccms-inner-card {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    border-radius: 20px !important;
    box-shadow: 0px 10px 30px rgba(15, 23, 42, 0.05) !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.card:hover {
    box-shadow: 0px 15px 35px rgba(15, 23, 42, 0.08) !important;
}

/* Full Height Light Glass Sidebar - 0 Border Radius */
.ccms-sidebar {
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: 4px 0 25px rgba(15, 23, 42, 0.05) !important;
    margin: 0 !important;
    border-right: 1px solid rgba(226, 232, 240, 0.8) !important;
    border-left: none !important;
}

html[dir="rtl"] .ccms-sidebar {
    border-left: 1px solid rgba(226, 232, 240, 0.8) !important;
    border-right: none !important;
}

@media (min-width: 1200px) {
    .ccms-sidebar {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        height: 100vh !important;
        width: 270px !important;
        display: flex !important;
        flex-direction: column !important;
        z-index: 1000 !important;
    }

    .ccms-layout-page-wrapper {
        padding-left: 270px !important;
    }

    html[dir="rtl"] .ccms-layout-page-wrapper {
        padding-left: 0 !important;
        padding-right: 270px !important;
    }
}

/* Eliminate Double Scrollbars - Hide inner sidebar scrollbar track */
.ccms-sidebar .menu-inner {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    /* Firefox */
    -ms-overflow-style: none !important;
    /* IE 10+ */
}

.ccms-sidebar .menu-inner::-webkit-scrollbar {
    display: none !important;
    /* Chrome/Safari/Opera */
    width: 0 !important;
    height: 0 !important;
}

.ccms-sidebar .app-brand {
    background: transparent !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
}

.ccms-sidebar .app-brand .brand-logo-img {
    filter: none !important;
    opacity: 1;
}

.ccms-sidebar .menu-inner .menu-item .menu-link {
    color: #334155 !important;
    border-radius: 12px !important;
    margin-bottom: 0.35rem;
    transition: all 0.2s ease;
    background: transparent !important;
    border: none !important;
    font-weight: 600;
}

.ccms-sidebar .menu-inner .menu-item .menu-link .menu-icon {
    color: #64748b !important;
}

.ccms-sidebar .menu-inner .menu-item .menu-link:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    transform: translateX(-3px);
}

.ccms-sidebar .menu-inner .menu-item .menu-link:hover .menu-icon {
    color: #1d4ed8 !important;
}

/* Active Sidebar Item - Gold/Amber Pill on Light Background */
html[dir="rtl"] .layout-menu .menu-inner .menu-item.active>.menu-link,
html[dir="ltr"] .layout-menu .menu-inner .menu-item.active>.menu-link,
.layout-menu .menu-inner .menu-item.active>.menu-link,
.ccms-sidebar .menu-inner .menu-item.active>.menu-link {
    background: linear-gradient(90deg, #dfa238 0%, #c48b28 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(223, 162, 56, 0.4) !important;
    font-weight: 800 !important;
    border: none !important;
    border-radius: 14px !important;
    margin: 0 0.75rem 0.5rem 0.75rem !important;
    padding: 0.75rem 1.25rem !important;
}

html[dir="rtl"] .layout-menu .menu-inner .menu-item.active>.menu-link .menu-icon,
html[dir="ltr"] .layout-menu .menu-inner .menu-item.active>.menu-link .menu-icon,
.layout-menu .menu-inner .menu-item.active>.menu-link .menu-icon,
.ccms-sidebar .menu-inner .menu-item.active>.menu-link .menu-icon {
    color: #ffffff !important;
}

/* Light Sidebar User Footer */
.sidebar-user-footer {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
}

.sidebar-user-footer .user-info .fw-bold,
.sidebar-user-footer .user-info div {
    color: #0f172a !important;
}

.sidebar-user-footer .btn {
    color: #64748b !important;
}

.sidebar-user-footer .btn:hover {
    color: #0f172a !important;
}

/* Neutral Text & Typography Hierarchy */
.text-navy,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #0f172a !important;
}

.text-muted {
    color: #64748b !important;
}

/* Topbar Pill & Control Elements */
.ccms-topbar {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.ccms-topbar-pill-date {
    background-color: rgba(239, 246, 255, 0.9) !important;
    color: #1d4ed8 !important;
    border: 1px solid rgba(191, 219, 254, 0.8) !important;
    border-radius: 50px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
}

.ccms-topbar-pill-control {
    background-color: rgba(239, 246, 255, 0.9) !important;
    color: #1d4ed8 !important;
    border: 1px solid rgba(191, 219, 254, 0.8) !important;
    border-radius: 50px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
}

.ccms-topbar-pill-control:hover {
    background-color: #dbeafe !important;
    color: #1d4ed8 !important;
}

/* Hero Welcome Banner - Deep Sapphire Blue to Dark Indigo Gradient */
.ccms-dashboard-hero-new {
    /* background: linear-gradient(135deg, #004cff 0%, #002ba6 50%, #1d4ed8 100%) !important; */
    background: linear-gradient(135deg, #3F51B5 0%, #0b193e 50%, #1d4ed8 100%) !important;
    border-radius: 24px !important;
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.active-period-pill {
    background-color: #2563eb !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.5) !important;
}

/* Multi-layered Glassmorphism KPI Cards */
.kpi-card-pink {
    background: linear-gradient(135deg, rgba(253, 242, 248, 0.95) 0%, rgba(252, 231, 243, 0.95) 100%) !important;
    border: 1px solid rgba(251, 207, 232, 0.8) !important;
    border-radius: 20px !important;
    box-shadow: 0px 10px 30px rgba(15, 23, 42, 0.04) !important;
}

.kpi-card-pink:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 30px rgba(236, 72, 153, 0.15) !important;
}

.kpi-card-green {
    background: linear-gradient(135deg, rgba(240, 253, 244, 0.95) 0%, rgba(220, 252, 231, 0.95) 100%) !important;
    border: 1px solid rgba(187, 247, 208, 0.8) !important;
    border-radius: 20px !important;
    box-shadow: 0px 10px 30px rgba(15, 23, 42, 0.04) !important;
}

.kpi-card-green:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 30px rgba(16, 185, 129, 0.15) !important;
}

.kpi-card-orange {
    background: linear-gradient(135deg, rgba(255, 247, 237, 0.95) 0%, rgba(254, 215, 170, 0.95) 100%) !important;
    border: 1px solid rgba(254, 215, 170, 0.8) !important;
    border-radius: 20px !important;
    box-shadow: 0px 10px 30px rgba(15, 23, 42, 0.04) !important;
}

.kpi-card-orange:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 30px rgba(245, 158, 11, 0.15) !important;
}

.kpi-card-blue {
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.95) 0%, rgba(219, 234, 254, 0.95) 100%) !important;
    border: 1px solid rgba(191, 219, 254, 0.8) !important;
    border-radius: 20px !important;
    box-shadow: 0px 10px 30px rgba(15, 23, 42, 0.04) !important;
}

.kpi-card-blue:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 30px rgba(37, 99, 235, 0.15) !important;
}

/* Glowing Rounded Icon Containers */
.kpi-icon-pink {
    background: linear-gradient(135deg, #ec4899 0%, #db2777 100%) !important;
    box-shadow: 0 6px 16px rgba(236, 72, 153, 0.4) !important;
    border-radius: 14px !important;
}

.kpi-icon-green {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4) !important;
    border-radius: 14px !important;
}

.kpi-icon-orange {
    background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%) !important;
    box-shadow: 0 6px 16px rgba(245, 158, 11, 0.4) !important;
    border-radius: 14px !important;
}

.kpi-icon-blue {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.4) !important;
    border-radius: 14px !important;
}

/* Bottom Quick Stats Tile Navigable Hover Effects */
.ccms-quick-stat-card {
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    border: 1px solid #e2e8f0 !important;
    background-color: #ffffff !important;
    position: relative;
    overflow: hidden;
}

.ccms-quick-stat-card:hover {
    transform: translateY(-4px) !important;
    /* background: linear-gradient(135deg, #043995 0%, #011840 100%) !important; */
    background: linear-gradient(88deg, #0460ff 0%, #073380 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 12px 30px rgba(4, 57, 149, 0.25) !important;
}

.ccms-quick-stat-card:hover .text-navy,
.ccms-quick-stat-card:hover .text-muted,
.ccms-quick-stat-card:hover bdi,
.ccms-quick-stat-card:hover span,
.ccms-quick-stat-card:hover div {
    color: #ffffff !important;
}

.ccms-quick-stat-card:hover .text-muted {
    opacity: 0.85 !important;
}

.ccms-quick-stat-card:hover .avatar {
    background-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    transform: scale(1.1) !important;
}

.ccms-quick-stat-card:hover .avatar i {
    color: #ffffff !important;
}

.ccms-quick-stat-card:active {
    transform: translateY(-1px) !important;
}



.btn-primary {
    background-color: #0b1429 !important;
    border-color: #0b1429 !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    padding: 0.6rem 1.35rem !important;
    box-shadow: 0 4px 12px rgba(11, 20, 41, 0.2) !important;
    transition: all 0.2s ease !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #162858 !important;
    border-color: #162858 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(11, 20, 41, 0.3) !important;
}

.btn-gold {
    background: linear-gradient(90deg, #dfa238 0%, #c48b28 100%) !important;
    border: none !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    padding: 0.6rem 1.35rem !important;
    box-shadow: 0 4px 15px rgba(223, 162, 56, 0.3) !important;
    transition: all 0.2s ease !important;
}

.btn-gold:hover,
.btn-gold:focus {
    filter: brightness(1.08) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(223, 162, 56, 0.4) !important;
}

/* ---------------------------------------------------------------------------
   Session-expiry guard (resources/views/partials/session-guard.blade.php)

   Shown before the 30-minute inactivity timeout (SOW §18.1) drops the session,
   and in place of Livewire's full-screen white "419 Page Expired" overlay.
   --------------------------------------------------------------------------- */
.ccms-session-guard {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

.ccms-session-guard[hidden] {
    display: none;
}

.ccms-session-guard__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 36, 93, 0.55);
    backdrop-filter: blur(4px);
}

.ccms-session-guard__card {
    position: relative;
    width: min(460px, 100%);
    background: #fff;
    border-radius: 20px;
    border-top: 5px solid var(--dhukhr-gold);
    padding: 2rem;
    text-align: center;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
}

@media (prefers-reduced-motion: no-preference) {
    .ccms-session-guard__card {
        animation: ccms-session-rise 0.28s ease-out;
    }

    @keyframes ccms-session-rise {
        from {
            opacity: 0;
            transform: translateY(14px) scale(0.98);
        }
    }
}

.ccms-session-guard__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 1.25rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--dhukhr-cream);
    color: var(--dhukhr-navy);
}

.ccms-session-guard__icon svg {
    width: 34px;
    height: 34px;
}

/* Expired is terminal, not a warning — shift the accent to signal that. */
.ccms-session-guard[data-state="expired"] .ccms-session-guard__card {
    border-top-color: #d9534f;
}

.ccms-session-guard[data-state="expired"] .ccms-session-guard__icon {
    background: #fdecea;
    color: #b02a25;
}

.ccms-session-guard__title {
    margin: 0 0 0.5rem;
    font-family: var(--ccms-font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--dhukhr-navy);
}

.ccms-session-guard__body {
    margin: 0;
    color: var(--dhukhr-dark-gray);
    line-height: 1.7;
}

.ccms-session-guard__countdown {
    margin: 1.25rem 0 0.25rem;
}

.ccms-session-guard__countdown-value {
    display: inline-block;
    min-width: 5.5rem;
    padding: 0.4rem 1rem;
    border-radius: 10px;
    background: var(--dhukhr-cream);
    color: var(--dhukhr-navy);
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.05em;
}

.ccms-session-guard__actions {
    margin-top: 1.5rem;
    display: flex;
    gap: 0.65rem;
    justify-content: center;
    flex-wrap: wrap;
}

.ccms-session-guard__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.5rem;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    border: 1.5px solid transparent;
    cursor: pointer;
    font-family: inherit;
}

.ccms-session-guard__btn--primary {
    background: var(--dhukhr-navy);
    color: #fff;
}

.ccms-session-guard__btn--primary:hover:not(:disabled) {
    background: var(--dhukhr-navy-hover);
}

.ccms-session-guard__btn--primary:disabled {
    opacity: 0.6;
    cursor: progress;
}

.ccms-session-guard__btn--ghost {
    border-color: var(--dhukhr-light-gray);
    color: var(--dhukhr-navy);
    background: #fff;
}

.ccms-session-guard__btn--ghost:hover {
    background: var(--dhukhr-cream);
}

.ccms-session-guard__note {
    margin: 1rem 0 0;
    font-size: 0.8125rem;
    color: var(--dhukhr-medium-gray);
}

/* ==========================================================================
   VIBRANT ROYAL BLUE SIDEBAR - PURE WHITE TEXT & ACCENT HIGHLIGHTS
   ========================================================================== */
html body #layout-menu.ccms-sidebar,
html body .layout-menu.ccms-sidebar,
aside.ccms-sidebar {
    /* background: linear-gradient(73deg, #0d2b71 0%, #1e3a8a 35% 0%, #1d4ed8 79%) !important; */
    background: linear-gradient(115deg, #041849 0%, #021e6c 30% 20%, #032b9c 79% 100%) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    box-shadow: 4px 0 30px rgba(15, 23, 42, 0.18) !important;
    border: none !important;
}

/* Brand Logo Filter for Dark/Vibrant Blue Sidebar */
.ccms-sidebar .app-brand .brand-logo-img,
#layout-menu .app-brand .brand-logo-img {
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
}

/* Menu Text & Icon Styles - Pure White */
.ccms-sidebar .menu-inner .menu-item .menu-link,
#layout-menu .menu-inner .menu-item .menu-link {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    padding: 0.65rem 1.15rem !important;
    margin: 5px 25px 2px 5px !important;
    border-radius: 12px !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

[dir="rtl"] #layout-menu .menu-inner .menu-item .menu-link {
    margin: 6px 0 0 22px !important;
}

.ccms-sidebar .menu-inner .menu-item .menu-link .menu-icon,
#layout-menu .menu-inner .menu-item .menu-link .menu-icon {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1.15rem !important;
}

.ccms-sidebar .menu-inner .menu-item .menu-link:hover,
#layout-menu .menu-inner .menu-item .menu-link:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #ffffff !important;
    transform: translateX(-3px);
}

.ccms-sidebar .menu-inner .menu-item .menu-link:hover .menu-icon,
#layout-menu .menu-inner .menu-item .menu-link:hover .menu-icon {
    color: #ffffff !important;
}

/* Selected Active Menu Pill - Gold/Amber Gradient */
html[dir="rtl"] .layout-menu .menu-inner .menu-item.active>.menu-link,
html[dir="ltr"] .layout-menu .menu-inner .menu-item.active>.menu-link,
.layout-menu .menu-inner .menu-item.active>.menu-link,
.ccms-sidebar .menu-inner .menu-item.active>.menu-link {
    background: linear-gradient(90deg, #dfa238 0%, #c48b28 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(223, 162, 56, 0.4) !important;
    font-weight: 800 !important;
    border: none !important;
    border-radius: 14px !important;
    margin: 0.35rem 0.75rem 0.65rem 0.75rem !important;
    padding: 0.75rem 1.25rem !important;
}

html[dir="rtl"] .layout-menu .menu-inner .menu-item.active>.menu-link .menu-icon,
html[dir="ltr"] .layout-menu .menu-inner .menu-item.active>.menu-link .menu-icon,
.layout-menu .menu-inner .menu-item.active>.menu-link .menu-icon,
.ccms-sidebar .menu-inner .menu-item.active>.menu-link .menu-icon {
    color: #ffffff !important;
}

/* Bottom Super Admin User Footer - Matched Glass Card */
.sidebar-user-footer {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    margin: 1rem 0.75rem 1.25rem 0.75rem !important;
    margin: 0rem 0.3rem 0.25rem 0.3rem !important;
    padding: 0.85rem !important;
}

.sidebar-user-footer .user-info .fw-bold,
.sidebar-user-footer .user-info div,
.sidebar-user-footer .user-info span {
    color: #ffffff !important;
}

.sidebar-user-footer .btn {
    color: rgba(255, 255, 255, 0.8) !important;
}

.sidebar-user-footer .btn:hover {
    color: #ffffff !important;
}

@media (min-width: 1200px) {

    html body #layout-menu.ccms-sidebar,
    html body .layout-menu.ccms-sidebar,
    aside.ccms-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        height: 100vh !important;
        width: 265px !important;
        z-index: 1000 !important;
    }

    html[dir="rtl"] body #layout-menu.ccms-sidebar,
    html[dir="rtl"] body .layout-menu.ccms-sidebar,
    html[dir="rtl"] aside.ccms-sidebar {
        right: 0 !important;
        left: auto !important;
    }

    .layout-page,
    .layout-page.ccms-layout-page-wrapper {
        margin-left: 265px !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: calc(100% - 265px) !important;
        max-width: calc(100% - 265px) !important;
    }

    html[dir="rtl"] .layout-page,
    html[dir="rtl"] .layout-page.ccms-layout-page-wrapper {
        margin-right: 265px !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        width: calc(100% - 265px) !important;
        max-width: calc(100% - 265px) !important;
    }
}

/* Eliminate Double Scrollbars - Hide sidebar scrollbar track */
.ccms-sidebar .menu-inner,
#layout-menu .menu-inner {
    overflow-y: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.ccms-sidebar .menu-inner::-webkit-scrollbar,
#layout-menu .menu-inner::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* ==========================================================================
   ENTERPRISE-GRADE MASTER TABLE & TABLE HEADER DESIGN SYSTEM
   ========================================================================== */
.table-responsive {
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04) !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    background: #ffffff !important;
}

.table.ccms-table,
.table {
    margin-bottom: 0 !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

/* Table Header - Matching Sidebar Theme Gradient */
.table.ccms-table thead,
.table thead {
    /* background: linear-gradient(265deg, #0f172a 0%, #1e3a8a 50%, #1d4ed8 100%) !important; */
    background: linear-gradient(265deg, #022e95 0%, #1e3a8a 50%, #1d4ed8 100%) !important;
}

.table.ccms-table thead tr th,
.table thead tr th {
    background: transparent !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 1.1rem 1.25rem !important;
    border-bottom: 3px solid #dfa238 !important;
    border-top: none !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.table.ccms-table thead tr th a,
.table thead tr th a,
.table thead tr th button {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
}

.table.ccms-table thead tr th a:hover,
.table thead tr th a:hover {
    color: #dfa238 !important;
}

.ccms-th-sort {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    cursor: pointer !important;
    transition: color 0.15s ease !important;
}

.ccms-th-sort:hover,
.ccms-th-sort.active {
    color: #dfa238 !important;
}

.ccms-th-sort i {
    font-size: 1rem !important;
    opacity: 0.85;
}

.ccms-th-sort.active i {
    opacity: 1;
    color: #dfa238 !important;
}

/* Table Body Rows */
.table.ccms-table tbody tr,
.table tbody tr {
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    background-color: #ffffff !important;
}

.table.ccms-table tbody tr:nth-of-type(even),
.table tbody tr:nth-of-type(even) {
    background-color: #f8fafc !important;
}

.table.ccms-table tbody tr:hover,
.table tbody tr:hover {
    background-color: #eff6ff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08) !important;
}

.table.ccms-table tbody tr td,
.table tbody tr td {
    padding: 0.95rem 1.25rem !important;
    vertical-align: middle !important;
    color: #334155 !important;
    font-size: 0.9rem !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
}

.table.ccms-table tbody tr td a,
.table tbody tr td a {
    color: #1e3a8a !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.table.ccms-table tbody tr td a:hover,
.table tbody tr td a:hover {
    color: #2563eb !important;
    text-decoration: underline !important;
}

/* Action Buttons inside Tables */
.table .btn-sm,
.ccms-table .btn-sm {
    padding: 0.4rem 0.75rem !important;
    font-size: 0.8125rem !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

.table .btn-text-secondary,
.ccms-table .btn-text-secondary {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

.table .btn-text-secondary:hover,
.ccms-table .btn-text-secondary:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

.table .btn-text-danger,
.ccms-table .btn-text-danger {
    background: #fef2f2 !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca !important;
}

.table .btn-text-danger:hover,
.ccms-table .btn-text-danger:hover {
    background: #fee2e2 !important;
    color: #b91c1c !important;
}

/* ---------------------------------------------------------------------------
   Calendar â€” executive scheduling board
   Month grid / week strip / agenda list + a side rail for the selected day,
   upcoming entries and the event-type filter. Logical properties throughout
   so the whole board mirrors cleanly under [dir="rtl"].
   --------------------------------------------------------------------------- */
.ccms-calendar-page {
    --ccms-cal-line: #dfe4ec;
    --ccms-cal-cell: 7.5rem;
}

.ccms-calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.ccms-calendar-toolbar .ccms-period-selector__button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.ccms-calendar-nav {
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 0.2rem;
    background: #fff;
    border: 1px solid var(--ccms-line, #d8dde6);
    border-radius: 0.45rem;
}

.ccms-calendar-nav__button,
.ccms-calendar-nav__today {
    min-height: 2.35rem;
    padding: 0.35rem 0.75rem;
    background: transparent;
    border: 0;
    border-radius: 0.35rem;
    color: var(--dhukhr-navy);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ccms-calendar-nav__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.35rem;
    font-size: 1.1rem;
}

.ccms-calendar-nav__button:hover,
.ccms-calendar-nav__today:hover,
.ccms-calendar-nav__button:focus-visible,
.ccms-calendar-nav__today:focus-visible {
    background: rgba(207, 163, 67, 0.16);
    color: var(--dhukhr-navy-hover);
}

/* --- panel shell --------------------------------------------------------- */
.ccms-calendar-panel {
    background: #fff;
    border: 1px solid var(--ccms-line, #d8dde6);
    border-radius: 0.55rem;
    box-shadow: 0 10px 28px -24px rgba(2, 36, 93, 0.72);
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: opacity 0.15s ease;
}

.ccms-calendar-panel.is-busy {
    opacity: 0.55;
}

.ccms-calendar-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1.05rem 1.35rem;
    border-bottom: 1px solid var(--ccms-cal-line);
    background: linear-gradient(180deg, #fdfcf9 0%, #ffffff 100%);
}

.ccms-calendar-range {
    color: var(--dhukhr-navy);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

.ccms-calendar-range__hijri {
    color: var(--ccms-muted, #667085);
    font-size: 0.82rem;
    margin-top: 0.15rem;
}

.ccms-calendar-count {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.7rem;
    background: var(--dhukhr-gold-soft, #f5f0e4);
    border-radius: 999px;
    color: #7d5e17;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

/* --- month grid ---------------------------------------------------------- */
.ccms-calendar-grid__head,
.ccms-calendar-grid__row {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ccms-calendar-weekday {
    padding: 0.6rem 0.5rem;
    background: #fbfaf7;
    border-bottom: 1px solid var(--ccms-cal-line);
    color: var(--ccms-muted, #667085);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-align: center;
    text-transform: uppercase;
}

[dir="rtl"] .ccms-calendar-weekday {
    letter-spacing: 0;
}

.ccms-calendar-cell {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-height: var(--ccms-cal-cell);
    padding: 0.45rem 0.5rem 0.55rem;
    border-bottom: 1px solid var(--ccms-cal-line);
    border-inline-end: 1px solid var(--ccms-cal-line);
    cursor: pointer;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.ccms-calendar-grid__row>.ccms-calendar-cell:last-child {
    border-inline-end: 0;
}

.ccms-calendar-grid__row:last-child .ccms-calendar-cell {
    border-bottom: 0;
}

.ccms-calendar-cell:hover {
    background: #fbfaf7;
}

.ccms-calendar-cell:focus-visible {
    outline: 2px solid var(--dhukhr-gold);
    outline-offset: -2px;
}

.ccms-calendar-cell.is-weekend {
    background: #fcfcfd;
}

.ccms-calendar-cell.is-outside {
    background: #f7f8fa;
}

.ccms-calendar-cell.is-outside .ccms-calendar-cell__day {
    color: #a9b0bd;
}

.ccms-calendar-cell.is-selected {
    background: rgba(207, 163, 67, 0.1);
    box-shadow: inset 0 0 0 2px var(--dhukhr-gold);
}

.ccms-calendar-cell__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}

.ccms-calendar-cell__day {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    color: var(--ccms-ink, #10213d);
    font-size: 0.82rem;
    font-weight: 700;
}

.ccms-calendar-cell.is-today .ccms-calendar-cell__day {
    background: var(--dhukhr-navy);
    color: #fff;
}

.ccms-calendar-cell__tally {
    color: var(--ccms-muted, #667085);
    font-size: 0.7rem;
    font-weight: 700;
}

.ccms-calendar-cell__events {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.ccms-calendar-cell__more {
    color: var(--ccms-muted, #667085);
    font-size: 0.7rem;
    font-weight: 600;
    padding-inline-start: 0.15rem;
}

/* --- event chip ---------------------------------------------------------- */
.ccms-calendar-chip {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    min-width: 0;
    padding: 0.16rem 0.35rem;
    border-radius: 0.28rem;
    background: var(--chip-soft, #eef1f6);
    color: var(--chip-ink, #10213d);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    transition: filter 0.15s ease;
}

.ccms-calendar-chip:hover {
    filter: brightness(0.95);
    color: var(--chip-ink, #10213d);
}

.ccms-calendar-chip__dot {
    flex: 0 0 auto;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 999px;
    background: var(--chip-strong, #043995);
}

.ccms-calendar-chip__time {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
    opacity: 0.85;
}

.ccms-calendar-chip__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Type colours. One declaration per type feeds the chip, the week card,
   the rail bar and the legend swatch. */
.ccms-calendar-chip--primary {
    --chip-soft: #e7ecf6;
    --chip-strong: #043995;
    --chip-ink: #0a2a6b;
}

.ccms-calendar-chip--info {
    --chip-soft: #e2f1f8;
    --chip-strong: #1f7fa8;
    --chip-ink: #14556f;
}

.ccms-calendar-chip--warning {
    --chip-soft: #fbf0dc;
    --chip-strong: #cfa343;
    --chip-ink: #7d5e17;
}

.ccms-calendar-chip--secondary {
    --chip-soft: #eef0f3;
    --chip-strong: #6b7280;
    --chip-ink: #414b5b;
}

.ccms-calendar-chip--dark {
    --chip-soft: #e6e8ec;
    --chip-strong: #2f3846;
    --chip-ink: #1f2733;
}

.ccms-calendar-chip--danger {
    --chip-soft: #fbe7e5;
    --chip-strong: #d9392a;
    --chip-ink: #952318;
}

.ccms-calendar-chip--success {
    --chip-soft: #e3f3e8;
    --chip-strong: #2f9457;
    --chip-ink: #1c6338;
}

/* --- week strip ---------------------------------------------------------- */
.ccms-calendar-week {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ccms-calendar-week__column {
    display: flex;
    flex-direction: column;
    min-height: 20rem;
    border-inline-end: 1px solid var(--ccms-cal-line);
}

.ccms-calendar-week__column:last-child {
    border-inline-end: 0;
}

.ccms-calendar-week__column.is-weekend {
    background: #fcfcfd;
}

.ccms-calendar-week__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    padding: 0.6rem 0.4rem;
    border-bottom: 1px solid var(--ccms-cal-line);
    background: #fbfaf7;
}

.ccms-calendar-week__weekday {
    color: var(--ccms-muted, #667085);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ccms-calendar-week__day {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    color: var(--ccms-ink, #10213d);
    font-size: 0.95rem;
    font-weight: 700;
}

.ccms-calendar-week__column.is-today .ccms-calendar-week__day {
    background: var(--dhukhr-navy);
    color: #fff;
}

.ccms-calendar-week__body {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.5rem 0.45rem;
}

.ccms-calendar-week__empty {
    color: #aab1bd;
    font-size: 0.74rem;
    margin: 0.4rem 0 0;
    text-align: center;
}

.ccms-calendar-event {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.45rem 0.5rem;
    border-radius: 0.35rem;
    border-inline-start: 3px solid var(--chip-strong, #043995);
    background: var(--chip-soft, #eef1f6);
    color: var(--chip-ink, #10213d);
    text-decoration: none;
    transition: filter 0.15s ease;
}

.ccms-calendar-event:hover {
    filter: brightness(0.96);
    color: var(--chip-ink, #10213d);
}

.ccms-calendar-event__type {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    opacity: 0.85;
    text-transform: uppercase;
}

[dir="rtl"] .ccms-calendar-event__type,
[dir="rtl"] .ccms-calendar-week__weekday {
    letter-spacing: 0;
}

.ccms-calendar-event__label {
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: break-word;
}

.ccms-calendar-event__meta {
    font-size: 0.7rem;
    opacity: 0.85;
}

/* --- agenda list --------------------------------------------------------- */
.ccms-calendar-agenda {
    padding: 0.5rem 0;
}

.ccms-agenda-group+.ccms-agenda-group {
    border-top: 1px solid var(--ccms-cal-line);
}

.ccms-agenda-group__head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.9rem 1.35rem 0.5rem;
}

.ccms-agenda-group__date {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 3rem;
    padding: 0.3rem 0;
    border: 1px solid var(--ccms-cal-line);
    border-radius: 0.4rem;
    background: #fbfaf7;
    line-height: 1.1;
}

.ccms-agenda-group__head.is-today .ccms-agenda-group__date {
    background: var(--dhukhr-navy);
    border-color: var(--dhukhr-navy);
    color: #fff;
}

.ccms-agenda-group__date strong {
    font-size: 1.1rem;
    font-weight: 800;
}

.ccms-agenda-group__date span {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
}

.ccms-agenda-group__weekday {
    display: block;
    color: var(--ccms-ink, #10213d);
    font-size: 0.9rem;
    font-weight: 700;
}

.ccms-agenda-group__hijri {
    display: block;
    color: var(--ccms-muted, #667085);
    font-size: 0.76rem;
}

.ccms-agenda-list {
    list-style: none;
    margin: 0;
    padding: 0 1.35rem 0.9rem;
}

.ccms-agenda-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.7rem;
    border-radius: 0.4rem;
    color: var(--ccms-ink, #10213d);
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.ccms-agenda-item:hover {
    background: #fbfaf7;
    color: var(--ccms-ink, #10213d);
}

.ccms-agenda-item__marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    border-radius: 0.4rem;
    background: var(--chip-soft, #eef1f6);
    color: var(--chip-strong, #043995);
    font-size: 1rem;
}

.ccms-agenda-item__body {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    flex: 1 1 auto;
}

.ccms-agenda-item__label {
    font-size: 0.9rem;
    font-weight: 700;
    overflow-wrap: break-word;
}

.ccms-agenda-item__meta {
    color: var(--ccms-muted, #667085);
    font-size: 0.76rem;
}

.ccms-agenda-item__time {
    flex: 0 0 auto;
    color: var(--ccms-muted, #667085);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    white-space: nowrap;
}

.ccms-calendar-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1.5rem;
    color: var(--ccms-muted, #667085);
    text-align: center;
}

.ccms-calendar-empty i {
    font-size: 2rem;
    opacity: 0.5;
}

/* --- side rail ----------------------------------------------------------- */
.ccms-calendar-rail {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ccms-calendar-rail__panel {
    padding: 1.1rem 1.15rem;
    background: #fff;
    border: 1px solid var(--ccms-line, #d8dde6);
    border-radius: 0.55rem;
    box-shadow: 0 10px 28px -24px rgba(2, 36, 93, 0.72);
    position: relative;
    z-index: 1;
}

.ccms-calendar-rail__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}

.ccms-calendar-rail__title {
    color: var(--dhukhr-navy);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.4;
}

.ccms-calendar-rail__hijri {
    color: var(--ccms-muted, #667085);
    font-size: 0.78rem;
    margin-top: 0.15rem;
}

.ccms-calendar-rail__hint {
    color: var(--ccms-muted, #667085);
    font-size: 0.78rem;
    line-height: 1.6;
    margin-bottom: 0.6rem;
}

.ccms-calendar-rail__empty {
    color: #98a0ad;
    font-size: 0.82rem;
}

.ccms-calendar-rail__list {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ccms-calendar-rail__note {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    color: var(--ccms-muted, #667085);
    font-size: 0.76rem;
    line-height: 1.6;
    margin: 0;
}

.ccms-rail-event {
    display: flex;
    align-items: stretch;
    gap: 0.6rem;
    padding: 0.5rem 0.4rem;
    border-radius: 0.4rem;
    color: var(--ccms-ink, #10213d);
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.ccms-rail-event:hover {
    background: #fbfaf7;
    color: var(--ccms-ink, #10213d);
}

.ccms-rail-event__bar {
    flex: 0 0 auto;
    width: 0.22rem;
    border-radius: 999px;
    background: var(--chip-strong, #043995);
}

.ccms-rail-event__body {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.ccms-rail-event__meta {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--ccms-muted, #667085);
    font-size: 0.72rem;
    font-weight: 700;
}

.ccms-rail-event__label {
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: break-word;
}

.ccms-rail-event__context {
    color: var(--ccms-muted, #667085);
    font-size: 0.74rem;
    overflow-wrap: break-word;
}

/* --- legend / type filter ------------------------------------------------ */
.ccms-calendar-legend {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ccms-calendar-legend__item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.4rem 0.45rem;
    background: transparent;
    border: 0;
    border-radius: 0.35rem;
    color: var(--ccms-ink, #10213d);
    font-size: 0.82rem;
    font-weight: 600;
    text-align: start;
    transition: background-color 0.15s ease, opacity 0.15s ease;
}

.ccms-calendar-legend__item:hover,
.ccms-calendar-legend__item:focus-visible {
    background: #fbfaf7;
}

.ccms-calendar-legend__item.is-muted {
    opacity: 0.45;
}

.ccms-calendar-legend__item.is-muted .ccms-calendar-legend__label {
    text-decoration: line-through;
}

.ccms-calendar-legend__swatch {
    flex: 0 0 auto;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 0.22rem;
    background: var(--chip-strong, #043995);
}

.ccms-calendar-legend__label {
    flex: 1 1 auto;
    min-width: 0;
}

.ccms-calendar-legend__item i {
    flex: 0 0 auto;
    color: var(--ccms-muted, #667085);
    font-size: 0.95rem;
}

/* --- responsive ---------------------------------------------------------- */
@media (max-width: 991.98px) {
    .ccms-calendar-page {
        --ccms-cal-cell: 5.75rem;
    }

    .ccms-calendar-toolbar {
        justify-content: flex-start;
        width: 100%;
    }
}

/* Seven side-by-side day columns need roughly 900px of grid width. Below the
   xxl breakpoint the panel sits at ~66% next to the rail, which leaves ~85px
   a column — enough to shred every title mid-word. Stack the week into a
   day-by-day list instead; it still shows the whole week, and it reads. */
@media (max-width: 1399.98px) {
    .ccms-calendar-week {
        grid-template-columns: 1fr;
    }

    .ccms-calendar-week__column {
        min-height: 0;
        border-inline-end: 0;
        border-bottom: 1px solid var(--ccms-cal-line);
    }

    .ccms-calendar-week__column:last-child {
        border-bottom: 0;
    }

    .ccms-calendar-week__head {
        flex-direction: row;
        align-items: center;
        gap: 0.5rem;
        justify-content: flex-start;
        padding-inline: 0.9rem;
    }

    .ccms-calendar-week__body {
        padding-inline: 0.9rem;
    }

    .ccms-calendar-week__empty {
        text-align: start;
    }
}

/* A month cell is ~100px wide next to the side rail, and a "09:30 " prefix
   eats most of it — "09:30 Q." tells the reader nothing, "Quarterly c…" does.
   Give the title the whole chip until the grid is genuinely wide; the time
   stays available in the tooltip, the side rail, and the week/agenda views. */
@media (max-width: 1599.98px) {
    .ccms-calendar-grid .ccms-calendar-chip__time {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .ccms-calendar-page {
        --ccms-cal-cell: 4.25rem;
    }

    .ccms-calendar-cell {
        padding: 0.3rem 0.25rem;
    }

    /* Below this width a chip label is unreadable â€” collapse the month grid
       to coloured dots and let the side rail carry the detail. */
    .ccms-calendar-chip__label,
    .ccms-calendar-chip__time,
    .ccms-calendar-cell__more {
        display: none;
    }

    .ccms-calendar-chip {
        justify-content: center;
        padding: 0.1rem;
    }

    .ccms-calendar-weekday {
        font-size: 0.62rem;
        padding-inline: 0.15rem;
    }

    .ccms-agenda-group__head,
    .ccms-agenda-list {
        padding-inline: 0.85rem;
    }
}

@media print {

    .ccms-calendar-toolbar,
    .ccms-calendar-rail {
        display: none !important;
    }

    .ccms-calendar-panel {
        box-shadow: none;
    }
}

/* ===========================================================================
   ENTERPRISE PRO MAX REDESIGN 2026
   Official Brand Color Palette:
   - Primary Navy:     #043995 / #02245D (Hover: #011840)
   - Dhukhr Gold:      #CFA343 (Soft: #F5F0E4, Accent: #B3882D)
   - Enterprise Slate:  #1E293B / #0A1C33 (Text: #02245D)
   - PDF Export Red:   #DC2626 (Gradient End: #B91C1C)
   - Excel Export Green:#10B981 (Gradient End: #047857)
   - Print/CSV Blue:   #0284C7 (Gradient End: #075985)
   - Neumorphic Base:   #F0F3FA / #F8FAFC
   - Border Slate:     #CBD5E1 / #E2E8F0
   =========================================================================== */

/* ---------------------------------------------------------------------------
   1. NEUMORPHIC CARD SYSTEM (Tactile & Accessible Aesthetic)
   --------------------------------------------------------------------------- */
.neu-card,
.card-neu,
.card-neumorphic {
    background: #F0F3FA !important;
    border-radius: 1.25rem !important;
    box-shadow: 8px 8px 20px rgba(163, 177, 198, 0.45), -8px -8px 20px #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    z-index: 1;
}

.neu-card:hover,
.card-neu:hover,
.card-neumorphic:hover {
    box-shadow: 12px 12px 28px rgba(163, 177, 198, 0.55), -12px -12px 28px #FFFFFF !important;
}

.neu-card-inset,
.card-neu-inset {
    background: #F0F3FA !important;
    border-radius: 1rem !important;
    box-shadow: inset 4px 4px 12px rgba(163, 177, 198, 0.4), inset -4px -4px 12px #FFFFFF !important;
    border: none !important;
}

.neu-card-gold {
    background: linear-gradient(145deg, #F5F0E4 0%, #FFFFFF 100%) !important;
    border-radius: 1.25rem !important;
    box-shadow: 6px 6px 18px rgba(207, 163, 67, 0.15), -6px -6px 18px #FFFFFF !important;
    border: 1px solid rgba(207, 163, 67, 0.3) !important;
}

/* Upgrade existing card elements with neumorphic polish */
.card:not(.glass-card):not(.ccms-sidebar) {
    border-radius: 1.15rem !important;
    border: 1px solid rgba(2, 36, 93, 0.06) !important;
    box-shadow: 6px 6px 18px rgba(163, 177, 198, 0.25), -6px -6px 18px #FFFFFF !important;
    transition: all 0.25s ease-in-out !important;
}

.card:not(.glass-card):not(.ccms-sidebar):hover {
    box-shadow: 10px 10px 25px rgba(163, 177, 198, 0.35), -10px -10px 25px #FFFFFF !important;
}

/* ---------------------------------------------------------------------------
   2. ENTERPRISE DATA TABLES (Vibrant Navy & Gold Aesthetic)
   --------------------------------------------------------------------------- */
.table-responsive {
    border-radius: 1rem !important;
    box-shadow: 6px 6px 20px rgba(163, 177, 198, 0.3), -6px -6px 20px #FFFFFF !important;
    overflow: hidden !important;
    background-color: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
}

.ccms-table,
.table {
    width: 100% !important;
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.ccms-table thead th,
.table thead th {
    background: linear-gradient(135deg, #02245D 0%, #043995 100%) !important;
    color: #FFFFFF !important;
    border-bottom: 3px solid #CFA343 !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 1.1rem 1.25rem !important;
    vertical-align: middle !important;
}

.ccms-table tbody td,
.table tbody td {
    padding: 0.95rem 1.25rem !important;
    font-size: 0.88rem !important;
    color: #1E293B !important;
    border-bottom: 1px solid #E2E8F0 !important;
    vertical-align: middle !important;
    transition: background-color 0.15s ease !important;
}

.ccms-table tbody tr,
.table tbody tr {
    transition: all 0.2s ease-in-out !important;
}

.ccms-table tbody tr:hover,
.table tbody tr:hover {
    background-color: #F5F0E4 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(2, 36, 93, 0.05) !important;
}

.ccms-table tbody tr:nth-of-type(even),
.table-striped tbody tr:nth-of-type(even) {
    background-color: #F8FAFC !important;
}

.table-action-btn {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: all 0.2s ease;
    border: none;
}

.table-action-btn-primary {
    background-color: rgba(4, 57, 149, 0.1);
    color: #043995;
}

.table-action-btn-primary:hover {
    background-color: #043995;
    color: #FFFFFF;
}

.table-action-btn-danger {
    background-color: rgba(239, 68, 68, 0.1);
    color: #EF4444;
}

.table-action-btn-danger:hover {
    background-color: #EF4444;
    color: #FFFFFF;
}

/* ---------------------------------------------------------------------------
   3. ENTERPRISE FORMS & CONTROLS (Clear Hierarchy & Spacing)
   --------------------------------------------------------------------------- */
.form-section-card {
    background: #FFFFFF !important;
    border-radius: 1.15rem !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 6px 6px 18px rgba(163, 177, 198, 0.25), -6px -6px 18px #FFFFFF !important;
    padding: 1.75rem !important;
    margin-bottom: 1.75rem !important;
}

.form-label {
    color: #02245D !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    margin-bottom: 0.5rem !important;
    letter-spacing: -0.01em !important;
}

.form-control,
.form-select {
    background-color: #FFFFFF !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 0.75rem !important;
    padding: 0.7rem 1rem !important;
    font-size: 0.92rem !important;
    color: #02245D !important;
    font-weight: 500 !important;
    box-shadow: inset 2px 2px 5px rgba(163, 177, 198, 0.15) !important;
    transition: all 0.2s ease-in-out !important;
}

.form-control:focus,
.form-select:focus {
    border-color: #043995 !important;
    box-shadow: 0 0 0 4px rgba(4, 57, 149, 0.15), inset 1px 1px 3px rgba(0, 0, 0, 0.05) !important;
    background-color: #FFFFFF !important;
}

.input-group-merge {
    background-color: #FFFFFF !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 0.75rem !important;
    box-shadow: inset 2px 2px 5px rgba(163, 177, 198, 0.15) !important;
    transition: all 0.2s ease-in-out !important;
    overflow: hidden;
}

.input-group-merge:focus-within {
    border-color: #043995 !important;
    box-shadow: 0 0 0 4px rgba(4, 57, 149, 0.15) !important;
}

.input-group-merge .input-group-text {
    color: #CFA343 !important;
    background: transparent !important;
    border: none !important;
    font-size: 1.2rem !important;
    padding-inline: 0.9rem !important;
}

/* ---------------------------------------------------------------------------
   4. REPORT BUTTONS & VIBRANT VARIANTS (Brand Matched Colors)
   --------------------------------------------------------------------------- */
/* PDF Export Button (Vibrant Crimson Red: #DC2626) */
.btn-report-pdf,
.btn-export-pdf {
    background: linear-gradient(135deg, #DC2626 0%, #B91C1C 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 0.75rem !important;
    padding: 0.55rem 1.25rem !important;
    font-size: 0.85rem !important;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    transition: all 0.2s ease-in-out !important;
}

.btn-report-pdf:hover,
.btn-export-pdf:hover {
    background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(220, 38, 38, 0.45) !important;
}

/* Excel Export Button (Vibrant Emerald Green: #10B981) */
.btn-report-excel,
.btn-export-excel {
    background: linear-gradient(135deg, #10B981 0%, #047857 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 0.75rem !important;
    padding: 0.55rem 1.25rem !important;
    font-size: 0.85rem !important;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    transition: all 0.2s ease-in-out !important;
}

.btn-report-excel:hover,
.btn-export-excel:hover {
    background: linear-gradient(135deg, #34D399 0%, #10B981 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(16, 185, 129, 0.45) !important;
}

/* Print/CSV Export Button (Sky Blue: #0284C7) */
.btn-report-print,
.btn-export-print,
.btn-export-csv {
    background: linear-gradient(135deg, #0284C7 0%, #075985 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 0.75rem !important;
    padding: 0.55rem 1.25rem !important;
    font-size: 0.85rem !important;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    transition: all 0.2s ease-in-out !important;
}

.btn-report-print:hover,
.btn-export-print:hover,
.btn-export-csv:hover {
    background: linear-gradient(135deg, #38BDF8 0%, #0284C7 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(2, 132, 199, 0.45) !important;
}

/* Filter/Action Button (Dhukhr Gold: #CFA343) */
.btn-report-filter,
.btn-dhukhr-primary {
    background: linear-gradient(135deg, #043995 0%, #02245D 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 0.75rem !important;
    padding: 0.55rem 1.25rem !important;
    font-size: 0.85rem !important;
    box-shadow: 0 4px 14px rgba(4, 57, 149, 0.35) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    transition: all 0.2s ease-in-out !important;
}

.btn-report-filter:hover,
.btn-dhukhr-primary:hover {
    background: linear-gradient(135deg, #1D4ED8 0%, #043995 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(4, 57, 149, 0.45) !important;
}

/* ---------------------------------------------------------------------------
   5. LOGIN FORM VISUAL HIERARCHY & NEUMORPHIC SHELL
   --------------------------------------------------------------------------- */
.auth-cover-wrapper {
    background-color: transparent !important;
}

.glass-card {
    background: rgba(255, 255, 255, 0.95) !important;
    border-radius: 1.5rem !important;
    box-shadow: 12px 12px 35px rgba(163, 177, 198, 0.45), -12px -12px 35px #FFFFFF !important;
    border: 1.5px solid rgba(207, 163, 67, 0.3) !important;
    padding: 2.25rem !important;
}

.auth-brand-heading {
    color: #02245D !important;
    font-weight: 800 !important;
    font-size: 2rem !important;
}

.auth-brand-tagline {
    color: #CFA343 !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
}

.glass-card .btn-primary {
    background: linear-gradient(135deg, #043995 0%, #02245D 100%) !important;
    border: none !important;
    border-radius: 0.85rem !important;
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    box-shadow: 0 6px 20px rgba(4, 57, 149, 0.35) !important;
    transition: all 0.25s ease-in-out !important;
}

.glass-card .btn-primary:hover {
    background: linear-gradient(135deg, #1D4ED8 0%, #043995 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(4, 57, 149, 0.45) !important;
}

/* ---------------------------------------------------------------------------
   6. RESPONSIVE MOBILE PREVIEWS & LAYOUT POLISH
   --------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .form-section-card {
        padding: 1.25rem !important;
        margin-bottom: 1.25rem !important;
    }

    .ccms-table thead th,
    .table thead th {
        padding: 0.85rem 0.95rem !important;
        font-size: 0.75rem !important;
    }

    .ccms-table tbody td,
    .table tbody td {
        padding: 0.75rem 0.95rem !important;
        font-size: 0.82rem !important;
    }

    .btn-report-pdf,
    .btn-report-excel,
    .btn-report-print,
    .btn-report-filter,
    .btn-export-pdf,
    .btn-export-excel,
    .btn-export-print {
        width: 100% !important;
        justify-content: center !important;
        padding: 0.65rem 1rem !important;
    }

    .glass-card {
        padding: 1.5rem !important;
        border-radius: 1.25rem !important;
    }
}

/* Pro Max Hover Lift Effect */
.hover-lift {
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-lift:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 28px -6px rgba(15, 23, 42, 0.12), 0 4px 12px -2px rgba(15, 23, 42, 0.08) !important;
}

/* ===========================================================================
   GLOBAL UNIFIED ENTERPRISE BUTTON DESIGN SYSTEM (DHUKHR PRO MAX)
   Guarantees 100% Visual Consistency across ALL pages and modules
   =========================================================================== */

/* Base Button Rules for All Buttons */
.btn,
a.btn,
button.btn,
input[type="submit"].btn,
input[type="button"].btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    line-height: 1.4 !important;
    padding: 0.6rem 1.35rem !important;
    border-radius: 0.75rem !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

/* 1. PRIMARY BRAND BUTTONS (Dhukhr Gold Gradient) */
.btn-primary,
.btn-gold,
.btn-dhukhr-gold,
.btn-dhukhr-primary,
a.btn-primary,
a.btn-gold,
button.btn-primary,
button.btn-gold {
    background: linear-gradient(135deg, #D4AF37 0%, #CFA343 50%, #B8860B 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(207, 163, 67, 0.38) !important;
}

.btn-primary:hover,
.btn-gold:hover,
.btn-dhukhr-gold:hover,
.btn-dhukhr-primary:hover,
.btn-primary:focus,
.btn-gold:focus,
.btn-dhukhr-gold:focus,
.btn-dhukhr-primary:focus,
a.btn-primary:hover,
a.btn-gold:hover {
    background: linear-gradient(135deg, #E5C158 0%, #D4AF37 50%, #CFA343 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 7px 20px rgba(207, 163, 67, 0.48) !important;
}

.btn-primary:active,
.btn-gold:active,
.btn-dhukhr-gold:active,
.btn-dhukhr-primary:active {
    transform: translateY(0) !important;
    box-shadow: 0 3px 10px rgba(207, 163, 67, 0.3) !important;
}

/* 2. SECONDARY & OUTLINE BUTTONS (Clean Modern Light) */
.btn-secondary,
.btn-outline-secondary,
.btn-light,
a.btn-secondary,
a.btn-outline-secondary,
button.btn-secondary,
button.btn-outline-secondary {
    background: #FFFFFF !important;
    color: #1E293B !important;
    border: 1.5px solid #CBD5E1 !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
}

.btn-secondary:hover,
.btn-outline-secondary:hover,
.btn-light:hover,
.btn-secondary:focus,
.btn-outline-secondary:focus,
a.btn-secondary:hover,
a.btn-outline-secondary:hover {
    background: #F8FAFC !important;
    color: #02245D !important;
    border-color: #94A3B8 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
}

/* 3. DARK NAVY BUTTONS */
.btn-dark,
.btn-navy,
a.btn-dark,
button.btn-dark {
    background: linear-gradient(135deg, #043995 0%, #02245D 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(4, 57, 149, 0.32) !important;
}

.btn-dark:hover,
.btn-navy:hover,
a.btn-dark:hover {
    background: linear-gradient(135deg, #1D4ED8 0%, #043995 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(4, 57, 149, 0.42) !important;
}

/* 4. DANGER BUTTONS (Crimson Red) */
.btn-danger,
.btn-outline-danger,
a.btn-danger,
button.btn-danger {
    background: linear-gradient(135deg, #DC2626 0%, #B91C1C 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.32) !important;
}

.btn-danger:hover,
.btn-outline-danger:hover,
a.btn-danger:hover {
    background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(220, 38, 38, 0.42) !important;
}

/* 5. SUCCESS BUTTONS (Emerald Green) */
.btn-success,
.btn-outline-success,
a.btn-success,
button.btn-success {
    background: linear-gradient(135deg, #10B981 0%, #047857 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.32) !important;
}

.btn-success:hover,
.btn-outline-success:hover,
a.btn-success:hover {
    background: linear-gradient(135deg, #34D399 0%, #10B981 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(16, 185, 129, 0.42) !important;
}

/* 6. EXPORT SPECIALTY BUTTONS */
.btn-export-excel {
    background: linear-gradient(135deg, #10B981 0%, #047857 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.32) !important;
}

.btn-export-excel:hover {
    background: linear-gradient(135deg, #34D399 0%, #10B981 100%) !important;
    transform: translateY(-2px) !important;
}

.btn-export-pdf {
    background: linear-gradient(135deg, #DC2626 0%, #B91C1C 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.32) !important;
}

.btn-export-pdf:hover {
    background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%) !important;
    transform: translateY(-2px) !important;
}

.btn-export-print,
.btn-export-csv,
.btn-export-word {
    background: linear-gradient(135deg, #0284C7 0%, #075985 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.32) !important;
}

.btn-export-print:hover,
.btn-export-csv:hover,
.btn-export-word:hover {
    background: linear-gradient(135deg, #38BDF8 0%, #0284C7 100%) !important;
    transform: translateY(-2px) !important;
}

/* 7. UNIFIED TABLE ACTION BUTTONS (Across All Index Tables) */
td .btn-sm,
.ccms-table tbody td .btn,
.table tbody td .btn,
.table-action-btn,
.btn-action-icon,
.btn-icon {
    min-height: 34px !important;
    padding: 0.35rem 0.75rem !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    border-radius: 0.5rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    margin-inline: 0.15rem !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Edit / General Action Buttons inside Tables */
td .btn-text-secondary,
td .btn-outline-primary,
.btn-action-edit {
    background-color: rgba(4, 57, 149, 0.08) !important;
    color: #043995 !important;
    border: 1px solid rgba(4, 57, 149, 0.18) !important;
}

td .btn-text-secondary:hover,
td .btn-outline-primary:hover,
.btn-action-edit:hover {
    background-color: #043995 !important;
    color: #FFFFFF !important;
    border-color: #043995 !important;
    transform: translateY(-1px) !important;
}

/* Delete Buttons inside Tables */
td .btn-text-danger,
td .btn-outline-danger,
.btn-action-delete {
    background-color: rgba(239, 68, 68, 0.08) !important;
    color: #DC2626 !important;
    border: 1px solid rgba(239, 68, 68, 0.18) !important;
}

td .btn-text-danger:hover,
td .btn-outline-danger:hover,
.btn-action-delete:hover {
    background-color: #DC2626 !important;
    color: #FFFFFF !important;
    border-color: #DC2626 !important;
    transform: translateY(-1px) !important;
}

/* View / Show Buttons inside Tables */
.btn-action-view {
    background-color: rgba(207, 163, 67, 0.1) !important;
    color: #B8860B !important;
    border: 1px solid rgba(207, 163, 67, 0.22) !important;
}

.btn-action-view:hover {
    background-color: #CFA343 !important;
    color: #FFFFFF !important;
    border-color: #CFA343 !important;
    transform: translateY(-1px) !important;
}

/* 8. BUTTON SIZING MODIFIERS */
.btn-sm {
    padding: 0.38rem 0.95rem !important;
    font-size: 0.82rem !important;
    border-radius: 0.55rem !important;
}

.btn-lg {
    padding: 0.8rem 1.85rem !important;
    font-size: 1.05rem !important;
    border-radius: 0.85rem !important;
}

/* ===========================================================================
   9. GLOBAL UNIFIED NEUMORPHIC CARD SYSTEM (DASHBOARD CONSISTENCY)
   Aligns all cards, service cards, filter cards, and form section cards
   with the main dashboard's tactile Neumorphic aesthetic.
   =========================================================================== */
.card,
.form-section-card,
.ccms-filter-card,
.ccms-service-card,
.ccms-catalog-toolbar,
.card-kpi-premium,
.neu-card,
.card-neu {
    background: #FFFFFF !important;
    border-radius: 1.25rem !important;
    border: 1px solid rgba(226, 232, 240, 0.85) !important;
    box-shadow: 6px 6px 20px rgba(163, 177, 198, 0.22), -6px -6px 20px #FFFFFF !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
}

/* Elevated Hover Effect matching Dashboard */
.card:not(.ccms-sidebar):hover,
.form-section-card:hover,
.ccms-filter-card:hover,
.ccms-service-card:hover,
.neu-card:hover {
    box-shadow: 10px 10px 28px rgba(163, 177, 198, 0.35), -10px -10px 28px #FFFFFF !important;
    border-color: rgba(207, 163, 67, 0.4) !important;
}

/* Hover Transform restricted ONLY to Dashboard page cards, Report page cards, and Service cards */
.ccms-dashboard-page .card:hover,
.ccms-reports-page .card:hover,
.ccms-service-card:hover {
    transform: translateY(-3px) !important;
}

/* Service Card Specialty Polish */
.ccms-service-card__marker {
    background: linear-gradient(180deg, #D4AF37 0%, #043995 100%) !important;
}

.ccms-service-card__footer {
    background: rgba(248, 250, 252, 0.85) !important;
    border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
}

/* Service Card Dedicated Action Button (Distinct from Top Header Primary Gold Button) */
.ccms-service-card .btn-primary,
.ccms-service-card__footer .btn-primary,
.btn-service-action {
    background: linear-gradient(135deg, #043995 0%, #02245D 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 0.65rem !important;
    padding: 0.5rem 1.15rem !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(4, 57, 149, 0.28) !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ccms-service-card .btn-primary:hover,
.ccms-service-card__footer .btn-primary:hover,
.btn-service-action:hover {
    background: linear-gradient(135deg, #1D4ED8 0%, #043995 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(4, 57, 149, 0.42) !important;
}

.ccms-service-card .btn-primary i,
.ccms-service-card__footer .btn-primary i,
.btn-service-action i {
    transition: transform 0.2s ease !important;
}

.ccms-service-card .btn-primary:hover i,
.ccms-service-card__footer .btn-primary:hover i,
.btn-service-action:hover i {
    transform: translateX(-3px) !important;
}

/* ==========================================================================
   UNIFIED SEARCH BORDER & INPUT GROUP SYSTEM FIX
   Eliminates inner focus outlines, double-border rings, and border clipping
   across all search boxes, topbars, and merged input groups.
   ========================================================================== */

/* 1. Input Group container styling */
.input-group,
.input-group-merge,
.ccms-search-field .input-group {
    background-color: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 0.75rem !important;
    transition: all 0.2s ease-in-out !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
}

/* 2. Container Focus-Within state */
.input-group:focus-within,
.input-group-merge:focus-within,
.ccms-search-field .input-group:focus-within {
    border-color: #043995 !important;
    box-shadow: 0 0 0 4px rgba(4, 57, 149, 0.15) !important;
    background-color: #ffffff !important;
}

.ccms-topbar-search .input-group:focus-within,
.navbar-nav .input-group:focus-within {
    border-color: #cfa343 !important;
    box-shadow: 0 0 0 3px rgba(207, 163, 67, 0.22) !important;
    background-color: #ffffff !important;
}

/* 3. Strip all inner borders, shadows, outlines, and border-radii from inner form controls */
.input-group .form-control,
.input-group .form-control:focus,
.input-group .form-control:hover,
.input-group .form-control:active,
.input-group .form-select,
.input-group .form-select:focus,
.input-group .input-group-text,
.input-group-merge .form-control,
.input-group-merge .form-control:focus,
.input-group-merge .form-control:hover,
.input-group-merge .form-control:active,
.input-group-merge .form-select,
.input-group-merge .form-select:focus,
.input-group-merge .input-group-text,
.ccms-search-field .form-control,
.ccms-search-field .form-control:focus,
.ccms-search-field .form-control:hover,
.ccms-search-field .input-group-text,
.ccms-topbar-search .form-control,
.ccms-topbar-search .form-control:focus,
.ccms-topbar-search .input-group-text,
.navbar-nav .input-group .form-control,
.navbar-nav .input-group .form-control:focus,
.form-control.border-0,
.form-control.border-0:focus,
.form-control.shadow-none:focus {
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    outline-offset: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
}

/* 4. Native WebKit / Blink search input cleanups */
input[type="search"],
input[type="search"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

/* 5. Icons inside input groups & search fields */
.input-group .input-group-text,
.input-group-merge .input-group-text,
.ccms-search-field .input-group-text {
    color: #64748b !important;
    padding-inline: 0.85rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
}

.input-group:focus-within .input-group-text i,
.input-group-merge:focus-within .input-group-text i,
.ccms-search-field .input-group:focus-within .input-group-text i {
    color: #043995 !important;
}

/* ===========================================================================
   Enterprise Dropdown System ("Pro Max" Standard)
   =========================================================================== */

/* 1. Global Select Control Base Trigger */
select,
select.form-select,
.form-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 0.65rem !important;
    padding-block: 0.6rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: -0.01em !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
}

/* Dynamic Chevron Icon & Directional Padding */
[dir="rtl"] select,
[dir="rtl"] select.form-select,
[dir="rtl"] .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFA343' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: left 0.85rem center !important;
    background-size: 1.1rem 1.1rem !important;
    padding-left: 2.6rem !important;
    padding-right: 0.95rem !important;
}

[dir="ltr"] select,
[dir="ltr"] select.form-select,
[dir="ltr"] .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFA343' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.85rem center !important;
    background-size: 1.1rem 1.1rem !important;
    padding-right: 2.6rem !important;
    padding-left: 0.95rem !important;
}

/* Hover State */
select:hover,
select.form-select:hover,
.form-select:hover {
    border-color: #94a3b8 !important;
    background-color: #f8fafc !important;
    box-shadow: 0 2px 8px rgba(4, 57, 149, 0.06) !important;
}

/* Focus State */
select:focus,
select.form-select:focus,
.form-select:focus {
    border-color: var(--dhukhr-navy, #043995) !important;
    box-shadow: 0 0 0 4px rgba(4, 57, 149, 0.12), 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    background-color: #ffffff !important;
    outline: none !important;
}

/* Disabled State */
select:disabled,
select.form-select:disabled,
.form-select:disabled {
    background-color: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
    color: #94a3b8 !important;
    cursor: not-allowed !important;
    opacity: 0.75 !important;
}

/* Small & Large Select Variants */
select.form-select-sm,
.form-select-sm {
    padding-block: 0.4rem !important;
    font-size: 0.825rem !important;
    border-radius: 0.5rem !important;
}

select.form-select-lg,
.form-select-lg {
    padding-block: 0.8rem !important;
    font-size: 1rem !important;
    border-radius: 0.75rem !important;
}

/* 2. Options Popup Menu Styling for Modern Browsers (Chrome / Firefox / Edge / Safari) */
select option,
.form-select option {
    font-family: var(--ccms-font-body) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    background-color: #ffffff !important;
    padding: 10px 14px !important;
    margin: 3px 0 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}

select option:checked,
select option:hover,
select option:focus,
.form-select option:checked,
.form-select option:hover {
    background-color: var(--dhukhr-navy, #043995) !important;
    background: linear-gradient(135deg, #043995 0%, #011840 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

select optgroup,
.form-select optgroup {
    font-family: var(--ccms-font-heading) !important;
    font-weight: 700 !important;
    font-size: 0.825rem !important;
    color: var(--dhukhr-gold, #cfa343) !important;
    background-color: #f8fafc !important;
    padding: 8px 12px !important;
    margin-top: 4px !important;
}

/* 3. Bootstrap Floating Dropdown Menu (.dropdown-menu, .dropdown-item) Overhaul */
.dropdown-menu {
    background: #ffffff !important;
    border: 1px solid rgba(2, 36, 93, 0.08) !important;
    border-radius: 0.85rem !important;
    box-shadow: 0 12px 32px rgba(4, 57, 149, 0.12), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    padding: 0.5rem !important;
    margin-top: 0.4rem !important;
    animation: fadeInDropdown 0.18s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    z-index: 1050 !important;
}

@keyframes fadeInDropdown {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.dropdown-item {
    border-radius: 0.5rem !important;
    padding: 0.55rem 0.85rem !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    color: #334155 !important;
    transition: all 0.15s ease-in-out !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #f1f5f9 !important;
    color: var(--dhukhr-navy, #043995) !important;
}

[dir="rtl"] .dropdown-item:hover {
    transform: translateX(-3px);
}

[dir="ltr"] .dropdown-item:hover {
    transform: translateX(3px);
}

.dropdown-item.active,
.dropdown-item:active {
    background: linear-gradient(135deg, var(--dhukhr-navy, #043995) 0%, #011840 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

.dropdown-item.active i,
.dropdown-item:active i {
    color: var(--dhukhr-gold, #cfa343) !important;
}

.dropdown-header {
    font-family: var(--ccms-font-heading) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--dhukhr-gold, #cfa343) !important;
    padding: 0.5rem 0.85rem 0.25rem !important;
}

.dropdown-divider {
    margin: 0.4rem 0 !important;
    border-top: 1px dashed #e2e8f0 !important;
    opacity: 1 !important;
}

/* 4. Custom Select Component Styling (<x-custom-select>) */
.ccms-custom-select-trigger {
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 0.65rem !important;
    background-color: #ffffff !important;
    transition: all 0.2s ease-in-out !important;
    min-height: 42px;
}

.ccms-custom-select-trigger:hover,
.ccms-custom-select-trigger.active-open {
    border-color: var(--dhukhr-navy, #043995) !important;
    box-shadow: 0 0 0 4px rgba(4, 57, 149, 0.1) !important;
}

.ccms-custom-select-menu .ccms-custom-select-item.selected {
    background-color: #eff6ff !important;
    color: var(--dhukhr-navy, #043995) !important;
    font-weight: 700 !important;
}

.transition-transform {
    transition: transform 0.2s ease-in-out;
}

.rotate-180 {
    transform: rotate(180deg);
}

/* ApexCharts Tooltip Modernization (Borderless Floating Tooltips with Crisp White Text) */
.apexcharts-canvas .apexcharts-tooltip,
.apexcharts-canvas .apexcharts-tooltip.apexcharts-theme-light,
.apexcharts-canvas .apexcharts-tooltip.apexcharts-theme-dark,
.apexcharts-canvas .apexcharts-xaxistooltip,
.apexcharts-canvas .apexcharts-yaxistooltip {
    border: none !important;
    border-color: transparent !important;
    outline: none !important;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.35) !important;
    border-radius: 12px !important;
    background: #0f172a !important;
    color: #ffffff !important;
}

.apexcharts-canvas .apexcharts-tooltip *,
.apexcharts-canvas .apexcharts-tooltip-title,
.apexcharts-canvas .apexcharts-tooltip-series-group,
.apexcharts-canvas .apexcharts-tooltip-text,
.apexcharts-canvas .apexcharts-tooltip-text-y-value,
.apexcharts-canvas .apexcharts-tooltip-text-y-label,
.apexcharts-canvas .apexcharts-tooltip-text-goals-value,
.apexcharts-canvas .apexcharts-tooltip-text-goals-label,
.apexcharts-canvas .apexcharts-tooltip span,
.apexcharts-canvas .apexcharts-tooltip div,
.apexcharts-canvas .apexcharts-tooltip bdi {
    border: none !important;
    border-color: transparent !important;
    color: #ffffff !important;
    fill: #ffffff !important;
}

.apexcharts-canvas .apexcharts-tooltip-title {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-bottom: none !important;
}

/* ===========================================================================
   10. RTL & LTR BUTTON ICON PLACEMENT & FILE PICKER PADDING FIXES
   =========================================================================== */

/* Ensure proper icon alignment inside all buttons */
.btn,
a.btn,
button.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

[dir="rtl"] .rtl-flip {
    transform: scaleX(-1) !important;
}

/* File Input Container Compact Layout (Eliminates extra bottom padding) */
.ccms-localized-file-input {
    display: flex !important;
    align-items: stretch !important;
    height: 44px !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
}

.ccms-localized-file-input__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    height: 100% !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}

.ccms-localized-file-input__name {
    display: flex !important;
    align-items: center !important;
    align-self: stretch !important;
    height: 100% !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

.card-body>form:last-child {
    margin-bottom: 0 !important;
}

/* Remove extra whitespace gap under file input cards */
/* Remove extra whitespace gap under file input cards */
.card-body form .form-text {
    margin-top: 0.35rem !important;
}

/* ===========================================================================
   System-Wide Table Action Buttons (Client Design Reference Consistency)
   =========================================================================== */

/* Shared Base Table Action Control Specs */
.btn-action-edit,
.btn-action-delete,
.btn-action-view,
.btn-action-download,
.btn-action-pdf,
.btn-action-print,
.btn-action-success,
.ccms-table td .btn-sm,
.table td .btn-sm,
.ccms-table td .btn-text-secondary,
.ccms-table td .btn-text-danger,
.table td .btn-text-secondary,
.table td .btn-text-danger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.4rem !important;
    padding: 0.35rem 0.75rem !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    border-radius: 0.5rem !important;
    line-height: 1.25 !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    vertical-align: middle !important;
}

.ccms-table td .btn-sm i,
.table td .btn-sm i,
.btn-action-edit i,
.btn-action-delete i,
.btn-action-view i,
.btn-action-download i,
.btn-action-pdf i,
.btn-action-print i,
.btn-action-success i {
    font-size: 1.05rem !important;
    margin: 0 !important;
}

/* 1. View Action Control (Soft Sky/Blue Tint + Blue Border) */
.btn-action-view {
    background-color: #eff6ff !important;
    border: 1.5px solid #3b82f6 !important;
    color: #1d4ed8 !important;
}

.btn-action-view:hover,
.btn-action-view:focus {
    background-color: #dbeafe !important;
    border-color: #2563eb !important;
    color: #1e40af !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 8px rgba(59, 130, 246, 0.2) !important;
}

.btn-action-view i {
    color: #2563eb !important;
}

/* 2. Edit Action Control (Soft Amber/Gold Tint + Gold Border) */
.btn-action-edit,
.ccms-table td a.btn-text-secondary:not([title*="عرض"]):not([title*="view"]):not([title*="طباعة"]):not([title*="print"]):not([title*="تحميل"]):not([title*="pdf"]),
.table td a.btn-text-secondary:not([title*="عرض"]):not([title*="view"]):not([title*="طباعة"]):not([title*="print"]):not([title*="تحميل"]):not([title*="pdf"]) {
    background-color: #fffdf0 !important;
    border: 1.5px solid #d97706 !important;
    color: #92400e !important;
}

.btn-action-edit:hover,
.btn-action-edit:focus,
.ccms-table td a.btn-text-secondary:not([title*="عرض"]):not([title*="view"]):not([title*="طباعة"]):not([title*="print"]):not([title*="تحميل"]):not([title*="pdf"]):hover,
.table td a.btn-text-secondary:not([title*="عرض"]):not([title*="view"]):not([title*="طباعة"]):not([title*="print"]):not([title*="تحميل"]):not([title*="pdf"]):hover {
    background-color: #fef3c7 !important;
    border-color: #b45309 !important;
    color: #78350f !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 8px rgba(217, 119, 6, 0.2) !important;
}

.btn-action-edit i,
.ccms-table td a.btn-text-secondary:not([title*="عرض"]):not([title*="view"]):not([title*="طباعة"]):not([title*="print"]):not([title*="تحميل"]):not([title*="pdf"]) i,
.table td a.btn-text-secondary:not([title*="عرض"]):not([title*="view"]):not([title*="طباعة"]):not([title*="print"]):not([title*="تحميل"]):not([title*="pdf"]) i {
    color: #d97706 !important;
}

/* 3. Download / Export Action Control (Soft Emerald/Green Tint + Green Border) */
.btn-action-download,
.btn-action-pdf {
    background-color: #f0fdf4 !important;
    border: 1.5px solid #22c55e !important;
    color: #15803d !important;
}

.btn-action-download:hover,
.btn-action-download:focus,
.btn-action-pdf:hover,
.btn-action-pdf:focus {
    background-color: #dcfce7 !important;
    border-color: #16a34a !important;
    color: #166534 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 8px rgba(34, 197, 94, 0.2) !important;
}

.btn-action-download i,
.btn-action-pdf i {
    color: #16a34a !important;
}

/* 4. Print Action Control (Soft Slate Tint + Slate Border) */
.btn-action-print {
    background-color: #f8fafc !important;
    border: 1.5px solid #64748b !important;
    color: #334155 !important;
}

.btn-action-print:hover,
.btn-action-print:focus {
    background-color: #f1f5f9 !important;
    border-color: #475569 !important;
    color: #0f172a !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 8px rgba(100, 116, 139, 0.2) !important;
}

.btn-action-print i {
    color: #475569 !important;
}

/* 5. Delete / Void Action Control (Red Outline + Soft Pale Pink Background) */
.btn-action-delete,
.ccms-table td .btn-text-danger,
.table td .btn-text-danger,
.ccms-table td button.btn-text-danger,
.table td button.btn-text-danger {
    background-color: #fff0f0 !important;
    border: 1.5px solid #f87171 !important;
    color: #dc2626 !important;
}

.btn-action-delete:hover,
.btn-action-delete:focus,
.ccms-table td .btn-text-danger:hover,
.table td .btn-text-danger:hover,
.ccms-table td button.btn-text-danger:hover,
.table td button.btn-text-danger:hover {
    background-color: #fee2e2 !important;
    border-color: #ef4444 !important;
    color: #991b1b !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 8px rgba(239, 68, 68, 0.2) !important;
}

.btn-action-delete i,
.ccms-table td .btn-text-danger i,
.table td .btn-text-danger i {
    color: #ef4444 !important;
}

/* 4. Action column cell padding & spacing alignment */
.ccms-table td.text-end,
.table td.text-end {
    white-space: nowrap !important;
}

.ccms-table td.text-end .btn+.btn,
.table td.text-end .btn+.btn,
.ccms-table td.text-end a+a,
.table td.text-end a+a,
.ccms-table td.text-end a+button,
.table td.text-end a+button,
.ccms-table td.text-end button+a,
.table td.text-end button+a {
    margin-inline-start: 0.4rem !important;
}

/* ===========================================================================
   Enterprise Brand Button Color Hierarchy
   Primary: Gold Gradient (#dfa238 -> #c48b28)
   Secondary: Dark Royal Navy Blue Gradient (#0b2d71 -> #00194d)
   Tertiary/Success: Emerald Green Gradient (#10b981 -> #059669)
   =========================================================================== */

/* 1. Primary Action Button - Gold */
.btn-gold,
.btn-primary {
    background: linear-gradient(90deg, #dfa238 0%, #c48b28 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(223, 162, 56, 0.35) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-gold:hover,
.btn-gold:focus,
.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(90deg, #c48b28 0%, #a8731d 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(223, 162, 56, 0.45) !important;
}

/* 2. Secondary Action Button - Dark Royal Navy Blue */
.btn-secondary,
.btn-navy,
.btn-dark-navy {
    background: linear-gradient(135deg, #0b2d71 0%, #00194d 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(11, 45, 113, 0.3) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-navy:hover,
.btn-navy:focus,
.btn-dark-navy:hover,
.btn-dark-navy:focus {
    background: linear-gradient(135deg, #00194d 0%, #000f33 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(11, 45, 113, 0.45) !important;
}

/* 3. Tertiary / Success Action Button - Emerald Green */
.btn-success,
.btn-emerald {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-emerald:hover,
.btn-emerald:focus {
    background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.45) !important;
}