/*
 * Shared administration stylesheet.
 * Loaded after Sli.Web.Shared/ui.css and limited to administration-specific
 * grids, actions, dialogs and shell behavior. Reuse shared design tokens.
 */

.admin-content {
    --admin-form-max-width: var(--ui-legacy-form-width);
    --admin-grid-radius: var(--ui-radius-grid);
    --admin-action-gap: var(--ui-space-3);
    --admin-section-gap: var(--ui-space-6);
    --admin-page-header-min-height: var(--ui-length-7rem);
}

.admin-content .ui-page-header {
    min-height: var(--admin-page-header-min-height);
}

.admin-content.mud-container:has(:is(.employee-group-detail, .employee-group-rule-actions)) {
    max-width: var(--ui-grid-page-max) !important;
}

/* SK: Kniha úrazov potrebuje viac miesta pre navigáciu a dve kolóny polí; ostatné detaily si zachovávajú svoju šírku.
   EN: The accident book needs extra room for navigation and two field columns; other details retain their width. */
.admin-content.mud-container:has(#accident-evidence-top) {
    max-width: calc(var(--ui-page-max) + var(--ui-length-200px)) !important;
}

/* SK: Návrh MP-038 používa v evidencii SR/ČR šírku 1344 px aj pre hlavičku.
   EN: MP-038 uses 1344 px for the header and evidence content in both SK and CZ. */
.admin-content.mud-container:has(.accident-evidence-page-redesign) {
    max-width: calc(1344px + 2 * var(--ui-space-8)) !important;
}

/* The optional employee grid must not change the organization workspace width. */
.admin-content.mud-container:has(.organization-workspace) {
    max-width: var(--ui-page-max) !important;
}

.admin-content .error-log-type-filter {
    width: 100%;
    max-width: var(--ui-length-480px);
    min-width: 0;
}

.admin-content .admin-form-panel {
    width: 100%;
    max-width: var(--admin-form-max-width);
    padding: var(--ui-space-8);
}

.admin-content .admin-form-stack {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-4);
}

.admin-content .admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ui-space-4);
}

.admin-content .admin-list-actions,
.admin-content .admin-form-actions {
    display: flex;
    align-items: center;
    gap: var(--admin-action-gap);
}

.admin-content .admin-list-actions {
    justify-content: space-between;
    margin-bottom: var(--admin-section-gap);
}

.admin-content .admin-form-actions {
    justify-content: flex-end;
    margin-top: var(--admin-section-gap);
}

.admin-content .admin-form-switch {
    align-items: center;
    display: flex;
}

.admin-content .admin-grid-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--ui-space-2);
    white-space: nowrap;
}

.admin-content .admin-grid-actions-column {
    min-width: var(--ui-dimension-15rem);
    width: var(--ui-dimension-15rem);
}

.admin-content .admin-hero {
    max-width: var(--ui-dimension-780px);
    margin-bottom: var(--ui-space-12);
}

.admin-content .admin-hero h2 {
    margin: var(--ui-space-1) 0 var(--ui-space-4);
    font-weight: var(--ui-weight-title);
    letter-spacing: var(--ui-length-negative-d04em);
}

.admin-content .admin-hero h6 { color: var(--ui-muted); }

.admin-content .admin-card,
.admin-content .admin-metric-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: var(--ui-dimension-230px);
}

.admin-content .admin-card {
    gap: var(--ui-space-5);
    padding: var(--ui-space-8) !important;
    border: var(--ui-border-width) solid var(--ui-soft);
    border-radius: var(--ui-radius-input) !important;
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow);
}

.admin-content .admin-metric-card { gap: var(--ui-space-3); }
.admin-content :is(.admin-card, .admin-metric-card) .mud-button-root { margin-top: auto; }

@media (max-width: 599.98px) {
    .admin-content .admin-form-panel { padding: var(--ui-space-5); }
    .admin-content .admin-form-grid { grid-template-columns: minmax(0, 1fr); }
    .admin-content :is(.admin-list-actions, .admin-form-actions) {
        align-items: stretch;
        flex-direction: column;
    }
    .admin-content :is(.admin-list-actions, .admin-form-actions) .ui-button {
        justify-content: center;
        width: 100%;
    }
}

.log-page-header {
    display: flex;
    align-items: center;
    gap: var(--ui-space-5);
    margin-bottom: var(--ui-space-9);
    padding: var(--ui-space-6) var(--ui-space-6);
    border: var(--ui-length-1px) solid var(--ui-color-rgba-229-0-112-10);
    border-radius: var(--ui-radius-input);
    background: linear-gradient(120deg, var(--ui-surface) 0%, var(--ui-soft) 100%);
    box-shadow: var(--ui-shadow);
}

.log-page-header .mud-typography-h3 {
    font-size: var(--ui-font-41);
    font-weight: var(--ui-weight-title);
    letter-spacing: var(--ui-length-negative-d035em);
}

.log-page-header > .mud-icon-root {
    width: var(--ui-length-50px);
    height: var(--ui-length-50px);
    padding: var(--ui-space-3);
    border-radius: var(--ui-radius-input);
    background: var(--ui-primary-soft);
}

.portal-data-table {
    overflow: hidden;
    border: var(--ui-length-1px) solid var(--ui-border);
    border-radius: var(--ui-radius-input);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow);
}

.portal-data-table .mud-table-head {
    background: var(--ui-soft);
}

.portal-data-table .mud-table-head .mud-table-cell {
    color: var(--ui-color-7d164c);
    font-size: var(--ui-font-xs);
    font-weight: var(--ui-weight-title);
    letter-spacing: var(--ui-length-d045em);
    text-transform: uppercase;
}

.portal-data-table .mud-table-cell {
    padding: var(--ui-space-4) var(--ui-space-4);
    border-bottom-color: var(--ui-soft);
}

.portal-data-table .mud-table-row:hover {
    background: var(--ui-soft);
}

