/* Custom Message Box Styling */

/* Main dialog styling */
.custom-message-dialog {
    border-radius: 8px;
    overflow: hidden;
}

/* Title bar styling */
.custom-dialog-title {
    background: #0D669C !important; /* Match app header */
    color: #ffffff !important;
    margin: -24px -24px 0 -24px;
    padding: 20px 24px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Dark mode title bar */
.mud-theme-dark .custom-dialog-title {
    background: #0D669C !important; /* Keep same blue in dark mode */
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* Title text styling */
.dialog-title-text {
    font-weight: 500 !important; /* Match app header weight */
    display: flex;
    align-items: center;
    color: inherit !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 1.25rem !important; /* Match h5 size from app header */
}

.dialog-title-icon {
    font-size: 1.5rem !important;
    opacity: 0.9;
}

/* Content area styling - match page content */
.custom-dialog-content {
    padding: 32px 32px 24px 32px; /* Match page padding (m-8 = 32px) */
    min-height: 80px;
    display: flex;
    align-items: flex-start;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.dialog-message-text {
    line-height: 1.6;
    color: var(--mud-palette-text-primary);
    word-wrap: break-word;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 1rem !important; /* Standard body text size */
}

/* Actions area styling */
.custom-dialog-actions {
    padding: 20px 32px 32px 32px; /* Match page padding */
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    background: var(--mud-palette-surface);
    border-top: 1px solid var(--mud-palette-lines-default);
}

.mud-theme-dark .custom-dialog-actions {
    background: var(--mud-palette-dark);
    border-top: 1px solid var(--mud-palette-dark-lighten);
}

/* Button styling */
.cancel-button {
    min-width: 80px;
    padding: 8px 20px;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.confirm-button {
    min-width: 80px;
    padding: 8px 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.mud-theme-dark .confirm-button {
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* Override MudBlazor's default dialog padding */
.custom-message-dialog .mud-dialog-content {
    padding: 0 !important;
    background: var(--mud-palette-background);
}

.mud-theme-dark .custom-message-dialog .mud-dialog-content {
    background: var(--mud-palette-dark);
}

/* Add subtle animation */
.custom-dialog-title {
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== GLOBAL DIALOG IMPROVEMENTS ===== */
/* These styles apply to ALL MudBlazor dialogs in the application */

/* Improve dialog container */
.mud-dialog-container {
    padding: 20px !important;
}

/* Enhanced dialog styling */
.mud-dialog {
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
    overflow: hidden !important;
    min-width: 400px !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.mud-theme-dark .mud-dialog {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

/* Enhanced dialog title - match app header exactly */
.mud-dialog .mud-dialog-title {
    background: #0D669C !important; /* Match app header color exactly */
    color: #ffffff !important;
    padding: 20px 24px !important;
    margin: 0 !important;
    font-weight: 500 !important; /* Match app header weight */
    font-size: 1.25rem !important; /* Match h5 from app header */
    border-bottom: none !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.mud-theme-dark .mud-dialog .mud-dialog-title {
    background: #0D669C !important; /* Keep same blue in dark mode */
    color: #ffffff !important;
}

/* Enhanced dialog content - match page content */
.mud-dialog .mud-dialog-content {
    padding: 32px 32px !important; /* Match page padding (m-8 = 32px) */
    min-height: 60px !important;
    background: var(--mud-palette-surface) !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.mud-theme-dark .mud-dialog .mud-dialog-content {
    background: var(--mud-palette-dark) !important;
}

/* Enhanced dialog actions */
.mud-dialog .mud-dialog-actions {
    padding: 20px 32px 32px 32px !important; /* Match page padding */
    background: var(--mud-palette-background) !important;
    border-top: 1px solid var(--mud-palette-divider) !important;
    gap: 12px !important;
}

.mud-theme-dark .mud-dialog .mud-dialog-actions {
    background: var(--mud-palette-surface) !important;
}

/* Enhanced buttons in dialogs */
.mud-dialog .mud-dialog-actions .mud-button {
    min-width: 80px !important;
    padding: 10px 20px !important;
    border-radius: 6px !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.mud-dialog .mud-dialog-actions .mud-button-filled {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* Enhanced select controls in dialogs */
.mud-dialog .mud-select {
    margin: 8px 0 !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.mud-dialog .mud-input-control {
    margin: 8px 0 !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Close button styling */
.mud-dialog .mud-dialog-title .mud-icon-button {
    color: #ffffff !important;
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

.mud-dialog .mud-dialog-title .mud-icon-button:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.1) !important;
}

/* Make dialog text more readable - match page text */
.mud-dialog .mud-typography {
    line-height: 1.6 !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Improve form elements in dialogs */
.mud-dialog .mud-input-slot {
    padding: 12px 16px !important;
    font-family: "IBM", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.mud-dialog .mud-select .mud-input-slot {
    min-height: 48px !important;
}

/* Add focus styles */
.mud-dialog .mud-input-control:focus-within {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.2s ease;
}

/* Responsive improvements */
@media (max-width: 768px) {
    .mud-dialog {
        margin: 16px !important;
        min-width: unset !important;
        width: calc(100% - 32px) !important;
    }

    .mud-dialog .mud-dialog-title {
        padding: 16px 20px !important;
    }

    .mud-dialog .mud-dialog-content {
        padding: 24px 20px !important;
    }

    .mud-dialog .mud-dialog-actions {
        padding: 16px 20px 24px 20px !important;
        flex-direction: column;
    }

    .mud-dialog .mud-dialog-actions .mud-button {
        width: 100% !important;
    }
}

/* ===== ENHANCED DIALOG BUTTON STYLING ===== */
/* Ensure all dialog buttons use consistent colors matching app patterns */

/* Primary/Confirm buttons - use app brand color - HIGHEST SPECIFICITY */
.mud-dialog-provider .mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-primary,
.mud-dialog-provider .mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-primary,
.mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-primary,
.mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-primary,
.mud-button.mud-button-filled.mud-button-color-primary,
.confirm-button {
    background-color: #0D669C !important; /* Match app brand color */
    border-color: #0D669C !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

.mud-dialog-provider .mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-primary:hover,
.mud-dialog-provider .mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-primary:hover,
.mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-primary:hover,
.mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-primary:hover,
.mud-button.mud-button-filled.mud-button-color-primary:hover,
.confirm-button:hover {
    background-color: #0A5280 !important; /* Darker shade for hover */
    border-color: #0A5280 !important;
    box-shadow: 0 4px 12px rgba(13, 102, 156, 0.3) !important;
}

/* GLOBAL override for ALL primary buttons in dialogs - maximum specificity */
.mud-dialog-container .mud-button.mud-button-filled.mud-button-color-primary,
.mud-overlay .mud-button.mud-button-filled.mud-button-color-primary {
    background-color: #0D669C !important;
    border-color: #0D669C !important;
    color: #ffffff !important;
}

.mud-dialog-container .mud-button.mud-button-filled.mud-button-color-primary:hover,
.mud-overlay .mud-button.mud-button-filled.mud-button-color-primary:hover {
    background-color: #0A5280 !important;
    border-color: #0A5280 !important;
}

/* Success buttons - for positive actions like Approve */
.mud-dialog-provider .mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-success,
.mud-dialog-provider .mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-success,
.mud-dialog-container .mud-button.mud-button-filled.mud-button-color-success,
.mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-success,
.mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-success {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

.mud-dialog-provider .mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-success:hover,
.mud-dialog-provider .mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-success:hover,
.mud-dialog-container .mud-button.mud-button-filled.mud-button-color-success:hover,
.mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-success:hover,
.mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-success:hover {
    background-color: #218838 !important;
    border-color: #1e7e34 !important;
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3) !important;
}

/* Error/Danger buttons - for destructive actions like Cancel, Decline, Delete */
.mud-dialog-provider .mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-error,
.mud-dialog-provider .mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-error,
.mud-dialog-container .mud-button.mud-button-filled.mud-button-color-error,
.mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-error,
.mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-error {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

.mud-dialog-provider .mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-error:hover,
.mud-dialog-provider .mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-error:hover,
.mud-dialog-container .mud-button.mud-button-filled.mud-button-color-error:hover,
.mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-error:hover,
.mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-error:hover {
    background-color: #c82333 !important;
    border-color: #bd2130 !important;
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3) !important;
}

/* Info buttons - for neutral informational actions like Close */
.mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-info,
.mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-info {
    background-color: #17a2b8 !important;
    border-color: #17a2b8 !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

.mud-dialog .mud-dialog-actions .mud-button.mud-button-filled.mud-button-color-info:hover,
.mud-dialog .mud-dialog-content .mud-button.mud-button-filled.mud-button-color-info:hover {
    background-color: #138496 !important;
    border-color: #117a8b !important;
    box-shadow: 0 4px 12px rgba(23, 162, 184, 0.3) !important;
}

/* Secondary/Cancel buttons - text buttons for dismiss/cancel actions */
.mud-dialog .mud-dialog-actions .mud-button.mud-button-text,
.mud-dialog .mud-dialog-content .mud-button.mud-button-text,
.cancel-button {
    color: #6c757d !important;
    background-color: transparent !important;
    border-color: transparent !important;
    font-weight: 500 !important;
}

.mud-dialog .mud-dialog-actions .mud-button.mud-button-text:hover,
.mud-dialog .mud-dialog-content .mud-button.mud-button-text:hover,
.cancel-button:hover {
    background-color: rgba(108, 117, 125, 0.1) !important;
    color: #495057 !important;
}

/* Outlined buttons - for secondary actions */
.mud-dialog .mud-dialog-actions .mud-button-outlined.mud-button-color-primary,
.mud-dialog .mud-dialog-content .mud-button-outlined.mud-button-color-primary {
    color: #0D669C !important;
    border-color: #0D669C !important;
    background-color: transparent !important;
}

.mud-dialog .mud-dialog-actions .mud-button-outlined.mud-button-color-primary:hover,
.mud-dialog .mud-dialog-content .mud-button-outlined.mud-button-color-primary:hover {
    background-color: rgba(13, 102, 156, 0.1) !important;
    border-color: #0D669C !important;
}

/* Warning buttons - for caution actions */
.mud-dialog .mud-dialog-actions .mud-button-filled.mud-button-color-warning,
.mud-dialog .mud-dialog-content .mud-button-filled.mud-button-color-warning {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #212529 !important;
    font-weight: 500 !important;
}

.mud-dialog .mud-dialog-actions .mud-button-filled.mud-button-color-warning:hover,
.mud-dialog .mud-dialog-content .mud-button-filled.mud-button-color-warning:hover {
    background-color: #e0a800 !important;
    border-color: #d39e00 !important;
    box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3) !important;
}

/* Default buttons - neutral actions */
.mud-dialog .mud-dialog-actions .mud-button-filled.mud-button-color-default,
.mud-dialog .mud-dialog-content .mud-button-filled.mud-button-color-default {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

.mud-dialog .mud-dialog-actions .mud-button-filled.mud-button-color-default:hover,
.mud-dialog .mud-dialog-content .mud-button-filled.mud-button-color-default:hover {
    background-color: #5a6268 !important;
    border-color: #545b62 !important;
    box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3) !important;
}

/* Button focus states */
.mud-dialog .mud-dialog-actions .mud-button:focus,
.mud-dialog .mud-dialog-content .mud-button:focus {
    outline: 2px solid rgba(13, 102, 156, 0.5) !important;
    outline-offset: 2px !important;
}

/* Button disabled states */
.mud-dialog .mud-dialog-actions .mud-button:disabled,
.mud-dialog .mud-dialog-content .mud-button:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* Dark theme adjustments */
.mud-theme-dark .mud-dialog .mud-dialog-actions .mud-button-text,
.mud-theme-dark .mud-dialog .mud-dialog-content .mud-button-text {
    color: #adb5bd !important;
}

.mud-theme-dark .mud-dialog .mud-dialog-actions .mud-button-text:hover,
.mud-theme-dark .mud-dialog .mud-dialog-content .mud-button-text:hover {
    background-color: rgba(173, 181, 189, 0.1) !important;
    color: #ffffff !important;
}

/* ===== ULTIMATE OVERRIDE - CATCH ALL DIALOG BUTTONS ===== */
/* This should catch any dialog buttons that escaped the previous rules */

/* Force ALL primary filled buttons in ANY dialog context to use brand color */
[class*="mud-dialog"] .mud-button-filled[class*="primary"],
.mud-overlay .mud-button-filled[class*="primary"],
.mud-popover .mud-button-filled[class*="primary"] {
    background-color: #0D669C !important;
    border-color: #0D669C !important;
    color: #ffffff !important;
}

[class*="mud-dialog"] .mud-button-filled[class*="primary"]:hover,
.mud-overlay .mud-button-filled[class*="primary"]:hover,
.mud-popover .mud-button-filled[class*="primary"]:hover {
    background-color: #0A5280 !important;
    border-color: #0A5280 !important;
}

/* Force ALL error filled buttons in ANY dialog context to use red */
[class*="mud-dialog"] .mud-button-filled[class*="error"],
.mud-overlay .mud-button-filled[class*="error"],
.mud-popover .mud-button-filled[class*="error"] {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

[class*="mud-dialog"] .mud-button-filled[class*="error"]:hover,
.mud-overlay .mud-button-filled[class*="error"]:hover,
.mud-popover .mud-button-filled[class*="error"]:hover {
    background-color: #c82333 !important;
    border-color: #bd2130 !important;
}

/* Force ALL success filled buttons in ANY dialog context to use green */
[class*="mud-dialog"] .mud-button-filled[class*="success"],
.mud-overlay .mud-button-filled[class*="success"],
.mud-popover .mud-button-filled[class*="success"] {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: #ffffff !important;
}

[class*="mud-dialog"] .mud-button-filled[class*="success"]:hover,
.mud-overlay .mud-button-filled[class*="success"]:hover,
.mud-popover .mud-button-filled[class*="success"]:hover {
    background-color: #218838 !important;
    border-color: #1e7e34 !important;
}