html {
    --admin-ink: #1D2823;
    --admin-ink-soft: #34443C;
    --admin-canvas: #F7F3EB;
    --admin-paper: #FFFDF8;
    --admin-saffron: #F7BC37;
    --admin-indigo: #304B94;
    --admin-danger: #B8493E;
    --admin-success: #257557;
    --admin-muted: #69736E;
    --admin-line: #E3DBCF;
    --admin-radius-sm: .5rem;
    --admin-radius-md: .7rem;
    --admin-radius-lg: 1rem;
    --admin-footer-height: 3.25rem;
    --admin-workbench-height: calc(100dvh - 8.25rem);
}

/* Shared authenticated and form-layout chrome. These are global because the
   Radzen layout components render outside Razor CSS-isolation boundaries. */
.admin-form-layout {
    height: calc(100dvh - 3.25rem) !important;
    min-height: calc(100dvh - 3.25rem) !important;
    background: var(--admin-canvas) !important;
}

.admin-form-layout__body {
    min-width: 0;
    padding: 0 !important;
    background: var(--admin-canvas) !important;
}

.admin-shell {
    --admin-nav-width: 15.5rem;
    height: calc(100dvh - var(--admin-footer-height)) !important;
    min-height: calc(100dvh - var(--admin-footer-height)) !important;
    overflow: hidden;
    grid-template-columns: var(--admin-nav-width) minmax(0, 1fr) !important;
    background: var(--admin-canvas) !important;
    color: var(--admin-ink);
    font-size: 14px;
    transition: grid-template-columns .22s ease;
}

.admin-shell--nav-folded { --admin-nav-width: 4.5rem; }

.admin-shell__header {
    min-height: 4rem;
    border-bottom: 1px solid var(--admin-line);
    background: #fff !important;
    box-shadow: 0 4px 18px rgb(29 40 35 / 5%);
    backdrop-filter: blur(12px);
}