/* Shared grid presentation; column resizing is disabled on the components. */
.portal-data-table.mud-data-grid {
    --mud-palette-table-striped: var(--ui-soft);
    --mud-palette-table-hover: var(--ui-soft);
    --mud-palette-table-lines: var(--ui-divider);
    width: 100%;
    min-width: 0;
    border: var(--ui-length-1px) solid var(--ui-border);
    border-radius: var(--ui-radius-input);
    box-shadow: var(--ui-shadow);
}

.portal-data-table.mud-data-grid > .mud-table-container {
    min-width: 100%;
}

/* The shared grid chooses a page size that fits below its heading and pager. */
.portal-data-table.mud-data-grid {
    display: flex;
    flex-direction: column;
}

.portal-data-table.mud-data-grid > .mud-table-container {
    order: 2;
    flex: 1 1 auto;
    overflow-x: auto;
    overflow-y: visible;
}

.portal-data-table.mud-data-grid > .mud-table-toolbar,
.portal-data-table.mud-data-grid > .mud-table-pagination {
    flex: none;
}

.portal-data-table.mud-data-grid > .mud-table-toolbar { order: 0; }
.portal-data-table.mud-data-grid > .mud-table-pagination { order: 1; }
.portal-data-table.mud-data-grid > .mud-table-pagination .mud-table-pagination-toolbar {
    border-top: 0;
    border-bottom: var(--ui-length-1px) solid var(--ui-divider);
}

.portal-data-table.mud-data-grid .mud-table-head .mud-table-cell {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--ui-surface);
}

.portal-data-table.mud-data-grid > .mud-table-toolbar {
    height: auto;
    min-height: var(--ui-length-52px);
    gap: var(--ui-space-3);
    padding: var(--ui-space-2) var(--ui-space-4);
    border-bottom: var(--ui-length-1px) solid var(--ui-divider);
    background: var(--ui-surface);
}

.portal-data-table.mud-data-grid > .mud-table-toolbar .mud-icon-button {
    padding: var(--ui-space-1);
    color: var(--ui-muted);
}

.portal-grid-heading {
    display: inline-flex;
    align-items: center;
    gap: var(--ui-space-2);
    color: var(--ui-text);
    font-size: var(--ui-font-sm);
    font-weight: var(--ui-weight-medium);
    var(--ui-surface)-space: nowrap;
}

.portal-grid-heading .mud-icon-root {
    color: var(--ui-color-b9216b);
    width: var(--ui-length-20px);
    height: var(--ui-length-20px);
}

.portal-grid-hint {
    color: var(--ui-muted);
    font-size: var(--ui-font-xs);
    line-height: 1.4;
}

.portal-data-table.mud-data-grid .mud-table-head .mud-table-cell {
    padding: var(--ui-space-2) var(--ui-space-4);
    border-bottom: var(--ui-length-1px) solid var(--ui-border);
    background: var(--ui-soft);
    color: var(--ui-muted);
    font-size: var(--ui-font-xs);
    font-weight: var(--ui-weight-medium);
    letter-spacing: 0;
    text-transform: none;
    var(--ui-surface)-space: nowrap;
}

.portal-data-table.mud-data-grid .mud-table-body .mud-table-cell {
    padding: var(--ui-space-3) var(--ui-space-4);
    border-bottom-color: var(--ui-divider);
    color: var(--ui-text);
    font-size: var(--ui-font-sm);
    line-height: 1.5;
}

.portal-data-table.mud-data-grid .mud-table-cell strong {
    color: var(--ui-text);
    font-weight: var(--ui-weight-medium);
}

.portal-data-table.mud-data-grid .column-header {
    gap: var(--ui-space-2);
}

.portal-data-table.mud-data-grid .column-options {
    flex-shrink: 0;
    gap: var(--ui-space-1);
}

.portal-data-table.mud-data-grid .column-header .mud-icon-button {
    padding: var(--ui-space-1);
    border-radius: var(--ui-radius-input);
    color: var(--ui-muted);
    transition: background-color .15s ease, color .15s ease;
}

.portal-data-table.mud-data-grid .column-header .sort-direction-icon {
    margin-inline: 0;
    opacity: 0;
}

.portal-data-table.mud-data-grid .column-header:hover .sort-direction-icon,
.portal-data-table.mud-data-grid .column-header:focus-within .sort-direction-icon {
    opacity: .65;
}

.portal-data-table.mud-data-grid .column-header .column-options .mud-menu .mud-icon-button-label {
    opacity: .65;
}

.portal-data-table.mud-data-grid .column-header .mud-icon-button:hover,
.portal-data-table.mud-data-grid .column-header .column-options .sort-direction-icon:hover {
    opacity: 1;
    color: var(--ui-color-ad1457);
    background: var(--ui-soft);
}

.portal-data-table.mud-data-grid .sortable-column-header:hover {
    color: var(--ui-color-ad1457);
}

.portal-data-table.mud-data-grid .mud-table-cell:has(.sort-direction-icon:is(.mud-direction-asc, .mud-direction-desc)) {
    background: var(--ui-soft);
    color: var(--ui-color-733e83);
    box-shadow: var(--ui-shadow);
}

.portal-data-table.mud-data-grid .column-header .column-options .sort-direction-icon:is(.mud-direction-asc, .mud-direction-desc) {
    opacity: 1;
    color: var(--ui-color-733e83);
    background: var(--ui-border);
}

.portal-data-table.mud-data-grid .filter-button.filtered {
    color: var(--ui-color-b60058);
    background: var(--ui-soft);
    box-shadow: var(--ui-shadow);
}

.portal-data-table.mud-data-grid .mud-table-cell:has(.filter-button.filtered) {
    box-shadow: var(--ui-shadow);
}

.portal-data-table.mud-data-grid .mud-icon-button:focus-visible {
    outline: var(--ui-length-2px) solid var(--ui-color-b9216b);
    outline-offset: var(--ui-length-2px);
}

.portal-data-table.mud-data-grid .grid-actions-column {
    width: var(--ui-length-1px);
    white-space: nowrap;
}

