@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/inter/InterVariable.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/inter/InterVariable-Italic.woff2") format("woff2");
}

:root {
    color-scheme: light;
    --color-background: #fafbf9;
    --color-surface: #ffffff;
    --color-text: #273338;
    --color-muted: #64706d;
    --communication-timeline-desktop-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
    --color-border: #e8ece7;
    --color-primary: #1264a3;
    --color-primary-dark: #0d4f81;
    --card-shadow: rgba(39, 51, 56, 0.06);
    --button-primary-bg: #2B5748;
    --button-primary-text: #FFFFFF;
    --button-primary-hover: #356754;
    --button-secondary-bg: #FFFFFF;
    --button-secondary-border: #2B5748;
    --button-secondary-text: #2B5748;
    --button-secondary-hover: #F2F6F3;
    --button-focus: rgba(97, 135, 100, 0.28);
    --role-system-admin-text: var(--color-primary);
    --role-system-admin-bg: #EEF6FC;
    --role-system-admin-border: #B8D6EA;
    --role-office-admin-text: var(--button-secondary-text);
    --role-office-admin-bg: #EEF6F2;
    --role-office-admin-border: #B8D1C5;
    --admin-surface-subtle: color-mix(in srgb, var(--role-office-admin-border) 22%, white);
    --employee-card-surface-background: var(--table-row-hover);
    --employee-card-header-background: #F2F6F3;
    --employee-card-divider-color: var(--role-office-admin-border);
    --employee-card-radius: 14px;
    --employee-card-shadow: none;
    --employee-card-inline-padding: 16px;
    --employee-card-body-padding-block: 8px;
    --employee-card-band-padding-block: 6px;
    --employee-mobile-card-band-min-height: calc(1.21875rem + var(--employee-card-band-padding-block) + var(--employee-card-band-padding-block) + 1px);
    --employee-mobile-home-flow-spacing: 20px;
    --employee-list-row-inline-padding: 16px;
    --role-employee-text: #8A5A00;
    --role-employee-bg: #FFF7D6;
    --role-employee-border: #E8CF85;
    --sidebar-bg: color-mix(in srgb, var(--button-primary-bg) 78%, var(--form-focus));
    --sidebar-text: #DDE5E2;
    --sidebar-muted: rgba(221, 229, 226, 0.72);
    --sidebar-hover: rgba(97, 135, 100, 0.18);
    --sidebar-active: #2B5748;
    --sidebar-active-text: #FFFFFF;
    --sidebar-active-accent: #9CB080;
    --table-header-bg: #F5F7F5;
    --table-row-bg: #FFFFFF;
    --table-row-hover: #F8FBF8;
    --table-border: #E8ECE7;
    --admin-table-surface-shadow: 0 2px 8px rgba(31, 54, 47, 0.08);
    --communication-surface-shadow: var(--admin-table-surface-shadow);
    --form-bg: #FFFFFF;
    --form-border: #D7DEDA;
    --form-focus: #618764;
    --form-placeholder: #9AA6A2;
    --form-error: #b42318;
    --form-error-focus: rgba(180, 35, 24, 0.20);
    --attention-color: #d97706;
    --communication-system-admin-accent-color: #B56F61;
    --communication-system-admin-border-color: #D8B0A8;
    --font-sans: "Inter", sans-serif;
}

.employee-app-layout {
    --employee-mobile-nav-border-width: 1px;
    --employee-mobile-nav-padding-top: 4px;
    --employee-mobile-nav-item-min-height: 56px;
    --employee-mobile-nav-height: calc(
        var(--employee-mobile-nav-border-width)
        + var(--employee-mobile-nav-padding-top)
        + var(--employee-mobile-nav-item-min-height)
    );
    --employee-notification-nav-gap: 10px;
}

.employee-app-layout .employee-location-detail {
    width: min(100%, 760px);
    margin: 0 auto;
}

.employee-app-layout .employee-page-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    margin: 0 0 12px;
}

.employee-app-layout .employee-page-header__back {
    display: inline-flex;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: transparent;
    box-shadow: none;
    color: var(--button-secondary-text);
    text-decoration: none;
}

.employee-app-layout .employee-page-header__back:hover {
    background: var(--sidebar-hover);
}

.employee-app-layout .employee-page-header__back:active {
    background: var(--button-focus);
}

.employee-app-layout .employee-page-header__back:focus-visible {
    outline: 2px solid var(--button-secondary-text);
    outline-offset: 2px;
}

.employee-app-layout .employee-page-header__icon {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}

.employee-app-layout .employee-page-header__context {
    min-width: 0;
    overflow: hidden;
    color: var(--color-text);
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.employee-app-layout .employee-page-header__status {
    justify-self: end;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: right;
    white-space: nowrap;
}

.employee-app-layout .employee-location-detail__context-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 16px;
    width: 100%;
    min-width: 0;
}

.employee-app-layout .employee-location-detail__context-row .employee-mobile-context-note {
    margin: 0;
}

.employee-app-layout .employee-location-detail__section-note {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
}

.employee-app-layout .employee-location-detail__content {
    overflow: hidden;
    border-top: 1px solid var(--color-border);
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
    border-left: 0;
    border-radius: 14px;
    background: var(--color-surface);
    box-shadow: none;
}

.employee-app-layout .employee-location-detail__document + .employee-location-detail__document,
.employee-app-layout .employee-location-detail__document + .employee-location-detail__material-action {
    border-top: 1px solid var(--color-border);
}

.employee-app-layout .employee-location-detail__document-toggle,
.employee-app-layout .employee-location-detail__material-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    min-width: 0;
    align-items: center;
    column-gap: 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-text);
    font: inherit;
    text-align: left;
    text-decoration: none;
    box-sizing: border-box;
    cursor: pointer;
}

.employee-app-layout .employee-location-detail__material-action {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.employee-app-layout .employee-location-detail__document-toggle:hover,
.employee-app-layout .employee-location-detail__document-toggle:focus,
.employee-app-layout .employee-location-detail__material-action:hover,
.employee-app-layout .employee-location-detail__material-action:focus {
    background: var(--button-secondary-hover);
    color: var(--color-text);
}

.employee-app-layout .employee-location-detail__document-toggle:focus-visible,
.employee-app-layout .employee-location-detail__material-action:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: -3px;
}

.employee-app-layout .employee-location-detail__document-name,
.employee-app-layout .employee-location-detail__material-action-label,
.employee-app-layout .employee-location-detail__material-action > span:not(.badge) {
    display: block;
    min-width: 0;
    color: var(--button-secondary-text);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: normal;
    overflow-wrap: anywhere;
}

.employee-app-layout .employee-location-detail__document-summary {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.employee-app-layout .employee-location-detail__document-chevron {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: var(--color-muted);
    transition: transform 160ms ease;
}

.employee-app-layout .employee-location-detail__document-toggle[aria-expanded="true"] .employee-location-detail__document-chevron {
    transform: rotate(90deg);
}

.employee-app-layout .employee-location-detail__document-panel {
    padding: 18px 16px 18px;
    border-top: 1px solid var(--color-border);
    background: var(--color-background);
}

.employee-app-layout .employee-location-detail__document-panel[hidden] {
    display: none;
}

.employee-app-layout .employee-location-detail__document-panel:has(> .employee-location-detail__upload-actions) {
    padding: 0;
}

.employee-app-layout .employee-location-detail__files {
    display: grid;
    gap: 4px;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
}

.employee-app-layout .employee-location-detail__files li {
    overflow-wrap: anywhere;
}

.employee-app-layout .employee-location-detail__upload-actions {
    display: grid;
    gap: 12px;
    margin-top: 0;
}

.employee-app-layout .employee-location-detail__upload-form {
    display: grid;
    width: 100%;
    min-width: 0;
    gap: 8px;
}

.employee-app-layout .employee-location-detail__upload-open {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    gap: 11px;
    align-items: center;
    justify-content: center;
    padding: 14px 16px;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--button-secondary-text);
    box-shadow: none;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: normal;
    text-align: center;
    text-transform: none;
    white-space: normal;
}

.employee-app-layout .employee-location-detail__upload-open svg {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    color: var(--color-primary);
}

.employee-app-layout .employee-location-detail__upload-loader {
    display: inline-flex;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    gap: 3px;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
}

.employee-app-layout .employee-location-detail__upload-loader[hidden],
.employee-app-layout .employee-location-detail__upload-status[hidden] {
    display: none;
}

.employee-app-layout [data-employee-upload-component][aria-busy="true"] [data-employee-upload-idle] {
    display: none;
}

.employee-app-layout .employee-location-detail__upload-loader > span {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    animation: employee-upload-loader-dot 900ms ease-in-out infinite;
}

.employee-app-layout .employee-location-detail__upload-loader > span:nth-child(2) {
    animation-delay: 150ms;
}

.employee-app-layout .employee-location-detail__upload-loader > span:nth-child(3) {
    animation-delay: 300ms;
}

.employee-app-layout .employee-location-detail__upload-open:hover,
.employee-app-layout .employee-location-detail__upload-open:focus,
.employee-app-layout .employee-location-detail__upload-open:active {
    border: 0;
    background: transparent;
    color: var(--button-secondary-text);
    box-shadow: none;
}

.employee-app-layout .employee-location-detail__upload-open:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

.employee-app-layout .employee-location-detail__upload-open:focus-visible {
    border: 0;
    background: transparent;
    color: var(--button-secondary-text);
    box-shadow: none;
    outline: 2px solid var(--color-primary);
    outline-offset: -2px;
}

.employee-app-layout .employee-location-detail__upload-status {
    margin: 0;
    color: inherit;
    font: inherit;
}

.employee-app-layout .employee-location-detail__upload-open > span[data-employee-upload-idle],
.employee-app-layout .employee-location-detail__upload-status {
    font-size: 0.9rem;
}

.bottom-sheet-dialog {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: var(--color-text);
}

.bottom-sheet-dialog[open] {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.bottom-sheet-dialog::backdrop {
    background: rgba(18, 27, 23, 0.42);
}

.bottom-sheet {
    width: 100%;
    max-width: 480px;
    margin-inline: auto;
    max-height: calc(100dvh - 2rem);
    padding: 10px 20px calc(20px + env(safe-area-inset-bottom));
    overflow-y: auto;
    border-radius: 18px 18px 0 0;
    background: var(--color-surface);
    box-shadow: 0 -10px 32px rgba(18, 27, 23, 0.18);
    animation: bottom-sheet-enter 180ms ease-out;
}

.bottom-sheet__handle {
    display: block;
    width: 36px;
    height: 4px;
    margin: 0 auto 10px;
    border-radius: 999px;
    background: var(--color-border);
}

.bottom-sheet__header {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--color-border);
}

.bottom-sheet__header h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: normal;
    text-align: center;
}

.employee-location-detail__upload-picker-actions {
    display: grid;
    gap: 4px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--color-border);
}

.employee-location-detail__upload-picker-actions button {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    width: 100%;
    min-height: 48px;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--color-text);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: normal;
    text-align: left;
    cursor: pointer;
}

.employee-location-detail__upload-picker-actions button:hover {
    background: var(--button-secondary-hover);
}

.employee-location-detail__upload-picker-actions button:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: 1px;
}

.employee-location-detail__upload-picker-actions button:disabled {
    cursor: default;
    opacity: 0.6;
}

.employee-location-detail__upload-picker-actions svg {
    width: 22px;
    height: 22px;
}

.employee-location-detail__upload-note {
    margin: 10px 0 0;
    color: var(--color-muted);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: normal;
    text-align: center;
}