.admin-shell__header-inner { width: 100%; min-width: 0; min-height: 4rem; padding: 0 clamp(.75rem, 2vw, 1.5rem) 0 0; }
.admin-shell__brand-zone { width: var(--admin-nav-width); min-height: 4rem; box-sizing: border-box; flex: none; padding: 0 .75rem; overflow: hidden; background: #fff; transition: width .22s ease; }
.admin-shell__sidebar-toggle { border: 0 !important; background: transparent !important; color: var(--admin-saffron) !important; }
.admin-shell__sidebar-toggle .rz-icon { color: inherit !important; transition: transform .22s ease; }
.admin-shell--nav-folded .admin-shell__sidebar-toggle .rz-icon { transform: rotate(180deg); }
.admin-shell__logo { display: block; width: auto; max-width: 9.5rem; height: 2rem; object-fit: contain; object-position: left center; transition: opacity .16s ease; }
.admin-shell--nav-folded .admin-shell__logo { width: 0; opacity: 0; }
.admin-shell__language { min-width: 7.5rem; border-color: transparent !important; background: transparent !important; color: var(--admin-ink) !important; }
.admin-shell__logout { cursor: pointer; padding: .55rem .7rem; border-radius: var(--admin-radius-md); color: #46514b; }
.admin-shell__logout .rz-icon { font-size: 1.2rem; }
.admin-shell__logout .rz-label { margin: 0; font-size: .8rem !important; font-weight: 700; }
.admin-shell__logout:hover { background: #f4eee4; }

.admin-shell__sidebar,
.admin-shell__sidebar.rz-sidebar-expanded {
    position: relative;
    width: var(--admin-nav-width) !important;
    min-width: 0;
    border-right: 1px solid #34443c;
    background: var(--admin-ink) !important;
    color: #fffdf8;
    transition: width .22s ease, transform .22s ease, box-shadow .22s ease;
}

.admin-shell__nav-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 3rem;
    padding: .7rem .75rem .35rem 1rem;
    overflow: hidden;
    color: #b9c1bc;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-shell__nav-heading button {
    display: grid;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    color: #dfe4e1;
    cursor: pointer;
}

.admin-shell__nav-heading button:hover { background: rgb(255 255 255 / 9%); color: #fff; }
.admin-shell__nav-heading button:focus-visible { outline: 2px solid var(--admin-saffron); outline-offset: 2px; }
.admin-shell__nav-heading .material-symbols-outlined { font-size: 1.15rem; }
.admin-shell--nav-folded .admin-shell__nav-heading { visibility: hidden; padding-inline: 0; }

.admin-shell__sidebar .rz-panel-menu { padding: .25rem .5rem 3rem; overflow-x: hidden; background: transparent; }
.admin-shell__sidebar .rz-navigation-item-link { position: relative; margin-bottom: .2rem; border-radius: var(--admin-radius-md); background: transparent !important; color: #f5efe5 !important; }
.admin-shell__sidebar .rz-navigation-item-link:hover { background: rgb(247 188 55 / 12%) !important; color: #fff !important; }
.admin-shell__sidebar .rz-navigation-item-active,
.admin-shell__sidebar .rz-navigation-item-wrapper-active { background: transparent !important; }
.admin-shell__sidebar .rz-navigation-item-active::before,
.admin-shell__sidebar .rz-navigation-item-wrapper-active::before { display: none !important; content: none !important; }
.admin-shell__sidebar .rz-navigation-item-link.rz-state-active,
.admin-shell__sidebar .rz-navigation-item-wrapper-active > .rz-navigation-item-link { background: rgb(247 188 55 / 12%) !important; color: var(--admin-saffron) !important; }
.admin-shell__sidebar .rz-navigation-item-link.rz-state-active::after,
.admin-shell__sidebar .rz-navigation-item-wrapper-active > .rz-navigation-item-link::after {
    content: "";
    position: absolute;
    inset: .55rem auto .55rem -.15rem;
    width: 3px;
    border-radius: 99px;
    background: var(--admin-saffron);
}
.admin-shell__sidebar .rz-navigation-item-icon { color: inherit !important; }
.admin-shell--nav-folded .admin-shell__sidebar .rz-navigation-item-link { justify-content: center; padding-inline: 0 !important; }
.admin-shell--nav-folded .admin-shell__sidebar .rz-navigation-item-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
.admin-shell--nav-folded .admin-shell__sidebar .rz-navigation-item-icon { flex-basis: 24px; width: 24px; font-size: 22px; }
.admin-shell__version {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    min-height: 2.25rem;
    align-items: center;
    padding: .35rem .75rem;
    overflow: hidden;
    border-top: 1px solid rgb(255 255 255 / 8%);
    background: var(--admin-ink);
    color: #dfe4e1;
    font-size: .72rem;
    font-style: italic;
    line-height: 1.2;
    white-space: nowrap;
}
.admin-shell--nav-folded .admin-shell__version { display: none !important; }
.admin-shell__body { min-width: 0; min-height:0; overflow:auto; overflow-x:hidden; padding: .5rem !important; background: var(--admin-canvas) !important; scrollbar-color:transparent transparent; scrollbar-width:none; }
.admin-shell__body::-webkit-scrollbar { width:0; background:transparent; }
.admin-shell__body > * { min-width: 0; max-width: 100%; }
.admin-shell__scrim { display: none; }

.finance-detail-panel,
.settlement-detail-panel,
.permission-member-list,
.permission-detail-panel,
.pingiu-scrollable-body {
    scrollbar-color: transparent transparent;
    scrollbar-width: none;
}

.finance-detail-panel::-webkit-scrollbar,
.settlement-detail-panel::-webkit-scrollbar,
.permission-member-list::-webkit-scrollbar,
.permission-detail-panel::-webkit-scrollbar,
.pingiu-scrollable-body::-webkit-scrollbar { width:0; background:transparent; }

html,
body,
.rz-layout,
.rz-body { scrollbar-color: transparent transparent; }

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.rz-layout::-webkit-scrollbar,
.rz-body::-webkit-scrollbar { width:0; background:transparent; }

html,
body {
    font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif !important;
    --rz-primary: #1D2823 !important;
    --rz-secondary: #F7BC37 !important;
    --rz-secondary-light: #F7BC37 !important;
    --rz-secondary-lighter: #F7BC37 !important;
    --rz-secondary-dark: #F7BC37 !important;
    --rz-secondary-darker: #F7BC37 !important;
    --rz-primary-light: #34443C !important;
    --rz-primary-lighter: #526158 !important;
    --rz-primary-dark: #14201B !important;
    --rz-primary-darker: #0C1511 !important;
    --rz-panel-menu-item-active-background-color: #f1f1f1 !important;
    --rz-panel-menu-item-active-color: #F7BC37 !important;
    min-width: 320px;
    margin: 0;
    background: var(--admin-canvas);
    color: #1D2823 !important;
    --rz-color-black: #1D2823 !important;
    --rz-background-color-black: #1D2823 !important;
    --rz-panel-menu-item-active-color: #1D2823 !important;
    --rz-panel-menu-item-active-background-color: #FCF6EB !important;
    --rz-panel-menu-item-color: #F7BC37 !important;
    font-size: 14px !important;
    line-height: 1.5;
}

.scrollable-content::-webkit-scrollbar {
    display: none;
}


a,
.btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 2px var(--admin-paper), 0 0 0 5px rgb(48 75 148 / 28%);
}

button,
input,
select,
textarea {
    font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif !important;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: none;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.rz-button {
    text-transform: none !important;
    cursor: pointer !important;
    min-height: 2.5rem;
    border-radius: var(--admin-radius-md) !important;
    box-shadow: none !important;
    font-weight: 750;
}

/* Keep numeric steppers distinct from full-size action buttons. */
.rz-numeric .rz-numeric-button {
    inset-inline-end: 0;
    width: 1.75rem;
    height: 50%;
    min-height: 0;
    border: 0;
    border-inline-start: 1px solid #c8bcaa;
    border-radius: 0 !important;
    background: #f1e8da;
    color: #304b94;
    box-shadow: none !important;
}

.rz-numeric .rz-numeric-up {
    inset-block-start: 0;
    border-block-end: 1px solid #c8bcaa;
}

.rz-numeric .rz-numeric-down {
    inset-block-end: 0;
}

.rz-numeric .rz-numeric-button .rzi {
    font-size: 1rem;
    line-height: 1;
}

.rz-numeric:not(.rz-state-disabled) .rz-numeric-button:hover {
    background: #e2d4bf;
    color: #203878;
}

.rz-numeric:not(.rz-state-disabled) .rz-numeric-button:active {
    background: #d4c2a8;
}

.rz-numeric .rz-numeric-button:focus-visible {
    z-index: 2;
    outline: 2px solid #304b94;
    outline-offset: -2px;
}

.rz-numeric input[type="number"],
.rz-numeric input[type="text"] {
    padding-inline-end: 2.25rem;
}

.rz-form-field-content,
.rz-colorpicker,
.rz-lookup-search input,
.rz-numeric,
.rz-datepicker>.rz-inputtext,
.rz-multiselect,
.rz-dropdown,
.mask,
.rz-textarea,
.rz-textbox {
    box-sizing: border-box;
    border: var(--rz-input-border);
    min-height: 2.5rem;
    border-radius: var(--admin-radius-md) !important;
    box-shadow: none !important;
    background-color: var(--rz-input-background-color);
}

.rz-label {
    color: #414C46;
    font-size: .75rem !important;
}

.required {
    color: red;
    font-weight: bold;
    margin-left: 5px;
}

.rz-tabview-nav li {
    border-top-width: 2px;
    border-bottom-color: var(--rz-tabs-tab-background-color);
    border-radius: var(--admin-radius-md) var(--admin-radius-md) 0 0;
    /* font-size: 15rem; */
    padding: 10px;
    width: 10rem !important;
    background-color: #fff !important;
}

.rz-tabview-title {
    font-size: 17px !important
}

.rz-tabview-icon {
    margin-right: 10px !important;
}

.pingiu-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--admin-line) !important;
    border-radius: var(--admin-radius-lg) !important;
    background: var(--admin-paper) !important;
    box-shadow: 0 16px 42px rgb(29 40 35 / 8%);

}

.pingiu-fieldset {
    height: 100%;
    margin: 0;
    padding: 0;
}

.pingiu-header {
    position: sticky;
    top: 0;
    background-color: white;
    z-index: 10;
    padding: 1px;
    border-bottom: 0px solid #ddd;
    margin-bottom: 5px;
}

.input-control {
    border: dashed;
}

.pingiu-scrollable-body {
    height: 99%;
    overflow-y: auto;
    padding: 1px;
}

.pingiu-header-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.pingiu-header-left {
    flex: 1;
    min-width: 100px;
}

.pingiu-header-right {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex: 1;
    min-width: 200px;
}

.button-group {
    margin-left: 2px;
    margin-right: 2px;
}

.details-table-container {
    padding: 1rem;
    background-color: #fafafa;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    max-width: 800px;
    margin: auto;
}

.details-table {
    width: 100%;
    border-collapse: collapse;
}

.details-table th {
    text-align: left;
    padding: 8px 12px;
    background-color: #f0f0f0;
    width: 30%;
    vertical-align: top;
}

.details-table td {
    padding: 8px 12px;
    background-color: #ffffff;
}

.rz-multiselect-trigger .rzi,
.rz-dropdown-trigger .rzi {
    width: var(--rz-dropdown-trigger-icon-width);
    height: var(--rz-dropdown-trigger-icon-height);
    font-size: var(--rz-dropdown-trigger-icon-height);
    margin-block: var(--rz-dropdown-trigger-icon-margin-block);
    margin-inline: var(--rz-dropdown-trigger-icon-margin-inline);
    color: var(--admin-muted) !important;
}

.rz-multiselect,
.rz-dropdown {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    text-align: start;
}

.rz-card {
    box-sizing: border-box;
    padding: var(--rz-card-padding);
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius-lg);
    background-color: var(--admin-paper) !important;
    box-shadow: none;
}

.pingiu-header-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 5px;
}

.left-section {
    display: flex;
    align-items: center;
    gap: 5px;
}

.right-section {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: flex-end;
}

.rz-fieldset-legend {
    float: none;
    margin-block: var(--rz-fieldset-legend-margin-block);
    margin-inline: var(--rz-fieldset-legend-margin-inline);
    padding-block: var(--rz-fieldset-legend-padding-block);
    padding-inline: var(--rz-fieldset-legend-padding-inline);
    width: auto;
    color: var(--admin-ink);
    font-size: .82rem !important;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: none;
}

.rz-label {
    font-weight: 600;
    margin-bottom: 0.25rem;
    display: inline-block;
}

custom-btn {
    border-radius: 5px !important;
}

.rz-data-grid {
    max-width: 100%;
    overflow: hidden;
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius-lg);
    background: var(--admin-paper);
    box-shadow: none;
}