.portal-data-table.mud-data-grid .grid-actions-column .column-header {
    justify-content: flex-start;
}

.portal-data-table.mud-data-grid .grid-actions-column .grid-actions {
    flex-wrap: nowrap;
}

.portal-data-table.mud-data-grid .grid-actions {
    gap: var(--ui-space-2);
}

.admin-content .email-delivery-grid,
.admin-content .email-delivery-grid > .mud-table-container {
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 960px) {
    .admin-content .email-delivery-grid .mud-table-root {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }

    .admin-content .email-delivery-grid .mud-table-cell:nth-child(1) { width: 18%; }
    .admin-content .email-delivery-grid .mud-table-cell:nth-child(2) { width: 22%; }
    .admin-content .email-delivery-grid .mud-table-cell:nth-child(3) { width: 10%; }
    .admin-content .email-delivery-grid .mud-table-cell:nth-child(4) { width: 12%; }
    .admin-content .email-delivery-grid .mud-table-cell:nth-child(5) { width: 11%; }
    .admin-content .email-delivery-grid .mud-table-cell:nth-child(6) { width: 27%; }
}

.admin-content .email-delivery-grid .mud-table-cell {
    white-space: normal;
    overflow-wrap: anywhere;
}

.admin-content .email-delivery-grid .email-grid-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ui-space-1);
    min-width: 0;
}

.admin-content .email-delivery-grid .grid-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: var(--ui-space-3);
    row-gap: var(--ui-space-2);
}

@media (max-width: 1279.98px) {
    .admin-content .email-delivery-grid .grid-actions { flex-wrap: wrap; }
}

.admin-content .email-delivery-grid .email-grid-meta {
    color: var(--ui-muted);
    font-size: var(--ui-font-xs);
}

.portal-data-table.mud-data-grid .mud-table-pagination-toolbar {
    height: auto;
    min-height: var(--ui-length-52px);
    padding: var(--ui-space-2) var(--ui-space-3);
    border-top-color: var(--ui-divider);
    background: var(--ui-soft);
    color: var(--ui-muted);
    font-size: var(--ui-font-xs);
}

/* MudPopover renders these grid panels outside the table's DOM tree. */
.column-filter-popup.mud-popover,
.mud-data-grid-columns-panel.mud-popover {
    max-width: calc(100vw - var(--ui-length-24px)) !important;
    border: var(--ui-length-1px) solid var(--ui-border);
    border-radius: var(--ui-radius-input);
    background: var(--ui-surface);
    color: var(--ui-text);
    box-shadow: var(--ui-shadow);
}

.column-filter-popup .mud-input-control,
.column-filter-popup .mud-grid-item {
    min-width: 0;
}

.column-filter-popup.mud-popover {
    width: var(--ui-length-340px);
    padding: var(--ui-space-5) !important;
    border-top: var(--ui-length-3px) solid var(--ui-border);
    background: linear-gradient(180deg, var(--ui-soft) 0, var(--ui-surface) var(--ui-length-76px));
}

/* Column filters are rendered at the grid, not inside the columns panel.
   Keep them above that panel; nested selects inherit the next layer via MudPopover. */
body:has(.mud-data-grid-columns-panel.mud-popover-open) .column-filter-popup.mud-popover {
    z-index: calc(var(--mud-zindex-popover, 1200) + 2) !important;
}

.mud-data-grid-columns-panel.grid-settings-with-filter {
    max-height: var(--grid-settings-height) !important;
}

.column-filter-popup.grid-filter-below-settings {
    position: fixed !important;
    top: var(--grid-filter-top) !important;
    left: var(--grid-filter-left) !important;
    max-height: var(--grid-filter-height) !important;
    transform: none !important;
    margin: 0 !important;
    overflow-y: auto;
}

.column-filter-popup > .mud-grid {
    width: 100%;
    margin: 0;
    row-gap: var(--ui-space-4);
}

.column-filter-popup > .mud-grid > .mud-grid-item {
    padding: 0;
}

.column-filter-popup .mud-grid-spacing-xs-0 {
    row-gap: var(--ui-space-3);
}

.column-filter-popup :is(.filter-operator, .filter-input, .filter-input-date, .filter-input-time) {
    margin-block: 0 !important;
}

.column-filter-popup .mud-input {
    min-height: var(--ui-length-42px);
    border: var(--ui-length-1px) solid var(--ui-border);
    border-radius: var(--ui-radius-input);
    background: var(--ui-surface);
    color: var(--ui-text);
    font-size: var(--ui-font-sm);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.column-filter-popup .mud-input:focus-within {
    border-color: var(--ui-color-b9216b);
    box-shadow: var(--ui-shadow);
}

.column-filter-popup .mud-input.mud-input-underline::before,
.column-filter-popup .mud-input.mud-input-underline::after {
    /* The outlined field replaces MudBlazor's underline, including hover/focus. */
    display: none;
    content: none;
}

.column-filter-popup .mud-input-label {
    color: var(--ui-muted);
}

.column-filter-popup .mud-input:not(.mud-input-outlined) .mud-input-root {
    padding: var(--ui-space-2) var(--ui-space-3);
}

.column-filter-popup .mud-input-adornment-end {
    margin-inline: 0 var(--ui-space-2);
    color: var(--ui-muted);
}

.column-filter-popup > .mud-grid > .mud-grid-item:last-child {
    align-items: center;
    gap: var(--ui-space-2);
    padding-top: var(--ui-space-3);
    border-top: var(--ui-length-1px) solid var(--ui-soft);
}

.column-filter-popup :is(.clear-filter-button, .apply-filter-button) {
    text-transform: none;
    letter-spacing: 0;
    font-weight: var(--ui-weight-medium);
}

@media (prefers-reduced-motion: reduce) {
    .column-filter-popup .mud-input {
        transition: none;
    }
}

@media (max-width: 599.98px) {
    .portal-grid-hint {
        display: none;
    }

    .portal-data-table.mud-data-grid.mud-xs-table > .mud-table-container {
        width: 100% !important;
    }

    .portal-data-table.mud-data-grid .mud-table-pagination-toolbar {
        justify-content: flex-end;
        gap: var(--ui-space-1);
        padding: var(--ui-space-2);
    }

    .portal-data-table.mud-data-grid .mud-table-pagination-spacer {
        display: none;
    }

    .portal-data-table.mud-data-grid.mud-xs-table .mud-table-cell {
        gap: var(--ui-space-3);
        overflow-wrap: anywhere;
        var(--ui-surface)-space: normal;
        width: auto;
    }

    .portal-data-table.mud-data-grid.mud-xs-table .grid-actions {
        flex-wrap: wrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-data-table.mud-data-grid .column-header .mud-icon-button {
        transition: none;
    }
}

.grid-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--ui-space-1);
}