@keyframes bottom-sheet-enter {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes employee-upload-loader-dot {
    0%,
    60%,
    100% {
        opacity: 0.4;
        transform: translateY(0);
    }

    30% {
        opacity: 1;
        transform: translateY(-3px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bottom-sheet {
        animation: none;
    }

    .employee-location-detail__upload-loader > span {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

.employee-app-layout .employee-location-detail__file {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    align-items: flex-start;
    column-gap: 12px;
    row-gap: 0;
    padding-top: 8px;
    border-top: 1px solid var(--color-border);
}

.employee-app-layout .employee-location-detail__file-details {
    display: contents;
}

.employee-app-layout .employee-location-detail__file-details strong {
    overflow-wrap: anywhere;
}

.employee-app-layout .employee-location-detail__filename-mobile {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

.employee-app-layout .employee-location-detail__file-details span {
    color: var(--color-muted);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
}

.employee-app-layout .employee-location-detail__filename-mobile .employee-location-detail__filename-stem,
.employee-app-layout .employee-location-detail__filename-mobile .employee-location-detail__filename-extension {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    white-space: nowrap;
}

.employee-app-layout .employee-location-detail__filename-stem {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.employee-app-layout .employee-location-detail__filename-extension {
    flex: 0 0 auto;
}

.employee-app-layout .employee-location-detail__file-divider {
    display: block;
    width: 100%;
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 8px 0;
    border-top: 1px solid var(--color-border);
}

.employee-app-layout .employee-location-detail__file-metadata {
    grid-column: 1 / -1;
    grid-row: 3;
}

.employee-app-layout .employee-location-detail__delete-form {
    grid-column: 2;
    grid-row: 1;
}

.employee-app-layout .employee-location-detail__delete-form .button-remove {
    display: inline-flex;
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: 3px;
    border-radius: 7px;
}

.employee-app-layout .employee-location-detail__delete-form .button-remove svg {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
}

.employee-app-layout .employee-location-detail__delete-form .button-remove svg.employee-location-detail__mobile-label {
    display: block;
}

.employee-app-layout .employee-location-detail__mobile-label {
    display: none;
}

.employee-app-layout .employee-location-detail {
        width: 100%;
        padding-bottom: 72px;
    }

    .employee-app-layout .employee-location-detail__content {
        border-radius: 10px;
        box-shadow: none;
    }

    .employee-app-layout .employee-location-detail__section {
        padding: 16px;
    }

    .employee-app-layout .employee-location-detail__section-heading {
        align-items: center;
    }

    .employee-app-layout .employee-location-detail__section-heading h2 {
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: normal;
    }

    .employee-app-layout .employee-location-detail__section-heading .badge {
        flex: 0 0 auto;
        min-height: 0;
        padding: 4px 8px;
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.2;
        white-space: nowrap;
        text-align: center;
    }

    .employee-app-layout .employee-location-detail__material-action {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 10px;
        width: 100%;
        border-top: 1px solid var(--color-border);
        background: var(--color-surface);
        color: var(--button-secondary-text);
        font-family: inherit;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.3;
        letter-spacing: normal;
        text-decoration: none;
    }

    .employee-app-layout .employee-location-detail__material-action svg {
        width: 24px;
        height: 24px;
        flex: 0 0 auto;
        color: var(--color-text);
    }

    .employee-app-layout .employee-location-detail__material-action span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-location-detail__material-action-label {
        min-width: 0;
    }

    .employee-app-layout .employee-location-detail__material-action:hover,
    .employee-app-layout .employee-location-detail__material-action:focus {
        background: var(--button-secondary-hover);
        color: var(--button-secondary-text);
    }

    .employee-app-layout .employee-location-detail__material-action:focus-visible {
        outline: 2px solid var(--button-secondary-text);
        outline-offset: -3px;
    }

    .employee-app-layout .employee-location-detail__material-action:active {
        background: var(--button-focus);
        color: var(--button-secondary-text);
    }

.employee-app-layout .employee-material-need {
    --employee-material-control-width: 106px;
}

@media (max-width: 767px),
    (orientation: landscape) and (max-width: 950px) and (max-height: 450px),
    (min-width: 768px) {
    .employee-app-layout .employee-material-need__content {
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .employee-app-layout .employee-material-need__content .employee-location-detail__section {
        padding: 0;
    }

    .employee-app-layout .employee-material-need__content .employee-location-detail__section-heading {
        margin-bottom: 4px;
    }

    .employee-app-layout .employee-material-need .employee-location-detail__material-options {
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .employee-app-layout .employee-material-need .employee-location-detail__material-option {
        padding-right: 0;
        padding-left: 0;
    }

    .employee-app-layout .employee-material-need .employee-location-detail__material-readonly-list {
        border-top: 0;
    }

    .employee-app-layout .employee-material-need .employee-location-detail__material-readonly-list li {
        border-bottom: 0;
    }

    .employee-app-layout .employee-material-need .employee-location-detail__material-readonly-list li + li {
        border-top: 1px solid var(--color-border);
    }

    .employee-app-layout .employee-location-detail__material-form {
        display: grid;
        gap: 12px;
        margin-top: 12px;
    }

    .employee-app-layout .employee-location-detail__material-options {
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 1px solid var(--color-border);
        border-radius: 10px;
        background: var(--color-surface);
    }

    .employee-app-layout .employee-location-detail__material-option {
        display: grid;
        grid-template-columns: minmax(0, 1fr) var(--employee-material-control-width);
        align-items: center;
        gap: 10px;
        min-height: 46px;
        padding: 9px 12px;
        cursor: pointer;
    }

    .employee-app-layout .employee-location-detail__material-option + .employee-location-detail__material-option {
        border-top: 1px solid var(--color-border);
    }

    .employee-app-layout .employee-location-detail__material-option--checkbox input[type="checkbox"] {
        display: grid;
        place-content: center;
        width: 24px;
        height: 24px;
        justify-self: center;
        margin: 0;
        border: 1px solid var(--button-primary-bg);
        border-radius: 7px;
        background: transparent;
        appearance: none;
        cursor: pointer;
    }

    .employee-app-layout .employee-location-detail__material-option--checkbox input[type="checkbox"]::after {
        width: 6px;
        height: 11px;
        border-right: 2px solid var(--button-primary-text);
        border-bottom: 2px solid var(--button-primary-text);
        content: "";
        opacity: 0;
        transform: translateY(-1px) rotate(45deg);
    }

    .employee-app-layout .employee-location-detail__material-option--checkbox input[type="checkbox"]:checked {
        border-color: var(--button-primary-bg);
        background: var(--button-primary-bg);
    }

    .employee-app-layout .employee-location-detail__material-option--checkbox input[type="checkbox"]:checked::after {
        opacity: 1;
    }

    .employee-app-layout .employee-location-detail__material-option--checkbox input[type="checkbox"]:focus-visible {
        border-color: var(--form-focus);
        outline: 3px solid var(--button-focus);
        outline-offset: 2px;
    }

    .employee-app-layout .employee-location-detail__material-option > span {
        display: grid;
        min-width: 0;
        gap: 2px;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-location-detail__material-option strong {
        font-size: 0.9rem;
        font-weight: 600;
        line-height: 1.35;
    }

    .employee-app-layout .employee-location-detail__material-option small {
        color: var(--color-muted);
        font-size: 0.8rem;
        font-weight: 400;
        line-height: 1.35;
    }

    .employee-app-layout .employee-location-detail__material-option--quantity {
        grid-template-columns: minmax(0, 1fr) var(--employee-material-control-width);
        align-items: center;
        cursor: default;
    }

    .employee-app-layout .employee-material-quantity-stepper {
        display: grid;
        grid-template-columns: 34px 36px 34px;
        align-items: stretch;
        width: var(--employee-material-control-width);
        height: var(--employee-segment-height);
        justify-self: center;
        max-width: 100%;
        flex-shrink: 0;
        overflow: hidden;
        border: 1px solid var(--button-primary-bg);
        border-radius: 999px;
        background: transparent;
        box-sizing: border-box;
    }

    .employee-app-layout .employee-material-quantity-stepper__button {
        display: inline-grid;
        place-items: center;
        width: 34px;
        min-width: 34px;
        min-height: calc(var(--employee-segment-height) - 2px);
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--color-text);
        font-family: inherit;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1;
        cursor: pointer;
    }

    .employee-app-layout .employee-material-quantity-stepper__button:hover:not(:disabled) {
        background: var(--button-secondary-hover);
    }

    .employee-app-layout .employee-material-quantity-stepper__button:focus-visible {
        outline: 3px solid var(--button-focus);
        outline-offset: -3px;
    }

    .employee-app-layout .employee-material-quantity-stepper__button:disabled {
        color: var(--color-muted);
        cursor: default;
        opacity: 0.5;
    }

    .employee-app-layout .employee-material-quantity-stepper__value {
        display: inline-grid;
        place-items: center;
        min-width: 0;
        padding: 0;
        border-right: 1px solid var(--button-primary-bg);
        border-left: 1px solid var(--button-primary-bg);
        background: var(--button-primary-bg);
        color: var(--button-primary-text);
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
    }

    .employee-app-layout .employee-mobile-home__divider.employee-material-need__section-divider {
        width: 100%;
        height: 1px;
        margin: 4px 0;
        border: 0;
        background: var(--color-border);
    }

    .employee-app-layout .employee-location-detail__material-readonly-list {
        display: grid;
        margin: 12px 0 0;
        padding: 0;
        border-top: 1px solid var(--color-border);
        list-style: none;
    }

    .employee-app-layout .employee-location-detail__material-readonly-list li {
        padding: 10px 0;
        border-bottom: 1px solid var(--color-border);
        font-size: 0.9rem;
        line-height: 1.4;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-location-detail__material-readonly-note {
        margin-top: 12px;
    }

    .employee-app-layout .employee-location-detail__material-readonly-note strong,
    .employee-app-layout .employee-location-detail__material-readonly-note p {
        margin: 0;
        font-size: 0.9rem;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-location-detail__material-readonly-note p {
        margin-top: 4px;
        font-weight: 400;
    }
}

@media (max-width: 767px) {
    .employee-app-layout .employee-location-detail__upload-actions {
        margin-top: 0;
    }

    .employee-app-layout .employee-location-detail__mobile-label {
        display: inline;
    }
}

.employee-app-layout .employee-location-detail__nav .employee-mobile-nav__item {
        text-decoration: none;
}

* {
    box-sizing: border-box;
}

html {
    font-family: var(--font-sans);
}

body {
    margin: 0;
    background: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-sans);
    line-height: 1.5;
}

button,
input,
select,
textarea,
table {
    font-family: inherit;
}

a {
    color: var(--color-primary);
}

.navigation-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.navigation-attention-dot {
    display: inline-block;
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--attention-color);
    animation: navigation-attention-pulse 700ms ease-in-out 3;
}

.employee-mobile-nav__icon {
    position: relative;
    display: inline-flex;
    width: 22px;
    height: 22px;
}

.employee-mobile-nav__icon > svg {
    width: 100%;
    height: 100%;
}

.employee-mobile-nav__icon > .navigation-attention-dot {
    position: absolute;
    top: -3px;
    right: -3px;
}

@keyframes navigation-attention-pulse {
    50% { transform: scale(1.35); opacity: 0.65; }
}

@media (prefers-reduced-motion: reduce) {
    .navigation-attention-dot {
        animation: none;
    }
}

.page-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.topbar {
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
}

.topbar__inner,
.content,
.app-footer__inner {
    width: min(100% - 32px, 960px);
    margin: 0 auto;
}

.topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 64px;
}

.brand {
    display: grid;
    gap: 2px;
    font-weight: 700;
    text-decoration: none;
    color: var(--color-text);
}

.brand small {
    color: var(--color-muted);
    font-size: 0.82rem;
    font-weight: 600;
}

.nav {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.logout-form {
    display: contents;
}

.logout-control {
    margin: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
}

.nav a,
.nav .logout-control {
    text-decoration: none;
    font-weight: 600;
}

.content {
    flex: 1;
    padding: 40px 0;
}

.content.content--admin {
    width: min(100% - 32px, 1280px);
}

.content.content--auth {
    width: min(100% - 32px, 520px);
}

.app-footer {
    border-top: 1px solid var(--color-border);
}

.app-footer__inner {
    padding: 16px 0 20px;
    color: var(--color-muted);
    font-size: 0.82rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

body.admin-layout {
    background: var(--color-background);
}

.page-shell--admin {
    display: block;
}

.admin-shell {
    --admin-sidebar-width: 236px;
    --admin-header-height: 76px;
    --admin-button-min-height: 34px;
    --admin-shell-divider: var(--role-office-admin-border);
    --sidebar-inset: 20px;
    --admin-content-background: var(--color-background);
    --admin-nav-gap: 4px;
    --admin-nav-hover-bg: rgb(255 255 255 / 7%);
    --admin-nav-active-bg: rgb(255 255 255 / 12%);
    --admin-content-frame-padding-top: 16px;
    display: grid;
    grid-template-columns: var(--admin-sidebar-width) minmax(0, 1fr);
    min-height: 100vh;
    background: var(--admin-content-background);
}

.admin-sidebar {
    position: sticky;
    top: 0;
    display: grid;
    grid-template-rows: var(--admin-header-height) minmax(0, 1fr);
    align-self: start;
    height: 100vh;
    min-width: 0;
    background: var(--sidebar-bg);
    color: var(--sidebar-text);
}

.admin-sidebar__brand {
    display: flex;
    align-items: center;
    gap: 10px;
    height: var(--admin-header-height);
    padding-inline: var(--sidebar-inset);
    border-bottom: 1px solid var(--admin-shell-divider);
    color: var(--sidebar-active-text);
    text-decoration: none;
}
.admin-sidebar__brand-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: var(--sidebar-active-accent);
}
.admin-sidebar__brand-icon svg { width: 28px; height: 28px; }
.admin-sidebar__brand-text { display: grid; gap: 2px; min-width: 0; }
.admin-sidebar__brand-name { font-size: 1rem; font-weight: 800; line-height: 1.2; }
.admin-sidebar__brand-section { color: var(--sidebar-text); font-size: .8rem; }

.admin-sidebar__body {
    min-height: 0;
    overflow-y: auto;
}
.admin-sidebar__nav {
    display: flex;
    flex-direction: column;
    gap: var(--admin-nav-gap);
    min-height: 100%;
    margin-inline: var(--sidebar-inset);
    padding-block: 12px;
}
.admin-sidebar__primary { display: grid; gap: var(--admin-nav-gap); }
.admin-sidebar__group { flex: 0 0 auto; }
.admin-sidebar__group-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
    list-style: none;
}
.admin-sidebar__group-heading { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.admin-sidebar__group-icon, .admin-sidebar__link-icon { display: inline-flex; flex: 0 0 20px; align-items: center; justify-content: center; width: 20px; height: 20px; }
.admin-sidebar__brand-icon svg, .admin-sidebar__group-icon svg, .admin-sidebar__link-icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.admin-sidebar__group-icon svg, .admin-sidebar__link-icon svg { width: 19px; height: 19px; }
.admin-sidebar__group-summary::-webkit-details-marker { display: none; }
.admin-sidebar__group-summary::marker { content: ''; }
.admin-sidebar__group-summary::after { content: '\203a'; color: currentColor; font-size: 1.1rem; line-height: 1; transition: transform .16s ease; }
.admin-sidebar__group[open] > .admin-sidebar__group-summary::after { transform: rotate(90deg); }
.admin-sidebar__group-label { font-size: .875rem; font-weight: 600; }
.admin-sidebar__group-links { display: grid; gap: var(--admin-nav-gap); padding-left: 18px; }
.admin-sidebar__link {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 42px;
    padding: 9px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--sidebar-text);
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.admin-sidebar__group-links .admin-sidebar__link { min-height: 38px; font-size: .8125rem; }
.admin-sidebar__group-summary:hover, .admin-sidebar__link:hover { background: var(--admin-nav-hover-bg); color: var(--sidebar-active-text); }
.admin-sidebar__brand:focus-visible, .admin-sidebar__group-summary:focus-visible, .admin-sidebar__link:focus-visible {
    outline: 3px solid var(--sidebar-active-accent);
    outline-offset: -3px;
}
.admin-sidebar__link--active, .admin-sidebar__link[aria-current="page"] {
    background: var(--admin-nav-active-bg);
    color: var(--sidebar-active-text);
    font-weight: 600;
}
.admin-sidebar__link--active::after {
    content: '';
    position: absolute;
    right: calc(-1 * var(--sidebar-inset));
    top: 50%;
    transform: translateY(-50%);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 10px solid var(--admin-content-background);
    pointer-events: none;
}
.admin-sidebar__settings { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--admin-shell-divider); }
.admin-sidebar__link--secondary { padding-block: 12px; }

.admin-header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    height: var(--admin-header-height);
    padding-inline: 24px;
    border-bottom: 1px solid var(--admin-shell-divider);
    background: var(--color-surface);
}
.admin-header__account { display: flex; flex: 0 0 auto; align-items: center; gap: 16px; margin-left: auto; }
.admin-account-link { display: inline-flex; align-items: center; gap: 10px; padding: 4px; border-radius: 8px; color: var(--color-text); font-size: .875rem; font-weight: 400; text-decoration: none; white-space: nowrap; }
.admin-account-link:focus-visible { outline: 3px solid var(--form-focus); outline-offset: 2px; }
.admin-account-link__avatar,
.personal-settings__avatar {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    aspect-ratio: 1;
    overflow: hidden;
    border: 1px solid var(--color-text);
    border-radius: 50%;
    background: var(--button-primary-bg);
    color: var(--color-surface);
    box-shadow: 0 2px 6px rgba(39, 51, 56, 0.16);
    font-weight: 600;
    line-height: 1;
}
.admin-account-link__avatar { flex: 0 0 36px; width: 36px; height: 36px; }
.admin-account-link__avatar img,
.personal-settings__avatar img { width: 100%; height: 100%; object-fit: cover; }

.admin-tooltip {
    position: relative;
    max-width: 100%;
}

.admin-tooltip__content {
    position: absolute;
    z-index: 5;
    width: max-content;
    max-width: min(320px, calc(100vw - 40px));
    overflow-wrap: anywhere;
    white-space: normal;
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--sidebar-active);
    box-shadow: 0 8px 20px rgba(22, 34, 38, 0.24);
    color: var(--sidebar-active-text);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    visibility: hidden;
    transition:
        opacity 0.16s ease,
        transform 0.16s ease,
        visibility 0.16s ease;
}

.admin-tooltip__content::after {
    position: absolute;
    left: 50%;
    bottom: -10px;
    border: 5px solid transparent;
    border-top-color: var(--sidebar-active);
    content: '';
    transform: translateX(-50%);
}

.admin-tooltip--top .admin-tooltip__content {
    bottom: calc(100% + 9px);
}

.admin-tooltip--align-end .admin-tooltip__content {
    right: 0;
}

.admin-tooltip--align-trigger-center .admin-tooltip__content {
    left: 50%;
    transform: translate(-50%, 4px);
}

.admin-tooltip:hover .admin-tooltip__content,
.admin-tooltip:focus-within .admin-tooltip__content {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
}

.admin-tooltip--align-trigger-center:hover .admin-tooltip__content,
.admin-tooltip--align-trigger-center:focus-within .admin-tooltip__content {
    transform: translate(-50%, 0);
}

.admin-main {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100vh;
}

.admin-main__content.content--admin {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

.admin-content-frame {
    width: min(100% - 32px, 1760px);
    margin: 0 auto;
    padding: var(--admin-content-frame-padding-top) 0 36px;
}

.admin-content-frame--subpage {
    padding-top: var(--admin-content-frame-padding-top);
}

.admin-header .admin-page-heading-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-width: 0;
}

.admin-header .admin-page-heading-line .admin-page-title {
    min-width: 0;
    overflow-wrap: anywhere;
}

.content--admin .flash {
    padding: 5px 9px;
    border-radius: 6px;
    font-size: 0.75rem;
    line-height: 1.3;
}

.admin-shell .button-primary,
.admin-shell .button-secondary,
.admin-shell .button-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    min-height: var(--admin-button-min-height);
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
    text-decoration: none;
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.admin-shell .button-primary {
    border-color: var(--button-primary-bg);
    background: var(--button-primary-bg);
    color: var(--button-primary-text);
}

.admin-shell .button-secondary {
    border-color: var(--button-secondary-border);
    background: var(--button-secondary-bg);
    color: var(--button-secondary-text);
}

.content--admin .admin-start-pin-value-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.content--admin .admin-temporary-pin-note {
    margin: 0;
    padding-top: 16px;
    font-size: 0.88rem;
    line-height: 1.35;
    text-align: center;
}

.content--admin .admin-start-pin-copy-status.admin-inline-notice {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.content--admin .admin-start-pin-copy-status.admin-inline-notice[hidden] {
    display: none;
}

.content--admin [data-temporary-pin-result] {
    display: contents;
}

.content--admin .admin-data-form-divider.admin-data-form-divider--group {
    grid-column: 1 / -1;
    width: 100%;
    margin-block: 4px;
}

.content--admin [data-temporary-pin-result] .admin-data-form-divider--group {
    margin-block: 20px 4px;
}

.content--admin .admin-page:has(> .admin-data-form-layout) {
    gap: 0;
}

.content--admin .admin-page:has(> .admin-data-form-layout) > .admin-page-header {
    padding-bottom: 32px;
}

.content--admin .admin-data-form-layout {
    display: grid;
    gap: 32px;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    margin-inline: 24px auto;
}

.content--admin .admin-privacy-version-form-page .admin-data-form-layout {
    width: min(100%, 800px);
}

.content--admin .admin-data-form-layout:has(> .admin-data-form-divider + .admin-data-form-panel--success) {
    --admin-data-form-divider-accent: var(--button-secondary-border);
}

.content--admin .admin-data-form-layout:has(> .admin-data-form-divider + .admin-data-form-panel--info) {
    --admin-data-form-divider-accent: var(--color-primary);
}

.content--admin .admin-data-form-layout:has(> .admin-data-form-divider + .admin-data-form-panel--danger) {
    --admin-data-form-divider-accent: var(--form-error);
}

.content--admin .admin-data-form-layout > .admin-data-form-panel,
.content--admin .admin-data-form-layout > .admin-inline-notice {
    margin-inline: 0;
}

.content--admin .admin-data-form-layout > .admin-inline-notice {
    width: 100%;
}

.content--admin .admin-data-form-layout:has(> [data-temporary-pin-result]) > .admin-data-form-panel,
.content--admin .admin-data-form-layout:has(> [data-temporary-pin-result]) > .admin-inline-notice,
.content--admin .admin-data-form-layout > [data-temporary-pin-result] > .admin-data-form-panel,
.content--admin .admin-data-form-layout > [data-temporary-pin-result] > .admin-start-pin-copy-status {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
}

.content--admin .admin-data-form-layout > .admin-data-form-divider {
    position: relative;
    width: 100%;
    background: var(--color-text);
}

.content--admin .admin-data-form-layout > .admin-data-form-divider::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    border: 1px solid var(--color-text);
    border-radius: 50%;
    background: var(--admin-data-form-divider-accent);
    box-shadow:
        inset 0 0 0 2px var(--color-surface),
        0 0 0 4px var(--color-surface);
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.admin-shell .button-danger {
    border-color: #f2b8b5;
    background: #ffffff;
    color: #9f1d1d;
}

.admin-shell .button-primary:hover,
.admin-shell .button-primary:focus,
.admin-shell .button-primary:focus-visible {
    border-color: var(--button-primary-hover);
    background: var(--button-primary-hover);
    color: var(--button-primary-text);
    outline: none;
}

.admin-shell .button-danger:hover,
.admin-shell .button-danger:focus,
.admin-shell .button-danger:focus-visible {
    border-color: #d92d20;
    background: #fff4f2;
    color: #9f1d1d;
    outline: none;
}

.admin-shell .button-secondary:hover,
.admin-shell .button-secondary:focus,
.admin-shell .button-secondary:focus-visible {
    border-color: var(--button-secondary-border);
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    outline: none;
}

.admin-shell .button-primary:focus:not(:focus-visible),
.admin-shell .button-secondary:focus:not(:focus-visible),
.admin-shell .button-danger:focus:not(:focus-visible),
.admin-shell .back-link:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

.admin-shell .button-primary:focus-visible,
.admin-shell .button-secondary:focus-visible,
.admin-shell .button-danger:focus-visible,
.admin-shell .back-link:focus-visible {
    outline: 2px solid var(--button-secondary-border);
    outline-offset: 2px;
    box-shadow: none;
}

.admin-shell .button-danger:focus-visible {
    outline-color: var(--form-error);
}

.admin-shell .button-primary:disabled,
.admin-shell .button-secondary:disabled,
.admin-shell .button-danger:disabled {
    border-color: #d1d5db;
    background: #e5e7eb;
    color: #64748b;
    box-shadow: none;
    cursor: not-allowed;
}

.content--admin .auth-panel {
    max-width: 600px;
    margin: 0 auto;
}

.content--auth .auth-panel {
    max-width: 400px;
    margin: 0 auto;
}

.page-shell--auth-login {
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
}

.content.content--auth-login {
    display: flex;
    width: min(100% - 40px, 460px);
    padding: clamp(32px, 8vh, 72px) 0;
}

.auth-login-page {
    display: flex;
    width: 100%;
    min-width: 0;
}

.auth-login-page .auth-login-page__panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 460px;
    padding: 32px;
    border-radius: 20px;
    box-shadow: 0 16px 40px var(--card-shadow);
}

.auth-login-page .auth-login-page__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
    margin-bottom: 20px;
}

.auth-login-page .auth-login-page__mark {
    display: block;
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
}

.auth-login-page .auth-login-page__switch,
.topbar--auth-login .auth-login-page__switch,
.topbar--not-found .auth-login-page__switch,
.employee-app-layout .auth-login-page__switch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    max-width: calc(100% - 88px);
    min-height: 44px;
    padding: 10px 8px;
    border-radius: 8px;
    color: var(--button-secondary-text);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-align: right;
    text-decoration: none;
}

.auth-login-page .auth-login-page__switch:hover,
.auth-login-page .auth-login-page__switch:focus-visible,
.topbar--auth-login .auth-login-page__switch:hover,
.topbar--auth-login .auth-login-page__switch:focus-visible,
.topbar--not-found .auth-login-page__switch:hover,
.topbar--not-found .auth-login-page__switch:focus-visible,
.employee-app-layout .auth-login-page__switch:hover,
.employee-app-layout .auth-login-page__switch:focus-visible {
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
}

.auth-login-page .auth-login-page__switch:focus-visible,
.topbar--auth-login .auth-login-page__switch:focus-visible,
.topbar--not-found .auth-login-page__switch:focus-visible,
.employee-app-layout .auth-login-page__switch:focus-visible {
    outline: 2px solid var(--button-secondary-text);
    outline-offset: 2px;
}

.auth-login-page .auth-login-page__panel h1 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.85rem, 8vw, 2.35rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.auth-login-page .auth-login-page__intro {
    max-width: 34rem;
    margin: 10px 0 0;
    color: var(--color-muted);
    font-size: 1rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.auth-login-page .auth-login-page__form {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 28px;
    margin-top: 32px;
}

.auth-login-page .auth-login-page__fields {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.auth-login-page .form-field {
    gap: 8px;
    min-width: 0;
}

.auth-login-page .form-field > span,
.auth-login-page .form-field > label > span {
    color: var(--color-text);
    font-size: 0.96rem;
}

.auth-login-page .form-field input {
    min-width: 0;
    min-height: 52px;
    padding: 12px 14px;
    border-color: var(--form-border);
    border-radius: 14px;
    background: var(--form-bg);
    color: var(--color-text);
    font-size: 1rem;
}

.auth-login-page .form-field input:focus,
.auth-login-page .form-field input:focus-visible {
    border-color: var(--form-focus);
    outline: 3px solid var(--button-focus);
    outline-offset: 1px;
}

.auth-login-page.auth-login-page--error .form-field input {
    border-color: #f2b8b5;
}

.auth-login-page.auth-login-page--error .form-field input:focus,
.auth-login-page.auth-login-page--error .form-field input:focus-visible {
    border-color: var(--form-focus);
}

.auth-login-page .auth-login-page__messages {
    display: grid;
    gap: 8px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.auth-login-page .auth-login-page__messages .flash {
    width: 100%;
    min-width: 0;
    padding: 6px 10px;
    border-radius: 8px;
    box-sizing: border-box;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
}

.auth-login-page .auth-login-page__action {
    display: grid;
    padding-top: 20px;
    border-top: 1px solid var(--color-border);
}

.auth-login-page .button-primary {
    width: 100%;
    max-width: 100%;
    min-height: 54px;
    padding: 12px 20px;
    border-color: var(--button-primary-bg);
    border-radius: 999px;
    background: var(--button-primary-bg);
    color: var(--button-primary-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.admin-tooltip__trigger:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: 2px;
}

.auth-login-page .button-primary:hover,
.auth-login-page .button-primary:focus,
.auth-login-page .button-primary:focus-visible {
    border-color: var(--button-primary-hover);
    background: var(--button-primary-hover);
    color: var(--button-primary-text);
}

.auth-login-page .button-primary:focus,
.auth-login-page .button-primary:focus-visible {
    box-shadow: 0 0 0 4px var(--button-focus);
}

/* Auth desktop sizing starts with the public desktop login shell. */
@media (min-width: 768px) {
    .auth-login-page {
        align-self: center;
        width: 100%;
        max-width: 360px;
        margin-inline: auto;
    }

    .auth-login-page .auth-login-page__panel {
        padding: 28px;
    }

    .auth-login-page .auth-login-page__top {
        margin-bottom: 16px;
    }

    .auth-login-page .auth-login-page__mark {
        width: 52px;
        height: 52px;
    }

    .auth-login-page .auth-login-page__switch {
        min-height: 40px;
        padding: 8px;
        font-size: 0.8125rem;
    }

    .auth-login-page .auth-login-page__panel h1 {
        font-size: 1.75rem;
        line-height: 1.2;
    }

    .auth-login-page .auth-login-page__intro {
        margin-top: 8px;
        font-size: 0.875rem;
        line-height: 1.5;
    }

    .auth-login-page .auth-login-page__form {
        flex: none;
        gap: 20px;
        margin-top: 24px;
    }

    .auth-login-page .auth-login-page__fields {
        gap: 14px;
    }

    .auth-login-page .form-field {
        gap: 6px;
    }

    .auth-login-page .form-field > span,
    .auth-login-page .form-field > label > span {
        font-size: 0.875rem;
        line-height: 1.35;
    }

    .auth-login-page .form-field input {
        min-height: 44px;
        padding: 9px 12px;
        border-radius: 10px;
        font-size: 0.9375rem;
    }

    .auth-login-page .auth-login-page__action {
        padding-top: 16px;
    }

    .auth-login-page .button-primary {
        min-height: 46px;
        padding: 9px 18px;
        font-size: 0.9375rem;
    }
}

/* Mobile auth layout remains the single login layout below desktop. */
@media not all and (min-width: 768px) {
    .topbar--auth-login .topbar__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        width: min(100% - 28px, 960px);
        gap: 8px;
        padding-block: 8px;
    }

    .topbar--auth-login .brand--auth-login {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        align-self: center;
        gap: 8px;
        min-width: 0;
    }

    .topbar--auth-login .brand__mark {
        display: block;
        flex: 0 0 auto;
        width: 36px;
        height: 36px;
    }

    .topbar--auth-login .brand__text--auth-login {
        min-width: 0;
        font-size: clamp(0.875rem, 4.2vw, 1.05rem);
        line-height: 1.2;
        white-space: nowrap;
    }

    .topbar--auth-login .nav--auth-login {
        flex: 0 0 auto;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-self: center;
        gap: 0;
        transform: translateY(2px);
    }

    .topbar--auth-login .auth-login-page__switch {
        flex: 0 0 auto;
        width: auto;
        min-width: max-content;
        max-width: none;
        padding: 8px clamp(6px, 2vw, 10px);
        font-size: clamp(0.75rem, 3.4vw, 0.85rem);
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }

    .content.content--auth-login {
        width: 100%;
        padding: 0;
    }

    .auth-login-page {
        flex: 1;
        padding: 20px;
    }

    .auth-login-page .auth-login-page__panel {
        flex: 1;
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .auth-login-page .auth-login-page__top {
        gap: 12px;
        margin-bottom: 18px;
    }

    .auth-login-page .auth-login-page__mark {
        width: 68px;
        height: 68px;
    }

    .auth-login-page .auth-login-page__switch {
        max-width: calc(100% - 80px);
    }

    .auth-login-page .auth-login-page__panel h1 {
        font-size: 1.5rem;
        line-height: 1.15;
    }

    .auth-login-page .auth-login-page__intro {
        margin-top: 12px;
        font-size: 0.875rem;
        line-height: 1.45;
    }

    .auth-login-page .auth-login-page__form {
        gap: clamp(32px, 6svh, 64px);
        margin-top: 24px;
    }

    .auth-login-page .auth-login-page__fields {
        gap: 14px;
    }

    .auth-login-page .form-field {
        gap: 6px;
    }

    .auth-login-page .form-field > span,
    .auth-login-page .form-field > label > span {
        font-size: 0.9rem;
    }

    .auth-login-page .form-field input {
        min-height: 46px;
        padding: 9px 11px;
        border-radius: 9px;
        font-size: 1rem;
    }

    .auth-login-page .auth-login-page__action {
        margin-top: auto;
        padding-top: 20px;
    }

    .auth-login-page .button-primary {
        min-height: 46px;
        max-height: 48px;
        padding: 9px 18px;
        border-radius: 20px;
        font-size: 1rem;
    }
}

.topbar--auth-login {
    display: block;
    background: var(--color-background);
}

.topbar--auth-login .brand__text--auth-login {
    white-space: nowrap;
}

.auth-login-page .auth-login-page__top {
    display: none;
}

/* Desktop login shell starts directly after the mobile auth layout. */
@media (min-width: 768px) {
    .page-shell--auth-login {
        background: var(--color-background);
    }

    .topbar--auth-login .topbar__inner {
        flex-wrap: nowrap;
        width: min(100% - 40px, 960px);
    }

    .topbar--auth-login .brand--auth-login {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }

    .topbar--auth-login .brand__mark {
        display: block;
        flex: 0 0 auto;
        width: 40px;
        height: 40px;
    }

    .topbar--auth-login .brand__text {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    .topbar--auth-login .nav--auth-login {
        justify-content: flex-end;
    }

    .topbar--auth-login .auth-login-page__switch {
        flex: 0 0 auto;
        max-width: none;
        white-space: nowrap;
        overflow-wrap: normal;
    }

    .content.content--auth-login {
        align-items: flex-start;
        width: min(100% - 40px, 960px);
        padding: clamp(56px, 9vh, 96px) 0;
    }

    .auth-login-page {
        align-self: flex-start;
        max-width: 440px;
    }

    .auth-login-page .auth-login-page__panel {
        max-width: 440px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .auth-login-page .auth-login-page__top {
        display: none;
    }

    .auth-login-page .auth-login-page__header,
    .auth-login-page .auth-login-page__form {
        width: 100%;
        text-align: left;
    }

}

.page-shell--not-found,
.topbar--not-found {
    background: var(--color-background);
}

.topbar--not-found {
    border-bottom: 0;
}

.system-page-header__divider {
    border-top: 1px solid var(--color-border);
}

.system-page-header__navigation {
    display: flex;
    justify-content: flex-end;
    width: min(100% - 32px, 960px);
    margin: 0 auto;
    padding: 14px 0 12px;
}

.topbar--not-found .brand--not-found {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.topbar--not-found .brand__mark {
    display: block;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
}

.topbar--not-found .brand__text--not-found {
    min-width: 0;
    white-space: nowrap;
}

.topbar--not-found .nav--not-found {
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 18px;
}

.topbar--not-found .auth-login-page__switch {
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
    max-width: none;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.content.content--not-found {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100% - 32px, 960px);
    padding: clamp(48px, 12vh, 120px) 0;
}

.not-found-page {
    width: 100%;
}

.not-found-page__content {
    display: grid;
    justify-items: center;
    gap: clamp(16px, 3vw, 28px);
    text-align: center;
}

.not-found-page__code {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(4.75rem, 12vw, 8rem);
    font-weight: 800;
    line-height: 0.85;
}

.not-found-page__message {
    max-width: 38rem;
    margin: 0;
    color: var(--color-muted);
    font-size: clamp(0.9rem, 1.6vw, 1.05rem);
    line-height: 1.6;
}

.not-found-page--maintenance .not-found-page__code {
    max-width: 100%;
    font-size: clamp(1.75rem, 6vw, 2.5rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .topbar--not-found .topbar__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        width: min(100% - 28px, 960px);
        gap: 8px;
        padding-block: 8px;
    }

    .topbar--not-found .brand--not-found {
        gap: 8px;
    }

    .topbar--not-found .brand__mark {
        width: 36px;
        height: 36px;
    }

    .topbar--not-found .nav--not-found {
        justify-self: stretch;
        justify-content: flex-end;
        gap: 12px;
    }

    .system-page-header__navigation {
        width: min(100% - 28px, 960px);
        padding: 12px 0;
    }

    .topbar--not-found .auth-login-page__switch {
        padding: 8px clamp(6px, 2vw, 10px);
        font-size: clamp(0.75rem, 3.4vw, 0.85rem);
    }

    .content.content--not-found {
        width: min(100% - 32px, 960px);
        padding: clamp(40px, 10vh, 88px) 0;
    }

    .not-found-page--maintenance .not-found-page__code {
        font-size: clamp(1.65rem, 9vw, 2rem);
    }
}

.panel {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 24px;
}

.panel + .panel {
    margin-top: 16px;
}

.eyebrow {
    margin: 0 0 8px;
    color: var(--color-muted);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
}

h1,
h2 {
    margin: 0 0 12px;
    line-height: 1.2;
}

p {
    margin: 0 0 12px;
}

.muted {
    color: var(--color-muted);
}

.flash {
    width: fit-content;
    max-width: 100%;
    padding: 6px 10px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.flash-success {
    border-color: #a8d8b9;
    background: #eefaf2;
    color: #17623a;
}

.flash-error,
.flash-validation-error {
    border-color: #f2b8b5;
    background: #fff4f2;
    color: #9f1d1d;
}

.flash-info {
    border-color: #b7d4ef;
    background: #eef7ff;
    color: #0d4f81;
}

.notification-region {
    z-index: 40;
    pointer-events: none;
}

.notification-region--admin {
    position: fixed;
    top: calc(var(--admin-header-height) + var(--admin-content-frame-padding-top));
    right: 0;
    left: var(--admin-sidebar-width);
    display: flex;
    justify-content: flex-end;
    box-sizing: border-box;
    width: min(calc(100% - var(--admin-sidebar-width) - 32px), 1760px);
    margin-inline: auto;
}

.notification-region--employee {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(var(--employee-mobile-nav-height) + var(--employee-notification-nav-gap));
    left: max(16px, env(safe-area-inset-left));
    display: flex;
    justify-content: center;
}

.notification {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    max-width: 460px;
    max-height: calc(100dvh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding-block: 8px;
    padding-inline: 12px;
    border: 1px solid var(--notification-border);
    border-left-width: 3px;
    border-radius: 12px;
    background: var(--notification-background);
    box-shadow: 0 8px 24px rgba(39, 51, 56, 0.14);
    color: var(--notification-text);
    font-size: 0.875rem;
    line-height: 1.4;
    overflow-y: auto;
    overflow-wrap: break-word;
    pointer-events: auto;
    transition: opacity 180ms ease, transform 180ms ease;
}

.notification--without-icon {
    grid-template-columns: minmax(0, 1fr) 30px;
    padding-block: 4px;
}

.notification[hidden] {
    display: none;
}

.notification-region--employee .notification {
    max-width: 520px;
}

.notification.is-active {
    animation: notification-enter 180ms ease-out backwards;
}

.notification.is-dismissing {
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
}

.notification--success {
    --notification-border: #a8d8b9;
    --notification-background: #eefaf2;
    --notification-text: #17623a;
}

.notification--info {
    --notification-border: #b7d4ef;
    --notification-background: #eef7ff;
    --notification-text: #0d4f81;
}

.notification--warning {
    --notification-border: var(--attention-color);
    --notification-background: #fff7e8;
    --notification-text: #7a4b00;
}

.notification--error,
.notification--validation-error {
    --notification-border: #f2b8b5;
    --notification-background: #fff4f2;
    --notification-text: #9f1d1d;
}

.notification__icon {
    display: inline-grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
}

.notification__text {
    min-width: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.notification__close {
    display: inline-grid;
    width: 30px;
    height: 30px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--color-muted);
    font: inherit;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

.notification__close:hover {
    background: transparent;
    color: var(--color-text);
}

.notification__close:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: 1px;
}

@keyframes notification-enter {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 800px) {
    .notification-region--admin {
        position: absolute;
        top: 12px;
        right: 16px;
        left: 16px;
        width: auto;
    }

    .notification-region--admin .notification {
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .notification {
        transition: none;
    }

    .notification.is-active {
        animation: none;
    }

    .notification.is-dismissing {
        transform: none;
    }
}

.preview-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.preview-summary > div {
    min-width: 0;
}

.summary-label {
    display: block;
    margin-bottom: 4px;
    color: var(--color-muted);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
}

.summary-subline {
    display: block;
    margin-top: 4px;
    color: var(--color-muted);
    font-size: 0.92rem;
}

.empty-value {
    color: var(--color-muted);
    font-weight: 500;
}

.document-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.document-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid var(--color-border);
}

.document-row strong,
.document-row span {
    display: block;
}

.document-row span {
    color: var(--color-muted);
    font-size: 0.92rem;
}

.upload-form {
    display: grid;
    gap: 8px;
}

.upload-form .form-note {
    margin: 0;
}

.upload-file-field {
    gap: 0;
}

.upload-file-field .upload-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}

.upload-file-button {
    width: 100%;
}

.upload-file-input:focus + .upload-file-button {
    border-color: var(--button-secondary-border);
    outline: 3px solid var(--button-focus);
}

.upload-selected-file {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    margin: 8px 0 0;
    color: var(--color-muted);
    font-size: 0.88rem;
    line-height: 1.35;
}

.upload-selected-file .upload-selected-file__empty {
    font-weight: 600;
}

.upload-selected-file .upload-selected-file__selection {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
}

.upload-selected-file .upload-selected-file__selection[hidden] {
    display: none;
}

.upload-selected-file .upload-selected-file__filename {
    display: flex;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
}

.upload-selected-file .upload-selected-file__name {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.upload-selected-file .upload-selected-file__extension {
    flex: 0 0 auto;
    font-weight: 400;
    white-space: nowrap;
}

.upload-selected-file .upload-selected-file__remove {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    flex: 0 0 auto;
    padding: 3px;
    border-radius: 7px;
}

.upload-selected-file .upload-selected-file__remove svg {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
}

.admin-support-upload {
    gap: 6px;
}

.admin-support-upload .upload-selected-file {
    grid-row: 2;
    width: 100%;
    margin: 0;
}

.admin-support-upload .upload-file-button {
    grid-row: 3;
    width: auto;
    justify-self: start;
}

.admin-support-upload > small {
    grid-row: 4;
}

.button-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #f2b8b5;
    border-radius: 8px;
    background: #ffffff;
    color: #9f1d1d;
    cursor: pointer;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 700;
}

.button-remove:hover,
.button-remove:focus {
    border-color: #d92d20;
    outline: none;
}

.badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid #d0d5dd;
    border-radius: 999px;
    background: #f9fafb;
    color: #172033;
    font-size: 0.85rem;
    font-weight: 700;
    white-space: nowrap;
}

.badge-neutral {
    background: #f9fafb;
}

.badge-role--system-admin {
    border-color: var(--role-system-admin-border);
    background: var(--role-system-admin-bg);
    color: var(--role-system-admin-text);
}

.badge-role--office-admin {
    border-color: var(--role-office-admin-border);
    background: var(--role-office-admin-bg);
    color: var(--role-office-admin-text);
}

.badge-role--employee {
    border-color: var(--role-employee-border);
    background: var(--role-employee-bg);
    color: var(--role-employee-text);
}

.role-identity {
    font-weight: 700;
}

.role-identity--system-admin {
    color: var(--role-system-admin-text);
}

.role-identity--office-admin {
    color: var(--role-office-admin-text);
}

.role-identity--employee {
    color: var(--role-employee-text);
}

.inline-highlight {
    padding: 1px 4px;
    border-radius: 3px;
    background: var(--role-office-admin-border);
    box-decoration-break: clone;
    color: var(--button-secondary-text);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: inherit;
    -webkit-box-decoration-break: clone;
}

.badge-fehlend {
    border-color: #f2b8b5;
    background: #fff4f2;
    color: #9f1d1d;
}

.badge-teilweise_vorhanden {
    border-color: #f5d18a;
    background: #fff8e6;
    color: #7a4b00;
}

.badge-vollstaendig {
    border-color: #a8d8b9;
    background: #eefaf2;
    color: #17623a;
}

.content--admin .badge {
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.15;
}

.content--admin .badge.admin-material-quantity-badge {
    min-width: 50px;
    justify-content: center;
}

.object-list {
    display: grid;
    gap: 16px;
    margin-top: 16px;
}

.object-item {
    border-top: 1px solid var(--color-border);
    padding-top: 16px;
}

.object-item h3 {
    margin: 0 0 4px;
    font-size: 1.05rem;
}

.employee-app-layout .employee-mobile-app,
.employee-app-layout .employee-mobile-section {
    display: contents;
}

.employee-app-layout .employee-pin-activation__heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.employee-app-layout .employee-mobile-home,
.employee-app-layout .employee-mobile-locations-overview,
.employee-app-layout [data-employee-mobile-section="messages"],
.employee-app-layout [data-employee-mobile-section="profile"],
.employee-app-layout .employee-mobile-nav {
    display: none;
}

.employee-privacy-gate-header {
    display: none;
}

@media (max-width: 767px),
    (orientation: landscape) and (max-width: 950px) and (max-height: 450px),
    (min-width: 768px) {
    .employee-app-layout--privacy-gate {
        min-height: 0;
        background: var(--color-background);
    }

    .employee-app-layout--privacy-gate .page-shell--employee-privacy-gate {
        width: 100%;
        max-width: none;
        min-height: 0;
        border: 0;
        background: var(--color-background);
        box-shadow: none;
    }

    .employee-app-layout--privacy-gate .topbar,
    .employee-app-layout--privacy-gate .app-footer {
        display: none;
    }

    .employee-app-layout--privacy-gate .employee-privacy-gate-header {
        display: block;
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .employee-app-layout--privacy-gate .employee-privacy-gate-header__inner {
        display: flex;
        width: min(100%, 760px);
        min-width: 0;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 20px 20px 0;
        margin: 0 auto 2px;
        box-sizing: border-box;
    }

    .employee-app-layout--privacy-gate .employee-privacy-gate-header__mark {
        display: block;
        flex: 0 0 auto;
        width: 68px;
        height: 68px;
    }

    .employee-app-layout--privacy-gate .employee-privacy-gate-header__logout {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        max-width: calc(100% - 80px);
        min-height: 44px;
        padding: 10px 8px;
        border-radius: 8px;
        color: var(--button-secondary-text);
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 1.2;
        overflow-wrap: anywhere;
        text-align: right;
        text-decoration: none;
    }

    .employee-app-layout--privacy-gate:has(.employee-privacy-gate--acknowledged) .employee-privacy-gate-header__logout {
        display: none;
    }

    .employee-app-layout--privacy-gate .employee-privacy-gate-header__logout:hover,
    .employee-app-layout--privacy-gate .employee-privacy-gate-header__logout:focus-visible {
        background: var(--button-secondary-hover);
        color: var(--button-secondary-text);
    }

    .employee-app-layout--privacy-gate .employee-privacy-gate-header__logout:focus-visible {
        outline: 2px solid var(--button-secondary-text);
        outline-offset: 2px;
    }

    .employee-app-layout .employee-mobile-back-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 44px;
        padding: 6px 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--button-secondary-text);
        font-family: inherit;
        font-size: 0.95rem;
        font-weight: 600;
        line-height: 1.3;
        text-decoration: none;
    }

    .employee-app-layout .employee-mobile-back-link:hover,
    .employee-app-layout .employee-mobile-back-link:focus-visible,
    .employee-app-layout .employee-mobile-back-link:active {
        background: transparent;
        color: var(--button-secondary-text);
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    .employee-app-layout .employee-mobile-back-link:focus-visible {
        outline: 2px solid var(--button-secondary-text);
        outline-offset: 2px;
    }

    .employee-app-layout--privacy-gate .content--employee-privacy-gate {
        width: 100%;
        max-width: 760px;
        margin: 0 auto;
        padding: 16px 16px calc(24px + env(safe-area-inset-bottom));
        box-sizing: border-box;
    }

    .employee-app-layout .employee-privacy-gate {
        width: 100%;
    }

    .employee-app-layout .employee-privacy-gate__intro {
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .employee-app-layout .employee-privacy-gate__eyebrow {
        display: none;
    }

    .employee-app-layout .employee-privacy-gate__view-title {
        margin: 0 0 8px;
        color: var(--color-text);
        font-size: 1.75rem;
        font-weight: 700;
        line-height: 1.15;
    }

    .employee-app-layout .employee-privacy-gate__lead {
        margin: 0 0 18px;
        color: var(--color-muted);
        font-size: 0.95rem;
        line-height: 1.5;
    }

    .employee-app-layout .employee-privacy-gate__content {
        margin: 0;
        padding: 16px;
        border: 1px solid var(--color-border);
        border-radius: 14px;
        background: var(--color-surface);
        box-shadow: none;
    }

    .employee-app-layout .employee-privacy-gate__summary {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
        gap: 8px;
        margin: 0 0 18px;
    }

    .employee-app-layout .employee-privacy-gate__summary-item {
        min-width: 0;
        flex: 1 1 auto;
    }

    .employee-app-layout .employee-privacy-gate__summary-item:first-child {
        overflow: hidden;
    }

    .employee-app-layout .employee-privacy-gate__summary-item:last-child {
        flex: 0 0 auto;
        text-align: right;
    }

    .employee-app-layout .employee-privacy-gate__summary-label {
        display: none;
    }

    .employee-app-layout .employee-privacy-gate__summary-value {
        color: var(--color-text);
        font-size: clamp(0.72rem, 2.5vw, 0.825rem);
        font-weight: 600;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-privacy-gate__summary-item:first-child .employee-privacy-gate__summary-value {
        display: block;
        overflow: hidden;
        color: var(--color-muted);
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .employee-app-layout .employee-privacy-gate__summary-item:last-child .employee-privacy-gate__summary-value {
        font-weight: 600;
        line-height: 1.3;
        white-space: nowrap;
    }

    .employee-app-layout .employee-privacy-gate__article {
        min-width: 0;
    }

    .employee-app-layout .employee-privacy-gate__article-title {
        margin: 0 0 14px;
        color: var(--color-text);
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-privacy-gate__legal-note {
        margin: 0 0 16px;
        color: var(--color-muted);
        font-size: 0.875rem;
        line-height: 1.55;
    }

    .employee-app-layout .employee-privacy-gate__text,
    .employee-app-layout .employee-privacy-gate__text > span {
        display: block;
        max-width: 100%;
    }

    .employee-app-layout .employee-privacy-gate__text {
        color: var(--color-text);
        font-size: 0.95rem;
        line-height: 1.65;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-privacy-gate__acknowledgement {
        margin-top: 20px;
        padding-top: 18px;
        border-top: 1px solid var(--color-border);
    }

    .employee-app-layout .employee-privacy-gate__form {
        position: static;
        width: 100%;
        margin: 20px 0 0;
        padding: 18px 0 0;
        border-top: 1px solid var(--color-border);
        box-sizing: border-box;
        box-shadow: none;
    }

    .employee-app-layout .employee-privacy-gate__empty .employee-privacy-gate__action {
        width: 100%;
        max-width: 100%;
        min-height: 48px;
        box-sizing: border-box;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
        margin-top: 4px;
    }

    .employee-app-layout .employee-privacy-gate__form .employee-privacy-gate__action {
        width: 100%;
        max-width: 100%;
    }

    .employee-app-layout:not(.employee-app-layout--privacy-gate) {
        background: var(--color-background);
    }

    .employee-app-layout:not(.employee-app-layout--privacy-gate) .topbar,
    .employee-app-layout:not(.employee-app-layout--privacy-gate) .app-footer {
        display: none;
    }

    .employee-app-layout:not(.employee-app-layout--privacy-gate) .page-shell--employee-app {
        width: 100%;
        max-width: none;
        border: 0;
        background: var(--color-background);
        box-shadow: none;
    }

    .employee-app-layout:not(.employee-app-layout--privacy-gate) .content--employee-app {
        width: 100%;
        max-width: 760px;
        margin: 0 auto;
        padding: 20px 16px 96px;
        box-sizing: border-box;
    }

    .employee-app-layout .employee-mobile-app {
        display: block;
    }

    .employee-app-layout .employee-mobile-section {
        display: none;
    }

    .employee-app-layout .employee-mobile-section--active {
        display: block;
    }

    .employee-app-layout .employee-mobile-home {
        display: grid;
        gap: var(--employee-mobile-home-flow-spacing);
    }

    .employee-app-layout .employee-divider-context-flow {
        display: grid;
        gap: var(--employee-mobile-home-flow-spacing);
    }

    .employee-app-layout .employee-divider-context-flow > .employee-mobile-home__divider,
    .employee-app-layout .employee-divider-context-flow > .employee-mobile-context-note,
    .employee-app-layout .employee-divider-context-flow > .employee-location-detail__context-row,
    .employee-app-layout .employee-divider-context-flow > .employee-material-need__context-row,
    .employee-app-layout .employee-divider-context-flow > .employee-support-detail__messages {
        margin-block: 0;
    }

    .employee-app-layout .employee-mobile-home__greeting,
    .employee-app-layout .employee-material-need .employee-mobile-home h1 {
        margin: 0;
        color: var(--color-text);
        font-family: inherit;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: normal;
    }

    .employee-app-layout .employee-mobile-context-note {
        display: inline-flex;
        align-items: center;
        justify-self: start;
        width: fit-content;
        max-width: 100%;
        margin: -8px 0 0;
        padding: 8px 12px;
        border-radius: 999px;
        background: var(--button-secondary-hover);
        color: var(--button-secondary-text);
        overflow-wrap: anywhere;
        box-sizing: border-box;
    }

    .employee-app-layout .employee-mobile-context-note--danger,
    .employee-app-layout .employee-material-decision:has([data-employee-material-decision-kind="not-needed"]:checked) .employee-material-decision__result,
    .employee-app-layout .employee-material-decision__result--not-needed {
        background: #fff4f2;
        color: var(--form-error);
    }

    .employee-app-layout .employee-location-detail > .employee-mobile-home {
        margin-bottom: 12px;
    }

    .employee-app-layout .employee-location-detail > .employee-mobile-home > .employee-mobile-context-note {
        margin-top: 0;
    }

    .employee-app-layout .employee-mobile-home__divider {
        justify-self: stretch;
        width: 100%;
        height: 1px;
        margin: -8px 0;
        border: 0;
        border-radius: 0;
        background: var(--color-border);
        opacity: 1;
        box-shadow: none;
    }

    .employee-app-layout .employee-mobile-home__summary {
        display: grid;
        gap: 8px;
        padding: 16px;
    }

    .employee-app-layout .employee-mobile-home__summary:not(.employee-mobile-card-surface) {
        border: 1px solid var(--color-border);
        border-radius: 14px;
        background: var(--color-surface);
    }

    .employee-app-layout .employee-mobile-home__summary-content {
        display: grid;
        gap: 16px;
        min-width: 0;
    }

    .employee-app-layout .employee-mobile-home__summary-title {
        margin: 0;
    }

    .employee-app-layout .employee-mobile-home__summary-status {
        justify-self: end;
        max-width: 100%;
        margin-top: -4px;
        color: var(--form-focus);
        text-align: right;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-mobile-home__summary-text {
        margin: 0;
    }

    .employee-app-layout .employee-mobile-home__progress,
    .employee-app-layout .employee-mobile-home__progress-bar,
    .employee-app-layout .employee-mobile-home__progress-value {
        display: block;
    }

    .employee-app-layout .employee-mobile-home__progress-bar {
        height: 5px;
        overflow: hidden;
        border-radius: 999px;
        background: var(--color-border);
    }

    .employee-app-layout .employee-mobile-home__progress-value {
        width: 100%;
        height: 100%;
        border: 0;
        border-radius: inherit;
        background: transparent;
        appearance: none;
    }

    .employee-app-layout .employee-mobile-home__progress-value::-webkit-progress-bar {
        border-radius: inherit;
        background: var(--color-border);
    }

    .employee-app-layout .employee-mobile-home__progress-value::-webkit-progress-value {
        border-radius: inherit;
        background: var(--form-focus);
    }

    .employee-app-layout .employee-mobile-home__progress-value::-moz-progress-bar {
        border-radius: inherit;
        background: var(--form-focus);
    }

    .employee-app-layout .employee-mobile-home__facts {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        align-items: baseline;
        gap: 24px;
        margin: 0;
        padding: 0;
    }

    .employee-app-layout .employee-mobile-card-metric {
        display: flex;
        min-width: 0;
        align-items: baseline;
        gap: 4px;
        margin: 0;
    }

    .employee-app-layout .employee-mobile-card-metric__value {
        order: -1;
        margin: 0;
        color: var(--color-text);
        font-family: inherit;
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: normal;
    }

    .employee-app-layout .employee-mobile-card-metric__label {
        margin: 0;
        color: var(--color-muted);
        font-family: inherit;
        font-size: 0.85rem;
        font-weight: 600;
        line-height: 1.35;
        letter-spacing: normal;
    }

    .employee-app-layout .employee-mobile-locations-overview {
        display: grid;
        gap: 16px;
    }

    .employee-app-layout .employee-mobile-location-list,
    .employee-app-layout .employee-mobile-submission {
        overflow: hidden;
        border-radius: 14px;
        box-shadow: none;
    }

    .employee-app-layout .employee-mobile-location-list {
        border: 1px solid var(--color-border);
        background: var(--color-surface);
    }

    .employee-app-layout .employee-mobile-submission {
        border: 0;
        background: var(--color-background);
    }

    .employee-app-layout .employee-mobile-location-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        min-width: 0;
        column-gap: 10px;
        color: var(--color-text);
        text-decoration: none;
    }

    .employee-app-layout .employee-mobile-location-row + .employee-mobile-location-row {
        border-top: 1px solid var(--color-border);
    }

    .employee-app-layout .employee-mobile-location-row:hover,
    .employee-app-layout .employee-mobile-location-row:focus {
        background: var(--button-secondary-hover);
        color: var(--color-text);
    }

    .employee-app-layout .employee-mobile-location-row:focus-visible {
        outline: 3px solid var(--button-focus);
        outline-offset: -3px;
    }

    .employee-app-layout .employee-mobile-location-row > strong {
        display: block;
        min-width: 0;
        overflow: visible;
        color: var(--button-secondary-text);
        font-family: inherit;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.3;
        letter-spacing: normal;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .employee-app-layout .employee-mobile-location-status {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        font-family: inherit;
        font-weight: 600;
        line-height: 1.35;
        letter-spacing: normal;
        white-space: nowrap;
    }

    .employee-app-layout .employee-mobile-submission__status-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 13px 16px;
    }

    .employee-app-layout .employee-mobile-submission__status-row--submitted {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        column-gap: 8px;
    }

    .employee-app-layout .employee-mobile-submission__status-row--submitted h2 {
        justify-self: start;
        white-space: nowrap;
    }

    .employee-app-layout .employee-mobile-submission__status-row--submitted > span:last-child {
        justify-self: end;
        white-space: nowrap;
    }

    .employee-app-layout .employee-mobile-submission__success {
        display: grid;
        place-items: center;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: var(--button-primary-bg);
        color: var(--button-primary-text);
        box-shadow: none;
    }

    .employee-app-layout .employee-mobile-submission__success svg {
        display: block;
        width: 17px;
        height: 17px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .employee-app-layout .employee-mobile-submission__status-row--animate .employee-mobile-submission__success {
        animation: employee-submission-success-circle 300ms ease-out both;
    }

    .employee-app-layout .employee-mobile-submission__status-row--animate .employee-mobile-submission__success path {
        stroke-dasharray: 16;
        animation: employee-submission-success-check 400ms ease-out 300ms both;
    }

    @keyframes employee-submission-success-circle {
        from { opacity: 0; transform: scale(0.85); }
        to { opacity: 1; transform: scale(1); }
    }

    @keyframes employee-submission-success-check {
        from { stroke-dashoffset: 16; }
        to { stroke-dashoffset: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
        .employee-app-layout .employee-mobile-submission__status-row--animate .employee-mobile-submission__success,
        .employee-app-layout .employee-mobile-submission__status-row--animate .employee-mobile-submission__success path {
            animation: none;
        }
    }

    .employee-app-layout .employee-mobile-submission__status-row h2 {
        margin: 0;
        color: var(--color-text);
        font-family: inherit;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: normal;
    }

    .employee-app-layout .employee-mobile-submission__status-row > span:last-child {
        color: var(--color-muted);
        font-family: inherit;
        font-size: 0.85rem;
        font-weight: 600;
        line-height: 1.35;
        letter-spacing: normal;
        text-align: right;
    }

    .employee-app-layout .employee-mobile-submission__action-row {
        padding: 12px 16px;
        border-top: 1px solid var(--color-border);
    }

    .employee-app-layout .employee-mobile-submission__action-row form {
        margin: 0;
    }

    .employee-app-layout .employee-mobile-submission__action-row .button-primary {
        width: 100%;
    }

    .employee-app-layout [data-employee-mobile-section="locations"] > #employee-locations {
        margin-top: 0;
    }

    .employee-app-layout .employee-mobile-section__title {
        margin: 0;
        color: var(--color-text);
        font-family: inherit;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: normal;
    }

    .employee-app-layout .employee-mobile-messages,
    .employee-app-layout .employee-mobile-profile {
        display: grid;
        gap: 16px;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-empty-overview {
        gap: 20px;
    }

    .employee-app-layout .employee-mobile-message,
    .employee-app-layout .employee-mobile-empty-state {
        padding: 16px;
    }

    .employee-app-layout .employee-mobile-message:not(.employee-mobile-card-surface),
    .employee-app-layout .employee-mobile-empty-state {
        border: 1px solid var(--color-border);
        border-radius: 14px;
        background: var(--color-surface);
    }

    .employee-app-layout .employee-mobile-message__title {
        margin: 0;
    }

    .employee-app-layout .employee-mobile-message__text {
        margin: 8px 0 0;
    }

    .employee-app-layout .employee-mobile-message__summary {
        display: grid;
        gap: 8px;
        margin-top: 8px;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile {
        display: grid;
        gap: 0;
        padding-top: 24px;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__header {
        display: grid;
        justify-items: center;
        min-width: 0;
        text-align: center;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__avatar {
        display: grid;
        width: 92px;
        height: 92px;
        place-items: center;
        border-radius: 50%;
        background: var(--button-secondary-hover);
        color: var(--button-secondary-text);
        font-size: 2rem;
        font-weight: 600;
        line-height: 1;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__name {
        max-width: 100%;
        margin: 16px 0 0;
        color: var(--color-text);
        font-family: inherit;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: normal;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__identifier {
        max-width: 100%;
        margin: 6px 0 0;
        color: var(--color-muted);
        font-family: inherit;
        font-size: 0.85rem;
        font-weight: 600;
        line-height: 1.35;
        letter-spacing: normal;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__menu {
        display: grid;
        margin-top: 32px;
        padding: 0;
        overflow: hidden;
        border: 1px solid var(--color-border);
        border-radius: 14px;
        background: var(--color-surface);
        box-shadow: none;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link {
        display: flex;
        gap: 14px;
        width: 100%;
        color: var(--color-text);
        font-family: inherit;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: normal;
        text-decoration: none;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link + .employee-mobile-profile__link {
        border-top: 1px solid var(--color-border);
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link + .logout-form .employee-mobile-profile__link {
        border-top: 1px solid var(--color-border);
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link svg {
        width: 24px;
        height: 24px;
        flex: 0 0 auto;
        color: var(--color-text);
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link:not(.employee-mobile-profile__logout) > span,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__logout-label {
        color: var(--button-secondary-text);
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.3;
        letter-spacing: normal;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__logout {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr) auto;
        color: var(--color-text);
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__logout-label {
        min-width: 0;
        text-align: left;
        white-space: nowrap;
    }

    .employee-app-layout .employee-mobile-app .employee-session-countdown {
        flex-shrink: 0;
        color: var(--color-muted);
        font-size: 1rem;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
        line-height: 1.2;
        white-space: nowrap;
    }

    .employee-app-layout .employee-mobile-app .employee-session-description {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link:hover,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link:focus {
        background: var(--button-secondary-hover);
        color: var(--color-text);
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__logout:hover,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__logout:focus {
        color: var(--color-text);
    }

    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link:focus-visible {
        outline: 3px solid var(--button-focus);
        outline-offset: -3px;
    }

    .employee-app-layout .employee-mobile-nav {
        position: fixed;
        z-index: 50;
        right: auto;
        bottom: 0;
        left: 50%;
        display: grid;
        width: min(100%, 760px);
        height: var(--employee-mobile-nav-height);
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 2px;
        padding: var(--employee-mobile-nav-padding-top) 8px 0;
        border-top: var(--employee-mobile-nav-border-width) solid var(--color-border);
        background: var(--color-surface);
        transform: translateX(-50%);
    }

    .employee-app-layout .employee-mobile-nav__item {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        min-height: var(--employee-mobile-nav-item-min-height);
        flex-direction: column;
        gap: 3px;
        padding: 5px 2px;
        border: 0;
        background: transparent;
        color: var(--color-muted);
        font: inherit;
        text-decoration: none;
        cursor: pointer;
    }

    .employee-app-layout .employee-mobile-nav__item::before {
        content: '';
        position: absolute;
        top: -4px;
        width: 28px;
        height: 3px;
        border-radius: 0 0 3px 3px;
        background: transparent;
    }

    .employee-app-layout .employee-mobile-nav__item svg {
        width: 22px;
        height: 22px;
    }

    .employee-app-layout .employee-mobile-nav__item span {
        max-width: 100%;
        font-size: 0.72rem;
        font-weight: 600;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-mobile-nav__item--active {
        color: var(--button-secondary-text);
    }

    .employee-app-layout .employee-mobile-nav__item--active::before {
        background: var(--button-secondary-text);
    }

    .employee-app-layout .employee-mobile-nav__item--disabled {
        color: var(--color-muted);
        cursor: not-allowed;
        opacity: 0.45;
    }

    .employee-app-layout .employee-mobile-nav__item--disabled::before {
        background: transparent;
    }

    .employee-app-layout .employee-mobile-nav__item:focus-visible {
        outline: 3px solid var(--button-focus);
        outline-offset: -3px;
    }
}

.employee-app-layout .employee-mobile-nav {
    display: grid;
}

.admin-material-need {
    display: grid;
    gap: 12px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--color-border);
    min-width: 0;
}

.admin-material-need h4 {
    margin: 0;
    font-size: 1rem;
}

.admin-material-need .muted {
    margin: 0;
}

.material-need-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 20px;
}

.material-need-list li {
    overflow-wrap: anywhere;
}

.material-need-more {
    min-width: 0;
    margin-top: 8px;
}

.material-need-more summary,
.content--admin .admin-inline-detail-trigger {
    color: var(--button-secondary-text);
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 700;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.material-need-more summary:hover,
.material-need-more summary:focus,
.material-need-more summary:focus-visible,
.content--admin .admin-inline-detail-trigger:hover,
.content--admin .admin-inline-detail-trigger:focus,
.content--admin .admin-inline-detail-trigger:focus-visible {
    color: var(--button-primary-hover);
    text-decoration: none;
    outline: none;
}

.material-need-more summary:focus-visible,
.content--admin .admin-inline-detail-trigger:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: 2px;
}

.content--admin .admin-inline-detail-trigger {
    display: inline;
    width: auto;
    margin: 8px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-family: inherit;
    text-align: left;
}

.material-need-more[open] summary {
    margin-bottom: 8px;
}

.auth-panel {
    max-width: 560px;
}

.form-stack {
    display: grid;
    gap: 16px;
    margin-top: 20px;
}

.content--admin .admin-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.content--admin .form-field input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not([type="search"]),
.content--admin .form-field select:not(.single-select__native),
.content--admin .form-field .single-select:not(.single-select--toolbar) > .single-select__trigger,
.content--admin .form-field .admin-checkbox-multiselect__trigger {
    --form-control-min-block-size: 40px;
    --form-control-padding-block: 7px;
    --form-control-padding-inline: 10px;
    --form-control-font-size: 1rem;
    --form-control-line-height: 1.3;
    font-weight: 400;
    line-height: var(--form-control-line-height);
}

@media (min-width: 768px) {
    .content--admin .form-field input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not([type="search"]),
    .content--admin .form-field select:not(.single-select__native),
    .content--admin .form-field .single-select:not(.single-select--toolbar) > .single-select__trigger,
    .content--admin .form-field .admin-checkbox-multiselect__trigger {
        --form-control-min-block-size: 38px;
        --form-control-font-size: 0.875rem;
    }

    .content--admin form.form-stack {
        color: var(--color-text);
        font-family: var(--font-sans);
        line-height: inherit;
    }

    .content--admin form.form-stack .form-field > span,
    .content--admin form.form-stack .form-field > label > span {
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.5;
    }

    .content--admin form.form-stack .form-field .form-choice-control {
        color: var(--color-text);
        font-size: 0.96rem;
        font-weight: 400;
        line-height: 1.35;
    }

    .content--admin form.form-stack .form-field textarea {
        color: var(--color-text);
        font-size: 0.96rem;
        font-weight: 400;
        line-height: 1.45;
    }

    .content--admin form.form-stack .form-field input::placeholder,
    .content--admin form.form-stack .form-field textarea::placeholder {
        color: var(--form-placeholder);
        opacity: 1;
    }

    .content--admin form.form-stack .form-field small:not(.personal-settings__description) {
        color: var(--color-muted);
        font-size: 0.88rem;
        line-height: 1.35;
    }

    .content--admin form.form-stack .form-field-error {
        font-size: 0.84rem;
        font-weight: 600;
        line-height: 1.35;
    }

}

.content--admin .admin-data-form-panel {
    max-width: 1120px;
}

.content--admin .admin-data-form-panel--success {
    --admin-data-form-panel-accent: var(--button-secondary-border);
}

.content--admin .admin-data-form-panel--info {
    --admin-data-form-panel-accent: var(--color-primary);
}

.content--admin .admin-data-form-panel--danger {
    --admin-data-form-panel-accent: var(--form-error);
}

.content--admin .admin-data-form__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    min-width: 0;
    align-items: start;
}

.content--admin .admin-data-form-panel--employee-compact,
.content--admin .admin-data-form-panel--admin-user-compact,
.content--admin .admin-data-form-panel--contact-compact,
.content--admin .admin-data-form-panel--assignment-compact,
.content--admin .admin-data-form-panel--object-compact,
.content--admin .admin-data-form-panel--employee-deactivate-compact,
.content--admin .admin-data-form-panel--employee-absence-compact,
.content--admin .admin-data-form-panel--material-list-compact {
    --admin-data-form-column-gap: 16px;
}

.content--admin .admin-data-form-panel--employee-compact,
.content--admin .admin-data-form-panel--admin-user-compact,
.content--admin .admin-data-form-panel--assignment-compact,
.content--admin .admin-data-form-panel--employee-absence-compact,
.content--admin .admin-data-form-panel--material-list-compact {
    --admin-data-form-columns: repeat(2, minmax(0, 280px));
}

.content--admin .admin-data-form-panel--contact-compact {
    --admin-data-form-columns: repeat(3, minmax(0, 280px));
}

.content--admin .admin-data-form-panel--object-compact {
    --admin-data-form-columns: minmax(0, 190px) minmax(0, 280px) minmax(0, 280px);
}

.content--admin .admin-data-form-panel--employee-deactivate-compact {
    --admin-data-form-columns: 280px 180px;
}

.content--admin .admin-data-form-panel--employee-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--admin-user-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--contact-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--assignment-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--object-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--employee-deactivate-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--employee-absence-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--material-list-compact .admin-data-form__grid {
    grid-template-columns: var(--admin-data-form-columns);
    column-gap: var(--admin-data-form-column-gap);
    justify-content: start;
}

.content--admin .admin-contact-form__address-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: var(--admin-data-form-columns);
    column-gap: var(--admin-data-form-column-gap);
    justify-content: start;
}

.content--admin .admin-contact-form__locality-row {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
}

.content--admin .admin-data-form__field {
    min-width: 0;
}

.content--admin .admin-data-form__field--span-2 {
    grid-column: span 2;
}

.content--admin .admin-data-form__field--column-2 {
    grid-column: 2;
}

.content--admin .admin-data-form__field--row-2 {
    grid-row: 2;
}

.content--admin .admin-data-form__field--row-3 {
    grid-row: 3;
}

.content--admin .admin-data-form__field--full {
    grid-column: 1 / -1;
}

.content--admin .admin-contact-form .form-field-error,
.content--admin .admin-object-form .form-field-error {
    color: var(--form-error);
    font-size: 0.84rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

@media (max-width: 720px) {
    .content--admin .admin-data-form-layout {
        width: 100%;
        margin-inline: 0;
    }

    .content--admin .admin-data-form__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .content--admin .admin-data-form-panel--employee-compact,
    .content--admin .admin-data-form-panel--admin-user-compact,
    .content--admin .admin-data-form-panel--contact-compact,
    .content--admin .admin-data-form-panel--assignment-compact,
    .content--admin .admin-data-form-panel--object-compact,
    .content--admin .admin-data-form-panel--employee-deactivate-compact,
    .content--admin .admin-data-form-panel--employee-absence-compact,
    .content--admin .admin-data-form-panel--material-list-compact {
        --admin-data-form-columns: minmax(0, 1fr);
    }

    .content--admin .admin-contact-form__address-row,
    .content--admin .admin-contact-form__locality-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .content--admin .admin-data-form__field--span-2,
    .content--admin .admin-data-form__field--column-2,
    .content--admin .admin-data-form__field--row-2,
    .content--admin .admin-data-form__field--row-3,
    .content--admin .admin-data-form__field--full {
        grid-column: auto;
        grid-row: auto;
    }

    .content--admin .admin-data-form .admin-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .content--admin .admin-data-form .admin-form-actions > * {
        width: 100%;
    }
}

.content--admin .admin-settings__controls {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    max-width: 100%;
}

.content--admin .admin-dashboard-announcement-compose {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.content--admin .admin-dashboard-announcement-compose__field {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.content--admin .admin-dashboard-announcement-compose__field input {
    width: 100%;
    min-width: 0;
}

.content--admin .admin-settings__field {
    width: 100%;
    max-width: 320px;
}

.content--admin .admin-settings__field > span {
    white-space: nowrap;
}

.content--admin .admin-settings__actions {
    align-self: flex-end;
    justify-content: flex-start;
    margin-top: 0;
}

.content--admin .admin-settings__example {
    margin: 2px 0 0;
}

.employee-app-layout .employee-mobile-message--compact {
    display: grid;
    padding: 12px 14px;
}

.employee-app-layout .employee-material-need__context-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 16px;
    width: 100%;
    min-width: 0;
    margin-top: -8px;
}

.employee-app-layout .employee-material-need__context-row .employee-mobile-context-note {
    margin: 0;
}

.employee-app-layout .employee-material-need__list-context {
    margin-left: auto;
    text-align: right;
}

.employee-app-layout .employee-mobile-card-divider {
    margin-block: 0;
}

.employee-app-layout .employee-mobile-home__support-summary {
    display: grid;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.employee-app-layout .employee-mobile-home__support-summary:not(.employee-mobile-card-surface) {
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--form-bg);
}

.employee-app-layout .employee-mobile-home__support-statuses {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.employee-app-layout .employee-mobile-home__support-link {
    max-width: 100%;
    line-height: 1.35;
    text-align: right;
    overflow-wrap: anywhere;
}

.employee-app-layout .employee-mobile-message__material-status {
    justify-self: end;
    max-width: 100%;
    margin-top: 12px;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: normal;
    text-align: right;
    overflow-wrap: anywhere;
}

.employee-app-layout .employee-mobile-message__material-status--warning {
    color: #a14f08;
}

@media (max-width: 640px) {
    .content--admin .admin-settings__controls {
        align-items: stretch;
        flex-direction: column;
    }

    .content--admin .admin-settings__field {
        max-width: 320px;
    }

    .content--admin .admin-settings__field > span {
        white-space: normal;
    }

    .content--admin .admin-dashboard-announcement-compose {
        align-items: stretch;
        flex-direction: column;
    }

    .content--admin .admin-dashboard-announcement-compose .button-primary {
        width: 100%;
    }
}

@media (min-width: 1440px) {
    .content--admin .admin-settings__example {
        white-space: nowrap;
    }
}

.form-field {
    display: grid;
    gap: 6px;
    --form-control-min-block-size: 40px;
    --form-control-padding-block: 8px;
    --form-control-padding-inline: 11px;
    --form-control-line-height: 1.35;
    --form-control-font-size: 0.96rem;
    --single-select-visible-options: 5;
}

.admin-material-quantity-options {
    display: grid;
    min-width: 0;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--form-border);
    border-radius: 8px;
    background: var(--table-row-hover);
    gap: 6px;
}

.admin-material-quantity-options__toggle {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 8px;
    line-height: 1.4;
    cursor: pointer;
}

.form-field .admin-material-quantity-options__checkbox {
    flex: 0 0 1.125rem;
    width: 1.125rem;
    min-width: 1.125rem;
    max-width: 1.125rem;
    height: 1.125rem;
    min-height: 1.125rem;
    max-height: 1.125rem;
    padding: 0;
    margin: 0;
    accent-color: var(--button-primary-bg);
}

.admin-material-quantity-options__note {
    margin-top: 2px;
    margin-left: 26px;
}

.admin-material-quantity-options__field {
    min-width: 0;
    margin-top: 8px;
}

.form-field .admin-material-quantity-options__input {
    width: 9rem;
    max-width: 100%;
}

.deactivation-date-group {
    display: grid;
    gap: 16px;
}

.deactivation-date-group[hidden] {
    display: none;
}

.form-field > span,
.form-field > label > span {
    font-weight: 700;
}

.form-field small:not(.personal-settings__description) {
    color: var(--color-muted);
    font-size: 0.88rem;
}

.form-field input,
.form-field select,
.form-field .form-choice-control,
.form-field textarea {
    width: 100%;
    min-width: 0;
}

.form-field input,
.form-field select,
.form-field .single-select__trigger,
.form-field .admin-checkbox-multiselect__trigger {
    min-height: var(--form-control-min-block-size);
    padding-block: var(--form-control-padding-block);
    padding-inline: var(--form-control-padding-inline);
    border: 1px solid var(--form-border);
    border-radius: 7px;
    background: var(--form-bg);
    color: var(--color-text);
    font: inherit;
    font-size: var(--form-control-font-size);
    line-height: 1.35;
    transition: border-color 0.16s ease, outline-color 0.16s ease;
}

.form-field textarea {
    min-height: 104px;
    padding: 9px 11px;
    border: 1px solid var(--form-border);
    border-radius: 7px;
    background: var(--form-bg);
    color: var(--color-text);
    font: inherit;
    font-size: 0.96rem;
    line-height: 1.45;
    transition: border-color 0.16s ease, outline-color 0.16s ease;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: var(--form-placeholder);
    opacity: 1;
}

.form-field textarea {
    resize: vertical;
}

.form-field input:not([type="checkbox"]):focus,
.form-field select:focus,
.form-field .single-select__trigger:focus,
.form-field .admin-checkbox-multiselect__trigger:focus,
.form-field textarea:focus {
    border-color: var(--form-focus);
    outline: 3px solid var(--button-focus);
}

.form-field input[type="checkbox"]:focus-visible {
    border-color: var(--form-focus);
    outline: 3px solid var(--button-focus);
    outline-offset: 2px;
}

.content--admin .form-field input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not(.admin-material-quantity-options__input),
.content--admin .form-field select,
.content--admin .form-field textarea,
.content--admin .form-field .single-select__trigger,
.content--admin .form-field .admin-checkbox-multiselect__trigger,
.content--admin .admin-destructive-action-dialog__confirmation-control input {
    border-color: var(--role-office-admin-border);
}

.content--admin .form-field input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not(.admin-material-quantity-options__input):focus,
.content--admin .form-field input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not(.admin-material-quantity-options__input):focus-visible,
.content--admin .form-field select:focus,
.content--admin .form-field select:focus-visible,
.content--admin .form-field textarea:focus,
.content--admin .form-field textarea:focus-visible,
.content--admin .form-field .single-select__trigger:focus,
.content--admin .form-field .single-select__trigger:focus-visible,
.content--admin .form-field .admin-checkbox-multiselect__trigger:focus,
.content--admin .form-field .admin-checkbox-multiselect__trigger:focus-visible,
.content--admin .admin-destructive-action-dialog__confirmation-control input:focus,
.content--admin .admin-destructive-action-dialog__confirmation-control input:focus-visible {
    border-color: var(--form-focus);
    outline: 3px solid var(--button-focus);
    box-shadow: none;
}

.content--admin .form-field input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not(.admin-material-quantity-options__input)[aria-invalid="true"],
.content--admin .form-field select[aria-invalid="true"],
.content--admin .form-field textarea[aria-invalid="true"],
.content--admin .form-field .single-select__trigger[aria-invalid="true"],
.content--admin .form-field .admin-checkbox-multiselect__trigger[aria-invalid="true"] {
    border-color: var(--form-error);
}

.content--admin .form-field .single-select__trigger[aria-invalid="true"],
.content--admin .form-field .admin-checkbox-multiselect__trigger[aria-invalid="true"] {
    --admin-control-icon-zone-background: color-mix(in srgb, var(--form-error) 12%, white);
    --admin-control-icon-zone-border: var(--form-error);
    --admin-control-icon-zone-color: var(--form-error);
}

.content--admin .form-field input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not(.admin-material-quantity-options__input)[aria-invalid="true"]:focus,
.content--admin .form-field input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not(.admin-material-quantity-options__input)[aria-invalid="true"]:focus-visible,
.content--admin .form-field select[aria-invalid="true"]:focus,
.content--admin .form-field select[aria-invalid="true"]:focus-visible,
.content--admin .form-field textarea[aria-invalid="true"]:focus,
.content--admin .form-field textarea[aria-invalid="true"]:focus-visible,
.content--admin .form-field .single-select__trigger[aria-invalid="true"]:focus,
.content--admin .form-field .single-select__trigger[aria-invalid="true"]:focus-visible,
.content--admin .form-field .admin-checkbox-multiselect__trigger[aria-invalid="true"]:focus,
.content--admin .form-field .admin-checkbox-multiselect__trigger[aria-invalid="true"]:focus-visible {
    border-color: var(--form-error);
    outline: 3px solid var(--form-error-focus);
    box-shadow: none;
}

.secret-visibility-control {
    position: relative;
    width: 100%;
    min-width: 0;
}

.secret-visibility-control > input[data-secret-visibility-input][type] {
    padding-inline-end: 3.5rem;
}

.secret-visibility-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    display: inline-flex;
    width: 38px;
    min-width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-muted);
    cursor: pointer;
}

.secret-visibility-toggle:hover,
.secret-visibility-toggle:focus-visible {
    color: var(--color-text);
}

.secret-visibility-toggle:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: -3px;
}

.secret-visibility-toggle__icon {
    width: 20px;
    height: 20px;
    pointer-events: none;
}

.secret-visibility-toggle [data-secret-visibility-hidden-icon],
.secret-visibility-toggle [data-secret-visibility-visible-icon] {
    display: none;
}

.secret-visibility-toggle[aria-pressed="false"] [data-secret-visibility-hidden-icon],
.secret-visibility-toggle[aria-pressed="true"] [data-secret-visibility-visible-icon] {
    display: block;
}

.single-select {
    position: relative;
}

.single-select__trigger {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    cursor: pointer;
}

.single-select--disabled .single-select__trigger {
    cursor: not-allowed;
    opacity: 0.65;
}

.single-select--placeholder .single-select__value,
.admin-checkbox-multiselect--placeholder .admin-checkbox-multiselect__value {
    color: var(--form-placeholder);
}

.single-select__value {
    min-width: 0;
    overflow-wrap: anywhere;
}

.single-select__chevron {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.16s ease;
}

.single-select--open .single-select__chevron {
    transform: rotate(180deg);
}

.single-select__listbox {
    position: fixed;
    z-index: 30;
    box-sizing: border-box;
    max-block-size: calc(var(--single-select-visible-options) * var(--form-control-min-block-size));
    border: 1px solid var(--form-border);
    border-radius: 7px;
    background: var(--form-bg);
    color: var(--color-text);
    box-shadow: var(--admin-table-surface-shadow);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.form-choice-option {
    box-sizing: border-box;
    min-block-size: var(--form-control-min-block-size);
    padding: var(--form-control-padding-block) var(--form-control-padding-inline);
    color: var(--color-text);
    font: inherit;
    line-height: var(--form-control-line-height);
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.form-choice-option--placeholder {
    color: var(--form-placeholder);
    cursor: default;
}

.form-choice-option:not([aria-disabled="true"]):hover {
    background: var(--button-secondary-hover);
}

.single-select__option {
    display: flex;
    align-items: center;
}

.single-select__option:hover,
.single-select__option--active {
    color: var(--button-secondary-text);
}

.single-select__option--active {
    background: var(--button-secondary-hover);
}

.form-field .admin-checkbox-multiselect {
    position: relative;
}

.form-field .admin-checkbox-multiselect__trigger {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    text-align: left;
    cursor: pointer;
}

.admin-checkbox-multiselect--disabled .admin-checkbox-multiselect__trigger {
    cursor: not-allowed;
    opacity: 0.65;
}

.admin-checkbox-multiselect__value {
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-checkbox-multiselect__chevron {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.16s ease;
}

.admin-checkbox-multiselect--open .admin-checkbox-multiselect__chevron {
    transform: rotate(180deg);
}

.admin-checkbox-multiselect__options {
    position: fixed;
    z-index: 30;
    box-sizing: border-box;
    max-block-size: calc(5 * var(--form-control-min-block-size));
    border: 1px solid var(--form-border);
    border-radius: 7px;
    background: var(--color-surface);
    color: var(--color-text);
    box-shadow: var(--admin-table-surface-shadow);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.admin-checkbox-multiselect__option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.admin-checkbox-multiselect__option:focus-within {
    background: var(--button-secondary-hover);
}

.form-field .admin-checkbox-multiselect__option input[type="checkbox"] {
    width: 18px;
    min-width: 18px;
    max-width: 18px;
    height: 18px;
    min-height: 18px;
    max-height: 18px;
    margin: 0;
    padding: 0;
    accent-color: var(--button-primary-bg);
}

.button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--button-primary-bg);
    border-radius: 8px;
    background: var(--button-primary-bg);
    color: var(--button-primary-text);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.button-primary:hover,
.button-primary:focus,
.button-primary:focus-visible {
    border-color: var(--button-primary-hover);
    background: var(--button-primary-hover);
    color: var(--button-primary-text);
    outline: none;
}

.button-primary:focus,
.button-primary:focus-visible {
    box-shadow: 0 0 0 3px var(--button-focus);
}

.button-primary:disabled {
    border-color: #d0d5dd;
    background: #eaecf0;
    color: #667085;
    cursor: not-allowed;
}

.button-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--button-secondary-border);
    border-radius: 8px;
    background: var(--button-secondary-bg);
    color: var(--button-secondary-text);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.button-secondary:hover,
.button-secondary:focus,
.button-secondary:focus-visible {
    border-color: var(--button-secondary-border);
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    outline: none;
}

.button-secondary:focus,
.button-secondary:focus-visible {
    box-shadow: 0 0 0 3px var(--button-focus);
}
.employee-app-layout .employee-material-need {
    --employee-segment-height: 40px;
    --employee-segment-font-size: 0.95rem;
    --employee-segment-line-height: 1.2;
    --employee-segment-padding: 5px 8px;
}
.employee-app-layout .button-primary,
.employee-app-layout .button-secondary:not(.upload-file-button):not(.employee-location-detail__upload-open):not(.employee-privacy-gate__action) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 18px;
    border-width: 1px;
    border-radius: 20px;
    box-sizing: border-box;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    box-shadow: none;
}

.employee-app-layout .button-primary:focus,
.employee-app-layout .button-secondary:not(.upload-file-button):not(.employee-location-detail__upload-open):not(.employee-privacy-gate__action):focus {
    box-shadow: 0 0 0 3px var(--button-focus);
}

.form-note {
    margin-top: 18px;
    color: var(--color-muted);
    font-size: 0.92rem;
}

.content--admin .admin-data-form__grid--admin-user-compact .form-note,
.content--admin .admin-data-form__grid--employee-compact .form-note {
    margin-top: 0;
}

.content--admin .admin-employee-absence-form-page .form-note {
    margin-top: 0;
}

.table-wrap {
    overflow-x: auto;
    margin-top: 20px;
    background: var(--table-row-bg);
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
    background: var(--table-row-bg);
}

.data-table th,
.data-table td {
    padding: 12px;
    border-top: 1px solid var(--table-border);
    text-align: left;
    vertical-align: top;
}

.data-table th {
    border-bottom: 1px solid var(--table-border);
    background: var(--table-header-bg);
    color: var(--color-text);
    font-size: 0.85rem;
    font-weight: 700;
}

.data-table tbody tr {
    background: var(--table-row-bg);
}

.data-table tbody td {
    background: inherit;
}

.admin-submissions {
    min-width: 860px;
}

.admin-system-support-inbox__table {
    width: 100%;
    min-width: 72rem;
    table-layout: fixed;
}

.admin-system-support-inbox__col-status {
    width: 8%;
}

.admin-system-support-inbox__col-message {
    width: 24%;
}

.admin-system-support-inbox__col-sender {
    width: 16%;
}

.admin-system-support-inbox__col-category {
    width: 14%;
}

.admin-system-support-inbox__col-processing-status {
    width: 12%;
}

.admin-system-support-inbox__col-activity {
    width: 12%;
}

.admin-system-support-inbox__col-count {
    width: 6%;
}

.admin-system-support-inbox__col-action {
    width: 8%;
}

.admin-system-support-inbox__read-status {
    padding-right: 16px;
}

.admin-system-support-inbox__message {
    padding-left: 16px;
}

.admin-system-support-inbox__sender {
    display: grid;
    min-width: 0;
    justify-items: start;
    gap: 5px;
}

.admin-system-support-inbox__processing-status {
    color: var(--color-muted);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.35;
}

.admin-system-support-inbox__message strong,
.admin-system-support-inbox__sender strong {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-system-support-inbox__activity {
    white-space: nowrap;
}

.admin-system-support-inbox__count {
    padding-right: 16px;
    text-align: center;
}

.admin-system-support-inbox__action {
    padding-left: 16px;
    text-align: right;
}

.content--admin .admin-system-support-inbox__filter,
.content--admin .admin-system-support-inbox__edit {
    width: fit-content;
    min-height: 34px;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.content--admin .admin-system-support-inbox__filter {
    padding: 6px 12px;
}

.content--admin .admin-system-support-inbox__edit {
    padding: 7px 12px;
}

.content--admin .admin-system-support-inbox__filter[aria-current="page"] {
    border-color: var(--sidebar-active-accent);
    background: var(--sidebar-active);
    color: var(--sidebar-active-text);
}

.content--admin .admin-system-support-inbox__filters {
    justify-content: flex-start;
    flex-wrap: wrap;
}

.content--admin .admin-system-support-inbox {
    gap: 10px;
}

.content--admin .admin-system-support-inbox__filter-row {
    display: flex;
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
}

.content--admin .admin-system-support-inbox > .table-wrap {
    margin-top: 0;
}

.employee-app-layout .employee-contacts-page {
    width: min(100%, 760px);
    min-width: 0;
    margin: 0 auto;
}

.employee-app-layout .employee-contacts-page__header {
    gap: 12px;
    flex-wrap: wrap;
}

.employee-app-layout .employee-contacts-page__identity {
    min-width: 0;
    flex: 1 1 auto;
    overflow-wrap: anywhere;
}

.employee-app-layout .employee-contacts-page__body {
    display: grid;
    gap: 10px;
}

.employee-app-layout .employee-contacts-page__category {
    min-width: 0;
    margin-left: auto;
    color: var(--color-muted);
    font-size: 0.82rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.employee-app-layout .employee-contacts-page__company {
    margin: 0;
}

.employee-app-layout .employee-contacts-page__details {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.employee-app-layout .employee-contacts-page__contact-row {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    min-width: 0;
}

.employee-app-layout .employee-contacts-page__contact-icon {
    width: 18px;
    height: 18px;
    color: var(--color-muted);
}

.employee-app-layout .employee-contacts-page__address {
    display: grid;
    gap: 2px;
    min-width: 0;
    margin: 0;
    color: inherit;
    font-style: normal;
}

.employee-app-layout .employee-contacts-page__phone,
.employee-app-layout .employee-contacts-page__address span {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Employee support: follows the compact employee-app visual language. */
.employee-app-layout .employee-support-page {
    width: min(100%, 760px);
    min-width: 0;
    margin: 0 auto;
}

.employee-app-layout .employee-support-page__header,
.employee-app-layout .employee-support-page__form-section,
.employee-app-layout .employee-support-form,
.employee-app-layout .employee-support-form__field {
    display: grid;
    min-width: 0;
}
.employee-app-layout .employee-support-page__title,
.employee-app-layout .employee-support-page__empty h2,
.employee-app-layout .employee-support-page__empty p {
    margin: 0;
}

.employee-app-layout .employee-mobile-status {
    font-size: clamp(0.72rem, 2.5vw, 0.8rem);
    font-weight: 600;
    line-height: 1.35;
}

.employee-app-layout .employee-mobile-status-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.employee-app-layout .employee-mobile-status--neutral {
    color: var(--color-muted);
}

.employee-app-layout .employee-mobile-status--warning {
    color: #a14f08;
}

.employee-app-layout .employee-mobile-status--danger {
    color: var(--form-error);
}

.employee-app-layout .employee-mobile-status--positive {
    color: var(--form-focus);
}

.employee-app-layout .employee-support-page__primary-action {
    justify-self: start;
}

.employee-app-layout .employee-support-page__list {
    display: grid;
    min-width: 0;
    margin-top: 12px;
}

.employee-app-layout .employee-support-page__items {
    display: grid;
    min-width: 0;
    gap: 0;
}

.employee-app-layout .employee-support-page__list-toggle-row {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 12px;
    padding-block: 4px;
    padding-inline: var(--employee-list-row-inline-padding);
    border-bottom: 1px solid var(--color-border);
}

.employee-app-layout .employee-support-page__list-toggle-label {
    min-width: 0;
    color: var(--color-text);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.3;
}

.employee-app-layout .employee-support-page__list-toggle {
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: var(--button-secondary-text);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
    text-align: right;
    text-decoration: none;
    cursor: pointer;
}

.employee-app-layout .employee-support-page__list-toggle:focus-visible {
    outline: 2px solid var(--button-secondary-text);
    outline-offset: 2px;
}

.employee-app-layout .employee-support-page__additional {
    display: contents;
}

.employee-app-layout .employee-support-page__additional[hidden] {
    display: none;
}

.employee-app-layout .employee-support-page__item {
    min-width: 0;
    margin: 0;
}

.employee-app-layout .employee-support-page__item-open {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    border: 0;
    border-top: 1px solid var(--color-border);
    border-radius: 0;
    appearance: none;
    background: transparent;
    color: var(--color-muted);
    font: inherit;
    text-align: left;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.employee-app-layout .employee-support-page__item-open:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: -3px;
}

.employee-app-layout .employee-support-page__empty {
    min-width: 0;
    padding: 12px 14px;
}

.employee-app-layout .employee-support-page__empty h2 {
    margin: 0;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}

.employee-app-layout .employee-support-page__empty p {
    margin-top: 6px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.employee-app-layout .employee-support-page__item-meta {
    margin: 0;
    min-width: 0;
    font-size: 0.85rem;
    font-weight: 400;
    line-height: 1.5;
}

.employee-app-layout .employee-support-page__item-detail-row {
    display: flex;
    width: 100%;
    min-width: 0;
    margin-top: 6px;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 12px;
    flex-wrap: wrap;
}

.employee-app-layout .employee-support-page__item-detail-row .employee-support-page__item-reply-status {
    flex-shrink: 0;
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
}

.employee-app-layout .employee-support-detail {
    width: min(100%, 760px);
    min-width: 0;
    margin: 0 auto;
}

.employee-app-layout .employee-support-detail__header {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.employee-app-layout .employee-support-detail__meta {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.employee-app-layout .employee-mobile-context-note,
.employee-app-layout .employee-support-detail__meta {
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: normal;
}

.employee-app-layout .employee-support-detail__messages {
    min-width: 0;
}

.employee-app-layout .employee-support-detail__closed {
    margin-top: 16px;
    padding: 12px 14px;
    border-top: 1px solid var(--color-border);
}

.employee-app-layout .employee-support-detail__closed p,
.content--admin .communication-state-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: normal;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.content--admin .communication-state-badge {
    margin-inline: auto;
    border: 0;
    box-shadow: none;
    text-align: left;
}

.employee-app-layout .employee-support-form {
    gap: 16px;
}

.employee-app-layout .employee-support-form__field {
    gap: 6px;
}

.employee-app-layout .employee-support-form__field label {
    color: var(--color-text);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
}

.employee-app-layout input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]),
.employee-app-layout select,
.employee-app-layout textarea {
    border: 1px solid var(--role-office-admin-border);
}

.employee-app-layout input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):focus,
.employee-app-layout input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):focus-visible,
.employee-app-layout select:focus,
.employee-app-layout select:focus-visible,
.employee-app-layout textarea:focus,
.employee-app-layout textarea:focus-visible {
    border-color: var(--form-focus);
    outline: 3px solid var(--button-focus);
    box-shadow: none;
}

.employee-app-layout .employee-support-form__field input:not(.upload-file-input) {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    background: var(--form-bg);
    color: var(--color-text);
    box-sizing: border-box;
    font: inherit;
}

.employee-app-layout .employee-support-form__field input:not(.upload-file-input) {
    min-height: 40px;
    padding: 6px 12px;
}

.employee-app-layout input[aria-invalid="true"],
.employee-app-layout textarea[aria-invalid="true"],
.employee-app-layout select[aria-invalid="true"],
.employee-app-layout input[aria-invalid="true"]:focus,
.employee-app-layout textarea[aria-invalid="true"]:focus,
.employee-app-layout select[aria-invalid="true"]:focus,
.employee-app-layout input[aria-invalid="true"]:focus-visible,
.employee-app-layout textarea[aria-invalid="true"]:focus-visible,
.employee-app-layout select[aria-invalid="true"]:focus-visible {
    border-color: var(--form-error) !important;
}

.employee-app-layout input[aria-invalid="true"]:focus,
.employee-app-layout textarea[aria-invalid="true"]:focus,
.employee-app-layout select[aria-invalid="true"]:focus,
.employee-app-layout input[aria-invalid="true"]:focus-visible,
.employee-app-layout textarea[aria-invalid="true"]:focus-visible,
.employee-app-layout select[aria-invalid="true"]:focus-visible {
    outline: 3px solid var(--form-error-focus) !important;
}

.employee-app-layout .form-field-error {
    color: var(--form-error);
}

.employee-app-layout .employee-apollo-checkin__instructions {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
}

.employee-app-layout .employee-apollo-checkin__instructions--plain {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.employee-app-layout .employee-mobile-disclosure__list {
    margin: 0;
    padding: 12px 16px 12px 1.4rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.45;
}

.employee-app-layout .employee-mobile-disclosure {
    gap: 0;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-background);
}

.employee-app-layout .employee-mobile-disclosure__summary {
    grid-template-columns: 20px minmax(0, 1fr) 20px;
    list-style: none;
    cursor: pointer;
}

.employee-app-layout .employee-mobile-disclosure__summary--label-end > strong {
    justify-self: end;
    text-align: right;
}

.employee-app-layout .employee-mobile-disclosure__summary::-webkit-details-marker {
    display: none;
}

.employee-app-layout .employee-mobile-disclosure__summary::marker {
    content: '';
}

.employee-app-layout .employee-mobile-disclosure__chevron {
    width: 18px;
    height: 18px;
    color: var(--color-muted);
    transition: transform 0.16s ease;
}

.employee-app-layout .employee-mobile-disclosure__icon {
    width: 18px;
    height: 18px;
    color: var(--color-muted);
}

.employee-app-layout .employee-mobile-disclosure[open] > .employee-mobile-disclosure__summary {
    border-bottom: 1px solid var(--color-border);
}

.employee-app-layout .employee-mobile-disclosure[open] .employee-mobile-disclosure__chevron {
    transform: rotate(180deg);
}

.employee-app-layout .employee-mobile-disclosure__content {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 12px 16px;
}

.employee-app-layout .employee-mobile-disclosure__content .employee-mobile-context-note {
    margin: 0;
}

.employee-app-layout .employee-apollo-checkin__phone-value,
.employee-app-layout .employee-apollo-checkin__facts,
.employee-app-layout .employee-apollo-checkin__instructions ol {
    margin: 0;
}

.employee-app-layout .employee-apollo-checkin__phone {
    align-items: center;
}

.employee-app-layout .employee-apollo-checkin__phone-value {
    overflow-wrap: anywhere;
    color: var(--button-secondary-text);
    font-size: 1.05rem;
    font-weight: 700;
}

.employee-app-layout .employee-apollo-checkin__location {
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
}

.employee-app-layout .employee-apollo-checkin__locations,
.employee-app-layout .employee-apollo-checkin__location {
    display: grid;
    min-width: 0;
}

.employee-app-layout .employee-apollo-checkin__locations {
    gap: 14px;
}

.employee-app-layout .employee-apollo-checkin__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    min-width: 0;
    padding: 6px 12px;
    overflow-wrap: anywhere;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-muted);
    font-size: 0.85rem;
    line-height: 1.4;
}

.employee-app-layout .employee-mobile-compact-row {
    display: grid;
    min-width: 0;
    align-items: center;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.employee-app-layout .employee-mobile-list-row,
.employee-app-layout .employee-mobile-compact-row,
.employee-app-layout .employee-location-detail__document-toggle,
.employee-app-layout .employee-location-detail__material-action {
    min-height: 44px;
    align-items: center;
    padding-block: 9px;
    padding-inline: var(--employee-list-row-inline-padding);
    box-sizing: border-box;
}

.employee-app-layout .employee-apollo-checkin__location-row {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding-block: 7px;
}

.employee-app-layout .employee-apollo-checkin__location-row > strong {
    overflow-wrap: anywhere;
    text-align: center;
}

.employee-app-layout .employee-apollo-checkin__icon--in {
    color: var(--button-secondary-text);
}

.employee-app-layout .employee-apollo-checkin__icon--out {
    color: var(--form-error);
}

.employee-app-layout .employee-apollo-checkin__instruction-icon {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
}

.employee-app-layout .employee-mobile-disclosure__list li + li {
    margin-top: 7px;
}

.employee-app-layout .employee-apollo-checkin__status-options {
    margin-top: 7px;
}

@media (max-width: 767px) {
    .employee-app-layout .employee-material-need {
        --employee-segment-height: 34px;
        --employee-segment-font-size: 0.875rem;
        --employee-segment-line-height: 1.3;
        --employee-segment-padding: 0 8px;
    }

    .employee-app-layout .communication-timeline__time {
        font-size: 0.8125rem;
        font-weight: 400;
        line-height: 1.35;
    }

    .employee-app-layout .app-link--emphasis {
        --app-link-emphasis-font-size: 0.8125rem;
        --app-link-emphasis-line-height: 1.35;
    }

    .employee-app-layout .employee-material-decision__segments {
        width: 90%;
        height: var(--employee-segment-height);
        min-height: var(--employee-segment-height);
        margin-inline: auto;
    }

    .employee-app-layout .employee-material-decision__label,
    .employee-app-layout .employee-material-decision__segment span {
        height: var(--employee-segment-height);
        min-height: var(--employee-segment-height);
        padding: var(--employee-segment-padding);
        font-size: var(--employee-segment-font-size);
        line-height: var(--employee-segment-line-height);
    }

    .employee-app-layout .employee-mobile-context-note,
    .employee-app-layout .employee-support-detail__meta {
        font-size: 0.75rem;
        line-height: 1.35;
    }

    .employee-app-layout .employee-mobile-home__greeting,
    .employee-app-layout .employee-mobile-section__title,
    .employee-app-layout .employee-material-need .employee-mobile-home h1,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__name,
    .employee-app-layout .employee-privacy-gate__view-title {
        font-size: 1.25rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .employee-app-layout .employee-mobile-submission__status-row h2,
    .employee-app-layout .employee-location-detail__section-heading h2,
    .employee-app-layout .employee-support-page__empty h2 {
        font-size: 0.9375rem;
        font-weight: 600;
        line-height: 1.3;
    }

    .employee-app-layout .employee-mobile-card-metric__value {
        font-size: 0.875rem;
        font-weight: 600;
    }

    .employee-app-layout .employee-location-detail__document-name,
    .employee-app-layout .employee-location-detail__upload-open,
    .employee-app-layout .employee-location-detail__material-action-label,
    .employee-app-layout .employee-location-detail__material-action > span:not(.badge),
    .employee-app-layout .employee-location-detail__material-action,
    .employee-app-layout .employee-mobile-location-row > strong,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link:not(.employee-mobile-profile__logout) > span,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__logout-label {
        font-size: 0.9375rem;
    }

    .employee-app-layout .employee-location-detail__document-name,
    .employee-app-layout .employee-location-detail__material-action-label,
    .employee-app-layout .employee-location-detail__material-action > span:not(.badge),
    .employee-app-layout .employee-location-detail__material-action,
    .employee-app-layout .employee-mobile-location-row > strong,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__link:not(.employee-mobile-profile__logout) > span,
    .employee-app-layout .employee-mobile-app .employee-mobile-profile__logout-label {
        line-height: 1.4;
    }

    .employee-app-layout .employee-mobile-back-link {
        font-size: 0.9375rem;
        line-height: 1.4;
    }

    .employee-app-layout .employee-mobile-app .employee-session-countdown {
        font-size: 0.9375rem;
    }

    .employee-app-layout .employee-support-form__field input:not(.upload-file-input) {
        font-size: 1rem;
    }

    .employee-app-layout .employee-support-page__title {
        color: var(--color-text);
        font-family: inherit;
        letter-spacing: normal;
        overflow-wrap: anywhere;
    }

    .employee-app-layout .employee-support-page__primary-action,
    .employee-app-layout .employee-support-form__submit {
        width: 100%;
        max-width: 100%;
    }

    .employee-app-layout .employee-support-page__primary-action {
        margin-top: 4px;
    }

}

@media (min-width: 641px) {
    .admin-submissions th:nth-child(1),
    .admin-submissions td:nth-child(1),
    .admin-submissions th:nth-child(3),
    .admin-submissions td:nth-child(3),
    .admin-submissions th:nth-child(4),
    .admin-submissions td:nth-child(4),
    .admin-submissions th:nth-child(5),
    .admin-submissions td:nth-child(5),
    .admin-submissions th:nth-child(6),
    .admin-submissions td:nth-child(6) {
        white-space: nowrap;
    }
}

.admin-page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.content--admin .office-admin-support-index {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.content--admin .office-admin-support-index__create {
    width: fit-content;
    min-height: 34px;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
}

.content--admin .office-admin-support-index__create {
    padding: 6px 14px;
}

.content--admin .office-admin-support-detail,
.content--admin .system-admin-support-detail,
.communication-timeline {
    --communication-separator-color: var(--sidebar-active-accent);
}

.content--admin .office-admin-support-detail {
    width: 100%;
    max-width: none;
}

.content--admin .office-admin-support-create__back {
    width: fit-content;
    min-height: 34px;
    padding: 7px 12px;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
}

.content--admin .admin-inbox__timeline {
    display: grid;
    gap: 24px;
    width: 100%;
    max-width: 960px;
    min-width: 0;
    margin-inline: auto;
}

.content--admin .office-admin-support-create {
    display: grid;
    gap: 24px;
    width: 100%;
    max-width: none;
    min-width: 0;
}

.content--admin .communication-timeline {
    --employee-card-shadow: var(--communication-surface-shadow);
}

.content--admin .admin-data-form-panel {
    display: grid;
    align-content: start;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--color-border);
    border-top: 3px solid var(--admin-data-form-panel-accent);
    border-radius: 8px;
    background: var(--table-row-hover);
    box-shadow: 0 2px 8px rgba(31, 54, 47, 0.08);
    margin-inline: auto;
}

.content--admin .admin-data-form-panel {
    border-color: var(--color-text);
    border-top-color: var(--admin-data-form-panel-accent);
}

.content--admin .admin-data-form-panel--employee-compact,
.content--admin .admin-data-form-panel--admin-user-compact,
.content--admin .admin-data-form-panel--contact-compact,
.content--admin .admin-data-form-panel--object-compact,
.content--admin .admin-data-form-panel--assignment-compact,
.content--admin .admin-data-form-panel--employee-deactivate-compact,
.content--admin .admin-data-form-panel--employee-absence-compact,
.content--admin .admin-data-form-panel--material-list-compact {
    grid-template-columns: var(--admin-data-form-columns);
    column-gap: var(--admin-data-form-column-gap);
    width: fit-content;
    max-width: 100%;
    margin-inline: 24px auto;
}

.content--admin .admin-data-form-panel.admin-data-form-panel--employee-compact > *,
.content--admin .admin-data-form-panel.admin-data-form-panel--admin-user-compact > *,
.content--admin .admin-data-form-panel.admin-data-form-panel--contact-compact > *,
.content--admin .admin-data-form-panel.admin-data-form-panel--object-compact > *,
.content--admin .admin-data-form-panel.admin-data-form-panel--assignment-compact > *,
.content--admin .admin-data-form-panel.admin-data-form-panel--employee-deactivate-compact > *,
.content--admin .admin-data-form-panel.admin-data-form-panel--employee-absence-compact > *,
.content--admin .admin-data-form-panel.admin-data-form-panel--material-list-compact > * {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.content--admin .admin-material-list-item-form-page .admin-data-form-panel {
    width: fit-content;
    max-width: 100%;
}

.content--admin .admin-data-form-panel--employee-compact .admin-data-form,
.content--admin .admin-data-form-panel--admin-user-compact .admin-data-form,
.content--admin .admin-data-form-panel--contact-compact .admin-data-form,
.content--admin .admin-data-form-panel--object-compact .admin-data-form,
.content--admin .admin-data-form-panel--assignment-compact .admin-data-form,
.content--admin .admin-data-form-panel--employee-absence-compact .admin-data-form,
.content--admin .admin-material-list-form-page .admin-data-form-panel .admin-data-form,
.content--admin .admin-material-list-item-form-page .admin-data-form-panel .admin-data-form,
.content--admin .admin-data-form-panel--employee-deactivate-compact .admin-data-form {
    gap: 10px;
}

.content--admin .admin-data-form-panel--employee-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--admin-user-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--contact-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--object-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--assignment-compact .admin-data-form__grid,
.content--admin .admin-data-form-panel--employee-absence-compact .admin-data-form__grid,
.content--admin .admin-material-list-form-page .admin-data-form-panel .admin-data-form__grid,
.content--admin .admin-material-list-item-form-page .admin-data-form-panel .admin-data-form__grid,
.content--admin .admin-data-form-panel--employee-deactivate-compact .admin-data-form__grid {
    row-gap: 10px;
}

.content--admin .admin-material-list-form-page .admin-data-form-panel .admin-data-form__grid,
.content--admin .admin-material-list-item-form-page .admin-data-form-panel .admin-data-form__grid {
    column-gap: 16px;
}

.content--admin .admin-data-form-panel--employee-compact .form-field,
.content--admin .admin-data-form-panel--admin-user-compact .form-field,
.content--admin .admin-data-form-panel--contact-compact .form-field,
.content--admin .admin-data-form-panel--object-compact .form-field,
.content--admin .admin-data-form-panel--assignment-compact .form-field,
.content--admin .admin-data-form-panel--employee-absence-compact .form-field,
.content--admin .admin-material-list-form-page .admin-data-form-panel .form-field,
.content--admin .admin-material-list-item-form-page .admin-data-form-panel .form-field,
.content--admin .admin-data-form-panel--employee-deactivate-compact .form-field {
    gap: 5px;
}

.content--admin .admin-data-form-panel--employee-compact form.admin-data-form .form-field > span,
.content--admin .admin-data-form-panel--admin-user-compact form.admin-data-form .form-field > span,
.content--admin .admin-data-form-panel--admin-user-compact form.admin-data-form .form-field > label > span,
.content--admin .admin-data-form-panel--contact-compact form.admin-data-form .form-field > span,
.content--admin .admin-data-form-panel--object-compact form.admin-data-form .form-field > span,
.content--admin .admin-data-form-panel--assignment-compact form.admin-data-form .form-field > span,
.content--admin .admin-data-form-panel--employee-absence-compact form.admin-data-form .form-field > span,
.content--admin .admin-material-list-form-page .admin-data-form-panel form.admin-data-form .form-field > span,
.content--admin .admin-material-list-item-form-page .admin-data-form-panel form.admin-data-form .form-field > span,
.content--admin .admin-data-form-panel--employee-deactivate-compact form.admin-data-form .form-field > span {
    font-size: 0.88rem;
    line-height: 1.3;
}

.content--admin .admin-data-form-panel--employee-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--admin-user-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--contact-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--assignment-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--employee-absence-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--employee-deactivate-compact form.admin-data-form .form-field .form-choice-control {
    --form-control-padding-block: 7px;
    --form-control-padding-inline: 10px;
    --form-control-line-height: 1.3;
}

.content--admin .admin-material-list-form-page .admin-data-form-panel form.admin-data-form .form-field textarea,
.content--admin .admin-material-list-item-form-page .admin-data-form-panel form.admin-data-form .form-field textarea {
    min-height: 40px;
    padding: 7px 10px;
}

.content--admin .admin-data-form-panel--employee-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--admin-user-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--contact-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--assignment-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--employee-absence-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-material-list-form-page .admin-data-form-panel form.admin-data-form .form-field textarea,
.content--admin .admin-material-list-item-form-page .admin-data-form-panel form.admin-data-form .form-field textarea,
.content--admin .admin-data-form-panel--employee-deactivate-compact form.admin-data-form .form-field .form-choice-control {
    font-size: 0.9rem;
    line-height: 1.3;
}

.content--admin .admin-data-form-panel--employee-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--admin-user-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--contact-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--assignment-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--employee-absence-compact form.admin-data-form .form-field .form-choice-control,
.content--admin .admin-data-form-panel--employee-deactivate-compact form.admin-data-form .form-field .form-choice-control {
    min-height: 0;
    padding: 0;
}

.content--admin .admin-data-form-panel--employee-compact form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-data-form-panel--employee-compact form.admin-data-form .form-field-error,
.content--admin .admin-data-form-panel--admin-user-compact form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-data-form-panel--admin-user-compact form.admin-data-form .form-field-error,
.content--admin .admin-data-form-panel--contact-compact form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-data-form-panel--contact-compact form.admin-data-form .form-field-error,
.content--admin .admin-data-form-panel--object-compact form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-data-form-panel--object-compact form.admin-data-form .form-field-error,
.content--admin .admin-data-form-panel--assignment-compact form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-data-form-panel--assignment-compact form.admin-data-form .form-field-error,
.content--admin .admin-data-form-panel--employee-absence-compact form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-data-form-panel--employee-absence-compact form.admin-data-form .form-field-error,
.content--admin .admin-material-list-form-page .admin-data-form-panel form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-material-list-form-page .admin-data-form-panel form.admin-data-form .form-field-error,
.content--admin .admin-material-list-item-form-page .admin-data-form-panel form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-material-list-item-form-page .admin-data-form-panel form.admin-data-form .form-field-error,
.content--admin .admin-data-form-panel--employee-deactivate-compact form.admin-data-form .form-field small:not(.personal-settings__description),
.content--admin .admin-data-form-panel--employee-deactivate-compact form.admin-data-form .form-field-error {
    font-size: 0.82rem;
    line-height: 1.3;
}

.content--admin .admin-data-form-panel form.admin-data-form small.admin-data-form-support-note {
    margin-top: 0;
    color: var(--color-muted);
    font-size: 0.92rem;
    font-weight: 400;
    line-height: 1.5;
}

.communication-compose-region {
    display: grid;
    gap: 24px;
    width: min(100%, 460px);
    min-width: 0;
    margin-inline: auto;
}

.communication-composer-form {
    margin-block: 0;
}

.communication-composer {
    --communication-composer-inline-inset: 10px;
    display: grid;
    gap: 12px;
    width: 100%;
    min-width: 0;
    margin: 0;
}

.communication-composer__container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    min-width: 0;
    padding: 16px;
    padding-top: 4px;
    border: 1px solid var(--role-office-admin-border);
    border-radius: 12px;
    background: var(--employee-card-header-background);
    box-shadow: var(--communication-surface-shadow);
}

.communication-composer__header {
    grid-area: counter;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
    padding-block: 4px;
    padding-inline: var(--communication-composer-inline-inset);
    line-height: 1.25;
}

.communication-composer__input-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    grid-template-areas: "counter ." "message send";
    align-items: start;
    gap: 0 12px;
    min-width: 0;
}

.communication-composer__message {
    grid-area: message;
    min-width: 0;
    gap: 0;
}

.communication-composer__input-row > .communication-composer__send {
    grid-area: send;
}

.communication-composer__label,
.communication-composer__category > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.communication-composer .communication-composer__message textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 8px;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.45;
    color: var(--color-text);
    min-height: 0;
    max-height: 12rem;
    padding-block: 4px;
    padding-inline: var(--communication-composer-inline-inset);
    border-color: var(--role-office-admin-border);
    background: var(--employee-card-surface-background);
    overflow-y: auto;
    overflow-wrap: anywhere;
    resize: none;
}

.communication-composer .communication-composer__message textarea::placeholder {
    font-size: 0.875rem;
    font-weight: 400;
}

@media (max-width: 767px) {
    .communication-composer .communication-composer__message textarea::placeholder {
        font-size: 0.8125rem;
    }
}

.communication-composer .communication-composer__message textarea:focus,
.communication-composer .communication-composer__message textarea:focus-visible {
    border-color: var(--form-focus);
    outline: 3px solid var(--button-focus);
    box-shadow: none;
}

.communication-composer__toolbar,
.communication-composer__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.communication-composer__toolbar {
    grid-column: 1;
    box-sizing: border-box;
    padding-inline: var(--communication-composer-inline-inset);
}

.communication-composer__actions {
    flex: 1 1 auto;
}

.communication-composer .communication-composer__input-row > .communication-composer__send {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    padding: 2px;
    border: 0;
    border-radius: 50%;
    background-clip: content-box;
}

.communication-composer__send svg {
    width: 22px;
    height: 22px;
}

.communication-composer .form-field .single-select.single-select--toolbar .communication-attachment-action,
.communication-attachment-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: fit-content;
    min-width: 0;
    max-width: 100%;
    min-height: 28px;
    box-sizing: border-box;
    padding: 4px 6px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: var(--color-border);
    color: var(--button-secondary-text);
    cursor: pointer;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: normal;
    white-space: nowrap;
    text-decoration: none;
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.communication-attachment-action svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.communication-composer .form-field .single-select.single-select--toolbar .communication-attachment-action:focus-visible,
.communication-attachment-action:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: 0;
}

.communication-composer__attachment {
    display: flex;
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
}

.communication-composer__attachment .upload-file-input:focus + .upload-file-button {
    border-color: transparent;
}

.communication-composer__attachment .upload-file-input:focus:not(:focus-visible) + .upload-file-button {
    outline: none;
}

.communication-composer__attachment .upload-file-input:focus-visible + .upload-file-button {
    outline: 3px solid var(--button-focus);
}

.communication-composer__category {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
    gap: 0;
}

.single-select--toolbar {
    position: relative;
    width: max-content;
    min-width: 0;
    max-width: 100%;
}

.single-select--toolbar > .single-select__native {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

@media (max-width: 767px) {
    .single-select--toolbar > .single-select__listbox {
        display: none;
    }
}

.single-select__sheet-options {
    display: grid;
    gap: 4px;
}

.single-select__sheet-option {
    position: relative;
    width: 100%;
    min-height: 48px;
    padding: 10px 36px 10px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--color-text);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
}

.single-select__sheet-option:hover,
.single-select__sheet-option[aria-pressed="true"] {
    background: var(--button-secondary-hover);
}

.single-select__sheet-option:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: 1px;
}

.single-select--toolbar .single-select__value {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.single-select__toolbar-icon {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.single-select--toolbar .single-select__option {
    min-height: 28px;
    font-size: 0.8125rem;
    overflow-wrap: normal;
    white-space: nowrap;
}

.single-select--selection-checks .single-select__option {
    position: relative;
    padding-inline-end: 30px;
}

.single-select--selection-checks .single-select__option--selected[aria-selected="true"]::after,
.single-select__sheet-option[aria-pressed="true"]::after {
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    width: 5px;
    height: 9px;
    border: solid currentColor;
    border-width: 0 1.5px 1.5px 0;
    transform: translateY(-50%) rotate(45deg);
}

.communication-composer__selected-category,
.communication-composer__context {
    color: var(--color-muted);
    font-size: 0.8rem;
}

.communication-composer__selected-category,
.communication-composer__context {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.communication-composer__hint {
    grid-column: 1 / -1;
    margin: 0;
    padding-inline: var(--communication-composer-inline-inset);
}

.communication-composer__hint,
.communication-composer__counter {
    color: var(--color-muted);
    font-size: 0.8rem;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
}

.communication-composer__counter {
    flex: 0 0 auto;
    margin-inline-start: auto;
    white-space: nowrap;
}

.communication-composer .upload-selected-file {
    grid-column: 1 / -1;
    margin: 0;
    padding: 0;
}

.communication-composer .upload-selected-file:has([data-file-selection-selected][hidden]),
.communication-composer [data-file-selection-empty] {
    display: none;
}

.communication-composer .upload-selected-file__selection {
    flex: 0 1 auto;
    padding: 0;
}

.communication-composer .upload-selected-file__filename {
    font-size: 0.8125rem;
}

.content--admin .admin-data-form {
    gap: 12px;
    margin-top: 0;
}

.content--admin .admin-inbox__conversation-divider {
    width: 100%;
}

.content--admin .admin-inbox__conversation-divider {
    height: 1px;
    margin-inline: auto;
    border: 0;
    border-radius: 0;
    background: var(--communication-separator-color);
    opacity: 1;
    box-shadow: none;
}

.content--admin .admin-data-form-divider {
    width: 100%;
    height: 1px;
    margin-inline: auto;
    border: 0;
    border-radius: 0;
    background: var(--color-text);
}

.content--admin .admin-employee-deactivate__context {
    display: grid;
    grid-template-columns: var(--admin-data-form-columns);
    justify-content: start;
    column-gap: var(--admin-data-form-column-gap);
    row-gap: 12px;
    min-width: 0;
}

.content--admin .admin-employee-deactivate__context > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.content--admin .admin-employee-deactivate__context strong {
    overflow-wrap: anywhere;
}

.content--admin .admin-employee-deactivate-form {
    gap: 12px;
    margin-top: 0;
}

.content--admin .admin-data-form__grid--employee-deactivate-compact .deactivation-date-group {
    display: contents;
}

.content--admin .admin-data-form__grid--employee-deactivate-compact .deactivation-date-group[hidden] {
    display: none;
}

@media (max-width: 720px) {
    .content--admin .admin-data-form-panel--employee-compact,
    .content--admin .admin-data-form-panel--admin-user-compact,
    .content--admin .admin-data-form-panel--contact-compact,
    .content--admin .admin-data-form-panel--object-compact,
    .content--admin .admin-data-form-panel--assignment-compact,
    .content--admin .admin-data-form-panel--employee-deactivate-compact,
    .content--admin .admin-data-form-panel--employee-absence-compact,
    .content--admin .admin-data-form-panel--material-list-compact {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
    }

    .content--admin .admin-material-list-item-form-page .admin-data-form-panel {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
    }
}

.content--admin .system-admin-support-detail {
    width: 100%;
    min-width: 0;
}

.content--admin .communication-reply-state:not(.communication-state-badge) {
    width: min(100%, 520px);
    margin: 0 auto;
    color: var(--color-muted);
    font-size: 0.875rem;
    line-height: 1.45;
    text-align: center;
}

.communication-author--employee {
    --communication-role-accent-color: var(--button-secondary-text);
    --communication-role-border-color: var(--role-office-admin-border);
}

.communication-author--office_admin {
    --communication-role-accent-color: var(--color-primary);
    --communication-role-border-color: var(--role-system-admin-border);
}

.communication-author--system_admin {
    --communication-role-accent-color: var(--communication-system-admin-accent-color);
    --communication-role-border-color: var(--communication-system-admin-border-color);
}

.communication-timeline {
    --employee-card-body-padding-block: 6px;
    --employee-card-band-padding-block: 5px;
    --employee-mobile-card-band-min-height: auto;
    width: 100%;
    min-width: 0;
}

.communication-timeline__list {
    --communication-timeline-item-gap: 20px;
    display: grid;
    gap: var(--communication-timeline-item-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.communication-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-width: 0;
}

.communication-timeline__item::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 19px;
    bottom: calc(-1 * var(--communication-timeline-item-gap) - 19px);
    left: 6px;
    width: 1px;
    background: var(--communication-separator-color);
}

.communication-timeline__item:last-child::before {
    display: none;
}

.communication-timeline__marker {
    position: relative;
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    width: 12px;
    height: 12px;
    margin: 13px 0 0 0;
    border: 3px solid var(--color-surface);
    border-radius: 50%;
    background: var(--communication-role-accent-color);
    outline: 1px solid var(--communication-role-accent-color);
}

.communication-timeline__content {
    --employee-card-divider-color: var(--communication-role-border-color);
    grid-column: 2;
    grid-row: 1;
    border: 1px solid var(--communication-role-border-color);
    border-top: 3px solid var(--communication-role-accent-color);
}

.employee-app-layout .employee-mobile-card-surface {
    border: 1px solid var(--role-office-admin-border);
    border-top: 3px solid var(--button-secondary-text);
}

.communication-timeline__content,
.employee-app-layout .employee-mobile-card-surface {
    border-radius: var(--employee-card-radius);
    background: var(--employee-card-surface-background);
    box-shadow: var(--employee-card-shadow);
}

.communication-message-card,
.employee-app-layout .employee-mobile-card-layout {
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.communication-message-card {
    display: grid;
}

.employee-app-layout .employee-mobile-home__summary-title,
.employee-app-layout .employee-mobile-message__title {
    color: var(--color-text);
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: normal;
}

.communication-timeline__author,
.admin-inbox__item-sender {
    color: var(--color-text);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: normal;
}

.employee-app-layout .employee-mobile-home__summary-text,
.employee-app-layout .employee-mobile-message__text {
    color: var(--color-muted);
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
}

.employee-app-layout .employee-mobile-card-footer__action {
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: normal;
}

.employee-app-layout .employee-mobile-home__summary-status {
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: normal;
}

.communication-message-card__header,
.communication-message-card__body,
.communication-message-card__footer,
.employee-app-layout .employee-mobile-card-header,
.employee-app-layout .employee-mobile-card-body,
.employee-app-layout .employee-mobile-card-footer {
    min-width: 0;
    padding-inline: var(--employee-card-inline-padding);
}

.communication-message-card__body,
.employee-app-layout .employee-mobile-card-body {
    padding-block: var(--employee-card-body-padding-block);
}

.communication-message-card__body > :first-child,
.employee-app-layout .employee-mobile-card-body > :first-child {
    margin-block-start: 0;
}

.communication-message-card__body > :last-child,
.employee-app-layout .employee-mobile-card-body > :last-child {
    margin-block-end: 0;
}

.communication-message-card__header,
.employee-app-layout .employee-mobile-card-header {
    padding-block: var(--employee-card-band-padding-block);
    border-bottom: 1px solid var(--employee-card-divider-color);
    background: var(--employee-card-header-background);
}

.communication-message-card__header,
.communication-message-card__footer,
.employee-app-layout .employee-mobile-card-header,
.employee-app-layout .employee-mobile-card-footer {
    min-block-size: var(--employee-mobile-card-band-min-height);
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.employee-app-layout .employee-mobile-card-progress-group {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.employee-app-layout .employee-mobile-card-flow {
    display: grid;
    gap: 0;
    min-width: 0;
}

.employee-app-layout .employee-mobile-card-flow__item {
    min-width: 0;
}

.employee-app-layout .employee-mobile-card-flow__item + .employee-mobile-card-flow__item {
    padding-block-start: var(--employee-mobile-home-flow-spacing);
}

.employee-app-layout .employee-mobile-card-flow__item--card + .employee-mobile-card-flow__item--card {
    display: grid;
    gap: var(--employee-mobile-home-flow-spacing);
    padding-block-start: var(--employee-mobile-home-flow-spacing);
}

.employee-app-layout .employee-mobile-card-flow__item--card + .employee-mobile-card-flow__item--card::before {
    display: block;
    width: 100%;
    height: 1px;
    background: var(--color-border);
    content: "";
}

.employee-app-layout .employee-mobile-card-footer {
    padding-block: var(--employee-card-band-padding-block);
    border-top: 1px solid var(--employee-card-divider-color);
}

.communication-message-card__footer {
    padding-block: 0 var(--employee-card-band-padding-block);
}

.employee-app-layout .employee-mobile-card-footer {
    justify-content: flex-end;
}

.employee-app-layout .employee-mobile-card-footer > .employee-mobile-home__summary-status {
    margin-top: 0;
}

.employee-app-layout .employee-mobile-card-footer--action {
    padding: 0;
}

.employee-app-layout .employee-mobile-card-footer__action {
    display: flex;
    align-items: center;
    align-self: stretch;
    width: 100%;
    min-block-size: var(--employee-mobile-card-band-min-height);
    box-sizing: border-box;
    background: transparent;
    color: var(--button-secondary-text);
    text-decoration: none;
}

.employee-app-layout .employee-mobile-card-footer__action {
    justify-content: flex-end;
    padding-block: var(--employee-card-band-padding-block);
    padding-inline: 12px;
    text-align: right;
}

.employee-app-layout .employee-mobile-card-footer__action:hover {
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    text-decoration: none;
}

.employee-app-layout .employee-mobile-card-footer__action:focus-visible {
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    text-decoration: none;
    outline: 2px solid var(--button-focus);
    outline-offset: -2px;
}

.communication-timeline__content,
.communication-timeline__header,
.communication-timeline__body,
.communication-timeline__attachments,
.communication-timeline__attachment-list,
.communication-timeline__attachment-item {
    min-width: 0;
    max-width: 100%;
}

.communication-timeline__header {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2px 12px;
}

.communication-timeline__author {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}

.communication-timeline__time {
    flex: 0 0 auto;
    margin-inline-start: auto;
    color: var(--color-muted);
    text-align: right;
    white-space: nowrap;
}

.content--admin .communication-timeline__time {
    font-size: 0.8125rem;
}

.content--admin .communication-timeline__item--responder .communication-timeline__header {
    flex-direction: row-reverse;
}

.content--admin .communication-timeline__item--responder .communication-timeline__author {
    text-align: right;
}

.content--admin .communication-timeline__item--responder .communication-timeline__time {
    margin-inline-start: 0;
    text-align: left;
}

.communication-timeline__body {
    color: var(--color-muted);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: normal;
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.communication-timeline__attachment-list {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.communication-timeline__attachment-item {
    display: flex;
}

.communication-timeline__item--originator .communication-timeline__attachment-item {
    justify-content: flex-end;
}

.communication-timeline__item--responder .communication-timeline__attachment-item,
.communication-timeline__item--neutral .communication-timeline__attachment-item {
    justify-content: flex-start;
}

.communication-timeline__attachment,
.communication-composer .communication-attachment-action,
.communication-composer .communication-composer__category .single-select.single-select--toolbar .single-select__trigger {
    min-height: 24px;
    padding: 2px 4px;
    font-size: 0.75rem;
}

.app-link--emphasis {
    color: var(--button-secondary-text);
    font-size: var(--app-link-emphasis-font-size, 0.9rem);
    font-weight: 600;
    line-height: var(--app-link-emphasis-line-height, 1.4);
    overflow-wrap: anywhere;
    text-decoration: underline;
    text-underline-offset: auto;
}

.app-link--emphasis:hover,
.app-link--emphasis:focus,
.app-link--emphasis:focus-visible {
    color: var(--button-secondary-text);
    text-decoration: underline;
    text-underline-offset: auto;
}

.communication-timeline__empty {
    margin: 0;
    color: var(--color-muted);
}

.communication-timeline--compact .communication-timeline__list {
    --communication-timeline-item-gap: 16px;
}

/* Admin conversations retain their existing horizontal card padding. */
.content--admin .communication-timeline--compact {
    --employee-card-inline-padding: 10px;
}

.content--admin .communication-timeline--compact .communication-timeline__content {
    width: fit-content;
    max-width: min(100%, 24rem);
    justify-self: start;
}

@media (min-width: 768px) {
    .content--admin .communication-timeline--compact .communication-timeline__item--originator .communication-timeline__content {
        justify-self: end;
    }
}

@media (min-width: 768px) {
    .communication-timeline__item {
        grid-template-columns: var(--communication-timeline-desktop-columns);
        gap: 0;
    }

    .communication-timeline__item::before {
        left: 50%;
        transform: translateX(-50%);
    }

    .communication-timeline__marker {
        grid-column: 2;
        justify-self: center;
    }

    .communication-timeline__item--originator .communication-timeline__content {
        grid-column: 1;
        justify-self: end;
    }

    .communication-timeline__item--responder .communication-timeline__content,
    .communication-timeline__item--neutral .communication-timeline__content {
        grid-column: 3;
        justify-self: start;
    }

    .communication-timeline__content {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .content--admin .office-admin-support-index > .table-wrap--admin {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow-x: visible;
    }

    .content--admin .office-admin-support-index__table,
    .content--admin .office-admin-support-index__table tbody,
    .content--admin .office-admin-support-index__table tr,
    .content--admin .office-admin-support-index__table td {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .content--admin .office-admin-support-index__table {
        display: block;
        table-layout: auto;
    }

    .content--admin .office-admin-support-index__table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .content--admin .office-admin-support-index__table tbody {
        display: grid;
        gap: 12px;
    }

    .content--admin .office-admin-support-index__table tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px 12px;
        padding: 14px;
        border: 1px solid var(--color-border);
        border-radius: 8px;
        background: var(--color-surface);
    }

    .content--admin .office-admin-support-index__table td {
        display: grid;
        gap: 3px;
        padding: 0;
        border: 0;
        overflow-wrap: anywhere;
    }

    .content--admin .office-admin-support-index__table td::before {
        content: attr(data-label);
        color: var(--color-muted);
        font-size: 0.78rem;
        font-weight: 600;
        line-height: 1.2;
    }

    .content--admin .office-admin-support-index__table td:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .content--admin .office-admin-support-index__table td:nth-child(2) {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .content--admin .office-admin-support-index__table td:nth-child(3) {
        grid-column: 2;
        grid-row: 1;
        justify-items: end;
        text-align: right;
    }

    .content--admin .office-admin-support-index__table td:nth-child(4) {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .content--admin .office-admin-support-index__table td:nth-child(5) {
        grid-column: 1 / -1;
        grid-row: 4;
    }

    .content--admin .office-admin-support-index__table td:nth-child(6) {
        grid-column: 1 / -1;
        grid-row: 5;
        padding-top: 2px;
    }

    .content--admin .office-admin-support-index__table td strong,
    .content--admin .office-admin-support-index__table td:nth-child(4) {
        overflow-wrap: anywhere;
    }

    .content--admin .office-admin-support-index__table td:nth-child(3) .badge {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .content--admin .admin-system-support-inbox__filter-row,
    .content--admin .admin-system-support-inbox__filters {
        width: 100%;
        justify-content: flex-start;
    }

    .content--admin .admin-system-support-inbox__table,
    .content--admin .admin-system-support-inbox__table tbody,
    .content--admin .admin-system-support-inbox__table tr,
    .content--admin .admin-system-support-inbox__table td {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .content--admin .admin-system-support-inbox__table {
        display: block;
        table-layout: auto;
    }

    .content--admin .admin-system-support-inbox__table colgroup {
        display: none;
    }

    .content--admin .admin-system-support-inbox__table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .content--admin .admin-system-support-inbox__table tbody {
        display: grid;
        gap: 12px;
    }

    .content--admin .admin-system-support-inbox__table tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px 12px;
        padding: 14px;
        border: 1px solid var(--color-border);
        border-radius: 8px;
        background: var(--color-surface);
    }

    .content--admin .admin-system-support-inbox__table td {
        display: grid;
        gap: 3px;
        padding: 0;
        border: 0;
        overflow-wrap: anywhere;
        text-align: left;
    }

    .content--admin .admin-system-support-inbox__table td::before {
        content: attr(data-label);
        color: var(--color-muted);
        font-size: 0.78rem;
        font-weight: 600;
        line-height: 1.2;
    }

    .content--admin .admin-system-support-inbox__table td:nth-child(1) {
        grid-column: 2;
        grid-row: 1;
        justify-items: end;
        text-align: right;
    }

    .content--admin .admin-system-support-inbox__table td:nth-child(2) {
        grid-column: 1;
        grid-row: 1;
    }

    .content--admin .admin-system-support-inbox__table td:nth-child(n + 3) {
        grid-column: 1 / -1;
    }

    .content--admin .admin-system-support-inbox__table td:nth-child(3) { grid-row: 2; }
    .content--admin .admin-system-support-inbox__table td:nth-child(4) { grid-row: 3; }
    .content--admin .admin-system-support-inbox__table td:nth-child(5) { grid-row: 4; }
    .content--admin .admin-system-support-inbox__table td:nth-child(6) { grid-row: 5; }
    .content--admin .admin-system-support-inbox__table td:nth-child(7) { grid-row: 6; }
    .content--admin .admin-system-support-inbox__table td:nth-child(8) {
        grid-row: 7;
        padding-top: 2px;
    }

    .content--admin .admin-system-support-inbox__table td:nth-child(1)::before,
    .content--admin .admin-system-support-inbox__table td:nth-child(1):empty {
        display: none;
    }

    .content--admin .admin-system-support-inbox__sender {
        justify-items: start;
    }

    .content--admin .office-admin-support-detail__conversation,
    .content--admin .system-admin-support-detail__conversation {
        max-width: none;
    }

    .communication-timeline__item--originator .communication-timeline__content,
    .communication-timeline__item--responder .communication-timeline__content,
    .communication-timeline__item--neutral .communication-timeline__content {
        grid-column: 2;
        width: 100%;
    }
}

.content--admin .admin-page {
    display: grid;
    gap: 24px;
}

.content--admin .admin-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 24px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
    box-shadow: 0 14px 30px var(--card-shadow);
}

.content--admin .admin-page-header__text {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.admin-header .admin-page-title {
    margin: 0;
    color: var(--color-text);
    font-size: 1.7rem;
    line-height: 1.2;
}

.content--admin .admin-page-title--accent::after {
    content: "";
    display: block;
    width: 56px;
    height: 3px;
    margin-top: 8px;
    border-radius: 999px;
    background: var(--sidebar-active-accent);
}

.content--admin .admin-page-description {
    max-width: 820px;
    margin: 0;
    color: var(--color-muted);
    font-size: 0.96rem;
}

.content--admin .admin-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
}

.content--admin .admin-page-actions > .back-link {
    margin-bottom: 0;
}

.content--admin .admin-section {
    display: grid;
    gap: 18px;
    padding: 24px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
    box-shadow: 0 12px 24px var(--card-shadow);
}

.content--admin .admin-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.content--admin .admin-section-header > div {
    min-width: 0;
}

.content--admin .admin-section-title {
    margin: 0;
    color: var(--color-text);
    font-size: 1.12rem;
    line-height: 1.25;
}

.content--admin .admin-empty-state {
    margin: 0;
    color: var(--color-muted);
}

.content--admin .admin-dashboard__panel {
    --admin-dashboard-card-width: 260px;
    --admin-dashboard-completion-width: 60px;
    --admin-dashboard-completion-gap: 10px;
    --admin-dashboard-widget-width: calc(var(--admin-dashboard-card-width) + var(--admin-dashboard-completion-gap) + var(--admin-dashboard-completion-width));
    --admin-dashboard-gap: 14px;
    display: grid;
    gap: 24px;
    min-width: 0;
}

.content--admin .admin-dashboard [hidden] {
    display: none !important;
}

.content--admin .admin-dashboard-greeting-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.content--admin .admin-dashboard-greeting,
.content--admin .admin-dashboard-current-date {
    margin: 0;
    color: var(--color-text);
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.4;
}

.content--admin .admin-dashboard-current-date {
    flex: 0 0 auto;
    white-space: nowrap;
}

.content--admin .admin-dashboard-current-date__weekday {
    color: var(--color-text);
    font-weight: 800;
}

.content--admin .admin-dashboard-current-date__value {
    color: var(--color-muted);
}

.content--admin .admin-dashboard-widget-sort-live {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.content--admin .admin-dashboard-widgets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, var(--admin-dashboard-widget-width)));
    column-gap: var(--admin-dashboard-gap);
    row-gap: 24px;
    align-items: start;
    justify-content: start;
    margin-top: 0;
}

.content--admin .admin-dashboard-widget {
    --admin-dashboard-widget-header-block-size: 54px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--admin-dashboard-completion-gap) var(--admin-dashboard-completion-width);
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 0;
    min-width: 0;
    box-sizing: border-box;
}

.content--admin .admin-dashboard-widget--compact {
    grid-column: span 1;
    width: var(--admin-dashboard-widget-width);
}

.content--admin .admin-dashboard-widget--wide {
    grid-column: span 2;
}

.content--admin .admin-dashboard-widget[data-dashboard-widget-height-mode="synchronized"] .admin-dashboard-widget__surface {
    min-height: var(--admin-dashboard-synchronized-height, auto);
}

.content--admin .admin-dashboard-widget[data-dashboard-widget-height-mode="content"] .admin-dashboard-widget__surface {
    grid-row: auto;
    grid-template-rows: auto;
}

.content--admin .admin-dashboard-widget__surface {
    display: grid;
    grid-row: 1 / span 3;
    grid-template-rows: subgrid;
    align-content: start;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--role-office-admin-border);
    border-top-width: 3px;
    border-top-color: var(--button-secondary-border);
    border-radius: 8px;
    background: var(--table-row-hover);
    box-shadow: var(--admin-table-surface-shadow);
}

.content--admin .admin-dashboard-widget__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
    min-block-size: var(--admin-dashboard-widget-header-block-size);
    min-width: 0;
    box-sizing: border-box;
    padding: 11px 12px 8px;
}

.content--admin .admin-dashboard-widget__heading {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.content--admin .admin-dashboard-widget__identity {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    min-width: 0;
}

.content--admin .admin-dashboard-widget__title {
    margin: 0;
    color: var(--color-text);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
}

.content--admin .admin-dashboard-widget__context {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.75rem;
    line-height: 1.3;
}

.content--admin .admin-dashboard-widget__icon {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    color: var(--color-muted);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.content--admin .admin-dashboard-widget__metrics {
    display: grid;
    align-content: start;
    margin: 0 12px 8px;
    border-top: 1px solid var(--color-border);
}

.content--admin .admin-dashboard-widget__metrics--with-attention .admin-dashboard-widget__metric {
    flex-direction: row;
    align-items: center;
}

.content--admin .admin-dashboard-widget__attention-dot {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.content--admin .admin-dashboard-widget__attention-dot--unread {
    background: var(--sidebar-active-accent);
}

.content--admin .admin-dashboard-widget__completion {
    display: grid;
    grid-row: 1;
    align-self: stretch;
    justify-items: center;
    align-items: center;
    min-width: 0;
    text-align: center;
}

.content--admin .admin-dashboard-widget__completion-connector {
    grid-row: 1;
    align-self: stretch;
    display: grid;
    align-items: center;
    width: calc(100% + 4px);
}

.content--admin .admin-dashboard-widget__completion-connector::before {
    width: 100%;
    border-top: 2px solid var(--color-muted);
    content: '';
}

.content--admin .admin-dashboard-widget__completion-donut {
    position: relative;
    display: grid;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--table-row-hover);
    place-items: center;
}

.content--admin .admin-dashboard-widget__completion-chart {
    width: 52px;
    height: 52px;
}

.content--admin .admin-dashboard-widget__completion-track,
.content--admin .admin-dashboard-widget__completion-value {
    fill: none;
    stroke-width: 5;
}

.content--admin .admin-dashboard-widget__completion-track {
    stroke: var(--color-border);
}

.content--admin .admin-dashboard-widget__completion-value {
    stroke: #17623a;
    stroke-linecap: round;
}

.content--admin .admin-dashboard-widget__completion-percentage {
    position: absolute;
    color: var(--color-text);
    font-size: 0.8rem;
    line-height: 1;
}

.content--admin .admin-dashboard-widget__completion-percentage-unit {
    font-size: 0.78em;
    vertical-align: 0.05em;
}

.content--admin .admin-dashboard-widget__metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 7px 0;
}

.content--admin .admin-dashboard-widget__metric + .admin-dashboard-widget__metric {
    border-top: 1px solid var(--color-border);
}

.content--admin .admin-dashboard-widget__label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: var(--color-muted);
    font-size: 0.8rem;
    font-weight: 500;
}

.content--admin .admin-dashboard-widget__status {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.content--admin .admin-dashboard-widget__status--success {
    background: #17623a;
}

.content--admin .admin-dashboard-widget__status--attention {
    background: var(--attention-color);
}

.content--admin .admin-dashboard-widget__status--warning {
    background: #7a4b00;
}

.content--admin .admin-dashboard-widget__status--info {
    background: var(--color-primary);
}

.content--admin .admin-dashboard-widget__status--neutral {
    background: #667085;
}

.content--admin .admin-dashboard-widget__value {
    flex: 0 0 auto;
    color: var(--color-text);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
}

.content--admin .admin-dashboard-widget__action {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px;
    border-top: 1px solid var(--role-office-admin-border);
    background: transparent;
    color: var(--button-secondary-text);
    font-size: 0.8rem;
    font-weight: 650;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.content--admin .admin-dashboard-widget__action:hover {
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
}

.content--admin .admin-dashboard-widget__action:focus-visible {
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    outline: 2px solid var(--button-focus);
    outline-offset: -2px;
}

@media (min-width: 1760px) {
    .content--admin .admin-dashboard-widgets {
        grid-template-columns: repeat(4, minmax(0, var(--admin-dashboard-widget-width)));
    }
    .content--admin .admin-dashboard-widget--wide { grid-column: span 3; }
}

@media (max-width: 1024px) {
    .content--admin .admin-dashboard-widgets {
        grid-template-columns: repeat(2, minmax(0, var(--admin-dashboard-widget-width)));
    }
    .content--admin .admin-dashboard-widget--wide { grid-column: span 2; }
}

@media (min-width: 801px) and (max-width: 1100px) {
    .content--admin .admin-dashboard-widgets {
        grid-template-columns: minmax(0, var(--admin-dashboard-widget-width));
    }
    .content--admin .admin-dashboard-widget--wide { grid-column: span 1; }
}

.content--admin .admin-dashboard-activity {
    min-width: 0;
}

.content--admin .admin-dashboard-activity .admin-dashboard-widget__header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; padding: 11px 12px 10px; border-bottom: 1px solid var(--color-border); }
.content--admin .admin-dashboard-activity__stand { margin: 0; color: var(--color-muted); font-size: 0.75rem; font-weight: 400; line-height: 1.3; text-align: right; }
.content--admin .admin-dashboard-activity__list { margin: 0; padding: 0; list-style: none; }
.content--admin .admin-dashboard-activity__item { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; align-items: center; min-width: 0; padding: 7px 12px; }
.content--admin .admin-dashboard-activity__item + .admin-dashboard-activity__item { border-top: 1px solid var(--color-border); }
.content--admin .admin-dashboard-activity__item:hover { background: var(--table-row-hover); }
.content--admin .admin-dashboard-activity__date,
.content--admin .admin-dashboard-activity__actor,
.content--admin .admin-dashboard-activity__sentence { min-width: 0; overflow-wrap: anywhere; font-size: 0.8rem; line-height: 1.4; }
.content--admin .admin-dashboard-activity__date { color: var(--color-muted); white-space: nowrap; }
.content--admin .admin-dashboard-activity__actor { font-weight: 400; }
.content--admin .admin-dashboard-activity__description { color: var(--color-text); font-weight: 400; text-decoration: none; }
.content--admin .admin-dashboard-activity__empty { margin: 0; padding: 14px 12px; color: var(--color-muted); font-size: 0.82rem; }

.content--admin .admin-dashboard[data-dashboard-editor-active] .admin-dashboard-widget__action {
    display: none;
}

.content--admin .admin-dashboard-widget-add {
    position: relative;
}

.content--admin .admin-dashboard-widget-add > summary {
    list-style: none;
    cursor: pointer;
}
.content--admin .admin-dashboard-widget-add > summary::-webkit-details-marker { display: none; }
.content--admin .admin-dashboard-widget-add__menu {
    position: absolute;
    z-index: 10;
    top: calc(100% + 6px);
    left: 0;
    display: grid;
    min-width: 210px;
    padding: 6px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
    box-shadow: var(--admin-table-surface-shadow);
}

.content--admin .admin-dashboard-widget-add__option { padding: 5px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--color-text); font: inherit; text-align: left; cursor: pointer; }
.content--admin .admin-dashboard-widget-add__option:hover,
.content--admin .admin-dashboard-widget-add__option:focus-visible { background: var(--button-secondary-hover); }
.content--admin .admin-dashboard-widget[data-sort-active] .admin-dashboard-widget__surface {
    border-color: var(--form-focus);
    box-shadow: 0 0 0 3px var(--button-focus);
}

.content--admin .admin-dashboard-widget[data-pointer-sorting] {
    opacity: 0.78;
}

.content--admin .admin-dashboard-widget__edit-actions { display: flex; justify-content: flex-end; gap: 2px; margin: -5px -6px 0 0; transform: translateY(4px); }
.content--admin .admin-dashboard-widget__handle,
.content--admin .admin-dashboard-widget__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-height: 30px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    cursor: grab;
    touch-action: none;
}

.content--admin .admin-dashboard-widget__handle {
    color: var(--color-primary);
    font-size: 1.2rem;
    line-height: 1;
}

.content--admin .admin-dashboard-widget__handle:active {
    cursor: grabbing;
}

.content--admin .admin-dashboard-widget__handle:hover,
.content--admin .admin-dashboard-widget__remove:hover,
.content--admin .admin-dashboard-widget__handle:focus-visible,
.content--admin .admin-dashboard-widget__remove:focus-visible {
    background: var(--button-secondary-hover);
}

.content--admin .admin-dashboard-widget__handle:focus-visible,
.content--admin .admin-dashboard-widget__remove:focus-visible {
    outline: 2px solid var(--form-focus);
    outline-offset: 1px;
}

.content--admin .admin-dashboard-widget__remove {
    color: var(--form-error);
    cursor: pointer;
    font-size: 1.3rem;
    line-height: 1;
}

.content--admin .admin-dashboard-widget__pending-message {
    margin: 0 12px 14px;
    color: var(--color-muted);
    font-size: 0.82rem;
}

.employee-readonly,
.object-readonly {
    display: grid;
    gap: 4px;
}

.content--admin .admin-material-need-table-cell-content {
    gap: 2px;
    line-height: 1.3;
}

.content--admin .admin-material-need-table-cell-content > .summary-subline {
    margin-top: 0;
    line-height: 1.3;
}

.content--admin .admin-material-need-table-cell-content .admin-inline-detail-trigger {
    margin: 0;
}

.admin-privacy-notice-body {
    margin-top: 28px;
}

.admin-administration-table {
    min-width: 860px;
}

.admin-employee-groups {
    margin-top: 14px;
    border: 1px solid var(--role-office-admin-border);
    border-radius: 8px;
    background: var(--table-row-bg);
    box-shadow: var(--admin-table-surface-shadow);
}

.content--admin .admin-administration-table-controls + .admin-employee-groups {
    margin-top: 0;
}

.admin-employee-group {
    border-bottom: 1px solid var(--role-office-admin-border);
}

.admin-employee-groups > .admin-employee-group:last-child {
    border-bottom: 0;
}

.admin-employee-groups > .admin-employee-group:first-child > .admin-employee-group__summary {
    border-radius: 7px 7px 0 0;
}

.admin-employee-groups > .admin-employee-group:last-child:not([open]) > .admin-employee-group__summary {
    border-radius: 0 0 7px 7px;
}

.admin-employee-groups > .admin-employee-group:only-child:not([open]) > .admin-employee-group__summary {
    border-radius: 7px;
}

.admin-employee-group__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 8px 12px;
    background: var(--admin-surface-subtle);
    font-size: 0.85rem;
    cursor: pointer;
    list-style: none;
}

.admin-employee-group__summary::-webkit-details-marker {
    display: none;
}

.admin-employee-group__summary::marker {
    content: '';
}

.admin-employee-group[open] > .admin-employee-group__summary {
    background: var(--role-office-admin-bg);
}

.admin-employee-group__summary:hover {
    background: var(--sidebar-hover);
}

.admin-employee-group__summary:focus-visible {
    outline: 3px solid rgba(18, 100, 163, 0.18);
    outline-offset: -3px;
}

.admin-employee-group__identity,
.admin-employee-group__state {
    display: flex;
    align-items: center;
    min-width: 0;
}

.admin-employee-group__identity {
    gap: 7px;
}

.admin-employee-group__identity-details,
.admin-employee-group__action-details {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 7px;
}

.admin-employee-group__identity-details {
    overflow-wrap: anywhere;
}

.admin-employee-group__action-details {
    flex: 0 0 auto;
}

.admin-employee-group__name {
    font-weight: 700;
}

.admin-employee-group__identifier,
.admin-employee-group__count,
.admin-employee-group__separator {
    color: var(--color-muted);
}

.admin-inline-separator {
    color: var(--color-muted);
    font-size: 0.85rem;
    font-weight: 400;
}

.admin-employee-group__state {
    justify-self: end;
    gap: 10px;
}

.admin-employee-group__state-details {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 5px 10px;
    min-width: 0;
}

.admin-employee-group__count {
    white-space: nowrap;
}

.content--admin .admin-employee-group__action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    white-space: nowrap;
}

.admin-employee-group__action-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.admin-employee-group__toggle {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border: 1px solid var(--role-office-admin-border);
    border-radius: 5px;
    color: var(--button-secondary-text);
    background: transparent;
}

.admin-employee-group__toggle::before,
.admin-employee-group__toggle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    content: '';
    transform: translate(-50%, -50%);
}

.admin-employee-group__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.admin-employee-group[open] > .admin-employee-group__summary .admin-employee-group__toggle::after {
    display: none;
}

.admin-employee-group[open] > .admin-employee-group__summary .admin-employee-group__toggle {
    color: var(--form-error);
}

.admin-employee-group__content {
    padding: 2px 0 14px;
}

.content--admin .admin-employee-group__content > .table-wrap--admin:has(> .admin-administration-table) {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.admin-administration-status-group {
    margin-top: 28px;
}

.admin-administration-status-group__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--role-office-admin-border);
    border-radius: 8px;
    background: var(--table-row-hover);
    cursor: pointer;
    list-style: none;
    font-weight: 700;
}

.admin-administration-status-group__summary:hover {
    border-color: var(--button-secondary-border);
}

.admin-administration-status-group__summary::-webkit-details-marker {
    display: none;
}

.admin-administration-status-group__summary::marker {
    content: '';
}

.admin-administration-status-group__content,
.admin-administration-status-group__title,
.admin-administration-status-group__hint {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-administration-status-group__hint {
    margin-top: 4px;
    color: var(--color-muted);
    font-size: 0.9rem;
    font-weight: 400;
}

.admin-administration-status-group__state {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 8px;
    min-width: 0;
}

.admin-administration-status-group__toggle {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    color: var(--button-secondary-text);
}

.admin-administration-status-group__toggle::before,
.admin-administration-status-group__toggle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    content: '';
    transform: translate(-50%, -50%);
}

.admin-administration-status-group__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.admin-administration-status-group[open] > .admin-administration-status-group__summary .admin-administration-status-group__toggle::after {
    display: none;
}

.admin-administration-status-group[open] > .admin-administration-status-group__summary .admin-administration-status-group__toggle {
    color: var(--form-error);
}

.admin-administration-status-group__summary:focus-visible {
    outline: 3px solid rgba(18, 100, 163, 0.18);
    outline-offset: -3px;
}

.admin-administration-status-group > .table-wrap {
    margin: 16px 0 0;
}

.admin-deactivated-material-lists {
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
}

.admin-deactivated-material-lists > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 28px;
    gap: 12px;
    align-items: flex-start;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
    font-weight: 700;
}

.admin-deactivated-material-lists > summary:hover {
    background: var(--table-row-hover);
}

.admin-deactivated-material-lists > summary::-webkit-details-marker {
    display: none;
}

.admin-deactivated-material-lists > summary::marker {
    content: '';
}

.admin-deactivated-material-lists > summary::after {
    content: '+';
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #618764;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
}

.admin-deactivated-material-lists > summary:hover::after,
.admin-deactivated-material-lists > summary:focus::after {
    color: var(--button-secondary-text);
}

.admin-deactivated-material-lists[open] > summary {
    border-bottom: 1px solid var(--color-border);
}

.admin-deactivated-material-lists[open] > summary::after {
    content: '−';
}

.admin-deactivated-material-lists > summary:focus-visible {
    outline: 3px solid rgba(18, 100, 163, 0.18);
    outline-offset: -3px;
}

.admin-deactivated-material-lists > .table-wrap {
    margin: 16px 18px 18px;
}

.admin-deactivated-material-lists > .muted {
    margin: 16px 18px 18px;
}

.admin-assignments {
    min-width: 1040px;
}

.admin-material-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-material-actions form {
    margin: 0;
}

.back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 16px;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--button-secondary-border);
    border-radius: 8px;
    background: var(--button-secondary-bg);
    color: var(--button-secondary-text);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.back-link__icon {
    display: inline-block;
    font-size: 1.08em;
    font-weight: 900;
    line-height: 1;
}

.back-link:hover,
.back-link:focus,
.back-link:focus-visible {
    border-color: var(--button-secondary-border);
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    outline: none;
}

@media (min-width: 768px) {
    .admin-content-frame--subpage:has(.admin-contact-module-page),
    .admin-content-frame--subpage:has(.admin-employee-module-page),
    .admin-content-frame--subpage:has(.admin-user-module-page) {
        width: calc(100% - 50px);
    }

    .content--admin .admin-administration-table th {
        padding: 8px 12px;
        font-size: 0.9rem;
        line-height: 1.4;
    }

    .content--admin .admin-administration-table td {
        padding: 4px 12px;
        font-size: 0.9rem;
        line-height: 1.4;
    }

    .content--admin .admin-administration-table tbody tr {
        background: var(--table-row-hover);
    }

    .content--admin .admin-administration-table tbody td {
        height: calc(30px + 8px);
        background: transparent;
    }

    .content--admin .admin-administration-table .admin-action-menu:not([open]) > summary > span {
        background: transparent;
    }

    .content--admin .admin-employee-group__content:has(> .table-wrap--admin > .admin-administration-table) {
        padding: 0;
        border-top: 1px solid var(--role-office-admin-border);
    }
}

.content--admin .admin-page-intro {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    width: 100%;
}

.content--admin .admin-page-intro .admin-page-actions {
    flex: 0 0 auto;
    justify-content: flex-start;
}

.content--admin .admin-page-intro .admin-page-description {
    margin: 0;
}

.content--admin .admin-page-header:has(> .admin-page-intro--notice-layout) {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.content--admin .admin-page-intro--notice-layout {
    display: grid;
    grid-template-columns: auto minmax(0, max-content) 1fr;
    align-items: center;
    column-gap: 16px;
    row-gap: 12px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.content--admin .admin-page-intro--notice-layout > .admin-page-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
}

.admin-summary-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background: var(--color-surface);
}

@media (max-width: 767px) {
    .admin-summary-grid {
        grid-template-columns: 1fr;
    }
}

.content--admin .admin-page-intro__notice {
    width: fit-content;
    max-width: min(100%, 820px);
    min-width: 0;
    padding: 8px 12px;
    margin: 0;
    border: 0;
    border-left: 3px solid var(--admin-intro-notice-accent);
    border-radius: 0 6px 6px 0;
    background: var(--admin-intro-notice-background);
    color: var(--admin-intro-notice-text);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.content--admin .admin-page-intro__notice--success {
    --admin-intro-notice-accent: var(--button-secondary-border);
    --admin-intro-notice-background: var(--button-secondary-hover);
    --admin-intro-notice-text: var(--button-secondary-text);
}

.content--admin .admin-page-intro__notice--info {
    --admin-intro-notice-accent: var(--color-primary);
    --admin-intro-notice-background: #eef6fb;
    --admin-intro-notice-text: var(--color-primary-dark);
}

.content--admin .admin-page-intro__notice--danger {
    --admin-intro-notice-accent: var(--form-error);
    --admin-intro-notice-background: #fff4f2;
    --admin-intro-notice-text: var(--form-error);
}

.content--admin .flash,
.content--admin .admin-inline-notice {
    display: flex;
    align-items: center;
}

.content--admin .flash > p {
    margin: 0;
}

.content--admin .admin-inline-notice {
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-left: 2px solid var(--admin-inline-notice-accent);
    border-radius: 0 6px 6px 0;
    background: var(--admin-inline-notice-background);
    color: var(--admin-inline-notice-text);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.content--admin .admin-administration-status-group > .admin-inline-notice {
    margin-top: 12px;
}

.content--admin .admin-inline-notice + .admin-inline-notice {
    margin-top: 8px;
}

.content--admin .admin-inline-notice--normal {
    --admin-inline-notice-accent: var(--button-secondary-border);
    --admin-inline-notice-background: var(--button-secondary-hover);
    --admin-inline-notice-text: var(--button-secondary-text);
}

.content--admin .admin-inline-notice--info {
    --admin-inline-notice-accent: var(--color-primary);
    --admin-inline-notice-background: #eef6fb;
    --admin-inline-notice-text: var(--color-primary-dark);
}

.content--admin .admin-inline-notice--success {
    --admin-inline-notice-accent: var(--button-secondary-border);
    --admin-inline-notice-background: var(--button-secondary-hover);
    --admin-inline-notice-text: var(--button-secondary-text);
}

.content--admin .admin-inline-notice--destructive {
    --admin-inline-notice-accent: var(--form-error);
    --admin-inline-notice-background: #fff4f2;
    --admin-inline-notice-text: var(--form-error);
}

.content--admin .admin-contacts {
    --admin-contacts-layout-columns: repeat(3, minmax(0, 1fr));
    --admin-contacts-layout-gap: 18px;
}

.content--admin .admin-contacts__grid {
    display: grid;
    grid-template-columns: var(--admin-contacts-layout-columns);
    align-items: stretch;
    gap: var(--admin-contacts-layout-gap);
}

.content--admin .admin-contact-card {
    --admin-contact-category-border: color-mix(in srgb, var(--admin-contact-category-accent) 40%, white);
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid var(--admin-contact-category-border);
    border-top-width: 3px;
    border-top-color: var(--admin-contact-category-accent);
    border-radius: 8px;
    background: var(--table-row-hover);
    box-shadow: var(--admin-table-surface-shadow);
}

.content--admin .admin-contact-card--category-internal {
    --admin-contact-category-accent: #64748B;
    --admin-contact-category-badge-bg: #E0E3E8;
}

.content--admin .admin-contact-card--category-customer {
    --admin-contact-category-accent: #4F7A63;
    --admin-contact-category-badge-bg: #DCE4E0;
}

.content--admin .admin-contact-card--category-supplier {
    --admin-contact-category-accent: #77679A;
    --admin-contact-category-badge-bg: #F2EFF7;
}

.content--admin .admin-contact-card--category-service-provider {
    --admin-contact-category-accent: #3F7C78;
    --admin-contact-category-badge-bg: #D9E5E4;
}

.content--admin .admin-contact-card--category-tradesperson {
    --admin-contact-category-accent: #A67C3D;
    --admin-contact-category-badge-bg: #F8F1E6;
}

.content--admin .admin-contact-card--category-authority {
    --admin-contact-category-accent: #4F6F9F;
    --admin-contact-category-badge-bg: #DCE2EC;
}

.content--admin .admin-contact-card--category-emergency {
    --admin-contact-category-accent: #B55F55;
    --admin-contact-category-badge-bg: #F8ECEA;
}

.content--admin .admin-contact-card--category-other {
    --admin-contact-category-accent: #8A9197;
    --admin-contact-category-badge-bg: #E7E9EA;
}

.content--admin .admin-contact-card__header {
    display: grid;
    gap: 8px;
    padding: 14px 14px 0;
}

.content--admin .admin-contact-card__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 14px;
}

.content--admin .admin-contact-card__controls > .admin-action-menu {
    grid-column: 2;
}

.content--admin .admin-contact-card__identity {
    display: grid;
    min-width: 0;
    min-height: calc(2.124rem + 2px);
    justify-items: center;
    gap: 2px;
    text-align: center;
}

.content--admin .admin-contact-card__identity h2,
.content--admin .admin-contact-card__identity p {
    overflow-wrap: anywhere;
}

.content--admin .admin-contact-card__identity h2 {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.2;
}

.content--admin .admin-contact-card__identity p {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.82rem;
    line-height: 1.2;
}

.content--admin .admin-contact-card__category {
    margin-inline-end: auto;
    background-color: var(--admin-contact-category-badge-bg);
    white-space: nowrap;
}

@media (min-width: 1440px) {
    .content--admin .admin-contacts {
        --admin-contacts-layout-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .content--admin .admin-contacts {
        --admin-contacts-layout-columns: repeat(2, minmax(0, 1fr));
    }
}

.content--admin .admin-contact-card__badge-row {
    display: flex;
    width: 100%;
    min-width: 0;
    margin-top: auto;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    padding: 0 14px 14px;
    box-sizing: border-box;
}

.content--admin .admin-contact-card__badge-row .badge {
    white-space: nowrap;
}

.content--admin .admin-action-menu {
    position: relative;
    align-self: start;
}

.content--admin .admin-action-menu > summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--color-text);
    cursor: pointer;
    list-style: none;
}

.content--admin .admin-action-menu > summary > span {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 1px solid var(--role-office-admin-border);
    border-radius: 5px;
    background: var(--color-surface);
    font-size: 0.70rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1;
}

.content--admin .admin-contact-card__controls > .admin-action-menu > summary {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}

.content--admin .admin-contact-card .admin-action-menu:not([open]) > summary > span {
    background: var(--table-row-hover);
}

.content--admin .admin-action-menu > summary::-webkit-details-marker {
    display: none;
}

.content--admin .admin-action-menu > summary:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: 2px;
}

.content--admin .admin-action-menu[open] > summary > span {
    border-color: var(--button-secondary-border);
    background: var(--button-secondary-hover);
}

.content--admin .admin-action-menu__panel {
    position: fixed;
    z-index: 20;
    width: max-content;
    min-width: 156px;
    max-width: min(280px, calc(100vw - 48px));
    max-height: calc(100vh - 16px);
    padding: 4px;
    border: 1px solid var(--color-border);
    border-radius: 7px;
    background: var(--color-surface);
    box-shadow: 0 12px 24px rgba(39, 51, 56, 0.16);
    overflow-x: hidden;
    overflow-y: auto;
    visibility: hidden;
}

.content--admin .admin-action-menu__panel form {
    margin: 0;
}

.content--admin .admin-action-menu__item {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    min-height: 30px;
    padding: 7px 10px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--button-secondary-text);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.content--admin .admin-action-menu__item:hover {
    background: var(--button-secondary-hover);
}

.content--admin .admin-action-menu__item:focus-visible {
    background: var(--button-secondary-hover);
    outline: 3px solid var(--button-focus);
    outline-offset: 1px;
}

.content--admin .admin-action-menu__item > span {
    white-space: nowrap;
}

.content--admin .admin-action-menu__icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.content--admin .admin-action-menu__item--danger {
    color: var(--form-error);
}

.content--admin .admin-action-menu__item--danger:hover {
    background: #fff4f2;
    color: var(--form-error);
}

.content--admin .admin-action-menu__item--danger:focus-visible {
    background: #fff4f2;
    color: var(--form-error);
}

.content--admin .admin-table-action-cell {
    width: 1%;
    text-align: center;
    vertical-align: middle;
}

.content--admin .admin-administration-table th,
.content--admin .admin-administration-table td {
    vertical-align: middle;
}

.content--admin .admin-administration-list-page > .panel,
.content--admin .admin-privacy-show-page > .panel,
.content--admin .admin-panel--administration-surface {
    background: var(--table-header-bg);
}

.content--admin .admin-administration-table th {
    background: #e1e8df;
    border-top: 0;
    font-size: 0.9375rem;
}

.content--admin .admin-table-status-cell {
    text-align: center;
    vertical-align: middle;
}

.content--admin .admin-table-action-cell .admin-action-menu {
    width: fit-content;
    margin-inline: auto;
}

.content--admin .table-wrap--admin:has(> .admin-administration-table) {
    overflow: auto;
    padding: 0;
    border: 1px solid var(--role-office-admin-border);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(31, 54, 47, 0.08);
}

.content--admin .admin-administration-list-page > .panel:first-of-type > .table-wrap--admin {
    margin-top: 24px;
}

.content--admin .admin-administration-list-page > .panel:first-of-type,
.content--admin .admin-privacy-show-page > .panel:first-of-type {
    padding-top: 16px;
    padding-bottom: 16px;
}

.content--admin .admin-search {
    --admin-search-side-width: 40px;
    --admin-search-input-inline-padding: 4px;
    --admin-search-text-start-padding: 10px;
    --admin-search-text-end-padding: 0px;
    --admin-search-border-width: 1px;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, max-content);
    width: max-content;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 16px;
}

.content--admin .admin-administration-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px 28px;
    width: 100%;
    min-width: 0;
    margin: 0 0 16px;
}

.content--admin .admin-administration-toolbar .admin-search {
    flex: 0 1 auto;
    margin: 0;
}

.content--admin .admin-administration-toolbar.admin-administration-toolbar--contacts {
    display: grid;
    grid-template-columns: var(--admin-contacts-layout-columns);
    gap: var(--admin-contacts-layout-gap);
}

.content--admin .admin-administration-toolbar--contacts > .admin-search {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
}

.content--admin .admin-administration-toolbar--contacts > .admin-filter-menu {
    grid-column: 2;
    grid-row: 1;
}

.content--admin .admin-administration-table-controls {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 16px;
    width: 100%;
    min-width: 0;
}

.content--admin .admin-administration-table-controls > .admin-search {
    flex: 0 1 auto;
    margin: 0;
    margin-block-end: 16px;
}

.content--admin .admin-administration-table-controls > .admin-administration-toolbar {
    flex: 1 1 auto;
    width: auto;
    margin: 0;
    margin-block-end: 16px;
}

.content--admin .admin-administration-list-feedback {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    min-width: 0;
    margin: 0 0 16px;
}

.content--admin .admin-administration-list-feedback > .admin-inline-notice,
.content--admin .admin-administration-list-feedback > .admin-inline-notice + .admin-inline-notice {
    margin: 0;
}

.content--admin .admin-administration-table-controls + .admin-administration-list-feedback {
    margin-top: 16px;
}

.content--admin .admin-administration-table-controls:has(+ .admin-administration-list-feedback) > .admin-search,
.content--admin .admin-administration-table-controls:has(+ .admin-administration-list-feedback) > .admin-administration-toolbar {
    margin-block-end: 0;
}

.content--admin .admin-administration-table-controls:has(+ .admin-administration-list-feedback) .admin-administration-summary--table-attached,
.content--admin .admin-administration-summary--table-attached:has(+ .admin-administration-list-feedback) {
    border-bottom: 1px solid var(--role-office-admin-border);
    border-radius: 8px;
}

.content--admin .admin-administration-list-feedback + .table-wrap--admin,
.content--admin .admin-administration-list-feedback + .admin-contacts__grid {
    margin-top: 0;
}

.content--admin .admin-administration-summary {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    max-width: 100%;
    min-width: 0;
    color: var(--color-text);
}

.content--admin .admin-administration-summary--table-attached {
    position: relative;
    width: auto;
    padding: 7px 12px;
    border: 1px solid var(--role-office-admin-border);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: var(--admin-surface-subtle);
    box-shadow: var(--admin-table-surface-shadow);
    box-sizing: border-box;
}

.content--admin .admin-administration-summary--table-attached::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(to top, var(--card-shadow), transparent);
    content: '';
    pointer-events: none;
}

.content--admin .admin-administration-summary--table-attached.admin-administration-summary--align-end {
    inline-size: fit-content;
    max-inline-size: 100%;
    margin-inline-start: auto;
    margin-inline-end: 8px;
    flex: 0 1 auto;
}

@media (min-width: 768px) {
    .content--admin .admin-administration-summary--table-attached + .table-wrap--admin,
    .content--admin .admin-administration-table-controls:has(.admin-administration-summary--table-attached) + .table-wrap--admin {
        margin-top: 0;
    }

    .content--admin .admin-administration-list-page > .panel > .admin-administration-summary--table-attached + .table-wrap--admin,
    .content--admin .admin-administration-list-page > .panel > .admin-administration-table-controls:has(.admin-administration-summary--table-attached) + .table-wrap--admin {
        margin-top: 0;
    }

    .content--admin .admin-administration-summary--table-attached:has(+ .table-wrap--admin)::before,
    .content--admin .admin-administration-table-controls:has(+ .table-wrap--admin) > .admin-administration-summary--table-attached::before,
    .content--admin .admin-administration-table-controls:has(+ .admin-employee-groups) > .admin-administration-summary--table-attached::before {
        position: absolute;
        inset-block-end: 0;
        inset-inline-start: -20px;
        z-index: 1;
        width: 21px;
        height: 10px;
        border-top: 1px solid var(--role-office-admin-border);
        border-left: 1px solid var(--role-office-admin-border);
        border-top-left-radius: 20px 10px;
        background: linear-gradient(to top, var(--card-shadow) 0, transparent 4px), var(--admin-surface-subtle);
        box-sizing: border-box;
        content: '';
        pointer-events: none;
    }
}

@media (max-width: 767px) {
    .content--admin .admin-administration-summary--table-attached {
        inline-size: 100%;
        max-inline-size: 100%;
        margin-inline-end: 0;
        border-bottom: 1px solid var(--role-office-admin-border);
        border-radius: 8px;
    }
}

.content--admin .admin-administration-summary__title {
    color: var(--color-muted);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
    text-align: left;
}

.content--admin .admin-administration-summary__subtitle {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: var(--color-muted);
    font-size: 0.84rem;
    font-weight: 400;
    line-height: 1;
}

.content--admin .admin-administration-summary__information {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: var(--color-muted);
    font-size: 0.84rem;
    font-weight: 400;
    line-height: 1;
}

.content--admin .admin-administration-summary__separator {
    flex: 0 0 auto;
    margin-inline: 14px;
}

.content--admin .admin-administration-summary__information-icon {
    flex: 0 0 auto;
    margin-right: 5px;
    font-size: 1.08rem;
    line-height: 1;
}

.content--admin .admin-administration-summary__information-icon--info {
    color: var(--color-primary);
}

.content--admin .admin-administration-summary__information-icon--danger {
    color: var(--form-error);
}

.content--admin .admin-administration-summary__values {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    min-width: 0;
    margin-top: 0;
    font-size: 0.84rem;
    line-height: 22px;
}

.content--admin .admin-administration-summary--align-end {
    justify-content: flex-end;
}

.content--admin .admin-administration-summary--align-end .admin-administration-summary__values {
    justify-content: flex-end;
}

.content--admin .admin-administration-summary__item {
    display: inline-flex;
    align-items: baseline;
    min-width: 0;
}

.content--admin .admin-administration-summary__label {
    margin-right: 4px;
    font-weight: 400;
}

.content--admin .admin-administration-summary__value {
    font-weight: 700;
}

.content--admin .admin-administration-summary__value--success {
    color: var(--button-secondary-text);
}

.content--admin .admin-administration-summary__value--danger {
    color: var(--form-error);
}

.content--admin .admin-administration-summary__value--muted {
    color: var(--color-muted);
}

.content--admin .admin-filter-menu {
    position: relative;
    width: max-content;
    max-width: 100%;
    justify-self: start;
}

.content--admin .admin-filter-menu > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--admin-control-icon-zone-size);
    align-items: center;
    gap: 0;
    width: 100%;
    min-height: 36px;
    padding: 0 0 0 12px;
    border: 1px solid var(--role-office-admin-border);
    border-radius: 8px;
    background: var(--form-bg);
    color: var(--color-text);
    box-sizing: border-box;
    cursor: pointer;
    list-style: none;
}

.content--admin .admin-filter-menu > summary > span {
    min-width: 0;
    padding-right: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
}

.content--admin .admin-filter-menu > summary::-webkit-details-marker {
    display: none;
}

.content--admin .admin-search__input,
.content--admin .admin-search__sizer {
    font-family: inherit;
    font-size: 0.96rem;
    font-weight: 400;
    line-height: 1.35;
}

.content--admin .admin-filter-menu > summary,
.content--admin .admin-filter-menu__option {
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 400;
    line-height: 1.35;
}

.content--admin .admin-filter-menu > summary:focus,
.content--admin .admin-filter-menu > summary:focus-visible {
    border-color: var(--form-focus);
    outline: 3px solid var(--button-focus);
    box-shadow: none;
}

.content--admin .admin-filter-menu__chevron {
    width: 18px;
    height: 18px;
    justify-self: center;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.16s ease;
}

.content--admin .admin-filter-menu[open] .admin-filter-menu__chevron {
    transform: rotate(180deg);
}

.content--admin .admin-filter-menu__panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + 4px);
    width: max-content;
    min-width: 100%;
    max-width: calc(100vw - 40px);
    left: 0;
    display: grid;
    overflow: hidden;
    border: 1px solid var(--form-border);
    border-radius: 8px;
    background: var(--form-bg);
    box-shadow: var(--admin-table-surface-shadow);
}

.content--admin .admin-filter-menu__option {
    display: block;
    padding: 8px 12px;
    color: var(--color-text);
    text-decoration: none;
    white-space: nowrap;
}

.content--admin .admin-filter-menu__option:hover,
.content--admin .admin-filter-menu__option:focus-visible,
.content--admin .admin-filter-menu__option--current {
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
}

.content--admin .admin-filter-menu__option:focus-visible {
    outline: 2px solid var(--form-focus);
    outline-offset: -3px;
}

.content--admin .admin-search__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.content--admin .admin-search__control {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: var(--admin-search-side-width) minmax(0, 1fr) var(--admin-search-side-width);
    align-items: center;
    width: 100%;
    min-width: 0;
    height: 36px;
    overflow: hidden;
    border: var(--admin-search-border-width) solid var(--role-office-admin-border);
    border-radius: 8px;
    background: var(--form-bg);
    box-sizing: border-box;
}

.content--admin .admin-search__sizer {
    height: 36px;
    min-width: 0;
    overflow: hidden;
    padding-inline-start: calc(var(--admin-search-side-width) + var(--admin-search-input-inline-padding) + var(--admin-search-text-start-padding) + var(--admin-search-border-width));
    padding-inline-end: calc(var(--admin-search-side-width) + var(--admin-search-input-inline-padding) + var(--admin-search-border-width));
    visibility: hidden;
    white-space: pre;
    pointer-events: none;
    box-sizing: border-box;
}

.content--admin .admin-search__control:focus-within {
    border-color: var(--form-focus);
    outline: 3px solid var(--button-focus);
}

.content--admin .admin-search__submit,
.content--admin .admin-search__reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--admin-search-side-width);
    height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-muted);
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
}

.content--admin .admin-search__end {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--admin-search-side-width);
    height: 34px;
}

.content--admin .admin-search__reset--active,
.content--admin .admin-search__reset--no-results {
    color: var(--form-error);
}

.content--admin .admin-search__reset--active {
    border-left: 1px solid color-mix(in srgb, var(--form-error) 35%, white);
    background: color-mix(in srgb, var(--form-error) 10%, white);
}

.content--admin .admin-search__icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.content--admin .admin-search__input {
    min-width: 0;
    height: 34px;
    padding: 6px var(--admin-search-text-end-padding) 6px var(--admin-search-text-start-padding);
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--color-text);
}

.content--admin .admin-search__input::placeholder {
    color: var(--form-placeholder);
    opacity: 1;
}

.content--admin .admin-search__input::-webkit-search-cancel-button {
    display: none;
}

.content--admin .admin-search__reset-icon {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

.content--admin .admin-search__submit,
.content--admin .admin-filter-menu > summary,
.content--admin .form-field .single-select__trigger,
.content--admin .form-field .admin-checkbox-multiselect__trigger {
    --admin-control-icon-zone-background: var(--admin-surface-subtle);
    --admin-control-icon-zone-border: var(--role-office-admin-border);
    --admin-control-icon-zone-color: var(--button-secondary-border);
}

.content--admin .admin-filter-menu > summary,
.content--admin .form-field .single-select__trigger,
.content--admin .form-field .admin-checkbox-multiselect__trigger {
    --admin-control-icon-zone-size: 38px;
    background:
        linear-gradient(
            to left,
            var(--admin-control-icon-zone-background) 0 var(--admin-control-icon-zone-size),
            var(--admin-control-icon-zone-border) var(--admin-control-icon-zone-size) calc(var(--admin-control-icon-zone-size) + 1px),
            transparent calc(var(--admin-control-icon-zone-size) + 1px)
        ),
        var(--form-bg);
}

.content--admin .admin-search__submit {
    border-right: 1px solid var(--admin-control-icon-zone-border);
    background: var(--admin-control-icon-zone-background);
    color: var(--admin-control-icon-zone-color);
}

.content--admin .admin-filter-menu__chevron,
.content--admin .form-field .single-select__chevron,
.content--admin .form-field .admin-checkbox-multiselect__chevron {
    color: var(--admin-control-icon-zone-color);
}

.form-field .single-select.single-select--toolbar .single-select__trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    width: max-content;
    max-width: 100%;
    min-height: 28px;
    padding: 4px 6px;
    border-color: transparent;
    outline: none;
    box-shadow: none;
    background: var(--color-border);
    font-size: 0.8125rem;
    line-height: 1.3;
    white-space: nowrap;
}

.form-field .single-select.single-select--toolbar .single-select__trigger:focus-visible {
    outline: 1px solid var(--form-focus);
    outline-offset: 1px;
}

.form-field .single-select.single-select--toolbar .single-select__trigger[aria-invalid="true"] {
    border-color: var(--form-error);
}

.form-field .single-select.single-select--toolbar .single-select__trigger[aria-invalid="true"]:focus,
.form-field .single-select.single-select--toolbar .single-select__trigger[aria-invalid="true"]:focus-visible {
    outline: 3px solid var(--form-error-focus);
    box-shadow: none;
}

.content--admin .admin-administration-list-page > .panel:first-of-type > .admin-search + .table-wrap--admin {
    margin-top: 0;
}

.content--admin .admin-administration-list-page > .panel:first-of-type > .admin-administration-toolbar + .table-wrap--admin {
    margin-top: 0;
}

.admin-pagination-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    min-width: 0;
    margin: 16px 0 0;
}

.admin-page-size {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 8px;
    min-width: 0;
}

.admin-page-size__label {
    color: var(--color-muted);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
}

.content--admin .admin-filter-menu--compact {
    width: 64px;
}

.content--admin .admin-filter-menu--compact > summary {
    --admin-control-icon-zone-size: 28px;
    height: 32px;
    min-height: 32px;
    padding: 1px 0 1px 5px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
}

.content--admin .admin-filter-menu--compact > summary > span {
    padding-right: 6px;
}

.admin-pagination-toolbar .admin-pagination {
    width: auto;
    margin: 0;
}

.admin-pagination-toolbar > .admin-pagination:only-child {
    margin-left: auto;
}

.admin-pagination {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    min-width: 0;
    margin: 16px 0;
}

.admin-pagination__group {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 5px;
    max-width: 100%;
    min-width: 0;
}

.admin-pagination__direction,
.admin-pagination__page,
.admin-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 36px;
    font-family: inherit;
    font-size: 0.94rem;
    font-weight: 400;
    line-height: 1;
    box-sizing: border-box;
}

.admin-pagination__direction {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: var(--button-secondary-hover);
    color: var(--button-secondary-text);
    text-decoration: none;
    cursor: pointer;
}

a.admin-pagination__direction:hover {
    color: var(--button-secondary-text);
    background: var(--sidebar-hover);
}

.admin-pagination__direction:focus-visible,
.admin-pagination__page:focus-visible {
    outline: 3px solid var(--button-focus);
    outline-offset: 1px;
}

.admin-pagination__icon {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.admin-pagination__direction--disabled {
    color: #667085;
    background: #eaecf0;
    cursor: default;
}

.admin-pagination__page {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-muted);
    text-decoration: none;
}

a.admin-pagination__page:hover,
a.admin-pagination__page:focus-visible {
    color: var(--button-secondary-text);
}

.admin-pagination__page--current {
    color: var(--button-secondary-text);
    background: transparent;
    font-weight: 600;
}

.admin-pagination__ellipsis {
    width: 22px;
    color: var(--color-muted);
}

@media (min-width: 768px) {
    .admin-pagination-toolbar {
        gap: 14px;
        margin: 14px 0 0;
    }

    .admin-page-size {
        gap: 6px;
    }

    .admin-page-size__label,
    .content--admin .admin-filter-menu--compact > summary {
        font-size: 0.94rem;
        line-height: 1;
    }

    .content--admin .admin-filter-menu--compact > summary {
        height: 30px;
        min-height: 30px;
    }

}

@media (max-width: 767px) {
    .admin-employee-group__summary {
        align-items: start;
        gap: 8px;
        padding: 8px 12px;
    }

    .admin-employee-group__summary:has(.admin-employee-group__action) {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-employee-group__identity {
        display: grid;
        gap: 1px;
    }

    .admin-employee-group__identity-details {
        display: grid;
        gap: 1px;
    }

    .admin-employee-group__separator--identity {
        display: none;
    }

    .admin-employee-group__state {
        gap: 7px;
    }

    .admin-employee-group__count {
        white-space: normal;
        text-align: right;
    }

    .content--admin .admin-administration-toolbar {
        align-items: stretch;
        gap: 12px 28px;
    }

    .content--admin .admin-administration-table-controls {
        flex-wrap: wrap;
    }

    .content--admin .admin-administration-table-controls > .admin-administration-toolbar {
        flex-basis: 100%;
        margin-block-end: 0;
    }

    .content--admin .admin-administration-summary__values {
        justify-content: center;
        max-width: 100%;
    }

    .content--admin .admin-search__control {
        height: 40px;
    }

    .content--admin .admin-search__sizer {
        height: 40px;
    }

    .content--admin .admin-search__submit,
    .content--admin .admin-search__reset,
    .content--admin .admin-search__end,
    .content--admin .admin-search__input {
        height: 38px;
    }

    .content--admin .admin-search__input {
        padding: 8px var(--admin-search-text-end-padding) 8px var(--admin-search-text-start-padding);
    }

    .content--admin .admin-filter-menu__panel {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
    }

    .admin-pagination-toolbar {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .admin-pagination-toolbar .admin-pagination {
        flex: 1 1 100%;
    }

    .admin-page-size__label,
    .content--admin .admin-filter-menu--compact > summary {
        font-size: 0.94rem;
    }

    .content--admin .admin-filter-menu--compact > summary {
        height: 36px;
        min-height: 36px;
        padding: 3px 0 3px 5px;
    }

    .admin-pagination__group {
        gap: 0;
    }

    .admin-pagination__page {
        width: 32px;
        font-size: 0.94rem;
    }

    .admin-pagination__ellipsis {
        width: 16px;
    }
}

.content--admin .admin-contact-card__contact-data {
    display: grid;
    gap: 5px;
    margin: 10px 14px 0;
    padding: 10px 0 8px;
    border-top: 1px solid var(--admin-contact-category-accent);
    font-size: 0.82rem;
    line-height: 1.3;
}

.content--admin .admin-contact-card__contact-row {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    min-width: 0;
}

.content--admin .admin-contact-card__contact-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    color: var(--admin-contact-category-accent);
}

.content--admin .admin-contact-card__contact-value {
    min-width: 0;
    font-size: inherit;
    line-height: inherit;
    overflow-wrap: anywhere;
}

.content--admin .admin-contact-card__address {
    display: grid;
    gap: 2px;
}

.content--admin .admin-contact-card a {
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .content--admin .admin-contacts {
        --admin-contacts-layout-columns: minmax(0, 1fr);
    }

    .content--admin .admin-administration-toolbar--contacts > .admin-filter-menu {
        grid-column: 1;
        grid-row: 2;
    }

    .content--admin .admin-filter-menu {
        width: 100%;
    }

    .content--admin .admin-action-menu__item > span {
        white-space: normal;
    }

}

@media (max-width: 767px) {
    .content--admin .app-link--emphasis {
        --app-link-emphasis-font-size: 0.8125rem;
        --app-link-emphasis-line-height: 1.35;
    }
}

.content--admin .admin-confirmation-dialog {
    --admin-dialog-max-height: min(640px, 60dvh);
    inline-size: fit-content;
    max-inline-size: min(720px, calc(100vw - 40px));
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: var(--color-text);
}

.content--admin .admin-confirmation-dialog::backdrop,
.content--admin .admin-destructive-action-dialog::backdrop {
    background: rgba(20, 29, 33, 0.58);
}

.content--admin .admin-confirmation-dialog__surface {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: 100%;
    max-height: var(--admin-dialog-max-height);
    margin: 0;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
    box-shadow: 0 20px 48px rgba(20, 29, 33, 0.22);
    overflow: hidden;
}

.content--admin .admin-confirmation-dialog__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 64px;
    padding: 14px 18px 14px 22px;
    border-bottom: 1px solid #d7e4db;
    background: #e3efe8;
}

.content--admin .admin-destructive-action-dialog__header {
    gap: 10px;
    border-bottom-color: #ead8d2;
    background: #f6eae6;
}

.content--admin .admin-confirmation-dialog__header h2 {
    min-inline-size: 0;
}

.content--admin .admin-confirmation-dialog__body {
    min-width: 0;
    min-height: 0;
    padding: 24px;
    background: var(--color-surface);
    overflow-x: hidden;
    overflow-y: auto;
}

.content--admin .admin-destructive-action-dialog[data-confirmation-mode="typed"] .admin-destructive-action-dialog__body {
    padding-bottom: 14px;
}

.content--admin .admin-confirmation-dialog__close {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(43, 87, 72, 0.1);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.62);
    color: var(--button-secondary-text);
    cursor: pointer;
    font: inherit;
    font-size: 1.35rem;
    line-height: 1;
}

.content--admin .admin-confirmation-dialog__close:hover {
    color: var(--form-error);
}

.content--admin .admin-confirmation-dialog__close:focus-visible {
    color: var(--button-primary-bg);
    outline: 2px solid var(--button-focus);
    outline-offset: 2px;
}

.content--admin .admin-confirmation-dialog__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.content--admin .admin-confirmation-dialog__icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.content--admin .admin-confirmation-dialog h2,
.content--admin .admin-confirmation-dialog p {
    max-width: 100%;
    margin: 0;
    overflow-wrap: anywhere;
}

.content--admin .admin-confirmation-dialog h2 {
    flex: 1 1 auto;
    font-size: 1.2rem;
    line-height: 1.3;
    color: var(--color-text);
}

.content--admin .admin-confirmation-dialog p {
    color: var(--color-muted);
    line-height: 1.5;
}

.content--admin .admin-information-dialog .admin-confirmation-dialog__surface {
    text-align: left;
}

.content--admin .admin-information-dialog__content {
    display: grid;
    width: 100%;
    min-width: 0;
    gap: 12px;
}

.content--admin .admin-information-dialog__employee {
    color: var(--color-muted);
    overflow-wrap: anywhere;
}

.content--admin .admin-material-need-detail__context {
    display: grid;
    gap: 10px;
    margin: 0;
}

.content--admin .admin-material-need-detail__context div {
    display: grid;
    grid-template-columns: minmax(110px, auto) minmax(0, 1fr);
    gap: 16px;
}

.content--admin .admin-material-need-detail__context dt,
.content--admin .admin-material-need-detail__items th {
    font-weight: 700;
}

.content--admin .admin-material-need-detail__context dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.content--admin .admin-material-need-detail__items h3,
.content--admin .admin-material-need-detail__note h3,
.content--admin .admin-dialog-section-divider {
    margin: 0 0 8px;
    font-size: 1rem;
}

.content--admin .admin-material-need-detail__items h3,
.content--admin .admin-material-need-detail__note h3,
.content--admin .admin-dialog-section-divider {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 11px;
    color: var(--color-text);
    font-weight: 700;
}

.content--admin .admin-destructive-action-dialog__blocked-heading {
    width: 100%;
    margin: 0;
    color: var(--color-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.content--admin .admin-destructive-action-dialog__blockers {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--color-muted);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.content--admin .admin-destructive-action-dialog__state-hint {
    justify-self: center;
    margin: 24px 0 0;
    color: var(--color-muted);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

.content--admin .admin-destructive-action-dialog__blocked-hint {
    width: 100%;
    margin: 0;
    padding: 8px 0;
    color: var(--color-muted);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

.content--admin .admin-material-need-detail__items h3::before,
.content--admin .admin-material-need-detail__items h3::after,
.content--admin .admin-material-need-detail__note h3::before,
.content--admin .admin-material-need-detail__note h3::after,
.content--admin .admin-dialog-section-divider::before,
.content--admin .admin-dialog-section-divider::after {
    flex: 0 0 30px;
    height: 1px;
    background: var(--sidebar-active-accent);
    content: "";
}

.content--admin .admin-material-need-detail__items table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.content--admin .admin-material-need-detail__items th,
.content--admin .admin-material-need-detail__items td {
    padding: 8px 0;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.content--admin .admin-material-need-detail__items th:first-child,
.content--admin .admin-material-need-detail__items td:first-child {
    width: 72px;
    padding-right: 16px;
}

.content--admin .admin-material-need-detail__note {
    margin-top: 8px;
}

.content--admin .admin-material-need-detail__note p {
    margin: 0;
    overflow-wrap: anywhere;
}

.content--admin .admin-material-overview {
    display: grid;
    min-width: 0;
    gap: 16px;
}

.content--admin .admin-material-overview__entries {
    display: grid;
    min-width: 0;
}

.content--admin .admin-material-overview__entry {
    display: grid;
    min-width: 0;
    gap: 14px;
    padding: 18px 0;
    border-top: 1px solid var(--color-border);
}

.content--admin .admin-material-overview__entry:first-child {
    padding-top: 0;
    border-top: 0;
}

.content--admin .admin-material-overview__entry:last-child {
    padding-bottom: 0;
}

.content--admin .admin-material-overview__entry-header,
.content--admin .admin-material-overview__materials,
.content--admin .admin-material-overview__message {
    display: grid;
    min-width: 0;
    gap: 6px;
}

.content--admin .admin-material-overview__entry h3,
.content--admin .admin-material-overview__entry h4,
.content--admin .admin-material-overview__entry p,
.content--admin .admin-material-overview__materials ul {
    margin: 0;
}

.content--admin .admin-material-overview__entry h3 {
    font-size: 1rem;
}

.content--admin .admin-material-overview__entry h4 {
    color: var(--color-text);
    font-size: 0.9rem;
}

.content--admin .admin-material-overview__object-context {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 12px;
    color: var(--color-muted);
    font-size: 0.88rem;
    overflow-wrap: anywhere;
}

.content--admin .admin-material-overview__materials ul {
    display: grid;
    gap: 4px;
    padding: 0;
    list-style: none;
}

.content--admin .admin-material-overview__materials li {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 8px;
    overflow-wrap: anywhere;
}

.content--admin .admin-material-overview__quantity {
    color: var(--color-muted);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.content--admin .admin-information-dialog__history {
    display: grid;
    min-width: 0;
}

.content--admin .admin-information-dialog__history-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    gap: 20px;
    padding: 10px 0;
    border-top: 1px solid var(--color-border);
}

.content--admin .admin-information-dialog__history-row span {
    color: var(--color-muted);
    overflow-wrap: anywhere;
    text-align: right;
}

.content--admin .admin-destructive-action-dialog__body {
    display: grid;
    justify-items: center;
    gap: 14px;
    text-align: center;
}

.content--admin .admin-destructive-action-dialog__description {
    display: grid;
    justify-items: center;
    width: 100%;
}

.content--admin .admin-destructive-action-dialog__summary {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    color: var(--color-muted);
    font-size: 1rem;
    line-height: 1.5;
}

.content--admin .admin-destructive-action-dialog__summary th,
.content--admin .admin-destructive-action-dialog__summary td,
.content--admin .admin-destructive-action-dialog__message-rows li,
.content--admin .admin-destructive-action-dialog__blocked-heading,
.content--admin .admin-destructive-action-dialog__blockers li {
    padding: 8px 0;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.content--admin .admin-destructive-action-dialog__summary th {
    width: 44%;
    padding-right: 16px;
    color: var(--color-text);
    font-weight: 700;
}

.content--admin .admin-destructive-action-dialog__summary td {
    font-weight: 400;
}

.content--admin .admin-destructive-action-dialog__summary tr:last-child th,
.content--admin .admin-destructive-action-dialog__summary tr:last-child td,
.content--admin .admin-destructive-action-dialog__message-rows li:last-child {
    border-bottom: 0;
}

.content--admin .admin-destructive-action-dialog__message-rows {
    margin: 0;
    padding: 0;
    list-style: none;
}

.content--admin .admin-confirmation-dialog__footer {
    padding: 14px 18px;
    border-top: 1px solid var(--color-border);
    background: var(--table-header-bg);
}

.content--admin .admin-information-dialog__footer {
    display: flex;
    justify-content: flex-end;
}

.content--admin .admin-information-dialog__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.content--admin .admin-information-dialog__footer .button-secondary,
.content--admin .admin-information-dialog__footer .button-primary {
    width: auto;
    min-height: 38px;
    padding: 8px 14px;
}

.content--admin .admin-confirmation-dialog__actions,
.content--admin .admin-destructive-action-dialog__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.content--admin .admin-destructive-action-dialog__actions--typed {
    display: grid;
    grid-template-columns: auto minmax(140px, 220px) auto;
    width: 100%;
}

.content--admin .admin-destructive-action-dialog__actions--typed:has(.admin-destructive-action-dialog__confirmation-control[hidden]) {
    display: flex;
    justify-content: space-between;
}

.content--admin .admin-destructive-action-dialog__confirmation-control {
    min-width: 0;
}

.content--admin .admin-destructive-action-dialog__confirmation-control input {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 7px 10px;
    border-width: 1px;
    border-style: solid;
    border-radius: 7px;
    background: var(--form-bg);
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.3;
    transition: border-color 0.16s ease, outline-color 0.16s ease;
}

@media print {
    body.admin-information-dialog-printing *:not([data-admin-information-dialog-print-active]):not([data-admin-information-dialog-print-active] *):not(:has([data-admin-information-dialog-print-active])) {
        display: none !important;
    }

    body.admin-information-dialog-printing [data-admin-information-dialog-print-active] {
        position: absolute;
        inset: 0 auto auto 0;
        display: block;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        border: 0;
        background: #fff;
        color: #111;
        overflow: visible;
    }

    body.admin-information-dialog-printing [data-admin-information-dialog-print-active]::backdrop {
        display: none;
    }

    body.admin-information-dialog-printing [data-admin-information-dialog-print-active] .admin-confirmation-dialog__surface {
        display: block;
        width: 100%;
        max-height: none;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
        overflow: visible;
    }

    body.admin-information-dialog-printing [data-admin-information-dialog-print-active] .admin-confirmation-dialog__header {
        min-height: 0;
        padding: 0 0 16px;
        border-bottom: 1px solid #777;
        background: #fff;
    }

    body.admin-information-dialog-printing [data-admin-information-dialog-print-active] .admin-confirmation-dialog__body {
        max-height: none;
        padding: 20px 0 0;
        background: #fff;
        color: #111;
        overflow: visible;
    }

    body.admin-information-dialog-printing [data-admin-information-dialog-print-active] .admin-confirmation-dialog__close,
    body.admin-information-dialog-printing [data-admin-information-dialog-print-active] .admin-confirmation-dialog__footer {
        display: none !important;
    }

    body.admin-information-dialog-printing [data-admin-information-dialog-print-active] .admin-material-need-detail__items tr,
    body.admin-information-dialog-printing [data-admin-information-dialog-print-active] .admin-material-overview__entry {
        break-inside: avoid;
    }
}

.content--admin .admin-confirmation-dialog__actions .button-secondary,
.content--admin .admin-confirmation-dialog__actions .button-primary,
.content--admin .admin-confirmation-dialog__actions .button-danger {
    width: auto;
    min-width: 104px;
    min-height: 38px;
    padding: 8px 14px;
}

@media (max-width: 480px) {
    .content--admin .admin-confirmation-dialog {
        --admin-dialog-max-height: calc(100dvh - 24px);
        inline-size: calc(100vw - 24px);
        max-inline-size: calc(100vw - 24px);
    }

    .content--admin .admin-confirmation-dialog__header {
        min-height: 58px;
        padding: 12px 14px 12px 16px;
    }

    .content--admin .admin-confirmation-dialog__body {
        padding: 20px 16px;
    }

    .content--admin .admin-destructive-action-dialog[data-confirmation-mode="typed"] .admin-destructive-action-dialog__body {
        padding-bottom: 14px;
    }

    .content--admin .admin-confirmation-dialog__footer {
        padding: 12px 14px;
    }

    .content--admin .admin-confirmation-dialog__actions .button-secondary,
    .content--admin .admin-confirmation-dialog__actions .button-primary,
    .content--admin .admin-confirmation-dialog__actions .button-danger {
        min-width: 0;
    }

    .content--admin .admin-destructive-action-dialog__actions--typed {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .content--admin .admin-destructive-action-dialog__actions--typed .admin-destructive-action-dialog__confirmation-control {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .content--admin .admin-information-dialog__history-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .content--admin .admin-information-dialog__history-row span {
        text-align: left;
    }

    .content--admin .admin-material-need-detail__items h3::before,
    .content--admin .admin-material-need-detail__items h3::after,
    .content--admin .admin-material-need-detail__note h3::before,
    .content--admin .admin-material-need-detail__note h3::after,
    .content--admin .admin-dialog-section-divider::before,
    .content--admin .admin-dialog-section-divider::after {
        flex-basis: 22px;
    }

    .content--admin .admin-material-need-detail__context div {
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
    }
}

.content--admin .admin-information-dialog--material-need-detail {
    inline-size: min(560px, calc(100vw - 40px));
    max-inline-size: min(560px, calc(100vw - 40px));
}

.content--admin .admin-information-dialog--material-overview {
    inline-size: min(720px, calc(100vw - 40px));
    max-inline-size: min(720px, calc(100vw - 40px));
}

.content--admin .admin-destructive-action-dialog__icon {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    background: #fff4f2;
    color: #b42318;
}

.content--admin .admin-destructive-action-dialog__icon svg {
    width: 18px;
    height: 18px;
}

@media (prefers-reduced-motion: no-preference) {
    .back-link__icon {
        transition: transform 0.16s ease;
    }

    .back-link:hover .back-link__icon,
    .back-link:focus .back-link__icon,
    .back-link:focus-visible .back-link__icon {
        transform: translateX(-2px);
    }
}

.content--admin .admin-compact-action-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 32px;
    margin-bottom: 20px;
}

.content--admin .admin-compact-action-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 12px;
    min-width: 0;
}

.content--admin .admin-compact-action-group__label {
    flex: 0 0 auto;
}

.content--admin .admin-compact-action-group form {
    margin: 0;
}

@media (max-width: 800px) {
    .admin-shell {
        display: block;
    }

    .admin-sidebar {
        position: static;
        height: auto;
        grid-template-rows: var(--admin-header-height) auto;
        border-right: 0;
        border-bottom: 1px solid var(--admin-shell-divider);
    }
    .admin-sidebar__body { overflow: visible; }
    .admin-sidebar__nav { display: grid; grid-template-columns: minmax(0, 1fr); }
    .admin-sidebar__primary { grid-column: 1 / -1; }
    .admin-sidebar__settings { grid-column: 1 / -1; margin-top: 8px; }
    .admin-header { --admin-button-min-height: 44px; height: auto; min-height: var(--admin-header-height); padding: 12px 16px; gap: 12px; flex-wrap: wrap; }

    .admin-main {
        min-height: 0;
    }

    .admin-content-frame {
        width: min(100% - 32px, 1280px);
    }

    .admin-content-frame {
        padding: var(--admin-content-frame-padding-top) 0 24px;
    }

    .admin-content-frame--subpage {
        padding-top: var(--admin-content-frame-padding-top);
    }

}

@media (max-width: 640px) {
    .topbar__inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px 0;
    }

    .content {
        padding: 24px 0;
    }

    .admin-sidebar__nav {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-sidebar__link {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .admin-page-heading {
        flex-direction: column;
    }

    .content--admin .admin-page {
        gap: 18px;
    }

    .content--admin .admin-data-form-layout {
        gap: 24px;
    }

    .content--admin .admin-page-header,
    .content--admin .admin-section {
        padding: 18px;
    }

    .content--admin .admin-page:has(> .admin-data-form-layout) > .admin-page-header {
        padding-bottom: 24px;
    }

    .content--admin .admin-page-header,
    .content--admin .admin-section-header {
        flex-direction: column;
        gap: 14px;
    }

    .content--admin .admin-page-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .content--admin .admin-page-actions > * {
        max-width: 100%;
    }

    .content--admin .admin-page-intro--notice-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .content--admin .admin-page-intro--notice-layout .admin-page-actions {
        width: fit-content;
    }

    .content--admin .admin-page-intro__notice {
        max-width: 100%;
    }

    .admin-header .admin-page-title {
        font-size: 1.45rem;
    }

    .content--admin .admin-dashboard-widget__metric {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .content--admin .admin-dashboard-widgets {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 0;
    }

    .content--admin .admin-dashboard-widget {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) auto;
        width: 100%;
    }

    .content--admin .admin-dashboard-widget--wide { grid-column: span 1; }

    .content--admin .admin-dashboard-widget__surface {
        grid-row: auto;
        grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .content--admin .admin-dashboard-widget__completion {
        grid-row: auto;
        justify-self: end;
        height: auto;
        padding-right: 12px;
    }

    .content--admin .admin-dashboard-widget__completion-connector {
        display: none;
    }

    .content--admin .admin-dashboard-greeting-line {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .content--admin .admin-dashboard-activity__item { grid-template-columns: minmax(0, 1fr); gap: 2px; align-items: start; }

    .preview-summary {
        grid-template-columns: 1fr;
    }

    .document-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-material-need {
        margin-top: 16px;
        padding-top: 16px;
    }

    .table-wrap--admin {
        overflow-x: visible;
        margin-top: 16px;
        min-width: 0;
        max-width: 100%;
    }

    .content--admin .table-wrap--admin:has(> .admin-administration-table) {
        overflow: visible;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .content--admin .admin-administration-list-page > .panel:first-of-type > .table-wrap--admin {
        margin-top: 16px;
    }

    .admin-submissions,
    .admin-administration-table,
    .admin-users,
    .admin-logs,
    .admin-assignments,
    .admin-submissions tbody,
    .admin-administration-table tbody,
    .admin-users tbody,
    .admin-logs tbody,
    .admin-assignments tbody,
    .admin-submissions tr,
    .admin-administration-table tr,
    .admin-users tr,
    .admin-logs tr,
    .admin-assignments tr,
    .admin-submissions td,
    .admin-administration-table td,
    .admin-users td,
    .admin-logs td,
    .admin-assignments td {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .admin-submissions,
    .admin-administration-table,
    .admin-users,
    .admin-logs,
    .admin-assignments {
        min-width: 0;
    }

    .admin-submissions thead,
    .admin-administration-table thead,
    .admin-users thead,
    .admin-logs thead,
    .admin-assignments thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .admin-submissions tbody,
    .admin-administration-table tbody,
    .admin-users tbody,
    .admin-logs tbody,
    .admin-assignments tbody {
        display: grid;
        gap: 12px;
    }

    .admin-submissions tr,
    .admin-administration-table tr,
    .admin-users tr,
    .admin-logs tr,
    .admin-assignments tr {
        padding: 4px 12px;
        border: 1px solid var(--table-border);
        border-radius: 8px;
        background: var(--table-row-bg);
        min-width: 0;
        max-width: 100%;
    }

    .admin-submissions td,
    .admin-administration-table td,
    .admin-users td,
    .admin-logs td,
    .admin-assignments td {
        display: grid;
        grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
        gap: 12px;
        padding: 8px 0;
        border-top-color: var(--table-border);
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .admin-submissions td:first-child,
    .admin-administration-table td:first-child,
    .admin-users td:first-child,
    .admin-logs td:first-child,
    .admin-assignments td:first-child {
        border-top: 0;
    }

    .admin-submissions td::before,
    .admin-administration-table td::before,
    .admin-users td::before,
    .admin-logs td::before,
    .admin-assignments td::before {
        content: attr(data-label);
        color: var(--color-muted);
        font-size: 0.85rem;
        font-weight: 700;
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .admin-submissions td > *,
    .admin-administration-table td > *,
    .admin-users td > *,
    .admin-logs td > *,
    .admin-assignments td > * {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .content--admin .badge {
        min-width: 0;
        max-width: 100%;
        white-space: nowrap;
        overflow-wrap: normal;
    }

    .admin-page-heading > .button-primary,
    .admin-submissions td .button-primary,
    .admin-submissions td .button-secondary,
    .admin-users td .button-primary,
    .admin-users td .button-secondary,
    .admin-assignments td .button-primary,
    .admin-assignments td .button-secondary {
        min-width: 0;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .admin-submissions td .button-primary,
    .admin-submissions td .button-secondary,
    .admin-users td .button-primary,
    .admin-users td .button-secondary,
    .admin-assignments td .button-primary,
    .admin-assignments td .button-secondary {
        width: 100%;
    }

    .admin-material-actions {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .admin-material-actions form {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .admin-logs time {
        overflow-wrap: normal;
        word-break: normal;
    }

}

@media (max-width: 420px) {
    .admin-submissions td,
    .admin-administration-table td,
    .admin-users td,
    .admin-logs td,
    .admin-assignments td {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

}

.content--admin .admin-help-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 0 0 auto;
    margin-left: auto;
    white-space: nowrap;
}

.admin-help-button__mark {
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border: 1px solid currentColor;
    border-radius: 50%;
    color: var(--color-primary);
    font-weight: 700;
    line-height: 1;
}

.admin-help-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}

.admin-help-nav__card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 16px;
    color: var(--color-text);
    text-decoration: none;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(39, 51, 56, 0.06);
}

.admin-help-nav__card:hover,
.admin-help-nav__card:focus-visible { border-color: var(--color-primary); }
.admin-help-nav__card span { color: var(--color-muted); font-size: 0.92rem; line-height: 1.45; }
.admin-help-content { width: 100%; max-width: none; }
.admin-help-topic { width: 100%; max-width: none; box-sizing: border-box; scroll-margin-top: 24px; margin-bottom: 20px; }
.admin-help-topic:target { border-color: var(--form-focus); box-shadow: none; }
.admin-help-topic h2 { margin-bottom: 8px; }
.admin-help-topic__summary { max-width: 80ch; color: var(--color-muted); margin-bottom: 22px; font-size: 0.9375rem; line-height: 1.52; }
.admin-help-block { max-width: 80ch; }
.admin-help-block + .admin-help-block { margin-top: 22px; }
.admin-help-block h3 { margin-bottom: 8px; font-size: 0.9375rem; }
.admin-help-block p, .admin-help-block ul { margin-bottom: 8px; font-size: 0.9375rem; line-height: 1.52; }
.admin-help-block li { font-size: 0.9375rem; line-height: 1.52; }
.admin-help-support { margin-top: 28px; padding: 20px; background: var(--color-background); border: 1px solid var(--color-border); border-radius: 14px; }
.admin-help-support h2 { margin-bottom: 8px; font-size: 1.15rem; }
.admin-help-support p { margin-bottom: 10px; }

@media (max-width: 900px) { .admin-help-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .admin-help-nav { grid-template-columns: minmax(0, 1fr); }
    .content--admin .admin-administration-toolbar .admin-help-button { margin-left: 0; }
}

.employee-material-decision {
    margin: 0;
    padding: 0;
    border: 0;
}

.employee-material-decision legend {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}

.employee-material-decision__segments {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
    width: 100%;
    min-height: var(--employee-segment-height);
    overflow: hidden;
    border: 1px solid var(--button-primary-bg);
    border-radius: 999px;
    background: var(--color-surface);
}

.employee-material-decision__label,
.employee-material-decision__segment span {
    display: grid;
    min-width: 0;
    min-height: calc(var(--employee-segment-height) - 2px);
    place-items: center;
    padding: var(--employee-segment-padding);
    box-sizing: border-box;
    line-height: var(--employee-segment-line-height);
    font-size: var(--employee-segment-font-size);
    white-space: nowrap;
}
.employee-material-decision__label {
    background: var(--button-primary-bg);
    color: var(--button-primary-text);
    font-weight: 600;
}
.employee-material-decision__label,
.employee-material-decision__label + .employee-material-decision__segment span {
    border-left: 1px solid var(--button-primary-bg);
}
.employee-material-decision__segment { position: relative; margin: 0; }
.employee-material-decision__segment input { position: absolute; opacity: 0; pointer-events: none; }
.employee-material-decision__segment span {
    height: 100%;
    background: var(--color-background);
    font-weight: 400;
    cursor: pointer;
}
.employee-material-decision__segment input:checked + span {
    color: var(--button-secondary-text);
    background: var(--button-secondary-hover);
}
.employee-material-decision__segment input:checked + span::before {
    content: '✓';
    margin-right: 4px;
}
.employee-material-decision__segment input[data-employee-material-decision-kind="not-needed"]:checked + span {
    background: #fff4f2;
    color: var(--form-error);
    font-weight: 600;
}
.employee-material-decision__segment input[data-employee-material-decision-kind="not-needed"]:checked + span::before {
    color: var(--form-error);
    font-weight: 600;
}
.employee-material-decision__segment input:checked + span {
    display: flex;
    align-items: center;
    justify-content: center;
}
.employee-material-decision__segment input:focus-visible + span {
    outline: 3px solid var(--form-focus);
    outline-offset: -3px;
}

/* One inbox workspace; timeline and composer retain their shared geometry. */
.admin-inbox .communication-composer .form-field.communication-composer__message textarea,
.admin-inbox .communication-composer .form-field.communication-composer__message textarea::placeholder {
    font-size: 0.75rem;
}

.content--admin .admin-inbox {
    --admin-inbox-list-width: 90%;
    --admin-inbox-control-gap: .5rem;
    --communication-separator-color: var(--sidebar-active-accent);
    --admin-inbox-content-spacing: 1.5rem;
    --admin-inbox-header-divider-spacing: .5rem;
    --admin-inbox-header-min-height: 28px;
    --admin-inbox-header-padding: 4px 8px;
    --admin-inbox-header-font-size: .8125rem;
    --admin-inbox-header-line-height: 1.3;
    display: grid;
    grid-template-columns: minmax(20rem, 1fr) minmax(0, 1.65fr);
    grid-template-rows: auto auto auto auto auto;
    column-gap: 1.5rem;
    row-gap: 0;
    align-items: start;
}
.admin-inbox__conversation, .admin-inbox__list { display: grid; grid-row: 1 / 6; grid-template-rows: subgrid; align-self: stretch; row-gap: 0; min-width: 0; }
.admin-inbox__list { grid-column: 1; }
.admin-inbox__conversation { grid-column: 2; }
.content--admin .admin-inbox > [data-inbox-top-divider] { grid-column: 1; grid-row: 2; margin-block-start: var(--admin-inbox-header-divider-spacing); }
.content--admin .admin-inbox > [data-inbox-bottom-divider] { grid-column: 1; grid-row: 4; margin-block-start: var(--admin-inbox-content-spacing); }
.content--admin .admin-inbox:has(> .admin-inbox__conversation > .admin-inbox__conversation-header) > [data-inbox-top-divider],
.content--admin .admin-inbox:has(> .admin-inbox__conversation > .admin-inbox__conversation-header) > [data-inbox-bottom-divider] { grid-column: 1 / -1; }
.admin-inbox__conversation > .admin-inbox__conversation-flow,
.admin-inbox__conversation > .communication-compose-region--creation { grid-row: 3; align-self: start; margin-block-start: var(--admin-inbox-content-spacing); }
.admin-inbox__conversation-flow { display: flex; flex-direction: column; gap: var(--admin-inbox-content-spacing); min-width: 0; }
.admin-inbox__reply-composer { min-width: 0; }
.admin-inbox__actions { display: grid; grid-row: 5; align-self: start; width: 100%; max-width: 960px; min-width: 0; margin: var(--admin-inbox-content-spacing) auto 0; }
.admin-inbox__actions:has(> .communication-reply-state) { margin-block-start: var(--admin-inbox-header-divider-spacing); }
.admin-inbox__conversation:focus, .admin-inbox__list:focus { outline: none; }
.admin-inbox__back { display: none; }
.admin-inbox__conversation-header { display: grid; grid-row: 1; align-content: center; justify-items: center; gap: .75rem; min-width: 0; }
.admin-inbox__thread-meta { display: flex; align-items: center; justify-content: center; justify-self: center; gap: .5rem; width: fit-content; min-width: 0; max-width: 100%; }
.admin-inbox__thread-meta::before { content: ""; order: 1; flex: 0 0 3px; width: 3px; height: 3px; border-radius: 50%; background: var(--color-muted); }
.content--admin .admin-inbox__thread-meta > .communication-state-badge { margin-inline: 0; white-space: nowrap; }
.content--admin .admin-inbox__thread-meta > .admin-inbox__category { display: block; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.admin-inbox__thread-meta > [class*="communication-support-status--"] { order: 2; flex: 0 0 auto; }
.admin-inbox__controls { display: grid; grid-row: 1; align-self: center; min-width: 0; }
.admin-inbox__control-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; width: var(--admin-inbox-list-width); max-width: 100%; min-width: 0; justify-self: center; }
.admin-inbox__thread-actions { display: flex; align-items: center; gap: var(--admin-inbox-control-gap); margin-inline-start: auto; }
.admin-inbox__thread-actions > .admin-tooltip { display: inline-flex; margin: 0; }
.content--admin .admin-inbox__thread-action { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: var(--admin-inbox-header-min-height); height: var(--admin-inbox-header-min-height); padding: 0; border: 0; border-radius: 8px; background: var(--color-border); color: var(--button-secondary-text); cursor: pointer; }
.content--admin .admin-inbox__thread-action--danger { color: var(--form-error); }
.content--admin .admin-page-header:has(> .admin-page-intro--inbox) { min-width: 0; }
.content--admin .admin-page-intro--inbox { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; width: 100%; min-width: 0; }
.admin-inbox__heading-row { display: flex; flex: 1 1 24rem; flex-wrap: wrap; align-items: center; gap: 12px 16px; min-width: 0; }
.admin-inbox__heading-row > .admin-inline-notice { flex: 0 1 auto; width: fit-content; max-width: 100%; min-width: 0; }
.admin-inbox__heading-row[data-search-open="true"] > .admin-inbox__standard-notice { display: none; }
.admin-inbox__search { flex: 0 1 auto; min-width: 0; max-width: 100%; }
.content--admin .admin-search--collapsible { display: block; width: calc(var(--admin-search-side-width) + 2 * var(--admin-search-border-width)); margin: 0; transition: width 180ms ease; }
.content--admin .admin-search--collapsible[data-search-expanded="true"] { width: 20rem; }
.content--admin .admin-search--collapsible .admin-search__control { position: static; grid-template-columns: var(--admin-search-side-width) minmax(0, 1fr); }
.content--admin .admin-search__fields { display: grid; grid-template-columns: minmax(0, 1fr) var(--admin-search-side-width); min-width: 0; opacity: 0; visibility: hidden; transition: opacity 180ms ease; }
.content--admin .admin-search--collapsible[data-search-expanded="true"] .admin-search__fields { opacity: 1; visibility: visible; }
@media (prefers-reduced-motion: reduce) {
    .content--admin .admin-search--collapsible, .content--admin .admin-search__fields { transition: none; }
}
.admin-inbox__filter-group { display: grid; gap: .5rem; min-width: 0; }
.admin-inbox__results { display: grid; grid-row: 3 / 6; grid-template-rows: subgrid; row-gap: 0; min-width: 0; }
.admin-inbox__card-results { display: grid; grid-row: 1; align-self: start; min-width: 0; margin-block-start: var(--admin-inbox-content-spacing); }
.admin-inbox__results > .admin-pagination-toolbar { grid-row: 3; align-self: start; margin-block-start: var(--admin-inbox-content-spacing); }
.admin-inbox__status-nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--admin-inbox-control-gap); }
.content--admin .admin-inbox__status-link { display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-height: var(--admin-inbox-header-min-height); padding: var(--admin-inbox-header-padding); border: 0; border-radius: 8px; background: var(--color-border); color: var(--button-secondary-text); font-size: var(--admin-inbox-header-font-size); font-weight: 400; line-height: var(--admin-inbox-header-line-height); text-decoration: none; }
.content--admin .admin-inbox__status-link:focus { color: var(--button-secondary-text); }
.content--admin .admin-inbox__status-link:focus-visible { outline: 3px solid var(--button-focus); outline-offset: 2px; }
.content--admin .admin-inbox__status-link--active,
.content--admin .admin-inbox__status-link[aria-current="page"] { background: var(--button-secondary-hover); color: var(--button-secondary-text); font-weight: 700; }
.communication-support-status.communication-support-status--received { color: var(--color-muted); }
.communication-support-status.communication-support-status--in_progress { color: var(--color-primary); }
.communication-support-status.communication-support-status--resolved { color: var(--button-secondary-text); }
.communication-attention.communication-attention--unread { color: var(--attention-color); }
.admin-inbox__items { display: grid; gap: .65rem; width: var(--admin-inbox-list-width); max-width: 100%; padding: 0; margin: 0; justify-self: center; list-style: none; }
.admin-inbox__item { position: relative; display: grid; gap: 4px; min-width: 0; padding: 8px .7rem; border: 1px solid var(--role-office-admin-border); border-radius: .65rem; background: var(--table-row-hover); color: inherit; box-shadow: inset 3px 0 var(--communication-role-accent-color), var(--communication-surface-shadow); }
.admin-inbox__item:not(.admin-inbox__item--selected):hover { border-color: var(--button-secondary-border); }
.admin-inbox__item--selected { border-color: var(--sidebar-active-accent); }
.admin-inbox__item--selected::before,
.admin-inbox__item--selected::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    pointer-events: none;
    transform: translateY(-50%);
}
.admin-inbox__item--selected::before {
    right: -7px;
    border-width: 6px 0 6px 6px;
    border-left-color: var(--sidebar-active-accent);
}
.admin-inbox__item--selected::after {
    right: -6px;
    border-width: 5px 0 5px 6px;
    border-left-color: var(--table-row-hover);
}
.admin-inbox__item-link { position: absolute; z-index: 1; inset: 0; border-radius: inherit; }
.admin-inbox__item-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .5rem; min-width: 0; }
.admin-inbox__item-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .5rem; min-width: 0; }
.admin-inbox__item-sender { min-width: 0; overflow-wrap: anywhere; }
.admin-inbox__item-time { color: var(--color-muted); font-size: .8125rem; font-weight: 400; line-height: 1.35; text-align: right; white-space: nowrap; }
.admin-inbox__item-footer { align-items: center; }
/* Preserve the existing unread footer height with the indicator outside the flow. */
.admin-inbox__item:has(> .admin-inbox__unread--indicator) .admin-inbox__item-footer { min-height: calc(.8125rem * 1.5 + .2rem); }
.admin-inbox__item-status { grid-column: 2; color: var(--color-muted); font-size: .8125rem; font-weight: 400; line-height: 1.35; text-align: right; }
.admin-inbox__item-category { grid-column: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-muted); font-size: .8125rem; font-weight: 400; line-height: 1.35; text-align: left; }
.admin-inbox__unread { background: var(--sidebar-active-accent); color: var(--color-text); }
.admin-inbox__unread--numeric { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 1.25rem; min-width: 1.25rem; width: fit-content; padding: 0 .25rem; border-radius: 999px; font-size: .8125rem; font-weight: 700; line-height: 1; }
.admin-inbox__unread--indicator { position: absolute; top: 1.1rem; right: calc(-1rem - 4px); width: 12px; height: 12px; padding: 0; border-radius: 50%; pointer-events: none; }
.admin-inbox__error { grid-column: 1 / -1; color: var(--form-error); }
.admin-inbox__item-link:focus-visible { outline: 3px solid var(--button-focus); outline-offset: 2px; }
@media (min-width: 1200px) {
    .content--admin .admin-inbox__thread-meta {
        display: grid;
        grid-template-columns: var(--communication-timeline-desktop-columns);
        column-gap: 0;
        width: 100%;
    }
    .content--admin .admin-inbox__thread-meta::before {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
    }
    .content--admin .admin-inbox__thread-meta > .admin-inbox__category {
        grid-column: 1;
        grid-row: 1;
        justify-self: end;
        text-align: right;
    }
    .content--admin .admin-inbox__thread-meta > [class*="communication-support-status--"] {
        grid-column: 3;
        grid-row: 1;
        justify-self: start;
    }
    .content--admin .admin-inbox__conversation-header > .communication-state-badge,
    .content--admin .admin-inbox__thread-meta > .communication-state-badge {
        min-height: var(--admin-inbox-header-min-height);
        padding: var(--admin-inbox-header-padding);
        font-size: var(--admin-inbox-header-font-size);
        line-height: var(--admin-inbox-header-line-height);
    }
}
@media (max-width: 1199px) {
    .content--admin .admin-inbox { --admin-inbox-list-width: 100%; grid-template-columns: minmax(0, 1fr); }
    .admin-inbox__conversation, .admin-inbox__list { grid-column: 1; }
    .admin-inbox__unread--indicator { top: -5px; right: .7rem; }
    .admin-inbox__back { display: inline-flex; }
    .admin-inbox__conversation-header > .admin-inbox__back { justify-self: start; }
    .admin-inbox__thread-meta { flex-wrap: wrap; justify-content: center; }
    .admin-inbox[data-mode="list"] .admin-inbox__conversation { display: none; }
    .admin-inbox[data-mode="conversation"] .admin-inbox__list { display: none; }
}

/* Personal settings reuse the shared admin controls; only section geometry is local. */
.content--admin .personal-settings {
    --personal-settings-section-gap: 20px;
    --personal-settings-card-shadow:
        rgba(60, 64, 67, 0.30) 0 1px 2px 0,
        rgba(60, 64, 67, 0.15) 0 2px 6px 2px;
    display: grid;
    gap: var(--personal-settings-section-gap);
    width: min(100%, 610px);
    min-width: 0;
}
.content--admin .personal-settings__section {
    display: grid;
    min-width: 0;
}
.content--admin .personal-settings__card.admin-data-form-panel {
    width: 100%;
    margin: 0;
    background: var(--color-surface);
    border: 0;
    border-radius: 24px;
    box-shadow: var(--personal-settings-card-shadow);
}
.personal-settings__header {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 4px 10px;
}
.personal-settings__header > svg { width: 20px; height: 20px; }
.personal-settings__header > h2 { margin: 0; font-size: 1.05rem; }
.personal-settings__header > p {
    grid-column: 2;
    margin: 0;
}
.personal-settings__description {
    color: var(--color-muted);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
}
.personal-settings__fieldset {
    display: grid;
    align-items: start;
    min-width: 0;
    min-inline-size: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--form-border);
    border-radius: 8px;
    background: var(--color-surface);
    box-shadow: none;
}
.personal-settings__fieldset > legend {
    max-width: calc(100% - 4px);
    margin-inline-start: auto;
    margin-inline-end: 4px;
    padding: 0 6px;
    color: var(--color-text);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.personal-settings__fieldset > .personal-settings__name-form {
    align-self: stretch;
    /* Reserve the mobile input + shared form gap + action minimum; content can grow. */
    min-block-size: calc(40px + 12px + var(--admin-button-min-height));
}
.personal-settings__name-display,
.personal-settings__password-display {
    display: grid;
    grid-template-columns: minmax(0, max-content) auto;
    justify-content: start;
    align-items: center;
    gap: 12px;
}
.personal-settings__name-display > span,
.personal-settings__password-display > span { overflow-wrap: anywhere; }
.admin-shell .personal-settings__name-edit,
.admin-shell .personal-settings__password-open {
    position: relative;
    align-self: center;
    min-height: 0;
    /* The left hit-area extension fits inside the 12px visual name/button gap. */
    margin: 10px 10px 10px 0;
    padding: 4px;
}
.personal-settings__name-edit::after,
.personal-settings__password-open::after {
    content: "";
    position: absolute;
    inset: -10px;
}
.personal-settings__name-form > [data-admin-display-name-editor] { align-self: end; }
.personal-settings__name-form [hidden],
.personal-settings__password-form [hidden] { display: none; }
.personal-settings__form-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}
.personal-settings__profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.personal-settings__avatar-info { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; }
.personal-settings__avatar {
    width: 120px;
    height: 120px;
    padding: 0;
    appearance: none;
    cursor: pointer;
    font-size: 2rem;
}
.personal-settings__avatar-form { min-width: 0; margin: 0; gap: 0; }
.personal-settings__avatar-control { position: relative; width: 120px; height: 120px; }
.personal-settings__avatar:focus-visible,
.personal-settings__avatar-control > .upload-file-input:focus + .personal-settings__avatar { outline: 3px solid var(--button-focus); outline-offset: 3px; }
.personal-settings__avatar-delete {
    position: absolute;
    /* 45° circle point: centre + radius / sqrt(2); translate by half the button size. */
    right: calc(50% - 35.3553390593%);
    bottom: calc(50% - 35.3553390593%);
    transform: translate(50%, 50%);
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 10px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--color-text);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}
.personal-settings__avatar-delete::before { content: ""; position: absolute; inset: 10px; border: 1px solid var(--color-text); border-radius: 50%; background: var(--color-surface); }
.personal-settings__avatar-delete > span { position: relative; }
.personal-settings__avatar-delete:hover { color: #9f1d1d; }
.personal-settings__avatar-delete:hover::before { border-color: #d92d20; background: #fff4f2; }
.personal-settings__avatar-delete:focus-visible { outline: 3px solid var(--button-focus); outline-offset: 0; }
.personal-settings__avatar:disabled,
.personal-settings__avatar-delete:disabled { cursor: wait; }
.personal-settings__account { display: grid; gap: 8px; min-width: 0; margin: 0; }
.personal-settings__account dt { color: var(--color-muted); font-size: .85rem; }
.personal-settings__account dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 720px) {
    .personal-settings__profile-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 801px) {
    .admin-main:has(.admin-personal-settings-page) > .admin-header .admin-page-title {
        font-size: 1.5rem;
    }
}
