/*
 * TelBOZP administration theme.
 * This file is loaded after the shared admin.css and theme.css. Keep every
 * rule scoped to the administration shell so the user portal is unaffected.
 */
.admin-shell {
    --admin-appbar-background: var(--ui-primary);
    --admin-appbar-foreground: var(--ui-on-primary);
    --admin-sidebar-background: var(--ui-admin-menu-sidebar-background);
    --admin-sidebar-active-background: var(--ui-admin-menu-active-background);
    --admin-sidebar-active-foreground: var(--ui-text);
    --admin-sidebar-active-border: var(--ui-primary);
}

.admin-content {
    --admin-form-max-width: var(--ui-length-920px);
    --admin-grid-radius: var(--ui-radius-grid);
    --admin-action-gap: var(--ui-space-3);
    --admin-section-gap: var(--ui-space-6);
}

/* SK: Iba pracovná klasifikácia kopíruje šírku a okraje schváleného MagicPath C.
   EN: Only job classification adopts the approved MagicPath C content width and gutters. */
.admin-content.mud-container:has(.job-page) { max-width:1252px!important;padding:28px 32px 0!important; }
html:has(.job-page) { scrollbar-width:auto; }
.admin-content .ui-page:has(> .job-page) { padding-bottom:180px!important; }
.ui-page:has(.job-page) .ui-circular-action-bar .ui-page-action {color:#625b68!important;border-color:#ddd8e2!important;box-shadow:none!important;}
.ui-page:has(.job-page) .ui-circular-action-bar .ui-page-action::after {font-family:JobClassificationRoboto,Arial,sans-serif;font-size:13px;font-weight:400;}
.ui-page:has(.job-page)>.ui-page-action-toggle {box-shadow:0 8px 25px #ba005027;}
.ui-page:has(.job-page)>.ui-page-action-toggle svg {width:27px;height:27px;}
@media(min-width:961px) and (max-width:1240px){.admin-content.mud-container:has(.job-page){padding-inline:24px!important;}}
@media(max-width:960px){.admin-content.mud-container:has(.job-page){padding:24px 24px 0!important;}}
@media(max-width:760px){.admin-content.mud-container:has(.job-page){padding:18px 16px 0!important;}}
@media(max-width:599px){
 .admin-main:has(.job-page){padding-top:64px!important;}
 .admin-shell:has(.job-page) .admin-appbar,.admin-shell:has(.job-page) .admin-appbar .mud-toolbar{height:64px!important;min-height:64px!important;}
 .ui-page:has(.job-page) .ui-page-action-toggle{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;right:18px;bottom:20px;}
}

.admin-content .medical-examinations-grid,
.admin-content .medical-examinations-grid > .mud-table-container {
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 960px) {
    .admin-content .medical-examinations-grid .mud-table-root {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }

    .admin-content .medical-examinations-grid .mud-table-cell:nth-child(1) { width: 20%; }
    .admin-content .medical-examinations-grid .mud-table-cell:nth-child(2) { width: 20%; }
    .admin-content .medical-examinations-grid .mud-table-cell:nth-child(3) { width: 13%; }
    .admin-content .medical-examinations-grid .mud-table-cell:nth-child(4) { width: 13%; }
    .admin-content .medical-examinations-grid .mud-table-cell:nth-child(5) { width: 21%; }
    .admin-content .medical-examinations-grid .mud-table-cell:nth-child(6) { width: 13%; }
}

.admin-content .medical-examinations-grid .mud-table-head .mud-table-cell,
.admin-content .medical-examinations-grid .mud-table-body .mud-table-cell {
    white-space: normal;
    overflow-wrap: anywhere;
}

.admin-content .medical-examinations-grid .medical-grid-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ui-space-1);
    min-width: 0;
}

.admin-content .medical-examinations-grid .medical-grid-meta {
    color: var(--ui-muted);
    font-size: var(--ui-font-xs);
}
.combobox-native-input:focus {
    border-color: var(--mud-palette-primary);
    outline: var(--ui-length-2px) solid var(--mud-palette-primary-hover);
}

.combobox-native { position: relative; min-width: 0; }
.combobox-native-source {
    position: absolute;
    width: var(--ui-length-1px);
    height: var(--ui-length-1px);
    opacity: 0;
    pointer-events: none;
}
.combobox-native-input {
    width: 100%;
    min-height: var(--ui-length-40px);
    padding: var(--ui-length-8px) var(--ui-length-12px);
    border: var(--ui-length-1px) solid var(--mud-palette-lines-inputs);
    border-radius: var(--ui-length-12px);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}
.combobox-native-menu {
    position: absolute;
    z-index: 1300;
    top: 100%;
    left: 0;
    right: 0;
    max-height: var(--ui-length-280px);
    overflow-y: auto;
    background: var(--mud-palette-surface);
    border: var(--ui-length-1px) solid var(--mud-palette-lines-inputs);
    border-radius: var(--ui-length-12px);
    box-shadow: 0 var(--ui-length-8px) var(--ui-length-24px) rgba(0, 0, 0, .12);
}
.combobox-native-menu:empty { display: none; }
.combobox-native-option {
    display: block;
    width: 100%;
    padding: var(--ui-length-9px) var(--ui-length-12px);
    border: 0;
    background: transparent;
    color: var(--mud-palette-text-primary);
    text-align: left;
    font: inherit;
    cursor: pointer;
}
.combobox-native-option:hover,
.combobox-native-option:focus { background: var(--mud-palette-action-default-hover); }
/* Keep attachment information inside narrow viewports regardless of the icon position. */
.ui-page-title-row:has(> .near-miss-info) { flex-wrap: nowrap; gap: var(--ui-space-2); }
.near-miss-attachment-info-popover, .near-miss-info-popover { width: var(--ui-length-320px); max-width: calc(100vw - 2 * var(--ui-space-4)) !important; }
.near-miss-attachment-info-popover { width: var(--ui-length-280px); }
@media (max-width: 599.98px) {
    .near-miss-attachment-info-popover { width: var(--ui-length-320px); }
    .near-miss-attachment-info-popover, .near-miss-info-popover { left: max(var(--ui-space-4), calc((100vw - var(--ui-length-320px)) / 2)) !important; }
}

/* SK: Trvalý obal zoznamu určuje šírku už počas načítavania a pri chybe, keď grid
   ešte neexistuje. Administrácia aj portál tak nemenia šírku po načítaní dát;
   detailové formuláre si zachovávajú vlastné rozloženie.
   EN: The persistent list wrapper sets the width during loading and errors before
   a grid exists. Administration and portal lists retain the same width after
   data loads; detail forms keep their own layout. */
:is(.admin-content, .portal-content).mud-container:has(:is(.ppe-employee-list, .ppe-assignments-page, .ppe-catalog-page, .ppe-import-page)) { max-width:var(--ui-grid-page-max) !important; }