.grid-actions form {
    margin: 0;
}

.grid-actions .grid-action-button {
    border-radius: var(--ui-radius-input);
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.grid-actions .grid-action-button:hover:not(:disabled) {
    transform: translateY(var(--ui-length-negative-1px));
    box-shadow: var(--ui-shadow);
}

.admin-actions {
    gap: var(--ui-space-3);
}

.admin-actions .admin-edit-button,
.admin-actions .admin-delete-button,
.admin-create-button {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    min-height: 0;
    padding: var(--ui-space-2) var(--ui-space-3);
    border: var(--ui-length-1d5px) solid var(--ui-danger);
    border-radius: var(--ui-radius-pill);
    color: var(--ui-danger);
    background: var(--ui-surface);
    font-size: var(--ui-font-xs);
    letter-spacing: var(--ui-length-d06em);
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .16s ease, background-color .15s ease, color .15s ease;
}

.admin-actions .admin-edit-button .mud-button-label,
.admin-actions .admin-delete-button .mud-button-label,
.admin-create-button .mud-button-label {
    display: inline-flex;
    align-items: center;
    gap: var(--ui-space-1);
}

.admin-actions .admin-edit-button .mud-button-icon-start,
.admin-actions .admin-delete-button .mud-button-icon-start,
.admin-create-button .mud-button-icon-start {
    margin-inline: 0;
}

.admin-actions .admin-edit-button {
    border-color: var(--ui-text);
    color: var(--ui-text);
}

.admin-create-button {
    border-color: var(--ui-danger) !important;
    color: var(--ui-danger) !important;
}

.admin-create-button:hover {
    transform: translateY(var(--ui-length-negative-2px));
    border-color: var(--ui-danger) !important;
    color: var(--ui-danger) !important;
    background: var(--ui-hover) !important;
}

.admin-create-button:focus-visible {
    outline: var(--ui-length-2px) solid var(--ui-danger);
    outline-offset: var(--ui-length-2px);
}

.admin-actions .admin-edit-button:hover {
    transform: translateY(var(--ui-length-negative-2px));
    color: var(--ui-text);
    background: var(--ui-hover);
    border-color: var(--ui-text) !important;
}

.admin-actions .admin-delete-button:hover {
    transform: translateY(var(--ui-length-negative-2px));
    color: var(--ui-danger);
    background: var(--ui-hover);
    border-color: var(--ui-danger) !important;
}

.admin-actions .admin-edit-button:focus-visible {
    outline: var(--ui-length-2px) solid var(--ui-text);
    outline-offset: var(--ui-length-2px);
}

.admin-actions .admin-delete-button:focus-visible {
    outline: var(--ui-length-2px) solid var(--ui-danger);
    outline-offset: var(--ui-length-2px);
}

.delete-confirmation-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: grid;
    place-items: center;
    padding: var(--ui-space-5);
    background: var(--ui-color-rgba-35-18-27-42);
    backdrop-filter: blur(var(--ui-length-4px));
    animation: delete-backdrop-in .16s ease-out;
}

.delete-confirmation-dialog {
    width: min(100%, var(--ui-length-470px));
    padding: var(--ui-space-6);
    border: var(--ui-length-1px) solid var(--ui-border);
    border-radius: var(--ui-radius-input);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow);
    animation: delete-dialog-in .2s ease-out;
}

.error-log-detail-dialog {
    display: grid;
    gap: var(--ui-space-5);
    max-height: calc(100vh - (2 * var(--ui-space-5)));
    overflow: auto;
    width: min(100%, var(--ui-length-880px));
}

.delete-confirmation-icon {
    display: grid;
    place-items: center;
    width: var(--ui-length-56px);
    height: var(--ui-length-56px);
    margin-bottom: var(--ui-space-5);
    border-radius: var(--ui-radius-input);
    color: var(--ui-color-c62828);
    background: var(--ui-soft);
}

.delete-confirmation-icon .mud-icon-root {
    width: var(--ui-length-30px);
    height: var(--ui-length-30px);
}

.delete-confirmation-copy .mud-typography-h5 {
    margin-bottom: var(--ui-space-2);
    color: var(--ui-text);
    font-weight: var(--ui-weight-title);
    letter-spacing: var(--ui-length-negative-d02em);
}

.delete-confirmation-copy .mud-typography-body1 {
    color: var(--ui-muted);
    line-height: 1.55;
}

.delete-confirmation-item {
    margin-top: var(--ui-space-4);
    padding: var(--ui-space-3) var(--ui-space-4);
    overflow-wrap: anywhere;
    border: var(--ui-length-1px) solid var(--ui-border);
    border-radius: var(--ui-radius-input);
    color: var(--ui-text);
    background: var(--ui-soft);
    font-weight: var(--ui-weight-strong);
}

.delete-confirmation-warning {
    display: flex;
    align-items: center;
    gap: var(--ui-space-2);
    margin-top: var(--ui-space-4);
    color: var(--ui-muted);
    font-size: var(--ui-font-sm);
}

.delete-confirmation-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--ui-space-3);
    margin-top: var(--ui-space-6);
}

