/* ─────────────────────────────────────────────────────────────────────────
   MudBlazor bridge.

   MudBlazor widgets that have no design-system equivalent yet — snackbars,
   date/time pickers, autocomplete popovers, menus, the odd dialog — stay in
   the app. LeafMudTheme puts them on the DS palette and Manrope; this sheet
   fixes what the theme can't reach (shadows, radii, uppercase labels, the
   Material ripple's blue tint).

   Delete a block here when the corresponding surface is fully converted.
   ───────────────────────────────────────────────────────────────────────── */

/* ── Popovers, menus, dialogs: warm shadow + DS radius ─────────────────────── */
.mud-popover, .mud-menu-popover, .mud-picker-container, .mud-dialog {
    border-radius: var(--r-6) !important;
    box-shadow: var(--sh-3) !important;
    border: 1px solid var(--line);
}
.mud-popover { font-family: var(--font-ui); }
.mud-list-item { font-size: 13px; }
.mud-list-item:hover { background: var(--surface-2) !important; }
.mud-selected-item { background: var(--accent-soft) !important; color: var(--accent-ink) !important; }
.mud-overlay-dialog, .mud-overlay .mud-overlay-scrim { background: rgba(20, 20, 15, 0.34) !important; }

/* ── Snackbar: DS card, not a Material toast ───────────────────────────────── */
.mud-snackbar {
    border-radius: var(--r-6) !important;
    box-shadow: var(--sh-3) !important;
    font-family: var(--font-ui) !important;
    font-size: 13px !important;
    font-weight: 600;
    border: 1px solid var(--line);
    background: var(--surface) !important;
    color: var(--ink-1) !important;
}
.mud-snackbar.mud-alert-filled-success { background: var(--accent-soft) !important; color: var(--accent-ink) !important; border-color: var(--c-sched-bd); }
.mud-snackbar.mud-alert-filled-error   { background: var(--c-conf-bg) !important; color: var(--c-conf-fg) !important; border-color: var(--c-conf-bd); }
.mud-snackbar.mud-alert-filled-warning { background: var(--c-warn-bg) !important; color: var(--c-warn-fg) !important; border-color: var(--c-warn-bd); }
.mud-snackbar.mud-alert-filled-info    { background: var(--c-live-bg) !important; color: var(--c-live-fg) !important; border-color: var(--c-live-bd); }
.mud-snackbar .mud-snackbar-content-message { font-weight: 600; }

/* ── Inputs: square-ish DS control instead of the Material underline/notch ─── */
.mud-input.mud-input-outlined .mud-input-outlined-border { border-radius: var(--r-4); border-color: var(--line); }
.mud-input-control:hover .mud-input-outlined-border { border-color: var(--ink-4) !important; }
.mud-input.mud-input-outlined .mud-input-slot { font-size: 13px; }
.mud-input-label { font-family: var(--font-ui); }
.mud-input-label-inputcontrol { color: var(--ink-3); }

/* ── Buttons: no shouty uppercase, no Material elevation ───────────────────── */
.mud-button-root { text-transform: none !important; letter-spacing: 0 !important; font-weight: 600; border-radius: var(--r-4); }
.mud-button-filled { box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04) !important; }
.mud-button-filled:hover { box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04) !important; }

/* ── Chips / tables: soften toward the DS ──────────────────────────────────── */
.mud-chip { font-family: var(--font-ui); font-weight: 700; font-size: 11px; }
.mud-table-container { font-family: var(--font-ui); }
.mud-table-root { font-size: 13px; }
.mud-table-head .mud-table-cell {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
    color: var(--ink-3); background: var(--surface-2);
}
.mud-paper { border-radius: var(--r-8); }
.mud-elevation-1, .mud-elevation-2 { box-shadow: var(--sh-1) !important; border: 1px solid var(--line); }

/* Always-visible sort arrows (MudBlazor hides them until hover) */
.mud-data-grid .mud-table-cell .column-header .sort-direction-icon { opacity: 0.25 !important; }
.mud-data-grid .mud-table-cell .column-header .sort-direction-icon.mud-direction-asc,
.mud-data-grid .mud-table-cell .column-header .sort-direction-icon.mud-direction-desc { opacity: 1 !important; }
