html,
body {
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    font-feature-settings: "rlig" 1, "calt" 1;
    font-family: 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Surfaces: shadcn uses borders more than Material-style elevation */
.mud-paper,
.mud-card,
.mud-dialog,
.mud-popover,
.mud-table-container,
.mud-expansion-panels {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    box-shadow: none;
    background-color: var(--mud-palette-surface);
}

.mud-popover.mud-popover-relative-width {
    overflow: hidden;
}

/* App bar: flat, bordered, slightly compact */
.mud-appbar {
    box-shadow: none;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background-color: var(--mud-palette-appbar-background);
    color: var(--mud-palette-appbar-text);
}

/* Buttons */
.mud-button-root {
    border-radius: var(--mud-default-borderradius);
    box-shadow: none;
    text-transform: none;
    font-weight: 500;
    min-height: 2.25rem;
}

.mud-button-filled {
    box-shadow: none;
}

.mud-button-filled-primary:hover {
    box-shadow: none;
    filter: brightness(0.96);
}

.mud-button-outlined,
.mud-button-outlined-primary,
.mud-button-outlined-secondary {
    border-color: var(--mud-palette-lines-default);
}

.mud-button-text:hover,
.mud-button-outlined:hover {
    background-color: var(--mud-palette-action-default-hover);
}

/* Inputs */
.mud-input-control {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.mud-input,
.mud-input-slot {
    font-size: .875rem;
}

@media (pointer: coarse) {
    .mud-input,
    .mud-input-slot,
    input,
    textarea,
    select {
        font-size: 16px;
    }
}

.mud-input-outlined-border {
    border-width: 1px !important;
    border-color: var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.mud-input-outlined:hover .mud-input-outlined-border {
    border-color: var(--mud-palette-text-secondary);
}

.mud-input-control:focus-within .mud-input-outlined-border {
    border-width: 2px !important;
    border-color: var(--mud-palette-primary) !important;
    box-shadow: none !important;
}

.mud-input-outlined.mud-disabled .mud-input-outlined-border {
    border-color: var(--mud-palette-lines-default);
}

/* Tables */
.mud-table {
    background-color: var(--mud-palette-surface);
}

.mud-table-head .mud-table-cell {
    color: var(--mud-palette-text-secondary);
    font-size: .75rem;
    font-weight: 600;
}

.mud-table-cell {
    border-bottom: 1px solid var(--mud-palette-table-lines);
}

/* Menus and lists */
.mud-list-item,
.mud-nav-link {
    border-radius: calc(var(--mud-default-borderradius) - 2px);
}

.mud-list-item:hover,
.mud-nav-link:hover {
    background-color: var(--mud-palette-action-default-hover);
}

.mud-nav-link.active:not(.mud-nav-link-disabled) {
    background-color: var(--mud-palette-secondary);
    color: var(--mud-palette-secondary-text);
}

/* Chips */
.mud-chip {
    border-radius: 9999px;
    font-weight: 500;
}

/* Snackbars/dialogs: less Material, more app-shell */
.mud-snackbar {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    box-shadow: var(--mud-elevation-16);
}