.delete-confirmation-actions .mud-button-root {
    min-height: var(--ui-length-42px);
    padding-inline: var(--ui-space-5);
    border-radius: var(--ui-radius-input);
    font-weight: var(--ui-weight-strong);
    text-transform: none;
}

.delete-confirmation-submit {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: var(--ui-space-2) var(--ui-space-3) !important;
    border: var(--ui-length-1d5px) solid var(--ui-danger) !important;
    border-radius: var(--ui-radius-pill);
    color: var(--ui-danger) !important;
    background: var(--ui-surface) !important;
    box-shadow: none;
    font-size: var(--ui-font-xs);
    letter-spacing: var(--ui-length-d06em);
    text-transform: uppercase;
    transition: transform .16s ease, background-color .15s ease, color .15s ease;
}

.delete-confirmation-submit .mud-button-label {
    display: inline-flex;
    align-items: center;
    gap: var(--ui-space-1);
}

.delete-confirmation-submit .mud-button-icon-start {
    margin-inline: 0;
}

.delete-confirmation-submit:hover {
    transform: translateY(var(--ui-length-negative-2px));
    border-color: var(--ui-danger) !important;
    color: var(--ui-danger) !important;
    background: var(--ui-hover) !important;
}

.delete-confirmation-submit:focus-visible {
    outline: var(--ui-length-2px) solid var(--ui-danger);
    outline-offset: var(--ui-length-2px);
}

.delete-confirmation-cancel {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: var(--ui-space-2) var(--ui-space-3) !important;
    border: var(--ui-length-1d5px) solid var(--ui-text) !important;
    border-radius: var(--ui-radius-pill);
    color: var(--ui-text) !important;
    background: var(--ui-surface) !important;
    font-size: var(--ui-font-xs);
    letter-spacing: var(--ui-length-d06em);
    text-transform: uppercase;
    transition: transform .16s ease, background-color .15s ease, color .15s ease;
}

.delete-confirmation-cancel .mud-button-label {
    display: inline-flex;
    align-items: center;
    gap: var(--ui-space-1);
}

.delete-confirmation-cancel .mud-button-icon-start {
    margin-inline: 0;
}

.delete-confirmation-cancel:hover {
    transform: translateY(var(--ui-length-negative-2px));
    border-color: var(--ui-text) !important;
    color: var(--ui-text) !important;
    background: var(--ui-hover) !important;
}

.delete-confirmation-cancel:focus-visible {
    outline: var(--ui-length-2px) solid var(--ui-text);
    outline-offset: var(--ui-length-2px);
}

@keyframes delete-backdrop-in {
    from { opacity: 0; }
}

@keyframes delete-dialog-in {
    from { opacity: 0; transform: translateY(var(--ui-length-10px)); }
}

.form-primary-button,
.form-secondary-button {
    height: var(--ui-length-42px);
    padding: 0 var(--ui-space-5);
    border-radius: var(--ui-radius-input);
    font-weight: var(--ui-weight-strong);
    text-transform: none;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.form-primary-button:hover:not(:disabled),
.form-secondary-button:hover:not(:disabled) {
    transform: translateY(var(--ui-length-negative-1px));
    box-shadow: var(--ui-shadow);
}

.employment-submit-button {
    align-self: flex-end;
}

.authorization-form,
.detail-form,
.create-card,
.user-detail-card,
.roles-card,
.employment-card {
    border: var(--ui-length-1px) solid var(--ui-border) !important;
    border-radius: var(--ui-radius-input);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow);
}

