/* MudBlazor overrides mapped to Orym design tokens */

/* ── App bar ── */
.mud-appbar.orym-app-bar {
    height: 56px !important;
    min-height: 56px !important;
    background-color: var(--nav-bg) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--hairline);
    box-shadow: none !important;
    color: var(--fg) !important;
}

.mud-appbar.orym-app-bar .mud-icon-button {
    color: var(--fg-muted) !important;
}

.mud-appbar.orym-app-bar .mud-icon-button:hover {
    color: var(--fg) !important;
    background-color: rgba(127, 127, 127, 0.08) !important;
}

/* ── Drawer ── */
.mud-drawer {
    background-color: var(--bg-panel) !important;
    border-right: 1px solid var(--hairline) !important;
    box-shadow: none !important;
}

.mud-drawer .mud-drawer-header {
    border-bottom: 1px solid var(--hairline);
}

/* ── Main content ── */
.mud-main-content {
    background: transparent !important;
}

.mud-layout .mud-main-content .mud-container {
    background: transparent;
}

/* ── Nav menu ── */
.orym-nav-menu .mud-nav-link {
    font-size: var(--fs-small) !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--fg-muted) !important;
    border-radius: 2px !important;
}

.orym-nav-menu .mud-nav-link:hover {
    color: var(--fg) !important;
    background-color: rgba(127, 127, 127, 0.06) !important;
}

.orym-nav-menu .mud-nav-link.active {
    color: var(--fg) !important;
    background-color: rgba(27, 160, 155, 0.08) !important;
}

.orym-nav-menu .mud-nav-link .mud-nav-link-icon {
    color: var(--fg-faint) !important;
}

.orym-nav-menu .mud-nav-link.active .mud-nav-link-icon {
    color: var(--teal-1) !important;
}

/* ── Typography ── */
.mud-typography-h1,
h1.mud-typography {
    font-size: var(--fs-h2) !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    color: var(--fg) !important;
}

.mud-typography-h2,
h2.mud-typography {
    font-size: var(--fs-h2) !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
}

.mud-typography-h3,
h3.mud-typography {
    font-size: var(--fs-h3) !important;
    font-weight: 500 !important;
}

.mud-typography-subtitle1 {
    font-size: var(--fs-label) !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--fg-muted) !important;
}

.mud-typography-body1 {
    font-size: var(--fs-body) !important;
    color: var(--fg-muted) !important;
}

.mud-typography-body2 {
    font-size: var(--fs-small) !important;
    color: var(--fg-muted) !important;
}

/* ── Paper / surfaces ── */
.mud-paper {
    background-color: var(--bg-2) !important;
    color: var(--fg) !important;
    border-radius: 2px !important;
}

.mud-paper-outlined {
    border-color: var(--hairline) !important;
}

.orym-catalog-list.mud-paper {
    background-color: var(--bg-2) !important;
    border: 1px solid var(--hairline) !important;
}

/* ── Buttons ── */
.mud-button-filled-primary {
    background-color: var(--teal-1) !important;
    color: var(--bg-2) !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    font-size: var(--fs-small) !important;
    font-weight: 500 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}

[data-theme="light"] .mud-button-filled-primary {
    color: #FFFBF4 !important;
}

.mud-button-filled-primary:hover {
    filter: brightness(1.06);
}

.mud-button-outlined-default,
.mud-button-outlined-primary {
    border-color: var(--hairline) !important;
    color: var(--fg-muted) !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    font-size: var(--fs-small) !important;
    border-radius: 2px !important;
}

.mud-button-outlined-primary {
    border-color: var(--teal-1) !important;
    color: var(--teal-1) !important;
}

.mud-button-outlined-default:hover,
.mud-button-outlined-primary:hover {
    background-color: rgba(27, 160, 155, 0.06) !important;
}

/* ── Data grid / tables ── */
.orym-catalog-data-grid.mud-table-root,
.orym-catalog-data-grid .mud-table-root,
.orym-catalog-data-grid.mud-data-grid .mud-table-root {
    border-color: var(--hairline) !important;
    background-color: var(--bg-2) !important;
}

.orym-catalog-data-grid .mud-table-head .mud-table-cell,
.orym-catalog-data-grid .mud-table-head-fixed .mud-table-cell {
    font-size: var(--fs-data) !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--fg-faint) !important;
    background-color: var(--bg-panel) !important;
    border-bottom: 1px solid var(--hairline) !important;
}

