/* ========================================
   Apple Design System for MudBlazor
   ======================================== */

/* Apple Color Palette */
:root {
    --apple-gray: #8E8E93;
    --apple-gray-light: rgba(142, 142, 147, 0.12);
    --apple-orange: #FF9500;
    --apple-orange-light: rgba(255, 149, 0, 0.12);
    --apple-red: #FF3B30;
    --apple-red-light: rgba(255, 59, 48, 0.12);
    --apple-green: #34C759;
    --apple-green-light: rgba(52, 199, 89, 0.12);
    --apple-text-primary: #1D1D1F;
    --apple-text-secondary: #6E6E73;
    --apple-blue: #007AFF;
    --apple-blue-light: rgba(0, 122, 255, 0.12);
    --apple-border: rgba(0, 0, 0, 0.06);
    --apple-border-hover: rgba(0, 0, 0, 0.1);
    --apple-surface: #FFFFFF;
    --apple-surface-hover: rgba(0, 0, 0, 0.03);
    --apple-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
    --apple-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.08);
    --apple-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.10);
}

/* ========================================
   CARDS
   ======================================== */
.mud-card {
    background: var(--apple-surface) !important;
    border-radius: 16px !important;
    border: 1px solid var(--apple-border);
    box-shadow: var(--apple-shadow-sm) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .mud-card:hover {
        box-shadow: var(--apple-shadow-md) !important;
        border-color: var(--apple-border-hover);
    }

.mud-card-content {
    padding: 24px 24px 0px 24px !important;
}

.mud-card-header {
    padding: 20px 24px !important;
    border-bottom: 1px solid var(--apple-border);
}

.mud-card-actions {
    padding: 12px 24px 16px 24px !important;
    border-top: 1px solid var(--apple-border);
}

/* ========================================
   BUTTONS
   ======================================== */
.mud-button-root {
    border-radius: 12px !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Filled buttons */
.mud-button-filled {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08) !important;
}

    .mud-button-filled:hover {
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.12) !important;
        transform: translateY(-1px);
    }

    .mud-button-filled:active {
        transform: translateY(0);
    }

/* Text buttons - uses MudBlazor primary color */

/* Outlined buttons */
.mud-button-outlined {
    border: 1.5px solid var(--apple-border) !important;
}

    .mud-button-outlined:hover {
        border-color: var(--apple-border-hover) !important;
        background-color: var(--apple-surface-hover) !important;
    }

/* Icon buttons */
.mud-icon-button {
    border-radius: 10px !important;
    transition: all 0.2s ease;
}

    .mud-icon-button:hover {
        background-color: var(--apple-surface-hover) !important;
    }

/* ========================================
   CHIPS / BADGES
   ======================================== */
.mud-chip {
    border-radius: 12px !important;
    font-weight: 500 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.02em !important;
    padding: 4px 12px !important;
    height: 28px !important;
    transition: all 0.2s ease;
}

    /* Color variants */
    .mud-chip.mud-chip-color-secondary.mud-chip-filled {
        background-color: var(--apple-gray-light) !important;
        color: var(--apple-gray) !important;
    }

    .mud-chip.mud-chip-color-warning.mud-chip-filled {
        background-color: var(--apple-orange-light) !important;
        color: var(--apple-orange) !important;
    }

    .mud-chip.mud-chip-color-error.mud-chip-filled {
        background-color: var(--apple-red-light) !important;
        color: var(--apple-red) !important;
    }

    .mud-chip.mud-chip-color-success.mud-chip-filled {
        background-color: var(--apple-green-light) !important;
        color: var(--apple-green) !important;
    }

/* ========================================
   TEXT FIELDS & INPUTS - CORRECTED
   ======================================== */
.mud-input {
    border-radius: 12px !important;
}

.mud-input-control {
    border-radius: 12px !important;
    box-sizing: border-box;
}

.mud-input-outlined .mud-input-outlined-border {
    border-radius: 12px !important;
    border-color: var(--apple-border) !important;
    border-width: 1.5px !important;
}

.mud-input-outlined:hover .mud-input-outlined-border {
    border-color: var(--apple-border-hover) !important;
}

.mud-input-label {
    color: var(--apple-text-secondary) !important;
    font-weight: 500 !important;
}

.mud-input-text {
    color: var(--apple-text-primary) !important;
}

/* Fix adornment icon alignment */
.mud-input-adornment {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    max-height: 44px !important;
    margin-top: 0px !important;
}

/* Input slot visibility - be more specific to avoid hiding needed slots */
/* For text inputs (not selects), hide the duplicate slot */
.mud-input-filled:not(.mud-select):not(.mud-select-input) .mud-input-slot:not(:only-child):last-child {
    display: none !important;
}

/* Ensure slots are visible and properly aligned */
.mud-input-filled .mud-input-slot {
    visibility: visible !important;
    align-items: center !important;
}