.admin-content input:not([type="checkbox"]):not([type="radio"]),
.admin-content select,
.admin-content textarea {
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.admin-content input:not([type="checkbox"]):not([type="radio"]):focus,
.admin-content select:focus,
.admin-content textarea:focus {
    border-color: var(--ui-primary) !important;
    outline: none;
    box-shadow: var(--ui-shadow);
    background: var(--ui-surface);
}

.admin-content button[type="submit"] {
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.admin-content button[type="submit"]:hover {
    transform: translateY(var(--ui-length-negative-1px));
    box-shadow: var(--ui-shadow);
}

.admin-content button.admin-create-button[type="submit"]:hover,
.admin-content button.delete-confirmation-submit[type="submit"]:hover {
    transform: translateY(var(--ui-length-negative-2px));
    box-shadow: none;
}

@media (max-width: 599.98px) {
    .log-page-header {
        align-items: flex-start;
        padding: var(--ui-space-5);
        border-radius: var(--ui-radius-input);
    }

    .portal-data-table {
        border-radius: var(--ui-radius-input);
    }
}

@media (max-width: 600px) {
    .employment-submit-button {
        width: 100%;
    }

    .delete-confirmation-dialog {
        padding: var(--ui-space-5);
        border-radius: var(--ui-radius-input);
    }

    .delete-confirmation-actions {
        flex-direction: column-reverse;
    }

    .delete-confirmation-actions .mud-button-root {
        width: 100%;
    }
}

/* MudBlazor renders menu popovers at document level, outside scoped Razor CSS. */
.profile-login-popover.mud-popover,
.profile-login-popover.mud-paper {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

.profile-login-popover .mud-list,
.profile-login-list {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.content-language-select-popover.mud-popover {
    min-width: var(--ui-dimension-240px);
}

.content-language-select-popover .mud-list {
    max-height: var(--ui-dimension-320px);
    overflow-y: auto;
}

.content-language-select-popover .content-language-inactive {
    color: var(--ui-muted);
}

.translation-grid > fieldset {
    width: 100%;
}

.translation-fields {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-4);
}

.email-template-translations fieldset {
    padding: var(--ui-space-4);
    border: var(--ui-border-width) solid var(--ui-border);
    border-radius: var(--ui-radius-input);
}

.translation-grid legend,
.email-template-translations legend {
    padding: 0 var(--ui-space-1);
}

.email-template-form form {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-5);
}

.email-template-translations .notification-html-editor {
    margin-top: var(--ui-space-3);
}

.email-template-actions {
    margin-top: var(--ui-space-4);
}
.admin-menu-search { position: relative; margin: 0 0 var(--ui-space-4); }
.admin-shell {
    --ui-menu-item-height: var(--ui-admin-menu-item-height);
    --ui-menu-child-height: var(--ui-admin-menu-child-height);
    --ui-menu-font: var(--ui-admin-menu-font);
    --ui-menu-item-padding: var(--ui-admin-menu-item-padding);
}
.admin-shell #admin-sidebar {
    padding: var(--ui-admin-menu-sidebar-padding);
    scrollbar-width: thin;
}
.admin-shell .admin-menu-section { margin-block-start: var(--ui-admin-menu-section-gap); }
.admin-shell .admin-menu-section-title {
    margin: 0 0 var(--ui-space-1);
    padding: var(--ui-admin-menu-section-padding);
    color: var(--ui-muted);
    font-size: var(--ui-admin-menu-section-font);
    font-weight: var(--ui-weight-normal);
    line-height: 1.4;
    letter-spacing: var(--ui-length-d02em);
    text-transform: uppercase;
}
.admin-shell .admin-menu-card {
    padding: var(--ui-admin-menu-card-padding);
    border: var(--ui-border-width) solid var(--ui-admin-menu-card-border);
    border-radius: var(--ui-admin-menu-card-radius);
    background: var(--ui-surface);
}
.admin-shell #admin-sidebar .admin-menu-card .mud-nav-link {
    align-items: center;
    min-height: var(--ui-admin-menu-item-height);
    padding: var(--ui-menu-item-padding);
    gap: var(--ui-menu-item-gap);
    border: 0;
    border-radius: var(--ui-radius-small);
    color: var(--ui-text);
    font-size: var(--ui-menu-font);
    background: transparent;
}
.admin-shell #admin-sidebar .admin-menu-card .mud-nav-link:hover { background: var(--ui-soft); }
.admin-shell #admin-sidebar .admin-menu-card .mud-nav-link-text {
    display: flex;
    align-items: center;
    gap: var(--ui-space-2);
    min-width: 0;
    margin: 0;
    font-weight: var(--ui-weight-normal);
    line-height: 1.4;
}
.admin-menu-label { flex: 1; min-width: 0; }
.admin-shell #admin-sidebar .admin-menu-root-item > .mud-nav-link > .mud-nav-link-icon,
.admin-shell #admin-sidebar .admin-menu-root-group > .mud-nav-link > .mud-nav-link-icon {
    flex-shrink: 0;
    width: var(--ui-admin-menu-icon-tile-size);
    height: var(--ui-admin-menu-icon-tile-size);
    padding: var(--ui-admin-menu-icon-padding);
    border-radius: var(--ui-admin-menu-icon-radius);
    background: var(--ui-admin-menu-submenu-background);
    color: var(--ui-muted);
}
.admin-shell #admin-sidebar .admin-menu-group > .mud-nav-link > .mud-nav-link-expand-icon {
    flex-shrink: 0;
    width: var(--ui-icon);
    height: var(--ui-icon);
    margin: 0;
    color: var(--ui-muted);
    transform: none;
}
.admin-shell #admin-sidebar .admin-menu-group > .mud-nav-link[aria-expanded="true"] > .mud-nav-link-expand-icon {
    transform: rotate(90deg);
}
.admin-shell #admin-sidebar .admin-menu-active-group > .mud-nav-link {
    color: var(--ui-primary);
    background: transparent;
}
.admin-shell #admin-sidebar .admin-menu-active-group > .mud-nav-link > .mud-nav-link-icon {
    color: var(--ui-primary);
    background: var(--ui-primary-soft);
}
.admin-shell #admin-sidebar .admin-menu-active-group > .mud-nav-link > .mud-nav-link-expand-icon { color: var(--ui-primary); }
.admin-shell #admin-sidebar .admin-menu-group > .mud-navgroup-collapse {
    margin: 0 var(--ui-space-1) var(--ui-space-2) var(--ui-admin-menu-submenu-indent);
    padding: 0;
    border: 0;
    border-radius: var(--ui-radius-input);
    background: var(--ui-admin-menu-submenu-background);
}
.admin-shell #admin-sidebar .admin-menu-group > .mud-nav-link[aria-expanded="false"] + .mud-navgroup-collapse {
    margin-block-end: 0;
}
.admin-shell #admin-sidebar .admin-menu-group > .mud-navgroup-collapse > .mud-collapse-wrapper > .mud-collapse-wrapper-inner > .mud-navmenu {
    padding: var(--ui-space-1);
}
.admin-shell #admin-sidebar .admin-menu-child-group > .mud-navgroup-collapse {
    margin-inline-start: var(--ui-space-3);
    margin-inline-end: 0;
}
.admin-shell #admin-sidebar .admin-menu-child-item > .mud-nav-link,
.admin-shell #admin-sidebar .admin-menu-child-group > .mud-nav-link {
    min-height: var(--ui-menu-child-height);
    font-size: var(--ui-menu-child-font);
}
.admin-shell #admin-sidebar .admin-menu-child-item > .mud-nav-link::before,
.admin-shell #admin-sidebar .admin-menu-child-group > .mud-nav-link::before {
    content: "";
    flex: 0 0 var(--ui-length-4px);
    width: var(--ui-length-4px);
    height: var(--ui-length-4px);
    border-radius: var(--ui-radius-pill);
    background: var(--ui-control-disabled);
}
.admin-shell #admin-sidebar .admin-menu-card a.mud-nav-link.active,
.admin-shell #admin-sidebar .admin-menu-card .admin-menu-child-item.active > a.mud-nav-link {
    position: relative;
    border: 0;
    background: var(--admin-sidebar-active-background, var(--ui-admin-menu-active-background)) !important;
    color: var(--admin-sidebar-active-foreground, var(--ui-text)) !important;
}
.admin-shell #admin-sidebar .admin-menu-card a.mud-nav-link.active .mud-nav-link-text,
.admin-shell #admin-sidebar .admin-menu-card .admin-menu-child-item.active > a.mud-nav-link .mud-nav-link-text { font-weight: var(--ui-weight-medium); }
.admin-shell #admin-sidebar .admin-menu-card a.mud-nav-link.active::before { background: transparent; }
.admin-shell #admin-sidebar .admin-menu-card a.mud-nav-link.active::after,
.admin-shell #admin-sidebar .admin-menu-card .admin-menu-child-item.active > a.mud-nav-link::after {
    content: "";
    position: absolute;
    inset-block: var(--ui-space-2);
    inset-inline-start: 0;
    width: var(--ui-length-2px);
    border-radius: var(--ui-radius-pill);
    background: var(--admin-sidebar-active-border, var(--ui-primary));
    pointer-events: none;
}
.admin-shell #admin-sidebar .admin-menu-root-item > a.mud-nav-link.active > .mud-nav-link-icon {
    color: var(--admin-sidebar-active-foreground, var(--ui-text));
    background: transparent;
}
.admin-shell #admin-sidebar .mud-nav-link:focus-visible,
.admin-shell .admin-menu-search input:focus-visible {
    outline: var(--ui-length-2px) solid var(--ui-primary);
    outline-offset: var(--ui-length-2px);
}
.admin-shell #admin-sidebar .admin-menu-search { margin: 0 0 var(--ui-space-4); }
.admin-shell #admin-sidebar .admin-menu-search input { width: 100%; height: var(--ui-menu-search-height); min-height: var(--ui-menu-search-height); padding: 0 var(--ui-space-3) 0 var(--ui-space-10); border: var(--ui-border-width) solid var(--ui-admin-menu-card-border); border-radius: var(--ui-radius-input); font: inherit; font-size: var(--ui-menu-search-font); color: var(--ui-text); background: var(--ui-surface); }
.admin-menu-search > .mud-icon-root { position: absolute; inset-inline-start: var(--ui-space-3); top: 50%; transform: translateY(-50%); width: var(--ui-icon); height: var(--ui-icon); color: var(--ui-muted); pointer-events: none; }
.admin-menu-search label { position: absolute; width: var(--ui-length-1px); height: var(--ui-length-1px); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.admin-menu-empty { padding: var(--ui-space-3); color: var(--ui-muted); font-size: var(--ui-font-sm); }

.user-profile-panel { min-width: 0; background: var(--ui-surface); border: var(--ui-border-width) solid var(--ui-border); border-radius: var(--ui-user-detail-panel-radius); }
.user-profile-panel-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ui-space-4); padding: var(--ui-panel-padding); }
.user-profile-panel-heading h2 { margin: 0; font-size: var(--ui-font-subtitle); font-weight: var(--ui-weight-strong); }
.user-profile-panel-heading p { margin: var(--ui-space-1) 0 0; color: var(--ui-muted); font-size: var(--ui-font-sm); }
.user-profile-panel .user-profile-add-button.ui-button-secondary { color: var(--ui-primary) !important; border-color: var(--ui-primary) !important; }
.user-profile-editor { display: grid; gap: var(--ui-space-5); margin: 0 var(--ui-panel-padding) var(--ui-panel-padding); padding: var(--ui-space-5); border: var(--ui-border-width) solid var(--ui-divider); border-radius: var(--ui-radius-input); background: var(--ui-soft); }
.user-profile-editor h3 { margin: 0; font-size: var(--ui-font-body); font-weight: var(--ui-weight-strong); }
.user-profile-editor-footer, .user-profile-panel-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--ui-space-4); }
.user-profile-panel-footer { position: sticky; bottom: 0; z-index: 1; padding: var(--ui-space-4) var(--ui-panel-padding); border-top: var(--ui-border-width) solid var(--ui-divider); border-radius: 0 0 var(--ui-user-detail-panel-radius) var(--ui-user-detail-panel-radius); background: var(--ui-soft); }
.user-profile-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--ui-space-3); }
.user-profile-editor > .user-profile-actions { border-top: var(--ui-border-width) solid var(--ui-divider); padding-top: var(--ui-space-4); }
.user-profile-switch { display: flex; align-items: center; gap: var(--ui-space-2); min-height: var(--ui-checkbox-hit-area); }
.user-profile-switch .mud-switch { margin: 0; flex: 0 0 auto; }
.user-profile-switch > span { font-size: var(--ui-font-sm); font-weight: var(--ui-weight-medium); }
.user-profile-status { display: inline-flex; align-items: center; padding: var(--ui-space-1) var(--ui-space-2); border-radius: var(--ui-radius-pill); background: var(--ui-hover); color: var(--ui-muted); font-size: var(--ui-font-xs); font-weight: var(--ui-weight-medium); white-space: nowrap; }
.user-profile-status.is-enabled { color: var(--ui-success); background: color-mix(in srgb, var(--ui-success) 12%, var(--ui-surface)); }
.user-profile-method-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: var(--ui-space-12); height: var(--ui-space-12); border-radius: var(--ui-radius-input); color: var(--ui-muted); background: var(--ui-soft); }
.user-profile-method-icon .mud-icon-root { width: var(--ui-icon); height: var(--ui-icon); }
.user-login-content { display: grid; gap: var(--ui-space-5); padding: 0 var(--ui-panel-padding) var(--ui-panel-padding); }
.user-login-method { border: var(--ui-border-width) solid var(--ui-border); border-radius: var(--ui-radius-input); background: var(--ui-surface); }
.user-login-method.is-enabled { border-color: var(--ui-primary); }
.user-login-method.is-enabled .user-profile-method-icon { color: var(--ui-primary); background: var(--ui-primary-soft); }
.user-login-method-heading { display: flex; align-items: center; gap: var(--ui-space-4); padding: var(--ui-space-5); }
.user-login-method-heading > .mud-switch { margin: 0; flex: 0 0 auto; }
.user-login-method-copy { flex: 1; min-width: 0; }
.user-login-method-copy > div { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ui-space-3); }
.user-login-method-copy strong { font-size: var(--ui-font-body); }
.user-login-method-copy p { margin: var(--ui-space-1) 0 0; font-size: var(--ui-font-sm); line-height: 1.5; color: var(--ui-muted); }
.user-login-subject { padding: var(--ui-space-5); border-top: var(--ui-border-width) solid var(--ui-divider); background: var(--ui-soft); border-radius: 0 0 var(--ui-radius-input) var(--ui-radius-input); }
.user-login-subject-label { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--ui-space-2); }
.user-login-subject input { font-family: var(--ui-font-monospace) !important; }
.user-login-subject small { color: var(--ui-muted); font-size: var(--ui-font-xs); }
.user-login-role-notice { display: flex; align-items: flex-start; gap: var(--ui-space-3); padding: var(--ui-space-4); border-radius: var(--ui-radius-input); background: var(--ui-soft); color: var(--ui-muted); font-size: var(--ui-font-sm); line-height: 1.5; }
.user-login-role-notice .mud-icon-root { width: var(--ui-icon); height: var(--ui-icon); flex: 0 0 auto; }
.user-login-content a { color: var(--ui-primary); text-decoration: underline; text-underline-offset: var(--ui-length-d15em); }
.user-profile-unsaved { color: var(--ui-warning); font-size: var(--ui-font-sm); }
.user-profile-unsaved.is-hidden { visibility: hidden; }
.user-admin-confirm-heading { display: grid; gap: var(--ui-space-4); }
.user-admin-confirm-heading .user-profile-method-icon { color: var(--ui-primary); background: var(--ui-primary-soft); }
.user-admin-confirm-heading h2 { margin: 0; font-size: var(--ui-font-subtitle); font-weight: var(--ui-weight-strong); }
.user-admin-confirm-dialog .mud-dialog-actions { flex-wrap: wrap; gap: var(--ui-space-3); padding: var(--ui-space-5) var(--ui-panel-padding); }
@media (max-width: 599.98px) {
    .user-profile-editor { padding: var(--ui-space-4); }
    .user-profile-panel-footer > div, .user-profile-editor-footer > div { width: 100%; }
    .user-profile-actions > .ui-button { flex: 1 1 auto; }
    .user-login-method-heading { flex-wrap: wrap; gap: var(--ui-space-3); padding: var(--ui-space-4); }
    .user-login-method-copy { flex-basis: calc(100% - var(--ui-space-12) - var(--ui-space-3)); }
    .user-login-method-heading > .mud-switch { margin-inline-start: auto; }
    .user-login-subject { padding: var(--ui-space-4); }
}

