* {
    font-family: 'Cairo', sans-serif !important;
}

:root {
    --primary-purple: #5B4B9E;
    --secondary-purple: #7A68B8;
    --accent-orange: #FF7850;
    --light-orange: #FFB199;
    --dark-purple: #3D2F7A;
    --dark-header: #222f3e;
}

.centered-numeric input {
    text-align: center !important;
}

.centered-numeric .mud-input-outlined-border {
    border-color: var(--primary-purple) !important;
}
.centered-numeric.mud-input-focused .mud-input-outlined-border {
    border-color: var(--primary-purple) !important;
}


/* Page Container */
.page-container {
    padding: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 50%, #dee2e6 100%);
    min-height: 100vh;
    direction: rtl;
}

/* Top Banner */
.top-banner {
    background: var(--dark-header);
    padding: 15px;
    border-radius: 12px;
    margin-bottom: 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.banner-title {
    color: #F7F7F7;
    text-align: center;
    margin: 0;
    font-size: 22px;
    font-weight: 700;
}

/* Action Bar */
.action-bar {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 25px;
    padding: 20px;
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    flex-wrap: wrap;
}

.search-field {
    flex: 1;
    min-width: 250px;
}

.search-field ::deep .mud-input-root {
    background: #f8f9fa !important;
    border-radius: 12px !important;
}

.search-field ::deep .mud-input-outlined {
    border-color: #e9ecef !important;
    color: #1a2f4a !important;
}

.search-field ::deep .mud-input-outlined:hover {
    border-color: var(--primary-purple) !important;
}

.search-field ::deep .mud-input-outlined.mud-input-outlined-focused {
    border-color: var(--primary-purple) !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 4px rgba(91, 75, 158, 0.1) !important;
}

.search-field ::deep .mud-input-adornment svg {
    color: var(--primary-purple) !important;
}

.search-field ::deep input::placeholder {
    color: #adb5bd !important;
}

/* Button Styles */
.action-btn {
    font-weight: 600;
    padding: 10px 24px;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.btn-search {
    background: linear-gradient(135deg, #2980b9, #21618c) !important;
    color: white !important;
    box-shadow: 0 4px 15px rgba(41, 128, 185, 0.3) !important;
}

.btn-search:hover {
    background: linear-gradient(135deg, #21618c, #1a4d6f) !important;
    box-shadow: 0 6px 20px rgba(41, 128, 185, 0.45) !important;
    transform: translateY(-2px);
}

.btn-show-all {
    background: linear-gradient(135deg, #27ae60, #1e8449) !important;
    color: white !important;
    box-shadow: 0 4px 15px rgba(39, 174, 96, 0.3) !important;
}

.btn-show-all:hover {
    background: linear-gradient(135deg, #1e8449, #186a3b) !important;
    box-shadow: 0 6px 20px rgba(39, 174, 96, 0.45) !important;
    transform: translateY(-2px);
}

.btn-add-new {
    background: linear-gradient(135deg, var(--primary-purple), var(--dark-purple)) !important;
    color: white !important;
    box-shadow: 0 4px 15px rgba(91, 75, 158, 0.3) !important;
}

.btn-add-new:hover {
    background: linear-gradient(135deg, var(--dark-purple), var(--primary-purple)) !important;
    box-shadow: 0 6px 20px rgba(91, 75, 158, 0.45) !important;
    transform: translateY(-2px);
}

.btn-warning {
    background: linear-gradient(135deg, #d35400, #a04000) !important;
    color: white !important;
    box-shadow: 0 4px 15px rgba(211, 84, 0, 0.3) !important;
}

.btn-warning:hover {
    background: linear-gradient(135deg, #a04000, #7d3200) !important;
    box-shadow: 0 6px 20px rgba(211, 84, 0, 0.45) !important;
    transform: translateY(-2px);
}

/* Table Styles */
.data-table {
    background-color: white;
    border-radius: 12px;
    overflow: hidden;
}

.data-table ::deep .mud-table-container {
    background: white !important;
}

.table-header {
    background: var(--dark-header) !important;
    color: #F7F7F7 !important;
    font-weight: 700;
    font-size: 16px;
}

.data-table ::deep .mud-table-row {
    background: white !important;
    border-bottom: 1px solid #e9ecef !important;
}

.data-table ::deep .mud-table-row:hover {
    background: rgba(91, 75, 158, 0.08) !important;
}

.data-table ::deep .mud-table-cell {
    color: #1a2f4a !important;
}

/* Pagination */
.pagination-container {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    padding: 20px;
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

::deep .mud-pagination .mud-pagination-item-selected {
    background-color: var(--primary-purple) !important;
    color: white !important;
}

/* MudBlazor Overrides */
::deep .mud-button-filled-primary {
    background-color: var(--primary-purple) !important;
}

::deep .mud-button-filled-primary:hover {
    background-color: var(--dark-purple) !important;
}

::deep .mud-button-filled-secondary {
    background-color: var(--accent-orange) !important;
}

::deep .mud-button-filled-secondary:hover {
    background-color: #e6683d !important;
}

::deep .mud-chip.mud-chip-color-success {
    background-color: #27ae60 !important;
    color: white !important;
}

::deep .mud-chip.mud-chip-color-error {
    background-color: #e74c3c !important;
    color: white !important;
}

::deep .mud-input {
    font-family: 'Cairo', sans-serif !important;
}

/* Custom Dialog Styles */
.custom-dialog {
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
}

.custom-dialog-header {
    background: linear-gradient(135deg, var(--primary-purple), var(--dark-purple)) !important;
    color: white !important;
    padding: 24px !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    text-align: center !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.custom-dialog-content {
    padding: 30px 25px !important;
    direction: rtl !important;
    background: white !important;
    margin: 0 !important;
}

.field-label {
    font-weight: 600 !important;
    color: #1a2f4a !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.custom-dialog-actions {
    padding: 20px 25px !important;
    background-color: #f8f9fa !important;
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    margin: 0 !important;
}

.dialog-save-btn {
    background: linear-gradient(135deg, var(--primary-purple), var(--dark-purple)) !important;
    color: white !important;
    font-weight: 600 !important;
    padding: 10px 30px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 15px rgba(91, 75, 158, 0.3) !important;
    transition: all 0.3s ease !important;
}

.dialog-save-btn:hover {
    background: linear-gradient(135deg, var(--dark-purple), var(--primary-purple)) !important;
    box-shadow: 0 6px 20px rgba(91, 75, 158, 0.45) !important;
    transform: translateY(-2px);
}

.dialog-cancel-btn {
    background: linear-gradient(135deg, #6c757d, #5a6268) !important;
    color: white !important;
    font-weight: 600 !important;
    padding: 10px 30px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 15px rgba(108, 117, 125, 0.3) !important;
    transition: all 0.3s ease !important;
}

.dialog-cancel-btn:hover {
    background: linear-gradient(135deg, #5a6268, #4a4f54) !important;
    box-shadow: 0 6px 20px rgba(108, 117, 125, 0.45) !important;
    transform: translateY(-2px);
}

.dialog-text-field {
    margin-bottom: 0 !important;
}

.dialog-text-field ::deep .mud-input-root {
    background: #f8f9fa !important;
    border-radius: 10px !important;
}

.dialog-text-field ::deep .mud-input-outlined {
    border-color: #e9ecef !important;
}

.dialog-text-field ::deep .mud-input-outlined:hover {
    border-color: var(--primary-purple) !important;
}

.dialog-text-field ::deep .mud-input-outlined.mud-input-outlined-focused {
    border-color: var(--primary-purple) !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 4px rgba(91, 75, 158, 0.1) !important;
}

.dialog-text-field ::deep .mud-input-label {
    display: none !important;
}

.dialog-text-field ::deep input::placeholder {
    color: #adb5bd !important;
}

/* Fix MudDialog and MudPaper */
::deep .mud-paper.custom-dialog {
    border-radius: 16px !important;
    overflow: hidden !important;
}

::deep .mud-dialog {
    border-radius: 16px !important;
    overflow: hidden !important;
}

::deep .mud-dialog-container {
    overflow: visible !important;
}

::deep .mud-overlay {
    backdrop-filter: blur(3px);
}

@media (max-width: 600px) {
    .page-container {
        padding: 1rem 0.5rem;
    }

    .banner-title {
        font-size: 18px;
    }

    .action-bar {
        padding: 15px;
        gap: 10px;
    }

    .action-btn {
        padding: 8px 16px;
    }

    .custom-dialog-header {
        font-size: 18px !important;
        padding: 20px !important;
    }

    .custom-dialog-content {
        padding: 20px 15px !important;
    }

    .dialog-save-btn,
    .dialog-cancel-btn {
        padding: 8px 20px !important;
    }
}