/* For select inputs, ensure all slots remain visible */
.mud-select .mud-input-slot,
.mud-select-input .mud-input-slot {
    visibility: visible !important;
    align-items: center !important;
}

.mud-input-filled input {
    line-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.mud-input-filled .mud-input-root {
    align-items: center;
}

/* ========================================
   DIALOGS
   ======================================== */
.mud-dialog {
    border-radius: 20px !important;
    box-shadow: var(--apple-shadow-lg) !important;
}

.mud-dialog-title {
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    padding: 24px 24px 16px 24px !important;
}

.mud-dialog-content {
    padding: 0 24px 20px 24px !important;
}

.mud-dialog-actions {
    padding: 16px 24px 24px 24px !important;
    gap: 12px;
}

/* ========================================
   LISTS
   ======================================== */
.mud-list {
    background-color: transparent !important;
}

.mud-list-item {
    border-radius: 10px !important;
    transition: background-color 0.2s ease;
    margin: 2px 0 !important;
}

    .mud-list-item:hover {
        background-color: var(--apple-surface-hover) !important;
    }

.mud-list-item-text {
    color: var(--apple-text-primary) !important;
}

/* Exclude nav drawer from dark list-item-text override */
.navmenu-container .mud-list-item-text {
    color: white !important;
}

/* ========================================
   EXPANSION PANELS
   ======================================== */
.mud-expand-panel {
    border-radius: 16px !important;
    border: 1px solid var(--apple-border) !important;
    box-shadow: var(--apple-shadow-sm) !important;
    margin-bottom: 16px !important;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .mud-expand-panel:hover {
        box-shadow: var(--apple-shadow-md) !important;
        border-color: var(--apple-border-hover);
    }

.mud-expand-panel-header {
    padding: 16px 20px !important;
    transition: background-color 0.2s ease;
}

    .mud-expand-panel-header:hover {
        background-color: var(--apple-surface-hover) !important;
    }

.mud-expand-panel-content {
    padding: 20px !important;
    border-top: 1px solid var(--apple-border);
}

/* ========================================
   PAPER / SURFACES
   ======================================== */
.mud-paper {
    border-radius: 16px !important;
    border: 1px solid var(--apple-border);
    box-shadow: var(--apple-shadow-sm) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .mud-paper:hover {
        box-shadow: var(--apple-shadow-md) !important;
    }

/* ========================================
   DIVIDERS
   ======================================== */
.mud-divider {
    border-color: var(--apple-border) !important;
}

/* ========================================
   TYPOGRAPHY
   ======================================== */
.mud-typography {
    color: var(--apple-text-primary) !important;
    letter-spacing: -0.01em !important;
}

.mud-typography-h1,
.mud-typography-h2,
.mud-typography-h3,
.mud-typography-h4,
.mud-typography-h5,
.mud-typography-h6 {
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
}

.mud-typography-body2 {
    color: var(--apple-text-secondary) !important;
}

/* ========================================
   MENUS & POPOVERS
   ======================================== */
.mud-menu,
.mud-popover {
    border-radius: 14px !important;
    box-shadow: var(--apple-shadow-lg) !important;
    border: 1px solid var(--apple-border);
    overflow: hidden;
}

.mud-menu-item {
    border-radius: 8px !important;
    margin: 4px 8px !important;
    transition: background-color 0.2s ease;
}

    .mud-menu-item:hover {
        background-color: var(--apple-surface-hover) !important;
    }

/* ========================================
   ALERTS
   ======================================== */
.mud-alert {
    border-radius: 14px !important;
    border: 1px solid var(--apple-border);
    font-weight: 500 !important;
}

/* Info alerts use MudBlazor primary color */

.mud-alert-outlined-warning {
    background-color: var(--apple-orange-light) !important;
    color: var(--apple-orange) !important;
    border-color: var(--apple-orange) !important;
}

.mud-alert-outlined-error {
    background-color: var(--apple-red-light) !important;
    color: var(--apple-red) !important;
    border-color: var(--apple-red) !important;
}

.mud-alert-outlined-success {
    background-color: var(--apple-green-light) !important;
    color: var(--apple-green) !important;
    border-color: var(--apple-green) !important;
}

/* ========================================
   TABS
   ======================================== */
.mud-tabs {
    border-radius: 16px !important;
}

.mud-tab {
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    transition: all 0.2s ease;
    border-radius: 10px !important;
    margin: 0 4px !important;
}

    .mud-tab:hover {
        background-color: var(--apple-surface-hover) !important;
    }

/* Active tab uses MudBlazor primary color */
.mud-tab-active {
    font-weight: 600 !important;
}

.mud-tabs-toolbar {
    border-bottom: 1px solid var(--apple-border) !important;
}

/* ========================================
   SWITCHES & CHECKBOXES
   ======================================== */
.mud-switch {
    transition: all 0.2s ease;
}

    .mud-switch .mud-switch-track {
        border-radius: 16px !important;
    }

.mud-checkbox .mud-icon-root {
    border-radius: 6px !important;
}

/* ========================================
   PROGRESS & LOADING
   ======================================== */
/* Progress uses MudBlazor primary color */

.mud-progress-linear {
    border-radius: 8px !important;
    overflow: hidden;
}

    .mud-progress-linear .mud-progress-linear-bar {
        border-radius: 8px !important;
    }

/* ========================================
   TOOLTIPS
   ======================================== */
.mud-tooltip {
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: 0.813rem !important;
    font-weight: 500 !important;
    box-shadow: var(--apple-shadow-md) !important;
}

/* ========================================
   APP BAR
   ======================================== */
.mud-appbar {
    border-bottom: 1px solid var(--apple-border) !important;
    box-shadow: var(--apple-shadow-sm) !important;
}

/* ========================================
   DRAWER
   ======================================== */
.mud-drawer {
    border-right: 1px solid var(--apple-border) !important;
}

.mud-drawer-header {
    padding: 20px !important;
    border-bottom: 1px solid var(--apple-border);
}

/* ========================================
   PAGINATION
   ======================================== */
.mud-pagination-item {
    border-radius: 10px !important;
    transition: all 0.2s ease;
}

    .mud-pagination-item:hover {
        background-color: var(--apple-surface-hover) !important;
    }

/* Selected pagination uses MudBlazor primary color */
.mud-pagination-item-selected {
    color: white !important;
    font-weight: 600 !important;
}

/* ========================================
   SELECT / AUTOCOMPLETE
   ======================================== */
.mud-select {
    border-radius: 12px !important;
}

.mud-select-input {
    border-radius: 12px !important;
}

/* Open select uses MudBlazor primary color */

/* ========================================
   DATE PICKER
   ======================================== */
.mud-picker {
    border-radius: 16px !important;
}

.mud-picker-calendar-header {
    border-radius: 16px 16px 0 0 !important;
}

.mud-picker-calendar-container {
    padding: 16px !important;
}

.mud-picker-calendar-day {
    border-radius: 8px !important;
    transition: all 0.2s ease;
}

    .mud-picker-calendar-day:hover {
        background-color: var(--apple-surface-hover) !important;
    }

/* Selected date uses MudBlazor primary color */
.mud-picker-calendar-day-selected {
    color: white !important;
    font-weight: 600 !important;
}

/* ========================================
   SNACKBAR / TOAST
   ======================================== */
.mud-snackbar {
    border-radius: 14px !important;
    box-shadow: var(--apple-shadow-lg) !important;
    font-weight: 500 !important;
}

/* ========================================
   BADGE
   ======================================== */
.mud-badge {
    border-radius: 10px !important;
    font-weight: 600 !important;
    font-size: 0.7rem !important;
}

/* ========================================
   TIMELINE
   ======================================== */
/* Timeline uses MudBlazor primary color */
.mud-timeline-item-dot {
    border-radius: 50% !important;
}

/* ========================================
   STEPPER
   ======================================== */
.mud-stepper {
    border-radius: 16px !important;
}

.mud-stepper-step {
    border-radius: 12px !important;
    transition: all 0.2s ease;
}

    .mud-stepper-step:hover {
        background-color: var(--apple-surface-hover) !important;
    }

/* ========================================
   UTILITY CLASSES
   ======================================== */
.apple-text-primary {
    color: var(--apple-text-primary) !important;
}

.apple-text-secondary {
    color: var(--apple-text-secondary) !important;
}

/* ========================================
   FORM VALIDATION (Blazor)
   ======================================== */
.valid.modified:not([type=checkbox]) {
    border-color: var(--apple-green);
}

.valid.modified:not([type=checkbox]):focus {
    border-color: var(--apple-green);
    box-shadow: 0 0 0 3px rgba(52, 199, 89, 0.1);
}

.invalid {
    border-color: var(--apple-red) !important;
}

.invalid:focus {
    border-color: var(--apple-red) !important;
    box-shadow: 0 0 0 3px rgba(255, 59, 48, 0.1) !important;
}

.validation-message {
    color: var(--apple-red);
    font-size: 0.875rem;
    margin-top: 4px;
    display: block;
}

/* ========================================
   SCROLLBAR STYLING
   ======================================== */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: var(--apple-gray);
    border-radius: 10px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

    ::-webkit-scrollbar-thumb:hover {
        background: var(--apple-text-secondary);
        border: 2px solid transparent;
        background-clip: padding-box;
    }

/* Firefox scrollbar */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--apple-gray) transparent;
}

.mud-input-root {
    padding: 0px;
}