.orym-catalog-data-grid .mud-table-body .mud-table-row {
    border-bottom: 1px solid var(--hairline) !important;
}

.orym-catalog-data-grid .mud-table-body .mud-table-row:hover,
.orym-catalog-data-grid .mud-table-row-selected {
    background-color: var(--bg-lift) !important;
}

.orym-catalog-data-grid .mud-table-body .mud-table-cell {
    color: var(--fg) !important;
    font-size: var(--fs-small) !important;
    border-color: var(--hairline) !important;
}

.orym-catalog-data-grid .mud-table-pagination {
    border-top: 1px solid var(--hairline) !important;
    color: var(--fg-muted) !important;
}

.orym-le-status-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 2px;
    white-space: nowrap;
}

.mud-table-bordered .mud-table-root {
    border-color: var(--hairline) !important;
}

.orym-page > .mud-typography-h4 {
    font-size: var(--fs-h3) !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    color: var(--fg) !important;
    margin-bottom: 0.25rem !important;
}

/* ── Drawers (editors) ── */
.mud-drawer--closed.mud-drawer-fixed.mud-drawer-pos-end + .mud-drawer-overlay,
.mud-overlay-drawer .mud-drawer {
    background-color: var(--bg-2) !important;
}

.mud-drawer.mud-drawer-pos-end {
    background-color: var(--bg-2) !important;
    border-left: 1px solid var(--hairline) !important;
    box-shadow: none !important;
}

.mud-drawer.mud-elevation-3,
.mud-drawer.mud-elevation-4,
.mud-drawer.mud-elevation-5 {
    box-shadow: none !important;
}

.mud-drawer .mud-drawer-content {
    background-color: var(--bg-2) !important;
}

/* ── Form fields ── */
.mud-input-control .mud-input-label {
    font-size: var(--fs-data) !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--fg-faint) !important;
}

.mud-input-outlined-border {
    border-color: var(--hairline) !important;
}

.mud-input-outlined:focus-within .mud-input-outlined-border {
    border-color: var(--teal-1) !important;
}

/* ── Chips ── */
.mud-chip.mud-chip-size-small {
    border-radius: 2px !important;
    font-size: var(--fs-data-xs) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.mud-chip-color-primary {
    background-color: rgba(27, 160, 155, 0.10) !important;
    border: 1px solid rgba(27, 160, 155, 0.35) !important;
    color: var(--teal-1) !important;
}

.mud-chip-color-success {
    background-color: rgba(120, 190, 65, 0.10) !important;
    border: 1px solid rgba(120, 190, 65, 0.35) !important;
    color: var(--s-verified) !important;
}

.mud-chip-color-warning {
    background-color: rgba(255, 193, 7, 0.10) !important;
    border: 1px solid rgba(255, 193, 7, 0.35) !important;
    color: var(--s-partial) !important;
}

.mud-chip-color-error {
    background-color: rgba(244, 67, 54, 0.10) !important;
    border: 1px solid rgba(244, 67, 54, 0.35) !important;
    color: var(--s-missing) !important;
}

/* ── Alerts ── */
.mud-alert {
    border-radius: 2px !important;
    border: 1px solid var(--hairline) !important;
}

/* ── Progress ── */
.mud-progress-linear .mud-progress-linear-bar {
    background-color: var(--teal-1) !important;
}

.mud-progress-linear {
    background-color: var(--hairline) !important;
}

/* ── Tabs ── */
.mud-tabs .mud-tab {
    font-size: var(--fs-small) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--fg-muted) !important;
}

.mud-tabs .mud-tab.mud-tab-active {
    color: var(--teal-1) !important;
}

.mud-tabs .mud-tabs-toolbar {
    border-bottom: 1px solid var(--hairline) !important;
}

/* ── Tooltips / snackbars ── */
.mud-tooltip-root .mud-tooltip {
    font-size: var(--fs-data) !important;
    letter-spacing: 0.06em !important;
    border-radius: 2px !important;
}

/* ── Dialogs ── */
.mud-dialog {
    background-color: var(--bg-2) !important;
    border: 1px solid var(--hairline) !important;
    border-radius: 2px !important;
}

/* ── Skeleton ── */
.mud-skeleton {
    background-color: var(--bg-lift) !important;
}

/* ── Page wrapper ── */
.orym-page {
    color: var(--fg);
}
