﻿:root {
   font-size: 14px;
    --cell-padding: 1em;       
    --cell-padding-x: 1em;
    --cell-padding-y: 0.5em; 
    
    --nav-padding-x: 1.1em;
    --nav-padding-y: 0.75em;
    --fancybox-bg: rgba(24, 24, 27, 0.85);
}

.mud-input > input.mud-input-root-outlined,
div.mud-input-slot.mud-input-root-outlined {
    padding: 16px 12px !important;
}

.mud-input-control
.mud-input-label-outlined:not(.mud-input-label-shrink) {
    transform: translate(15px, 15px) scale(1);
}
.mud-main-content {
    height: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.mud-main-content .mud-container{
        padding: 0.25rem 1rem;
}
    .mud-chip.mud-chip-size-medium {
        font-size: var(--mud-typography-default-size) !important;
    }

.mud-chip.mud-chip-size-small {
    font-size: var(--mud-typography-body2-size) !important;
}

.mud-chip {
    font-size: var(--mud-typography-default-size);
}

.mud-tabs {
    background-color: var(--mud-palette-surface);
}

.mud-input-control-margin-dense .mud-input > input.mud-input-root,
.mud-input-control-margin-dense div.mud-input-slot.mud-input-root {
    font-size: var(--mud-typography-default-size);
}

.mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol {
    font-size: var(--mud-typography-default-size) !important;
}


.mud-simple-table table * tr > td, .mud-simple-table table * tr th {
    font-size: var(--mud-typography-default-size) !important;
}

.mud-expand-panel .mud-expand-panel-header {
    font-size: var(--mud-typography-default-size) !important;
}

.mud-button-year {
    font-size: var(--mud-typography-default-size) !important;
}

.mud-table-cell {
    font-size: var(--mud-typography-default-size) !important;
    padding: var(--cell-padding) !important;
    font-variant-numeric: tabular-nums;
}

.mud-table-dense .mud-table-cell {
    font-size: var(--mud-typography-body2-size) !important;
    padding: var(--cell-padding-y) var(--cell-padding-x) !important;
}

.mud-simple-table.mud-table-dense * tr td, .mud-simple-table.mud-table-dense * tr th {
    font-size: var(--mud-typography-body2-size) !important;
    padding: var(--cell-padding-y) var(--cell-padding-x) !important;
}

.mud-button-outlined-size-small {
    font-size: var(--mud-typography-body2-size);
}

.mud-grid.readonly-grid > .mud-grid-item {
    border-bottom: 1px solid var(--mud-palette-table-lines);
    padding-bottom: 4px;
}

.mud-nav-link {
    white-space: normal !important;
    padding: var(--nav-padding-y) var(--nav-padding-x) !important;
}

.mud-nav-group * .mud-navmenu .mud-nav-item .mud-nav-link {
    padding-left: calc(var(--nav-padding-x) * 2) !important;
    padding-inline-start: calc(var(--nav-padding-x) * 2) !important;
}

.mud-nav-group * .mud-navmenu > .mud-nav-group .mud-nav-link {
    padding-left: calc(var(--nav-padding-x) * 2) !important;
    padding-inline-start: calc(var(--nav-padding-x) * 2) !important;
}

.mud-nav-group * .mud-navmenu > .mud-nav-group * .mud-navmenu .mud-nav-item .mud-nav-link {
    padding-left: calc(var(--nav-padding-x) * 3) !important;
    padding-inline-start: calc(var(--nav-padding-x) * 3) !important;
}

.user-button {
    text-transform: none;
    background: rgba(var(--mud-palette-primary-rgb), 0.1)
}

.side-menu .mud-chip.mud-chip-size-small {
    font-size: 0.625rem;
    height: 1.125rem;
    line-height: 1.25;
}
.mud-data-grid .mud-table-root > thead.mud-table-head > tr > th.mud-table-cell {
    padding: 12px 14px !important;
    background: var(--mud-palette-background-gray) !important;
    border-bottom: 1px solid var(--mud-palette-divider) !important;
    white-space: nowrap !important;
}

.mud-data-grid .mud-table-root > thead.mud-table-head .column-header,
.mud-data-grid .mud-table-root > thead.mud-table-head .sortable-column-header {
    color: inherit !important;
    font-weight: 500 !important;
}

    .mud-table.mud-data-grid .mud-toolbar {
        height: auto !important;
        padding: 1rem
    }


    .mud-table.mud-data-grid .mud-toolbar-gutters {
        height: auto !important;
        padding: 1rem
    }

    .mud-table.mud-data-grid .mud-table-toolbar {
        height: auto !important;
        padding: 1rem;
        min-height: 48px;
    }

    .mud-table.mud-data-grid .mud-table-pagination-toolbar {
        height: auto !important;
        padding: 0rem !important;
    }

    .mud-table-cell .mud-icon-button.ma-n3 {
        margin-left: 0 !important;
    }

    .mud-input {
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
    }
        /* Prevent internal hidden elements from ever being displayed */
        .mud-input [style*="display:none"],
        .mud-input [style*="display: none"] {
            display: none !important;
        }

/* Global Outlined Input Height (Normal: 40px, Dense: 34px) */
.mud-input-outlined:not(.mud-input-adorned-end-multiline):not(:has(textarea)) {
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;
    align-items: center;
}

.mud-input-outlined.mud-input-margin-dense:not(.mud-input-adorned-end-multiline):not(:has(textarea)) {
    height: 34px;
    min-height: 34px;
}

/* Slot / Text Field Height & Padding (Normal: 38px / 0 12px, Dense: 32px / 0 10px) */
.mud-input-outlined:not(.mud-input-adorned-end-multiline):not(:has(textarea)) .mud-input-slot {
    height: 38px;
    line-height: 38px;
    padding: 0 12px;
    font-size: var(--mud-typography-default-size);
    box-sizing: border-box;
}

.mud-input-outlined.mud-input-margin-dense:not(.mud-input-adorned-end-multiline):not(:has(textarea)) .mud-input-slot {
    height: 32px;
    line-height: 32px;
    padding: 0 10px;
}

/* Textarea: preserve comfortable multiline padding and auto-expansion */
.mud-input-outlined textarea.mud-input-slot {
    height: auto !important;
    min-height: 72px;
    padding: 8px 12px !important;
    line-height: 1.5 !important;
    font-size: var(--mud-typography-default-size);
    box-sizing: border-box;
}

/* Floating Labels: vertically centered at rest for 40px (11px) and 34px (8px) */
.mud-input-label-outlined:not(.mud-shrink):not(.mud-input-label-margin-dense):not(.mud-input-label-input-adorned-start) {
    transform: translate(12px, 11px) scale(1);
}

.mud-input-label-outlined.mud-input-label-input-adorned-start:not(.mud-shrink):not(.mud-input-label-margin-dense) {
    transform: translate(34px, 11px) scale(1);
}

.mud-input-label-outlined.mud-shrink:not(.mud-input-label-margin-dense) {
    transform: translate(12px, -6px) scale(0.75);
}

.mud-input-label-outlined.mud-input-label-margin-dense:not(.mud-shrink):not(.mud-input-label-input-adorned-start) {
    transform: translate(10px, 8px) scale(1);
}

.mud-input-label-outlined.mud-input-label-input-adorned-start.mud-input-label-margin-dense:not(.mud-shrink) {
    transform: translate(32px, 8px) scale(1);
}

.mud-input-label-outlined.mud-input-label-margin-dense.mud-shrink {
    transform: translate(10px, -6px) scale(0.75);
}

/* Adornments: vertically centered with proportional padding */
.mud-input.mud-input-outlined.mud-input-adorned-start {
    padding-left: 0;
    padding-inline-start: 0;
}

.mud-input.mud-input-outlined.mud-input-adorned-end {
    padding-right: 0;
    padding-inline-end: 0;
}

.mud-input-outlined .mud-input-adornment {
    margin-top: 0;
    margin-bottom: 0;
    align-self: center;
}

.mud-input-outlined .mud-input-adornment-start {
    margin-inline-start: 10px;
    margin-inline-end: 2px;
}

.mud-input-outlined .mud-input-adornment-end {
    margin-inline-start: 2px;
    margin-inline-end: 10px;
}

.mud-input-outlined.mud-input-margin-dense .mud-input-adornment-start {
    margin-inline-start: 8px;
    margin-inline-end: 2px;
}

.mud-input-outlined.mud-input-margin-dense .mud-input-adornment-end {
    margin-inline-start: 2px;
    margin-inline-end: 8px;
}

/* When adornment exists, reduce slot padding so text is not pushed away */
.mud-input-outlined.mud-input-adorned-start .mud-input-slot,
.mud-input-outlined .mud-input-slot.mud-input-root-adorned-start {
    padding-left: 4px !important;
    padding-inline-start: 4px !important;
}

.mud-input-outlined.mud-input-adorned-end .mud-input-slot,
.mud-input-outlined .mud-input-slot.mud-input-root-adorned-end {
    padding-right: 4px !important;
    padding-inline-end: 4px !important;
}

.mud-input-outlined .mud-input-adornment .mud-icon-root {
    font-size: 1.125rem;
    width: 1.125rem;
    height: 1.125rem;
}

    .mud-menu-item .mud-button-root:hover {
        background-color: inherit;
    }

    .mud-typography-subtitle2 {
        color: var(--mud-palette-text-secondary);
    }

    .fancybox__container {
        z-index: 9999;
    }

    .fancybox__backdrop {
        background-color: color-mix(in srgb, var(--mud-palette-overlay-dark) 70%, transparent) !important;
        backdrop-filter: blur(10px) saturate(120%);
        -webkit-backdrop-filter: blur(10px) saturate(120%);
    }

    .page-header {
        background-color: var(--mud-palette-surface);
        border-bottom: 1px solid var(--mud-palette-table-lines);
    }

    .page-header--list {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1.5rem;
        padding: 1.25rem 1.75rem;
    }

    .page-header--record {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 1.5rem;
        padding: 1.25rem 1.75rem;
    }

        .page-header--record .page-header__breadcrumbs {
            grid-column: 1 / -1;
        }

    .page-header__summary {
        display: grid;
        gap: 0.3rem;
        min-width: 0;
    }

    .page-header__actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .page-header__breadcrumbs .mud-breadcrumbs {
        padding: 0 0 0.75rem;
    }

    .page-header__title {
        color: var(--mud-palette-primary);
    }

    .page-header__subtitle {
        margin-top: 0rem;
        color: var(--mud-palette-text-secondary);
    }

    .list-page__search-bar {
        display: flex;
        align-items: center;
        justify-content: flex-start !important;
        gap: 1rem;
        padding: 1.25rem 1.75rem;
        background-color: var(--mud-palette-surface);
        border-bottom: 1px solid var(--mud-palette-table-lines);
    }

        .list-page__search-bar > .mud-select {
            flex-grow: unset;
        }

    .list-page__bulk-action-bar {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.75rem;
        min-height: 3rem;
        padding: 0.5rem 1.75rem;
        background-color: var(--mud-palette-surface);
        border-bottom: 1px solid var(--mud-palette-table-lines);
    }

    .list-page__bulk-action-divider {
        align-self: stretch;
        width: 1px;
        min-height: 1.5rem;
        background-color: var(--mud-palette-divider);
    }

    @media (max-width: 768px) {
        .page-header--list,
        .list-page__search-bar {
            align-items: stretch;
            flex-direction: column;
            padding-inline: 1rem;
        }

        .page-header--record {
            grid-template-columns: minmax(0, 1fr);
            padding-inline: 1rem;
        }

        .page-header__actions {
            justify-content: flex-start;
        }

        .list-page__bulk-action-bar {
            padding-inline: 1rem;
        }
    }

    .record-page {
        display: flex;
        min-height: calc(100vh - 64px);
        flex-direction: column;
        background-color: var(--mud-palette-surface);
    }

    .record-page__content,
    .record-page__actions {
        padding-inline: 1.75rem;
    }

    .record-page__content {
        flex: 1 1 auto;
        padding-block: 1.5rem 2rem;
    }

    .record-page__section-title {
        margin-bottom: 1.25rem;
        color: var(--mud-palette-primary);
    }


    .record-page__actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0.75rem;
        padding-block: 1.25rem;
        border-top: 1px solid var(--mud-palette-table-lines);
    }

    @media (max-width: 768px) {
        .record-page__content,
        .record-page__actions {
            padding-inline: 1rem;
        }

        .record-page__actions {
            flex-wrap: wrap;
            padding-block: 1rem;
        }
    }
