html, body {
    font-family: 'Roboto', sans-serif;
}

/* Ensure MudSelect/MudAutocomplete popovers and date pickers always appear above MudDialog */
.mud-popover {
    z-index: 9999 !important;
}

/* Allow dropdowns and pickers to escape the dialog content clipping context */
.mud-dialog-content {
    overflow: visible !important;
}

.mud-dialog {
    overflow: visible !important;
}

.cursor-pointer {
    cursor: pointer;
}

.mud-nav-link.active {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.12);
    border-left: 4px solid var(--mud-palette-primary);
}

.mud-drawer-content {
    overflow-y: auto;
    overflow-x: hidden;
    max-height: calc(100vh - 64px);
}

.mud-main-content {
    overflow-y: auto;
    height: calc(100vh - 64px);
}

.mud-nav-menu {
    overflow-y: auto;
    overflow-x: hidden;
}

.action-icons-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: 160px;
    align-items: center;
}

.action-icons-wrap .mud-icon-button {
    flex-shrink: 0;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"] {
    max-height: 30px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 16px;
    background-color: var(--mud-palette-primary, #1976d2);
    color: var(--mud-palette-primary-text, #fff);
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.2s ease;
    white-space: nowrap;
}

.btn-primary:hover:not(:disabled) {
    opacity: 0.88;
}

.btn-primary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 16px;
    background-color: #6c757d;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.2s ease;
    white-space: nowrap;
}

.btn-secondary:hover:not(:disabled) {
    opacity: 0.88;
}

.btn-secondary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    background: none;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: inherit;
    transition: background-color 0.2s ease;
}

.btn-icon:hover:not(:disabled) {
    background-color: rgba(0, 0, 0, 0.08);
}

.btn-icon:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