.user-tab-content { min-width: 0; min-height: var(--ui-length-24rem); }
.user-tab-content.is-ready { animation: user-tab-enter var(--ui-tab-transition-duration) ease-out both; }
.user-tab-loading { padding: var(--ui-space-5); opacity: 0; animation: user-tab-loading .15s ease .25s forwards; }
@keyframes user-tab-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes user-tab-loading { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
    .user-tab-content.is-ready, .user-tab-loading { animation: none; transform: none; opacity: 1; }
}

/* Shared preparation state for planned administration modules. */
.admin-content .admin-planned-module {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--ui-space-4);
    min-height: var(--ui-dimension-230px);
    padding: var(--ui-space-12) var(--ui-space-6);
    border: var(--ui-border-width) solid var(--ui-border);
    border-radius: var(--ui-radius);
    background: linear-gradient(135deg, var(--ui-surface), var(--ui-soft));
    box-shadow: var(--ui-shadow);
    text-align: center;
}

.admin-content .admin-planned-module-icon {
    display: grid;
    place-items: center;
    padding: var(--ui-space-6);
    border-radius: var(--ui-radius-pill);
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.admin-content .admin-planned-module-icon .mud-icon-root {
    width: var(--ui-space-10);
    height: var(--ui-space-10);
}

.admin-content .admin-planned-module-title {
    margin: 0;
    color: var(--ui-text);
    font-size: var(--ui-font-title);
    font-weight: var(--ui-weight-strong);
}

.admin-content .admin-planned-module-description {
    margin: 0;
    color: var(--ui-muted);
    font-size: var(--ui-font-subtitle);
}

.admin-content .admin-planned-module-decoration {
    display: flex;
    gap: var(--ui-space-2);
    margin-top: var(--ui-space-4);
}

.admin-content .admin-planned-module-decoration span {
    width: var(--ui-space-8);
    height: var(--ui-space-1);
    border-radius: var(--ui-radius-pill);
    background: var(--ui-border);
}

.admin-content .admin-planned-module-decoration span:first-child {
    background: var(--ui-primary);
}
/* SK: Vnútorný nadpis katalógu je menší sivý text zarovnaný s názvami položiek;
   ide iba o vizuálne členenie, odkazy a fokus zostávajú nezmenené.
   EN: The catalogue subsection uses a smaller grey caption aligned with item labels;
   this is visual grouping only, preserving links and focus behavior. */
.admin-shell .admin-menu-subheading {
    padding:var(--ui-space-2) var(--ui-space-2) var(--ui-space-1);
    color:var(--ui-neutral-muted); font-size:var(--ui-admin-menu-section-font); font-weight:var(--ui-weight-strong);
    line-height:1.5; text-transform:uppercase; letter-spacing:.08em;
}
.admin-shell .admin-menu-subsection .admin-menu-child-item > .mud-nav-link::before { display:none; }
.admin-shell #admin-sidebar .admin-menu-flat-group > .mud-navgroup-collapse {
    background:transparent; border-radius:0; border-inline-start:1px solid var(--ui-divider);
    margin-inline-start:var(--ui-space-3);
}
.admin-shell #admin-sidebar .admin-menu-flat-group .admin-menu-child-item > .mud-nav-link::before { display:none; }
