/* Dropdown Auto-Close Enhancement Styles */

/* Remove broad elevation. Keep standard z-index for dropdowns so blur/auto-close works */
/* .mud-popover { z-index: var(--egk-z-popover-strong,12040) !important; } */

/* Autocomplete and Select dropdowns: standard stacking, allow auto-close */
.mud-autocomplete .mud-popover,
.mud-select .mud-popover {
    z-index: var(--egk-z-popover,1500) !important;
}

/* Note: avoid overriding MudBlazor's popover show/hide mechanics globally.
   MudBlazor v9 changed popover visibility behavior; forcing `.mud-popover-hidden` styles here
   can prevent menus (MudMenu) from ever becoming visible. */

/* Ensure dropdown content is properly contained */
.mud-autocomplete .mud-list,
.mud-select .mud-list {
    max-height:300px;
    overflow-y: auto;
}

/* Improve visibility of focused dropdown triggers */
.mud-autocomplete input:focus,
.mud-select input:focus,
.mud-select .mud-input-control:focus {
    border-color: var(--mud-primary, #594ae2);
    box-shadow: 0 0 0 1px var(--mud-primary, #594ae2);
}

/* Performance optimization for large lists */
.mud-autocomplete .mud-list .mud-list-item,
.mud-select .mud-list .mud-list-item {
    contain: layout style;
}

/* Accessibility note:
   MudBlazor v9 uses aria attributes differently for popovers; do not force-hide by `[aria-hidden="true"]`
   because it can prevent `MudMenu`/`MudSelect` popovers from ever becoming visible. */

/* Mobile responsiveness for dropdowns */
@media (max-width:768px) {
    .mud-autocomplete .mud-popover,
    .mud-select .mud-popover {
        max-width: calc(100vw -2rem);
        max-height:50vh;
    }
    
    .mud-autocomplete .mud-list,
    .mud-select .mud-list {
        max-height:40vh;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .mud-autocomplete input:focus,
    .mud-select input:focus,
    .mud-select .mud-input-control:focus {
        border-color: var(--mud-primary-darken, #7c4dff);
        box-shadow:0001px var(--mud-primary-darken, #7c4dff);
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .mud-autocomplete .mud-popover,
    .mud-select .mud-popover {
        border:2px solid currentColor;
    }
    
    .mud-autocomplete input:focus,
    .mud-select input:focus,
    .mud-select .mud-input-control:focus {
        outline:2px solid currentColor;
        outline-offset:2px;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .mud-autocomplete .mud-popover,
    .mud-select .mud-popover,
    .mud-autocomplete.focus-transitioning .mud-popover,
    .mud-select.focus-transitioning .mud-popover {
        transition: none !important;
    }
}

/* ============================================================
   EntityTable row-action menu (shared across all CRM & Sales grids)
   Modern, professional dropdown: rounded surface, soft elevation,
   animated entrance, padded pill-style items with hover affordance.
   ============================================================ */

/* Trigger button (the "⋮" in the Actions column) */
.eg-row-actions-trigger.mud-button-root {
    border-radius: 10px;
    color: var(--mud-palette-text-secondary);
    transition: background-color .18s ease, color .18s ease, transform .12s ease;
}
.eg-row-actions-trigger.mud-button-root:hover {
    background-color: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-primary);
    transform: translateY(-1px);
}

/* Popover surface */
.mud-popover.eg-row-actions-popover {
    min-width: 190px;
    padding: 6px;
    border-radius: 14px !important;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    box-shadow: 0 14px 36px -10px rgba(15, 23, 42, .30),
                0 4px 12px -4px rgba(15, 23, 42, .16) !important;
    overflow: hidden;
    transform-origin: top right;
    animation: eg-row-actions-pop .15s cubic-bezier(.2, .8, .3, 1);
}

@keyframes eg-row-actions-pop {
    from { opacity: 0; transform: translateY(-6px) scale(.96); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Item list container */
.eg-row-actions-popover .mud-list {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Individual items — rounded "pill" rows with a hover slide */
.eg-row-actions-popover .mud-list-item {
    border-radius: 9px;
    min-height: 40px;
    padding: 8px 12px;
    font-weight: 500;
    transition: background-color .15s ease, padding-inline-start .15s ease, color .15s ease;
}
.eg-row-actions-popover .mud-list-item:hover {
    background-color: var(--mud-palette-action-default-hover);
    padding-inline-start: 16px;
}
.eg-row-actions-popover .mud-list-item-icon {
    min-width: 32px;
}
.eg-row-actions-popover .mud-list-item .mud-icon-root {
    font-size: 1.15rem;
}

/* Dark mode */
.dark .mud-popover.eg-row-actions-popover,
.mud-theme-dark .mud-popover.eg-row-actions-popover {
    background: rgba(32, 32, 36, .94);
    border-color: rgba(255, 255, 255, .08);
    box-shadow: 0 14px 38px -10px rgba(0, 0, 0, .62),
                0 4px 14px -6px rgba(0, 0, 0, .42) !important;
}

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .mud-popover.eg-row-actions-popover { animation: none; }
    .eg-row-actions-trigger.mud-button-root:hover { transform: none; }
    .eg-row-actions-popover .mud-list-item:hover { padding-inline-start: 12px; }
}