.rz-data-grid-data {
    scrollbar-color: var(--admin-paper) var(--admin-paper);
    scrollbar-width: thin;
}

.rz-data-grid-data::-webkit-scrollbar { width:0; height:8px; background:var(--admin-paper); }
.rz-data-grid-data::-webkit-scrollbar-thumb { border:2px solid var(--admin-paper);border-radius:999px;background:var(--admin-line);background-clip:padding-box; }

.rz-grid-table thead th {
    background: #F4EEE4;
    color: #455149;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.rz-grid-table tbody td { border-color: #EEE7DC; }
.rz-selectable tbody tr.rz-data-row:hover:not(.rz-state-highlight) > td { background: #FFF7E6; }

.rz-selectable tbody tr.rz-data-row:hover:not(.rz-state-highlight) .rz-cell-data {
    color: var(--admin-ink) !important;
}

.rz-pager-element,
.rz-button-md {
    padding: 0.5rem 1rem;
    height: auto;
    line-height: 1.25rem;
    min-height: 2.25rem;
    min-width: 2.25rem;
    font-size: var(--rz-body-font-size);
    font-weight: 600;
    border-radius: 5px !important;
}


@keyframes fadeInOut {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.fade-loader {
    animation: fadeInOut 2s infinite;
}

@media (max-width: 1100px) {
    .admin-shell__header-inner { padding-right: .75rem; }
    .admin-shell__body { padding: .4rem !important; }
    .admin-shell__body .rz-card,
    .admin-shell__body .rz-fieldset,
    .admin-shell__body .rz-data-grid { min-width: 0; max-width: 100%; }
    .admin-shell__body .rz-data-grid { overflow-x: auto; }
    .rz-dialog { max-width: calc(100vw - 2rem); }
}

@media (max-width: 720px) {
    .admin-shell {
        --admin-nav-width: min(18rem, 86vw);
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-shell__header-inner { padding: 0 .5rem 0 0; }
    .admin-shell__brand-zone { width: auto; min-width: 8.5rem; padding-inline: .5rem; }
    .admin-shell--nav-folded .admin-shell__logo { width: auto; max-width: 7.25rem; height: 1.7rem; opacity: 1; }
    .admin-shell--nav-folded .admin-shell__sidebar-toggle .rz-icon { transform: none; }
    .admin-shell__language { min-width: 2.75rem; }
    .admin-shell__language .rz-button-text { display: none; }
    .admin-shell__logout { padding-inline: .55rem; }
    .admin-shell__logout .rz-label { display: none; }

    .admin-shell .admin-shell__sidebar.rz-sidebar-expanded {
        position: fixed !important;
        z-index: 100;
        top: 4rem;
        bottom: var(--admin-footer-height);
        left: 0;
        width: min(18rem, 86vw) !important;
        box-shadow: 14px 0 35px rgb(29 40 35 / 22%);
        transform: translateX(0);
    }

    .admin-shell--nav-folded .admin-shell__sidebar.rz-sidebar-expanded {
        pointer-events: none;
        transform: translateX(-105%);
        box-shadow: none;
    }

    .admin-shell--nav-folded .admin-shell__sidebar .rz-navigation-item-text {
        position: static;
        width: auto;
        height: auto;
        overflow: visible;
        clip: auto;
    }
    .admin-shell--nav-folded .admin-shell__sidebar .rz-navigation-item-link { justify-content: flex-start; padding-inline: .8rem !important; }
    .admin-shell--nav-folded .admin-shell__nav-heading { visibility: visible; padding: .7rem .75rem .35rem 1rem; }
    .admin-shell__scrim {
        display: block;
        position: fixed;
        z-index: 99;
        inset: 4rem 0 var(--admin-footer-height);
        width: 100%;
        border: 0;
        background: rgb(20 29 25 / 44%);
        cursor: pointer;
        backdrop-filter: blur(2px);
    }

    .admin-shell__body {
        grid-column: 1;
        width: 100%;
        padding: .75rem !important;
        overscroll-behavior-x: none;
    }

    .rz-dialog {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem) !important;
        max-height: calc(100dvh - 1rem);
    }

    .rz-dialog-content { max-height: calc(100dvh - 8rem); overflow: auto; }

    .pingiu-header-flex,
    .pingiu-header-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .left-section,
    .right-section,
    .pingiu-header-left,
    .pingiu-header-right {
        width: 100%;
        min-width: 0;
    }

    .left-section {
        align-items: stretch;
        flex-direction: column;
    }

    .left-section > *,
    .right-section > * { max-width: 100% !important; }

    .rz-data-grid {
        max-width: 100%;
        overflow-x: auto;
    }

    .details-table-container {
        max-width: 100%;
        padding: .75rem;
        overflow-x: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Page controls stay below navigation; dialogs retain Radzen's higher layer. */
.admin-shell .admin-shell__header { z-index: 101; }

@media (max-width: 720px) {
    .admin-shell__body { box-sizing: border-box; }
    .admin-shell__body :is(.pingiu-header-flex, .pingiu-header-bar) {
        box-sizing: border-box;
        width: 100%;
        gap: .75rem;
    }
    .admin-shell__body :is(.left-section, .right-section) {
        gap: .5rem;
        flex-wrap: wrap;
    }
    .admin-shell__body .rz-button,
    .rz-dialog .rz-button { min-height: 44px; height: auto; }
    .admin-shell__body .rz-button-text,
    .rz-dialog .rz-button-text { white-space: normal; overflow-wrap: anywhere; }
    .admin-shell__body form .rz-row > [class*="rz-col"],
    .rz-dialog form .rz-row > [class*="rz-col"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
    .admin-shell__body form :is(.rz-textbox, .rz-textarea, .rz-dropdown, .rz-datepicker, .rz-numeric),
    .rz-dialog form :is(.rz-textbox, .rz-textarea, .rz-dropdown, .rz-datepicker, .rz-numeric) {
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    /* Outrank the theme, which is loaded after app.css. */
    body .rz-dialog { box-sizing: border-box; max-height: calc(100dvh - 1rem); }
    body .rz-dialog-titlebar { min-width: 0; padding: .75rem; }
    body .rz-dialog-title { white-space: normal; overflow-wrap: anywhere; }
    body .rz-dialog-content { min-width: 0; padding: .75rem; overflow: auto; }
}

/* Shared detail host preserves the desktop grid and the page's scoped styles. */
.admin-detail-modal, .admin-detail-modal__panel { display: contents; }
.admin-detail-modal__bar { display: none; }
@media (max-width: 720px) {
    .admin-detail-modal { display: none; }
    .admin-detail-modal[data-open] { display: flex; position: fixed; inset: 0; z-index: 800; padding: .75rem; background: rgb(20 29 25 / 55%); box-sizing: border-box; }
    .admin-detail-modal[data-open] > .admin-detail-modal__panel { display: block; width: 100%; min-width: 0; max-height: 100%; overflow: auto; overscroll-behavior: contain; background: var(--admin-paper); border-radius: .75rem; box-shadow: 0 12px 40px #0004; }
    .admin-detail-modal__bar { display: flex; position: sticky; top: 0; z-index: 20; align-items: center; justify-content: space-between; gap: .5rem; padding: .75rem; border-bottom: 1px solid var(--admin-line); background: var(--admin-paper); }
    .admin-detail-modal__bar button { min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--admin-line); border-radius: .5rem; background: white; color: var(--admin-ink); }
    .admin-detail-modal__bar strong { min-width: 0; overflow-wrap: anywhere; }
    .admin-detail-modal__panel > :is(section, aside, main, div:not(.admin-detail-modal__bar)),
    .admin-detail-modal .detail-scroll, .admin-detail-modal .editor-scroll { height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important; }
    .admin-detail-modal :is(.dossier-header, .editor-header, .content-header, .permission-section-header) { position: static !important; }
    .admin-shell__body > :is(.booking-desk, .finance-page, .permission-page, .redemption-page, .configuration-page) { padding-top: 1rem; }
    .admin-shell__body :is(.booking-filter, .finance-search-form, .permission-search-fields, .redemption-toolbar, .configuration-toolbar, .filter-stack, .network-search) { box-sizing: border-box; padding-inline: 1rem; }
}
.admin-detail-modal--mobile-only { display: none; }
@media (min-width: 721px) { .redemption-list--detail-open { display: none; } }
@media (max-width: 720px) { .redemption-list--detail-open { display: block; } }

@media (max-width: 720px) {
    .admin-shell__body :is(.redemption-toolbar, .configuration-toolbar) { padding-inline: 0; }
    .admin-shell__body :is(.redemption-register, .configuration-fieldset) > .rz-fieldset-content { padding: 1rem; }
}
