:root {
    --zuv-sand: #f8f4ec;
    --zuv-card: #ffffff;
    --zuv-ink: #2e261e;
    --zuv-muted: #6b5b4a;
    --zuv-blue: #1878a8;
    --zuv-blue-dark: #12658f;
    --zuv-blue-soft: #e5f4fa;
    --zuv-sky: #49baeb;
    --zuv-warm: #7a5b35;
    --zuv-warm-soft: #fbf0de;
    --zuv-green: #247b62;
    --zuv-green-soft: #e7f2eb;
    --zuv-red: #a64735;
    --zuv-red-soft: #fff0ed;
    --zuv-line: #e7ddd0;
    --zuv-line-strong: #d7c8b7;
    --zuv-sidebar: #211a13;
    --zuv-focus: 0 0 0 4px rgba(24, 120, 168, 0.24);
    --zuv-shadow: 0 22px 70px rgba(46, 38, 30, 0.12);
    --zuv-shadow-soft: 0 12px 34px rgba(46, 38, 30, 0.08);
    --zuv-radius-sm: 14px;
    --zuv-radius-md: 22px;
    --zuv-radius-lg: 30px;
    --admin-sidebar-width: 286px;
    --admin-topbar-height: 80px;
    --admin-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* R453: privacy-preserving daily page-view statistics. */
.page-view-heading{align-items:end}
.page-view-filter{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) auto;align-items:end;gap:14px}
.page-view-filter .field{margin:0}
.page-view-summary{grid-template-columns:repeat(6,minmax(0,1fr))}
.page-view-chart-panel,.page-view-table-panel{margin-top:22px}
.page-view-legend{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 14px}
.page-view-legend span{display:inline-flex;align-items:center;gap:8px;color:var(--zuv-muted);font-size:.8rem;font-weight:850}
.page-view-legend svg{width:28px;height:10px;flex:0 0 auto}
.page-view-chart-scroll{overflow-x:auto;padding:8px 0 2px}
.page-view-chart{display:block;width:100%;min-width:680px;height:auto}
.page-view-axis{stroke:var(--zuv-line);stroke-width:1.5}
.page-view-axis-label{fill:var(--zuv-muted);font-size:13px;font-weight:750}
.page-view-table{min-width:880px}
.page-view-table th:not(:first-child),.page-view-table td:not(:first-child){text-align:right}
.page-view-table th:nth-child(2),.page-view-table td:nth-child(2){text-align:left}
@media(max-width:1100px){.page-view-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.page-view-filter,.page-view-summary{grid-template-columns:1fr}.page-view-chart-panel,.page-view-table-panel{margin-top:16px}.page-view-chart{min-width:620px}}

/* Volunteer operations workspace */
.volunteer-admin-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:42px;align-items:center}.volunteer-admin-head h1{margin:10px 0;font-size:clamp(36px,4vw,58px);line-height:1}.vol-admin-gate{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:20px;border-radius:20px;background:#eef7f8}.vol-admin-gate strong{grid-column:1/-1}.vol-admin-gate span{padding:9px 11px;border-radius:10px;background:#fff;font-size:12px;font-weight:800}.vol-admin-tabs{display:flex;gap:8px;margin:20px 0;overflow-x:auto;padding:4px 1px 10px}.vol-admin-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:9px 14px;border:1px solid #dfd2c4;border-radius:999px;background:#fff;color:#342a22;font-weight:750;white-space:nowrap}.vol-admin-tabs a.is-active{border-color:#0f82b1;background:#0f82b1;color:#fff}.vol-admin-stack{display:grid;gap:12px}.vol-admin-record{border:1px solid #ded1c2;border-radius:16px;background:#fff;overflow:hidden}.vol-admin-record>summary{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;cursor:pointer}.vol-admin-record>summary span{color:#75675b}.vol-admin-record>form,.vol-admin-record>.admin-callout{margin:0 20px 20px}.vol-admin-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}.vol-admin-grid>label,.admin-form>label{display:grid;gap:7px;font-weight:750}.vol-admin-grid .span-2{grid-column:1/-1}.vol-admin-grid input,.vol-admin-grid select,.vol-admin-grid textarea,.admin-inline-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d7c8b7;border-radius:10px;background:#fff;font:inherit}.vol-admin-grid textarea{min-height:105px}.vol-gates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;padding:17px;border:1px solid #ddcfbf;border-radius:14px}.vol-gates legend{padding:0 7px;font-weight:850}.check-row{display:flex!important;align-items:center!important;gap:9px!important;font-weight:700!important}.check-row input{width:19px!important;min-height:19px!important}.vol-area-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vol-area-admin-grid details{border:1px solid #ded1c1;border-radius:15px;padding:0 18px}.vol-area-admin-grid summary{display:flex;justify-content:space-between;gap:20px;padding:17px 0;cursor:pointer}.vol-area-admin-grid ul{padding:0;list-style:none}.vol-area-admin-grid li{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-top:1px solid #ece2d7}.vol-area-admin-grid small{color:#75675b;text-align:right}.admin-callout{padding:16px 18px;border-left:4px solid #1590bc;border-radius:10px;background:#eef7fa;line-height:1.6}.admin-inline-form{display:flex;align-items:end;gap:12px;padding-top:15px;border-top:1px solid #e5dacd}.admin-inline-form label{display:grid;gap:6px;flex:1}.admin-check-list{display:grid;gap:10px}.table-wrap select{min-width:160px}.table-wrap form{display:flex;gap:7px;align-items:center}
@media(max-width:1050px){.volunteer-admin-head{grid-template-columns:1fr}.vol-admin-grid,.vol-area-admin-grid{grid-template-columns:1fr}.vol-admin-grid .span-2{grid-column:auto}.vol-gates{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.volunteer-admin-head{gap:22px}.vol-admin-gate,.vol-gates{grid-template-columns:1fr}.vol-admin-gate strong{grid-column:auto}.vol-admin-record>summary{display:grid}.admin-inline-form{align-items:stretch;flex-direction:column}.vol-admin-tabs{margin-inline:-16px;padding-inline:16px}}

/* Production retreat programme management */
.retreat-section-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;padding:14px 18px;position:sticky;top:74px;z-index:8}.retreat-section-nav a{padding:9px 13px;border-radius:999px;background:var(--zuv-blue-soft);color:var(--zuv-blue);font-weight:800;text-decoration:none}.plain-fieldset{border:0;padding:0;margin:0;min-width:0}.plain-fieldset:disabled{opacity:.72}.retreat-program-grid{align-items:stretch}.retreat-program-card{display:block}.retreat-program-card>div{width:100%}.retreat-program-card h2{margin:16px 0 8px}.retreat-program-card .detail-grid{margin:18px 0}.login-security-code{border:1px solid var(--zuv-line);border-radius:16px;padding:13px 15px}.login-security-code summary{cursor:pointer;color:var(--zuv-blue);font-weight:800}.login-security-code[open] summary{margin-bottom:13px}.login-security-code .field{margin:0}.form-panel[id]{scroll-margin-top:105px}.form-panel+.form-panel{margin-top:22px}.data-table .table-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.data-table .table-actions form{margin:0}.activity-row p{margin:8px 0 0;white-space:pre-wrap;line-height:1.55}.danger-panel{margin-top:22px}.legacy-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:14px}.legacy-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid var(--zuv-line)}
.honeypot-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:720px){.retreat-section-nav{position:static;overflow-x:auto;flex-wrap:nowrap}.retreat-section-nav a{white-space:nowrap}.retreat-program-grid{grid-template-columns:1fr}.data-table .table-actions{justify-content:flex-start}.data-table .table-actions .button{width:auto}.form-panel{padding:20px 16px}.detail-grid{grid-template-columns:1fr 1fr}}

/* Admin foundations R5: predictable insets for operational panels. */
.form-card {
    padding: clamp(22px, 3vw, 30px);
}

.form-card > form,
.form-layout > aside {
    display: grid;
    gap: 18px;
}

.panel-subsection {
    min-width: 0;
    padding: clamp(18px, 2.5vw, 24px);
    border: 1px solid var(--zuv-line);
    border-radius: 16px;
    background: var(--zuv-sand);
}

.panel-table > .panel-heading:first-child {
    margin: 0;
    padding: clamp(20px, 2.5vw, 28px);
    border-bottom: 1px solid var(--zuv-line);
}

.panel-table > .panel-heading + p {
    margin: 0;
    padding: 18px clamp(20px, 2.5vw, 28px);
}

.form-panel > .panel-heading:first-child {
    margin-bottom: 22px;
}

.form-panel > .form-grid {
    align-items: start;
}

@media(max-width:720px) {
    .panel-table > .panel-heading:first-child {
        display: grid;
    }
}

.communication-message + .communication-message {
    margin-top: 16px;
}

.communication-message p {
    line-height: 1.65;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    color: var(--zuv-ink);
    background: var(--zuv-sand);
    font-family: var(--admin-font);
    font-size: 16px;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
}

body.sidebar-visible {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
select {
    cursor: pointer;
}

img,
svg {
    display: block;
    max-width: 100%;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    line-height: 1.12;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

h1 {
    margin-bottom: 12px;
    font-size: clamp(2rem, 3.2vw, 3.2rem);
}

h2 {
    margin-bottom: 10px;
    font-size: clamp(1.35rem, 2vw, 1.85rem);
}

h3 {
    margin-bottom: 8px;
    font-size: 1rem;
}

p {
    margin-bottom: 14px;
    color: var(--zuv-muted);
    text-wrap: pretty;
}

code,
pre {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

code {
    overflow-wrap: anywhere;
}

:focus-visible {
    outline: 0;
    box-shadow: var(--zuv-focus);
}

.skip-link {
    position: fixed;
    z-index: 2000;
    top: 10px;
    left: 12px;
    padding: 10px 16px;
    border-radius: 999px;
    color: #fff;
    background: var(--zuv-blue);
    transform: translateY(-160%);
}

.skip-link:focus {
    transform: translateY(0);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.muted {
    color: var(--zuv-muted);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--zuv-blue);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.095em;
    text-transform: uppercase;
}

.eyebrow::before {
    width: 28px;
    height: 2px;
    border-radius: 99px;
    background: currentColor;
    content: "";
}

.tag,
.badge,
.status-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.3;
}

.tag {
    padding: 7px 11px;
    color: var(--zuv-blue);
    background: var(--zuv-blue-soft);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tag-warm {
    color: var(--zuv-warm);
    background: var(--zuv-warm-soft);
}

.badge {
    padding: 5px 9px;
    border: 1px solid var(--zuv-line);
    color: var(--zuv-muted);
    background: #fff;
}

.badge-blue,
.badge-success {
    border-color: rgba(24, 120, 168, 0.2);
    color: var(--zuv-blue);
    background: var(--zuv-blue-soft);
}

.badge-failed {
    border-color: rgba(166, 71, 53, 0.2);
    color: var(--zuv-red);
    background: var(--zuv-red-soft);
}

.badge-denied {
    border-color: rgba(122, 91, 53, 0.22);
    color: var(--zuv-warm);
    background: var(--zuv-warm-soft);
}

.button,
.icon-button,
.password-toggle {
    border: 1px solid transparent;
    font-weight: 800;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 17px;
    border-radius: 999px;
    white-space: nowrap;
}

.button:hover:not(:disabled):not(.is-disabled) {
    transform: translateY(-1px);
}

.button:disabled,
.button.is-disabled {
    cursor: not-allowed;
    opacity: 0.5;
    transform: none;
}

.button-primary {
    color: #fff;
    background: var(--zuv-blue);
    box-shadow: 0 12px 28px rgba(24, 120, 168, 0.22);
}

.button-primary:hover:not(:disabled) {
    color: #fff;
    background: var(--zuv-blue-dark);
    box-shadow: 0 16px 34px rgba(24, 120, 168, 0.28);
}

.button-secondary {
    border-color: var(--zuv-line);
    color: var(--zuv-blue);
    background: #fff;
}

.button-secondary:hover {
    border-color: rgba(24, 120, 168, 0.3);
    background: var(--zuv-blue-soft);
}

.button-quiet {
    border-color: var(--zuv-line);
    color: var(--zuv-ink);
    background: rgba(255, 255, 255, 0.72);
}

.button-quiet:hover {
    border-color: var(--zuv-line-strong);
    background: #fff;
}

.button-danger {
    color: #fff;
    background: var(--zuv-red);
    box-shadow: 0 10px 24px rgba(166, 71, 53, 0.18);
}

.button-danger:hover {
    color: #fff;
    background: #8d382a;
}

.button-small {
    min-height: 46px;
    padding: 8px 13px;
    font-size: 0.88rem;
}

.button-wide {
    width: 100%;
}

.icon-button {
    display: inline-grid;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    border-color: var(--zuv-line);
    border-radius: 13px;
    color: var(--zuv-ink);
    background: #fff;
    font-size: 1.2rem;
}

.icon-button:hover {
    border-color: rgba(24, 120, 168, 0.28);
    color: var(--zuv-blue);
}

.alert {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid;
    border-radius: var(--zuv-radius-sm);
    font-size: 0.93rem;
}

.alert ul {
    margin: 8px 0 0;
    padding-left: 20px;
}

.alert-success {
    border-color: rgba(36, 123, 98, 0.22);
    color: var(--zuv-green);
    background: var(--zuv-green-soft);
}

.alert-info {
    border-color: rgba(24, 120, 168, 0.2);
    color: var(--zuv-blue-dark);
    background: var(--zuv-blue-soft);
}

.alert-error {
    border-color: rgba(166, 71, 53, 0.24);
    color: #8d382a;
    background: var(--zuv-red-soft);
}

.alert-warning {
    border-color: rgba(173, 116, 24, 0.28);
    color: #75500f;
    background: #fff5dc;
}

.retreat-program-actions {
    display: grid;
    margin-bottom: 22px;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 12px;
}

.retreat-program-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    padding: 15px 16px;
    gap: 14px;
    border: 1px solid var(--zuv-line);
    border-radius: 16px;
    background: #fff;
}

.retreat-program-action div { display: grid; min-width: 0; gap: 3px; }
.retreat-program-action strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.retreat-program-action small { color: var(--zuv-muted); }
.retreat-workflow-grid { display: grid; margin-bottom: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.retreat-workflow-grid .panel { margin: 0; }
.retreat-payment-card { border-top: 4px solid var(--zuv-blue); }
.retreat-confirmation-card { border-top: 4px solid var(--zuv-green); }
.readonly-status { display: flex; align-items: center; min-height: 48px; }
.status-paid, .status-waived, .status-mail-sent { color: var(--zuv-green); background: var(--zuv-green-soft); }
.status-pending, .status-mail-queued, .status-mail-sending { color: #75500f; background: #fff5dc; }
.status-unpaid, .status-refunded, .status-mail-failed { color: #8d382a; background: var(--zuv-red-soft); }
.mail-template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.mail-template-grid .panel { margin: 0; }
.template-token-list { display: flex; flex-wrap: wrap; gap: 8px; }
.template-token-list code { padding: 7px 10px; border: 1px solid rgba(24,120,168,.18); border-radius: 999px; color: var(--zuv-blue-dark); background: var(--zuv-blue-soft); }
.mail-preview { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--zuv-line); }
.mail-preview summary { cursor: pointer; }
.mail-preview article { margin-top: 14px; padding: 20px; border: 1px solid var(--zuv-line); border-radius: 16px; background: #fafcfd; }
.mail-preview h3 { margin-top: 0; }
.mail-preview .message-preview { margin-bottom: 18px; white-space: normal; }

@media (max-width: 900px) {
    .retreat-workflow-grid, .mail-template-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .retreat-program-action { align-items: stretch; flex-direction: column; }
    .retreat-program-action .button { width: 100%; }
    .retreat-participant-heading .button-row { width: 100%; }
    .retreat-participant-heading .button { width: 100%; }
}

.admin-layout {
    min-height: 100vh;
}

.admin-sidebar {
    position: fixed;
    z-index: 1000;
    inset: 0 auto 0 0;
    display: flex;
    width: var(--admin-sidebar-width);
    padding: 22px 18px;
    flex-direction: column;
    overflow-y: auto;
    color: #fff;
    background:
        radial-gradient(circle at 16% 4%, rgba(73, 186, 235, 0.18), transparent 23%),
        linear-gradient(165deg, #2d241b 0%, var(--zuv-sidebar) 68%);
}

.sidebar-brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.admin-brand {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 12px;
}

.admin-brand img {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
}

.admin-brand > span {
    display: grid;
    min-width: 0;
    line-height: 1.12;
}

.admin-brand strong {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 900;
    letter-spacing: -0.03em;
}

.admin-brand small {
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.environment-pill {
    display: flex;
    align-items: center;
    margin: 24px 0 20px;
    padding: 10px 12px;
    gap: 9px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.055);
    font-size: 0.77rem;
    font-weight: 750;
}

.environment-pill span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #66d5aa;
    box-shadow: 0 0 0 5px rgba(102, 213, 170, 0.1);
}

.sidebar-nav {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.nav-group {
    overflow: clip;
    border: 1px solid rgba(255, 255, 255, 0.075);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.025);
}

.nav-group[open] {
    border-color: rgba(255, 255, 255, 0.11);
    background: rgba(255, 255, 255, 0.04);
}

.nav-group.is-current {
    border-color: rgba(73, 186, 235, 0.22);
    background: rgba(24, 120, 168, 0.12);
}

.nav-group > summary {
    display: grid;
    min-height: 48px;
    padding: 9px 10px;
    grid-template-columns: 28px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, 0.78);
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 820;
    list-style: none;
}

.nav-group > summary::-webkit-details-marker {
    display: none;
}

.nav-group > summary:hover,
.nav-group > summary:focus-visible,
.nav-group.is-current > summary {
    color: #fff;
    background: rgba(255, 255, 255, 0.055);
}

.nav-group > summary:focus-visible {
    outline: 2px solid var(--zuv-sky);
    outline-offset: -2px;
}

.nav-group-icon {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.9rem;
}

.nav-group.is-current .nav-group-icon {
    background: rgba(73, 186, 235, 0.2);
}

.nav-group-chevron {
    color: rgba(255, 255, 255, 0.42);
    font-size: 1rem;
    text-align: center;
    transform: rotate(-90deg);
    transition: transform 160ms ease;
}

.nav-group[open] .nav-group-chevron {
    transform: rotate(0deg);
}

.nav-group-items {
    display: grid;
    padding: 2px 6px 7px 12px;
    gap: 2px;
}

.nav-label {
    margin: 18px 10px 4px;
    color: rgba(255, 255, 255, 0.44);
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sidebar-nav a {
    display: flex;
    align-items: center;
    min-height: 47px;
    padding: 9px 11px;
    gap: 11px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.92rem;
    font-weight: 750;
}

.nav-group-items > a,
.nav-future {
    min-height: 41px;
    padding: 7px 9px;
    gap: 9px;
    border-radius: 11px;
    font-size: 0.86rem;
}

.nav-group-items .nav-icon {
    width: 25px;
    height: 25px;
    border-radius: 8px;
    font-size: 0.9rem;
}

.nav-future {
    display: flex;
    align-items: center;
    border: 1px solid transparent;
    color: rgba(255, 255, 255, 0.42);
    cursor: default;
    font-weight: 720;
}

.nav-future .nav-icon {
    color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.045);
}

.nav-future small {
    margin-left: auto;
    padding: 2px 6px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.44);
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.sidebar-nav a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.07);
}

.sidebar-nav a.is-active {
    border-color: rgba(73, 186, 235, 0.18);
    color: #fff;
    background: rgba(24, 120, 168, 0.35);
    box-shadow: inset 3px 0 0 var(--zuv-sky);
}

.nav-icon {
    display: inline-grid;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    font-size: 1.05rem;
}

.sidebar-footer {
    display: grid;
    margin-top: auto;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.05);
}

.sidebar-footer p {
    margin: 0 0 5px;
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.72rem;
}

.sidebar-footer strong {
    overflow: hidden;
    color: #fff;
    font-size: 0.9rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-footer span {
    overflow: hidden;
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-close,
.sidebar-open,
.admin-backdrop {
    display: none;
}

.admin-workspace {
    min-height: 100vh;
    margin-left: var(--admin-sidebar-width);
}

.admin-topbar {
    position: sticky;
    z-index: 800;
    top: 0;
    display: flex;
    min-height: var(--admin-topbar-height);
    padding: 14px clamp(20px, 3vw, 42px);
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid rgba(231, 221, 208, 0.82);
    background: rgba(248, 244, 236, 0.88);
    backdrop-filter: blur(18px);
}

.topbar-title {
    display: grid;
    margin-right: auto;
    line-height: 1.2;
}

.topbar-title span {
    color: var(--zuv-muted);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.topbar-title strong {
    margin-top: 3px;
    color: var(--zuv-ink);
    font-size: 1.05rem;
}

.admin-content {
    width: min(100%, 1540px);
    margin: 0 auto;
    padding: clamp(24px, 3vw, 44px);
}

.welcome-panel {
    position: relative;
    display: grid;
    min-height: 250px;
    padding: clamp(26px, 4vw, 48px);
    grid-template-columns: 1fr 150px;
    align-items: center;
    gap: 30px;
    overflow: hidden;
    border: 1px solid var(--zuv-line);
    border-radius: var(--zuv-radius-lg);
    background:
        radial-gradient(circle at 86% 20%, rgba(73, 186, 235, 0.28), transparent 24%),
        linear-gradient(135deg, #fff 0%, var(--zuv-sand) 62%, var(--zuv-blue-soft) 130%);
    box-shadow: var(--zuv-shadow-soft);
}

.welcome-panel > div {
    position: relative;
    z-index: 1;
    max-width: 820px;
}

.welcome-panel h1 {
    margin-top: 14px;
    max-width: 17ch;
}

.welcome-panel p {
    max-width: 66ch;
    margin-bottom: 0;
    font-size: 1.05rem;
}

.welcome-panel img {
    width: 136px;
    opacity: 0.9;
    filter: drop-shadow(0 22px 26px rgba(24, 120, 168, 0.16));
}

.stat-grid {
    display: grid;
    margin: 20px 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.stat-card {
    display: grid;
    min-height: 162px;
    padding: 22px;
    align-content: space-between;
    border: 1px solid var(--zuv-line);
    border-radius: var(--zuv-radius-md);
    background: #fff;
    box-shadow: var(--zuv-shadow-soft);
}

.stat-card-blue {
    background: linear-gradient(145deg, #fff, var(--zuv-blue-soft));
}

.stat-card-warm {
    background: linear-gradient(145deg, #fff, var(--zuv-warm-soft));
}

.stat-card > span {
    color: var(--zuv-muted);
    font-size: 0.85rem;
    font-weight: 800;
}

.stat-card > strong {
    margin: 8px 0;
    color: var(--zuv-blue);
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    line-height: 1;
}

.stat-card > strong.status-word {
    color: var(--zuv-warm);
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
}

.stat-card a {
    width: fit-content;
    color: var(--zuv-blue);
    font-size: 0.86rem;
    font-weight: 850;
}

.stat-card p {
    margin: 0;
    font-size: 0.83rem;
}

.panel {
    border: 1px solid var(--zuv-line);
    border-radius: var(--zuv-radius-md);
    background: var(--zuv-card);
    box-shadow: var(--zuv-shadow-soft);
}

/*
 * Admin foundations: older operational modules share the generic `card`,
 * `metric-*` and unclassed table markup. Keep these building blocks here so
 * every module gets the same spacing instead of relying on page-only CSS.
 */
.card {
    min-width: 0;
    margin-top: 20px;
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid var(--zuv-line);
    border-radius: var(--zuv-radius-md);
    background: var(--zuv-card);
    box-shadow: var(--zuv-shadow-soft);
}

.page-heading + .card,
.card:first-child {
    margin-top: 0;
}

.card > :last-child,
.card > form:last-child > :last-child {
    margin-bottom: 0;
}

.section-heading,
.card-header {
    display: flex;
    margin-bottom: 22px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.section-heading > div,
.card-header > div {
    min-width: 0;
}

.section-heading h2,
.card-header h2 {
    margin: 8px 0 0;
}

.section-heading p,
.card-header p {
    max-width: 68ch;
    margin-bottom: 0;
}

.button-row,
.form-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.form-actions {
    justify-content: flex-end;
}

.filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    align-items: end;
    gap: 14px;
}

.metric-grid {
    display: grid;
    margin-bottom: 20px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 16px;
}

.metric-card {
    display: grid;
    min-width: 0;
    padding: 20px;
    gap: 6px;
    border: 1px solid var(--zuv-line);
    border-radius: 18px;
    background: var(--zuv-card);
    box-shadow: var(--zuv-shadow-soft);
}

.metric-card span {
    color: var(--zuv-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.metric-card strong {
    color: var(--zuv-blue-dark);
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.15;
}

.module-grid {
    display: grid;
    margin: 20px 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.module-card {
    display: grid;
    padding: clamp(22px, 3vw, 32px);
    grid-template-columns: 58px 1fr;
    gap: 20px;
}

.module-card-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 18px;
    color: var(--zuv-blue);
    background: var(--zuv-blue-soft);
    font-size: 1.7rem;
    font-weight: 800;
}

.module-card-icon-warm {
    color: var(--zuv-warm);
    background: var(--zuv-warm-soft);
}

.module-card h2 {
    margin-top: 12px;
}

.module-card p {
    max-width: 55ch;
}

.recent-panel {
    padding: clamp(22px, 3vw, 32px);
}

.panel-heading,
.page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.panel-heading {
    margin-bottom: 22px;
}

.panel-heading.compact {
    margin-bottom: 14px;
}

.panel-heading h2,
.page-heading h1 {
    margin-top: 10px;
}

.page-heading {
    margin-bottom: 24px;
}

.page-heading > div:first-child {
    max-width: 800px;
}

.page-heading p {
    margin-bottom: 0;
}

.text-link {
    color: var(--zuv-blue);
    font-size: 0.9rem;
    font-weight: 850;
    white-space: nowrap;
}

.activity-list {
    display: grid;
}

.activity-row {
    display: grid;
    padding: 15px 0;
    grid-template-columns: 12px 1fr auto;
    align-items: center;
    gap: 13px;
    border-top: 1px solid var(--zuv-line);
}

.activity-row:first-child {
    border-top: 0;
}

.activity-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--zuv-blue);
    box-shadow: 0 0 0 5px var(--zuv-blue-soft);
}

.activity-dot-failed {
    background: var(--zuv-red);
    box-shadow: 0 0 0 5px var(--zuv-red-soft);
}

.activity-dot-denied {
    background: var(--zuv-warm);
    box-shadow: 0 0 0 5px var(--zuv-warm-soft);
}

.activity-row > div {
    display: grid;
}

.activity-row > div span,
.activity-row time {
    color: var(--zuv-muted);
    font-size: 0.8rem;
}

.filter-bar {
    display: grid;
    padding: 20px;
    grid-template-columns: minmax(260px, 1fr) minmax(170px, 0.3fr) auto;
    align-items: end;
    gap: 14px;
    border-bottom: 1px solid var(--zuv-line);
    background: rgba(248, 244, 236, 0.45);
}

.filter-bar-audit {
    grid-template-columns: minmax(250px, 1fr) minmax(150px, 0.3fr) minmax(150px, 0.3fr) auto;
}

.filter-actions {
    display: flex;
    gap: 8px;
}

.field {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.field label {
    color: var(--zuv-ink);
    font-size: 0.84rem;
    font-weight: 850;
}

.field input,
.field select,
.field textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid var(--zuv-line-strong);
    border-radius: 13px;
    color: var(--zuv-ink);
    background: #fff;
}

/* Choice controls must never inherit text-field dimensions. */
.field input[type="checkbox"],
.field input[type="radio"],
.checkbox-row input[type="checkbox"],
.checkbox-row input[type="radio"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    padding: 0;
    margin: 2px 0 0;
    flex: 0 0 18px;
    border-radius: 4px;
    accent-color: var(--zuv-blue);
}

.checkbox-row {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 10px;
    color: var(--zuv-muted);
    font-size: 0.87rem;
    font-weight: 700;
    line-height: 1.45;
}

.checkbox-row > span {
    min-width: 0;
}

.field input::placeholder {
    color: #958879;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    outline: 0;
    border-color: rgba(24, 120, 168, 0.52);
    box-shadow: var(--zuv-focus);
}

/* Legacy form compatibility: several operational modules predate `.field`. */
.form-grid > label:not(.check-control):not(.checkbox-row),
.filter-bar > label:not(.check-control):not(.checkbox-row),
.stack > label:not(.check-control):not(.checkbox-row) {
    display: grid;
    min-width: 0;
    gap: 7px;
    color: var(--zuv-ink);
    font-size: 0.84rem;
    font-weight: 850;
}

.form-grid > label > input:not([type="checkbox"]):not([type="radio"]),
.form-grid > label > select,
.form-grid > label > textarea,
.filter-bar > label > input:not([type="checkbox"]):not([type="radio"]),
.filter-bar > label > select,
.filter-bar > label > textarea,
.stack > label > input:not([type="checkbox"]):not([type="radio"]),
.stack > label > select,
.stack > label > textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid var(--zuv-line-strong);
    border-radius: 13px;
    color: var(--zuv-ink);
    background: #fff;
    font: inherit;
}

.form-grid > label > textarea,
.filter-bar > label > textarea,
.stack > label > textarea {
    min-height: 130px;
    line-height: 1.55;
    resize: vertical;
}

.form-grid > label > input:focus,
.form-grid > label > select:focus,
.form-grid > label > textarea:focus,
.filter-bar > label > input:focus,
.filter-bar > label > select:focus,
.filter-bar > label > textarea:focus,
.stack > label > input:focus,
.stack > label > select:focus,
.stack > label > textarea:focus {
    outline: 0;
    border-color: rgba(24, 120, 168, 0.52);
    box-shadow: var(--zuv-focus);
}

.stack {
    display: grid;
    gap: 18px;
}

.panel.stack {
    padding: clamp(22px, 3vw, 30px);
}

.span-2 {
    grid-column: 1 / -1;
}

.subpanel {
    min-width: 0;
    margin: 0;
    padding: clamp(18px, 2.5vw, 24px);
    border: 1px solid var(--zuv-line);
    border-radius: 16px;
    background: var(--zuv-sand);
}

.subpanel legend {
    padding: 0 8px;
    color: var(--zuv-blue);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.panel:not(.form-panel):not(.recent-panel):not(.stack) > .panel-heading,
.panel:not(.form-panel):not(.recent-panel):not(.stack) > .section-heading {
    padding: clamp(20px, 2.5vw, 26px) clamp(20px, 3vw, 30px) 0;
}

.field small,
.form-intro {
    color: var(--zuv-muted);
    font-size: 0.79rem;
}

.field-error {
    color: var(--zuv-red);
    font-size: 0.8rem;
    font-weight: 750;
}

.password-field {
    position: relative;
}

.password-field input {
    padding-right: 88px;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 7px;
    min-height: 34px;
    padding: 6px 9px;
    border-color: var(--zuv-line);
    border-radius: 9px;
    color: var(--zuv-blue);
    background: var(--zuv-blue-soft);
    font-size: 0.76rem;
    transform: translateY(-50%);
}

.check-control {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--zuv-muted);
    font-size: 0.87rem;
    font-weight: 700;
}

.check-control input,
.role-option input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--zuv-blue);
}

.check-field {
    display: flex;
    min-height: 48px;
    padding: 12px 14px;
    align-items: flex-start;
    gap: 11px;
    border: 1px solid var(--zuv-line);
    border-radius: 13px;
    background: var(--zuv-sand);
    color: var(--zuv-muted);
    font-size: 0.87rem;
    font-weight: 700;
}

.check-field input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    flex: 0 0 auto;
    accent-color: var(--zuv-blue);
}

.table-wrap {
    position: relative;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.data-table,
.table-wrap > table {
    width: 100%;
    min-width: 940px;
    border-collapse: collapse;
}

.data-table th,
.data-table td,
.table-wrap > table th,
.table-wrap > table td {
    padding: 15px 18px;
    border-bottom: 1px solid var(--zuv-line);
    text-align: left;
    vertical-align: middle;
}

.data-table th,
.table-wrap > table th {
    color: var(--zuv-muted);
    background: #fff;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.data-table tbody tr:hover,
.table-wrap > table tbody tr:hover {
    background: rgba(229, 244, 250, 0.34);
}

.data-table tbody tr:last-child td,
.table-wrap > table tbody tr:last-child td {
    border-bottom: 0;
}

.card > .table-wrap {
    margin-top: 14px;
    border: 1px solid var(--zuv-line);
    border-radius: 16px;
}

.card > .table-wrap:first-child {
    margin-top: 0;
}

.gift-submission-filter {
    grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
}

.person-cell {
    display: flex;
    align-items: center;
    gap: 11px;
}

.person-cell > div {
    display: grid;
    min-width: 0;
}

.person-cell span:not(.avatar) {
    color: var(--zuv-muted);
    font-size: 0.79rem;
}

.avatar {
    display: grid;
    width: 39px;
    height: 39px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 13px;
    color: var(--zuv-blue);
    background: var(--zuv-blue-soft);
    font-weight: 900;
}

.badge-list {
    display: flex;
    max-width: 290px;
    flex-wrap: wrap;
    gap: 5px;
}

.status-badge {
    padding: 6px 10px;
    gap: 7px;
    border: 1px solid;
}

.status-badge > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.status-active {
    border-color: rgba(36, 123, 98, 0.2);
    color: var(--zuv-green);
    background: var(--zuv-green-soft);
}

.status-inactive {
    border-color: rgba(107, 91, 74, 0.2);
    color: var(--zuv-muted);
    background: #f2eee8;
}

.table-actions {
    text-align: right;
}

.pagination {
    display: flex;
    padding: 18px 20px;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    border-top: 1px solid var(--zuv-line);
    color: var(--zuv-muted);
    font-size: 0.85rem;
}

/* Shared Laravel pagination: independent of Tailwind utility classes. */
.zuv-pagination {
    display: flex;
    min-width: 0;
    padding: 18px 20px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    border-top: 1px solid var(--zuv-line);
    color: var(--zuv-muted);
    font-size: 0.86rem;
}

.zuv-pagination-summary { line-height: 1.4; }
.zuv-pagination-links { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 7px; }
.zuv-page-link,
.zuv-page-gap {
    display: inline-flex;
    width: auto;
    min-width: 38px;
    min-height: 38px;
    padding: 8px 11px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    line-height: 1;
}
.zuv-page-link { border: 1px solid var(--zuv-line); background: #fff; color: var(--zuv-ink); font-weight: 800; }
.zuv-page-link:hover { border-color: rgba(24,120,168,.38); background: var(--zuv-blue-soft); color: var(--zuv-blue); }
.zuv-page-link.is-current { border-color: var(--zuv-blue); background: var(--zuv-blue); color: #fff; }
.zuv-page-link.is-disabled { cursor: not-allowed; opacity: .48; }
.zuv-page-gap { min-width: 24px; padding-inline: 4px; }

@media (max-width: 720px) {
    .zuv-pagination { align-items: stretch; }
    .zuv-pagination-summary { width: 100%; }
    .zuv-page-link.is-number,
    .zuv-page-gap { display: none; }
    .zuv-pagination-links { width: 100%; justify-content: space-between; }
}

.form-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.6fr);
    align-items: start;
    gap: 20px;
}

.form-panel {
    padding: clamp(22px, 3vw, 30px);
}

.form-panel-wide {
    grid-column: 1 / -1;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.field-wide {
    grid-column: 1 / -1;
}

.role-list {
    display: grid;
    gap: 8px;
}

.role-option {
    display: flex;
    min-height: 54px;
    padding: 11px 12px;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid var(--zuv-line);
    border-radius: 13px;
    background: var(--zuv-sand);
    cursor: pointer;
}

.role-option:hover {
    border-color: rgba(24, 120, 168, 0.34);
    background: var(--zuv-blue-soft);
}

.role-option > span {
    display: grid;
}

.role-option strong {
    font-size: 0.86rem;
}

.role-option small {
    color: var(--zuv-muted);
    font-size: 0.7rem;
}

.form-footer {
    display: flex;
    margin-top: 20px;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.danger-panel {
    display: flex;
    margin-top: 24px;
    padding: clamp(22px, 3vw, 30px);
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-color: rgba(166, 71, 53, 0.28);
    background: linear-gradient(135deg, #fff, var(--zuv-red-soft));
}

.danger-panel h2 {
    margin-top: 10px;
}

.danger-panel p {
    margin-bottom: 0;
}

.summary-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.summary-pills span {
    padding: 9px 12px;
    border: 1px solid var(--zuv-line);
    border-radius: 999px;
    color: var(--zuv-muted);
    background: #fff;
    font-size: 0.8rem;
}

.summary-pills strong {
    color: var(--zuv-blue);
}

.audit-list {
    display: grid;
}

.audit-row {
    display: grid;
    padding: 20px;
    grid-template-columns: 12px 1fr;
    gap: 14px;
    border-bottom: 1px solid var(--zuv-line);
}

.audit-row:last-child {
    border-bottom: 0;
}

.audit-marker {
    width: 10px;
    height: 10px;
    margin-top: 7px;
    border-radius: 50%;
    background: var(--zuv-green);
    box-shadow: 0 0 0 5px var(--zuv-green-soft);
}

.audit-marker-failed {
    background: var(--zuv-red);
    box-shadow: 0 0 0 5px var(--zuv-red-soft);
}

.audit-marker-denied {
    background: var(--zuv-warm);
    box-shadow: 0 0 0 5px var(--zuv-warm-soft);
}

.audit-main {
    min-width: 0;
}

.audit-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.audit-title-row > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.audit-title-row time {
    color: var(--zuv-muted);
    font-size: 0.79rem;
    white-space: nowrap;
}

.audit-meta {
    display: flex;
    margin-top: 9px;
    flex-wrap: wrap;
    gap: 7px 18px;
    color: var(--zuv-muted);
    font-size: 0.79rem;
}

.audit-meta small {
    margin-left: 4px;
}

.changed-fields {
    width: fit-content;
    margin-top: 10px;
    padding: 6px 9px;
    border-radius: 9px;
    color: var(--zuv-blue-dark);
    background: var(--zuv-blue-soft);
    font-size: 0.76rem;
}

.audit-details {
    margin-top: 13px;
    border: 1px solid var(--zuv-line);
    border-radius: 12px;
    background: var(--zuv-sand);
}

.audit-details summary {
    padding: 10px 12px;
    color: var(--zuv-blue);
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
}

.audit-json-grid {
    display: grid;
    padding: 0 12px 12px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.audit-json-grid > div {
    min-width: 0;
}

.audit-json-grid h3 {
    margin: 0 0 6px;
    color: var(--zuv-muted);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.audit-json-grid pre {
    max-height: 300px;
    margin: 0;
    padding: 11px;
    overflow: auto;
    border: 1px solid var(--zuv-line);
    border-radius: 10px;
    color: #41352a;
    background: #fff;
    font-size: 0.72rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

.empty-state {
    padding: 30px;
    color: var(--zuv-muted);
    text-align: center;
}

@media (max-width: 1180px) {
    :root {
        --admin-sidebar-width: 260px;
    }

    .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stat-card:last-child {
        grid-column: 1 / -1;
    }

    .filter-bar,
    .filter-bar-audit {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .admin-sidebar {
        width: min(320px, 88vw);
        transform: translateX(-104%);
        transition: transform 220ms ease;
    }

    .sidebar-visible .admin-sidebar {
        transform: translateX(0);
    }

    .sidebar-close,
    .sidebar-open {
        display: inline-grid;
    }

    .sidebar-close {
        border-color: rgba(255, 255, 255, 0.14);
        color: #fff;
        background: rgba(255, 255, 255, 0.07);
    }

    .admin-backdrop {
        position: fixed;
        z-index: 900;
        inset: 0;
        display: block;
        pointer-events: none;
        background: rgba(33, 26, 19, 0.48);
        opacity: 0;
        transition: opacity 180ms ease;
    }

    .sidebar-visible .admin-backdrop {
        pointer-events: auto;
        opacity: 1;
    }

    .admin-workspace {
        margin-left: 0;
    }

    .module-grid,
    .form-layout {
        grid-template-columns: 1fr;
    }

    .form-panel-wide {
        grid-column: auto;
    }
}

@media (max-width: 720px) {
    .admin-topbar {
        min-height: 70px;
        padding: 11px 14px;
    }

    .topbar-title span {
        display: none;
    }

    .admin-content {
        padding: 20px 14px 36px;
    }

    .welcome-panel {
        min-height: 0;
        padding: 26px;
        grid-template-columns: 1fr;
    }

    .welcome-panel img {
        position: absolute;
        right: -18px;
        bottom: -26px;
        width: 130px;
        opacity: 0.12;
    }

    .stat-grid,
    .module-grid,
    .form-grid,
    .filter-bar,
    .filter-bar-audit {
        grid-template-columns: 1fr;
    }

    .stat-card:last-child {
        grid-column: auto;
    }

    .module-card {
        grid-template-columns: 1fr;
    }

    .panel-heading,
    .page-heading,
    .danger-panel,
    .audit-title-row {
        align-items: stretch;
        flex-direction: column;
    }

    .page-heading .button,
    .danger-panel .button {
        width: 100%;
    }

    .filter-actions,
    .form-footer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filter-actions .button,
    .form-footer .button {
        width: 100%;
    }

    .activity-row {
        grid-template-columns: 12px 1fr;
    }

    .activity-row time {
        grid-column: 2;
    }

    .summary-pills {
        justify-content: flex-start;
    }

    .audit-title-row time {
        white-space: normal;
    }

    .pagination {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 1.85rem;
    }

    .admin-topbar form .button {
        min-height: 40px;
        padding-inline: 12px;
    }

    .topbar-title strong {
        max-width: 130px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .filter-actions,
    .form-footer {
        grid-template-columns: 1fr;
    }

    .pagination {
        flex-wrap: wrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* R3: multilingual spiritual-gift content workspace */
.gift-assessment-grid {
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
}

.translation-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.translation-summary > div,
.coverage-strip > div {
    display: grid;
    gap: 2px;
    padding: 12px 14px;
    border: 1px solid var(--zuv-line);
    border-radius: var(--zuv-radius-sm);
    background: rgba(255, 255, 255, 0.72);
}

.translation-summary span,
.translation-summary small,
.coverage-strip span,
.coverage-strip small {
    color: var(--zuv-muted);
    font-size: 0.78rem;
}

.gift-content-toolbar {
    display: grid;
    margin-bottom: 22px;
    padding: clamp(20px, 3vw, 28px);
    grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.45fr);
    gap: 22px;
    align-items: end;
}

.coverage-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.coverage-strip strong {
    color: var(--zuv-blue-dark);
    font-size: 1.08rem;
}

.gift-content-layout {
    display: grid;
    margin-top: 22px;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.gift-dimension-nav {
    position: sticky;
    top: calc(var(--admin-topbar-height) + 18px);
    padding: clamp(20px, 2.5vw, 26px);
    max-height: calc(100vh - var(--admin-topbar-height) - 36px);
    overflow: hidden;
}

.gift-dimension-nav nav {
    display: grid;
    gap: 5px;
    max-height: calc(100vh - var(--admin-topbar-height) - 135px);
    padding-right: 5px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.gift-dimension-nav a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 1px 8px;
    align-items: center;
    padding: 10px 11px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--zuv-muted);
}

.gift-dimension-nav a:hover {
    border-color: var(--zuv-line);
    background: var(--zuv-sand);
}

.gift-dimension-nav a.is-active {
    border-color: rgba(24, 120, 168, 0.22);
    color: var(--zuv-blue-dark);
    background: var(--zuv-blue-soft);
}

.gift-dimension-nav a > span {
    grid-row: 1 / span 2;
    font-size: 0.76rem;
    font-weight: 850;
}

.gift-dimension-nav strong {
    overflow: hidden;
    font-size: 0.85rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gift-dimension-nav small {
    font-size: 0.7rem;
}

.gift-content-main,
.question-editor-list {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.gift-assessment-form,
.gift-dimension-editor,
.question-editor {
    scroll-margin-top: calc(var(--admin-topbar-height) + 24px);
}

.gift-dimension-editor {
    margin-bottom: 2px;
}

.question-editor {
    border-left: 4px solid var(--zuv-blue-soft);
}

.question-editor .form-footer {
    padding-top: 4px;
}

.question-editor:focus-within {
    border-left-color: var(--zuv-blue);
    box-shadow: var(--zuv-shadow-soft), var(--zuv-focus);
}

.gift-assessment-form textarea,
.question-editor textarea {
    resize: vertical;
}

.danger-zone {
    display: flex;
    margin-top: 22px;
    padding: clamp(22px, 3vw, 30px);
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    border-color: rgba(166, 71, 53, 0.28);
    background: linear-gradient(135deg, #fff, var(--zuv-red-soft));
}

.danger-zone h2,
.danger-zone p {
    margin-bottom: 6px;
}

@media (max-width: 1180px) {
    .gift-content-layout {
        grid-template-columns: 220px minmax(0, 1fr);
    }
}

@media (max-width: 980px) {
    .gift-content-toolbar,
    .gift-content-layout {
        grid-template-columns: 1fr;
    }

    .gift-dimension-nav {
        position: static;
        max-height: none;
    }

    .gift-dimension-nav nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: 360px;
    }
}

@media (max-width: 720px) {
    .section-heading,
    .card-header {
        display: grid;
    }

    .gift-submission-filter {
        grid-template-columns: 1fr;
    }

    .card {
        padding: 20px;
    }

    .coverage-strip,
    .translation-summary,
    .gift-dimension-nav nav {
        grid-template-columns: 1fr;
    }

    .danger-zone {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Episodes R1: responsive admin surfaces, isolated from the public V4 UI. */
.episode-filter-bar{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(145px,.3fr)) auto auto}.episode-trash-filter{align-self:center}.episode-table{min-width:1080px}.episode-title-cell{display:grid;min-width:220px}.episode-title-cell code,.episode-title-cell small{color:var(--zuv-muted);font-size:.75rem}.episode-import-panel,.episode-media-panel{margin-top:24px}.episode-import-form,.episode-media-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:14px}.episode-media-form{grid-template-columns:minmax(150px,.4fr) minmax(170px,.4fr) minmax(260px,1fr) auto}.episode-media-list{margin:22px -30px -30px}.episode-media-list .data-table{min-width:840px}.episode-section-nav{position:sticky;z-index:700;top:calc(var(--admin-topbar-height) + 8px);display:flex;margin:0 0 20px;padding:10px;gap:7px;overflow-x:auto;border:1px solid var(--zuv-line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:var(--zuv-shadow-soft);backdrop-filter:blur(16px)}.episode-section-nav a{padding:8px 11px;border-radius:999px;color:var(--zuv-blue);background:var(--zuv-blue-soft);font-size:.78rem;font-weight:850;white-space:nowrap}.episode-form-stack{display:grid;gap:20px}.episode-main-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.language-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.language-state{display:grid;padding:13px;border:1px solid var(--zuv-line);border-radius:13px;background:var(--zuv-sand)}.language-state strong{color:var(--zuv-blue)}.language-state span{font-size:.84rem;font-weight:800}.language-state small{color:var(--zuv-muted);font-size:.7rem}.language-editor-list{display:grid;gap:10px}.language-editor{border:1px solid var(--zuv-line);border-radius:15px;background:var(--zuv-sand);overflow:hidden}.language-editor[open]{border-color:rgba(24,120,168,.3);background:#fff}.language-editor summary{display:flex;padding:15px 17px;align-items:center;gap:12px;cursor:pointer}.language-editor summary strong{margin-right:auto}.language-editor summary span,.language-editor summary small{color:var(--zuv-muted);font-size:.76rem}.language-editor-fields{display:grid;padding:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;border-top:1px solid var(--zuv-line)}.episode-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.episode-capability-grid>div{padding:16px;border:1px solid var(--zuv-line);border-radius:15px;background:var(--zuv-sand)}.episode-capability-grid p{margin:0;font-size:.8rem}.episode-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.language-picker{max-width:640px;margin:0 0 18px}.language-state{transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}.language-state:hover{border-color:rgba(24,120,168,.35);transform:translateY(-1px)}.language-state.is-selected{border-color:var(--zuv-blue);background:var(--zuv-blue-soft);box-shadow:0 0 0 3px rgba(24,120,168,.1)}.language-editor-fields-selected{padding:0;border-top:0}
@media(max-width:1180px){.episode-filter-bar,.episode-import-form,.episode-media-form{grid-template-columns:repeat(2,minmax(0,1fr))}.episode-main-grid,.episode-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.episode-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.episode-filter-bar,.episode-import-form,.episode-media-form,.episode-main-grid,.episode-toggle-grid,.language-editor-fields,.episode-capability-grid{grid-template-columns:1fr}.episode-section-nav{top:78px;margin-inline:-6px}.episode-media-list{margin-inline:-22px}.episode-media-form .button,.episode-import-form .button{width:100%}}

/* Episodes editor R2: global data, gated languages, one-language media, gallery and final actions. */
.episode-editor{display:grid;gap:22px}.episode-global-panel,.episode-language-panel,.episode-language-content,.episode-publication-panel,.episode-gallery-panel,.episode-language-media,.episode-share-check{scroll-margin-top:96px}.episode-global-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.language-rules{display:flex;margin:0 0 18px;flex-wrap:wrap;gap:9px}.language-rules span{display:inline-flex;padding:8px 12px;align-items:center;gap:8px;border-radius:999px;color:var(--zuv-muted);background:var(--zuv-sand);font-size:.78rem;font-weight:800}.language-rules strong{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#fff;background:var(--zuv-blue)}.language-matrix-compact{max-height:390px;padding:3px;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));overflow:auto}.language-matrix-compact .language-state{min-height:82px;padding:10px}.language-state.is-locked{cursor:not-allowed;opacity:.48;filter:grayscale(.35)}.language-state.is-locked strong:after{content:" · 🔒";font-size:.7rem}.language-content-grid{grid-template-columns:minmax(0,1fr)}.episode-gallery-upload{display:grid;margin-bottom:20px;grid-template-columns:minmax(170px,.35fr) minmax(260px,1fr) auto;align-items:end;gap:14px}.episode-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.episode-gallery-item{overflow:hidden;border:1px solid var(--zuv-line);border-radius:15px;background:var(--zuv-sand)}.episode-gallery-item img,.episode-gallery-video{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e8e1d7}.episode-gallery-video{display:grid;place-items:center;color:var(--zuv-blue);font-weight:900;letter-spacing:.12em}.episode-gallery-item>div:last-child{display:grid;padding:12px}.episode-gallery-item small,.media-current-file small{color:var(--zuv-muted);font-size:.74rem}.episode-thumbnail-preview{display:grid;margin-bottom:18px;padding:14px;grid-template-columns:minmax(180px,320px) 1fr;align-items:center;gap:16px;border:1px solid var(--zuv-line);border-radius:17px;background:var(--zuv-sand)}.episode-thumbnail-preview img{width:100%;aspect-ratio:16/9;border-radius:11px;object-fit:cover}.episode-thumbnail-preview div{display:grid}.language-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.language-media-card{display:grid;padding:18px;gap:14px;border:1px solid var(--zuv-line);border-radius:16px;background:var(--zuv-sand)}.language-media-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.language-media-card h3{margin:0}.language-media-card form{display:grid;gap:12px}.media-current-file{display:grid;padding:10px 12px;border-radius:11px;background:#fff}.episode-share-links{display:flex;flex-wrap:wrap;gap:10px}.episode-action-dock{position:sticky;z-index:650;bottom:12px;display:flex;margin-top:24px;padding:14px;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;border:1px solid var(--zuv-line);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 55px rgba(46,38,30,.16);backdrop-filter:blur(16px)}.episode-action-dock form{margin:0}.episode-publication-panel>.field{max-width:520px}
@media(max-width:1180px){.episode-global-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.episode-global-grid,.language-media-grid,.episode-gallery-upload,.episode-thumbnail-preview{grid-template-columns:1fr}.episode-action-dock{display:grid;grid-template-columns:1fr 1fr;bottom:8px}.episode-action-dock .button,.episode-action-dock form,.episode-action-dock form .button{width:100%}}

/* Episodes editor R2.1: keep the selected-language workflow together and separate global sections. */
.episode-edit-flow {
    display: grid;
    gap: clamp(24px, 3vw, 34px);
}

.episode-edit-flow > .admin-form {
    margin: 0;
}

.episode-edit-flow .episode-gallery-panel {
    margin-top: clamp(8px, 1.5vw, 18px);
}

.episode-edit-flow .panel {
    min-width: 0;
}

.episode-action-dock {
    position: relative;
    bottom: auto;
    margin-top: clamp(26px, 3vw, 38px);
}

@media(max-width:720px) {
    .episode-edit-flow {
        gap: 20px;
    }

    .episode-edit-flow .episode-gallery-panel {
        margin-top: 8px;
    }

    .episode-action-dock {
        bottom: auto;
    }
}

/* Newsletter R1.1: isolated one-recipient test and approval gate. */
.newsletter-test-workflow{display:grid;gap:18px}.newsletter-test-workflow>.panel-heading,.newsletter-test-workflow>p,.newsletter-test-workflow>.alert{margin:0}.newsletter-test-form{display:grid;padding:20px;grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:16px;border:1px solid var(--zuv-line);border-radius:16px;background:var(--zuv-sand)}.newsletter-test-form .field{margin:0}.newsletter-test-approval{margin:0}.newsletter-test-ok{padding:15px 18px;border:1px solid #b8dcc7;border-radius:14px;background:#edf8f1;color:#285d3d}.newsletter-inline-alert{display:inline-flex;margin:0;align-items:center}.newsletter-readiness .newsletter-check-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1180px){.newsletter-readiness .newsletter-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.newsletter-test-form,.newsletter-readiness .newsletter-check-grid{grid-template-columns:1fr}.newsletter-test-form .button{width:100%}}

/* Newsletter R1: privacy-first subscribers, structured light campaigns and guarded dispatch. */
.newsletter-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.newsletter-module-grid{display:grid;margin:24px 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.newsletter-module-card{display:grid;padding:26px;grid-template-columns:48px 1fr;gap:16px;color:inherit}.newsletter-module-card>span{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;color:var(--zuv-blue);background:var(--zuv-blue-soft);font-size:1.4rem;font-weight:900}.newsletter-module-card h2{margin:2px 0 8px}.newsletter-module-card p{margin:0}.newsletter-check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.newsletter-check-grid>div{display:grid;padding:15px;border:1px solid var(--zuv-line);border-radius:14px;background:var(--zuv-sand)}.newsletter-check-grid span{color:var(--zuv-blue);font-weight:850}.newsletter-filter{grid-template-columns:minmax(260px,1fr) minmax(180px,.35fr) auto}.newsletter-table{min-width:980px}.newsletter-table small{color:var(--zuv-muted)}.newsletter-form{padding:clamp(22px,3vw,34px)}.newsletter-two-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr);gap:22px}.newsletter-form-stack{display:grid;gap:28px}.newsletter-builder{padding:clamp(22px,3vw,34px)}.newsletter-block-list{display:grid;gap:16px}.newsletter-block-row{padding:18px;border:1px solid var(--zuv-line);border-radius:17px;background:var(--zuv-sand)}.newsletter-block-head{display:flex;margin-bottom:14px;align-items:center;justify-content:space-between;gap:12px}.newsletter-block-fields{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr) minmax(180px,.35fr);gap:14px}.newsletter-block-fields .field-wide{grid-column:auto}.newsletter-save{margin-top:24px}.newsletter-workflow{margin-top:32px;padding:clamp(22px,3vw,34px)}.newsletter-workflow-actions,.newsletter-heading-actions{display:flex;flex-wrap:wrap;gap:10px}.newsletter-workflow-actions form{margin:0}.newsletter-queue-summary{display:grid;margin-top:22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.newsletter-queue-summary span{display:grid;padding:14px;border-radius:13px;background:var(--zuv-sand);color:var(--zuv-muted)}.newsletter-queue-summary strong{color:var(--zuv-blue);font-size:1.25rem}.newsletter-gates{display:grid;margin:28px 0;padding:20px;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;border:1px solid var(--zuv-line);border-radius:16px;background:var(--zuv-sand)}
@media(max-width:1180px){.newsletter-stats,.newsletter-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-block-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-gates{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.newsletter-stats,.newsletter-module-grid,.newsletter-check-grid,.newsletter-two-columns,.newsletter-block-fields,.newsletter-queue-summary,.newsletter-gates{grid-template-columns:1fr}.newsletter-filter{grid-template-columns:1fr}.newsletter-module-card{grid-template-columns:42px 1fr}.newsletter-builder .panel-heading,.newsletter-heading-actions{display:grid}.newsletter-heading-actions .button{width:100%}}

/* Newsletter R3.1: compact, type-aware campaign content editor. */
.newsletter-builder-heading {
    align-items: center;
    margin-bottom: 10px;
}

.newsletter-builder-heading h2 {
    margin-top: 6px;
}

.newsletter-builder-intro {
    max-width: 880px;
    margin: 0 0 24px;
    font-size: 0.88rem;
    line-height: 1.65;
}

.newsletter-block-list {
    gap: 18px;
}

.newsletter-block-row {
    padding: 0;
    overflow: hidden;
    border-color: #ded1c1;
    border-radius: 18px;
    background: var(--zuv-card);
    box-shadow: 0 8px 24px rgba(46, 38, 30, 0.045);
}

.newsletter-block-head {
    min-height: 70px;
    margin: 0;
    padding: 14px 18px;
    border-bottom: 1px solid var(--zuv-line);
    background: #fcfaf6;
}

.newsletter-block-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.newsletter-block-title > div {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.newsletter-block-title strong {
    font-size: 0.94rem;
}

.newsletter-block-title [data-block-summary] {
    color: var(--zuv-muted);
    font-size: 0.78rem;
}

.newsletter-block-number {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 12px;
    color: var(--zuv-blue-dark);
    background: var(--zuv-blue-soft);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.newsletter-block-remove {
    min-height: 38px;
    padding: 7px 11px;
    color: var(--zuv-muted);
    border-color: transparent;
}

.newsletter-block-remove span {
    margin-right: 3px;
    font-size: 1.2rem;
    line-height: 0;
}

.newsletter-block-remove:hover {
    color: var(--zuv-red);
    border-color: #efd1ca;
    background: var(--zuv-red-soft);
}

.newsletter-block-fields {
    display: grid;
    padding: 20px;
    grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
    align-items: start;
    gap: 22px;
}

.newsletter-block-settings {
    display: grid;
    min-width: 0;
    padding: 16px;
    gap: 13px;
    border: 1px solid var(--zuv-line);
    border-radius: 15px;
    background: var(--zuv-sand);
}

.newsletter-block-settings .field,
.newsletter-block-actions .field {
    align-self: start;
}

.newsletter-block-settings .field select {
    min-height: 46px;
    background-color: #fff;
}

.newsletter-block-help {
    margin: 0;
    color: var(--zuv-muted);
    font-size: 0.76rem;
    line-height: 1.55;
}

.newsletter-block-body {
    display: grid;
    min-width: 0;
    gap: 15px;
}

.newsletter-block-meta,
.newsletter-block-image-fields {
    display: grid;
    grid-template-columns: minmax(150px, 0.55fr) minmax(260px, 1fr) minmax(140px, 0.4fr);
    align-items: start;
    gap: 14px;
}

.newsletter-block-image-fields {
    grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr);
}

.newsletter-block-meta > .field[data-block-field="title"] {
    grid-column: auto;
}

.newsletter-block-content textarea {
    min-height: 136px;
    resize: vertical;
}

.newsletter-block-row[data-block-type="heading"] .newsletter-block-content textarea {
    min-height: 76px;
}

.newsletter-block-row[data-block-type="kicker"] .newsletter-block-content textarea,
.newsletter-block-row[data-block-type="note"] .newsletter-block-content textarea {
    min-height: 84px;
}

.newsletter-block-row[data-block-type="links"] .newsletter-block-content textarea,
.newsletter-block-row[data-block-type="bullets"] .newsletter-block-content textarea {
    min-height: 118px;
}

.newsletter-block-row[data-block-type="links"] .newsletter-block-content textarea {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.91rem;
}

.newsletter-block-actions {
    display: grid;
    grid-template-columns: minmax(160px, 0.65fr) minmax(260px, 1.35fr);
    align-items: start;
    gap: 14px;
}

.newsletter-builder [data-block-field][hidden],
.newsletter-builder [data-block-field-group][hidden],
.newsletter-builder [data-block-empty][hidden] {
    display: none !important;
}

.newsletter-divider-preview {
    display: flex;
    min-height: 92px;
    padding: 18px;
    align-items: center;
    gap: 18px;
    border: 1px dashed var(--zuv-line-strong);
    border-radius: 15px;
    background: #fcfaf6;
}

.newsletter-divider-preview > span {
    width: min(180px, 32%);
    height: 1px;
    background: var(--zuv-line-strong);
}

.newsletter-divider-preview p {
    display: grid;
    margin: 0;
    gap: 2px;
}

.newsletter-divider-preview small {
    color: var(--zuv-muted);
}

@media (max-width: 960px) {
    .newsletter-block-fields {
        grid-template-columns: 1fr;
    }

    .newsletter-block-settings {
        grid-template-columns: minmax(190px, 0.45fr) minmax(0, 1fr);
        align-items: center;
    }

    .newsletter-block-meta {
        grid-template-columns: minmax(150px, 0.6fr) minmax(220px, 1fr);
    }

    .newsletter-block-meta > .field[data-block-field="tone"] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .newsletter-builder {
        padding: 18px;
    }

    .newsletter-builder-heading .button,
    .newsletter-block-actions,
    .newsletter-block-meta,
    .newsletter-block-image-fields {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .newsletter-block-meta > .field[data-block-field="tone"] {
        grid-column: auto;
    }

    .newsletter-block-head,
    .newsletter-block-fields {
        padding: 15px;
    }

    .newsletter-block-settings {
        grid-template-columns: 1fr;
    }

    .newsletter-block-remove {
        width: 38px;
        overflow: hidden;
        white-space: nowrap;
        color: var(--zuv-red);
    }

    .newsletter-block-remove span {
        margin-right: 20px;
    }
}

/* Episodes editor R2.2: consistent spacing inside the language workflow. */
.episode-edit-flow {
    gap: clamp(32px, 4vw, 46px);
}

.episode-edit-flow > .admin-form .episode-editor {
    gap: clamp(30px, 3.6vw, 42px);
}

.episode-language-panel .language-rules {
    margin-bottom: 24px;
}

.episode-language-panel .language-picker {
    margin-bottom: 28px;
}

.episode-language-panel .language-matrix-compact {
    gap: 14px;
    padding: 6px;
}

.episode-language-panel .language-matrix-compact .language-state {
    min-height: 88px;
    padding: 13px;
    align-content: start;
    gap: 4px;
}

.episode-language-content .form-intro,
.episode-language-media .form-intro,
.episode-share-check .form-intro,
.episode-gallery-panel .form-intro {
    margin-bottom: 24px;
}

.episode-language-content .language-content-grid {
    gap: 24px;
}

.episode-language-media .episode-thumbnail-preview {
    margin-bottom: 26px;
}

.episode-language-media .language-media-grid {
    gap: 20px;
}

.episode-language-media .language-media-card {
    padding: 20px;
    gap: 18px;
}

.episode-share-check .episode-share-links {
    margin-top: 22px;
}

@media(max-width:720px) {
    .episode-edit-flow {
        gap: 26px;
    }

    .episode-edit-flow > .admin-form .episode-editor {
        gap: 26px;
    }

    .episode-language-panel .language-picker {
        margin-bottom: 22px;
    }

    .episode-language-panel .language-matrix-compact {
        gap: 11px;
        padding: 4px;
    }

    .episode-language-content .language-content-grid,
    .episode-language-media .language-media-grid {
        gap: 18px;
    }
}

/* R19 operations audit: legacy filters and disclosures get full tap targets. */
.filter-bar > input:not([type="checkbox"]):not([type="radio"]),
.filter-bar > select,
.filter-bar > textarea {
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid var(--zuv-line-strong);
    border-radius: 13px;
    color: var(--zuv-ink);
    background: #fff;
    font: inherit;
}

details > summary {
    min-height: 44px;
}

/* R19 mobile operations audit: shared safeguards for every admin module. */
@media (max-width: 720px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body {
        font-size: 16px;
        line-height: 1.5;
    }

    .admin-content {
        width: 100%;
        min-width: 0;
        padding: 18px 12px 34px;
    }

    .admin-content > *,
    .admin-workspace,
    .panel,
    .card,
    .form-panel,
    .form-panel-wide,
    .admin-form,
    .stack,
    .form-grid,
    .filter-bar,
    .page-heading,
    .panel-heading {
        min-width: 0;
        max-width: 100%;
    }

    .page-heading {
        gap: 14px;
        margin-bottom: 20px;
    }

    .page-heading h1,
    .welcome-panel h1,
    .admin-content > h1 {
        max-width: 100%;
        margin-block: 7px 10px;
        font-size: clamp(1.75rem, 8.7vw, 2.25rem);
        line-height: 1.08;
        overflow-wrap: anywhere;
    }

    .panel-heading h2,
    .card h2,
    .section-heading h2 {
        font-size: clamp(1.25rem, 6.2vw, 1.65rem);
        line-height: 1.16;
        overflow-wrap: anywhere;
    }

    .panel,
    .card,
    .admin-form,
    .form-panel,
    .form-panel-wide,
    .danger-panel,
    .gift-content-toolbar,
    .gift-dimension-nav,
    .gift-dimension-editor,
    .question-editor {
        padding: 18px 15px;
        border-radius: 18px;
    }

    .panel + .panel,
    .card + .card,
    .admin-form + .admin-form,
    .panel + .card,
    .card + .panel {
        margin-top: 18px;
    }

    .field,
    .form-grid > label,
    .filter-bar > label,
    .stack > label {
        width: 100%;
        min-width: 0;
    }

    .field input:not([type="checkbox"]):not([type="radio"]),
    .field select,
    .field textarea,
    .form-grid input:not([type="checkbox"]):not([type="radio"]),
    .form-grid select,
    .form-grid textarea,
    .filter-bar input:not([type="checkbox"]):not([type="radio"]),
    .filter-bar select,
    .filter-bar textarea,
    .stack input:not([type="checkbox"]):not([type="radio"]),
    .stack select,
    .stack textarea {
        width: 100%;
        min-width: 0;
        min-height: 48px;
        font-size: 16px;
    }

    .field input[type="checkbox"],
    .field input[type="radio"],
    .checkbox-row input[type="checkbox"],
    .checkbox-row input[type="radio"],
    .check-control input[type="checkbox"],
    .check-control input[type="radio"] {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        flex: 0 0 20px !important;
        padding: 0 !important;
    }

    .checkbox-row,
    .check-control {
        min-height: 44px;
        padding-block: 10px;
        align-items: flex-start;
    }

    .button,
    button,
    input[type="submit"],
    input[type="button"],
    summary {
        min-height: 46px;
    }

    .sidebar-footer .button-small {
        min-height: 46px !important;
    }

    .button,
    button,
    input[type="submit"],
    input[type="button"] {
        max-width: 100%;
        padding: 11px 15px;
        line-height: 1.25;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    details > summary,
    .language-editor summary,
    .audit-card summary {
        display: flex;
        padding: 12px 13px;
        align-items: center;
    }

    .filter-actions,
    .form-footer,
    .table-actions,
    .page-heading-actions,
    .panel-heading-actions,
    .newsletter-heading-actions,
    .newsletter-workflow-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .filter-actions > *,
    .form-footer > *,
    .table-actions > *,
    .page-heading-actions > *,
    .panel-heading-actions > *,
    .newsletter-heading-actions > *,
    .newsletter-workflow-actions > * {
        width: 100%;
        min-width: 0;
    }

    .table-wrap,
    .responsive-table,
    .episode-media-list {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .data-table,
    .table-wrap > table {
        font-size: .9rem;
    }

    .data-table th,
    .data-table td,
    .table-wrap > table th,
    .table-wrap > table td {
        padding: 12px 11px;
    }

    .zuv-pagination,
    .pagination {
        width: 100%;
        gap: 10px;
    }

    .zuv-page-link,
    .pagination a,
    .pagination span {
        min-width: 44px;
        min-height: 44px;
    }

    pre,
    code {
        max-width: 100%;
        overflow-wrap: anywhere;
        white-space: pre-wrap;
    }
}

@media (max-width: 420px) {
    .admin-topbar {
        padding-inline: 10px;
    }

    .admin-content {
        padding-inline: 10px;
    }

    .panel,
    .card,
    .admin-form,
    .form-panel,
    .form-panel-wide {
        padding-inline: 13px;
    }
}

/* Episodes editor R2.3: deterministic margins at every major panel boundary. */
.episode-edit-flow,
.episode-edit-flow > .admin-form .episode-editor {
    display: block;
}

.episode-edit-flow > .admin-form .episode-editor > .panel + .panel {
    margin-top: 42px;
}

.episode-edit-flow > .episode-language-media {
    margin-top: 46px;
}

.episode-edit-flow > .episode-share-check {
    margin-top: 36px;
}

.episode-edit-flow > .episode-gallery-panel {
    margin-top: 48px;
}

.episode-edit-flow > .episode-publication-panel {
    margin-top: 36px;
}

/* Spiritual gifts R3: stable assessment card and translation coverage layout. */
.dashboard-work-panel {
    margin-bottom: 26px;
    padding: clamp(22px, 3vw, 32px);
}

.dashboard-work-panel .panel-heading {
    margin-bottom: 20px;
}

.dashboard-work-panel .panel-heading > p {
    max-width: 360px;
    margin: 4px 0 0;
    text-align: right;
}

.dashboard-work-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.dashboard-work-card {
    display: grid;
    min-height: 136px;
    padding: 18px;
    align-content: space-between;
    gap: 8px;
    color: var(--zuv-ink);
    border: 1px solid var(--zuv-line);
    border-radius: 16px;
    background: var(--zuv-sand);
}

.dashboard-work-card:hover {
    border-color: rgba(24, 120, 168, 0.36);
    box-shadow: 0 10px 24px rgba(39, 32, 25, 0.07);
}

.dashboard-work-card > span { font-weight: 760; }
.dashboard-work-card > strong { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1; }
.dashboard-work-card > small { color: var(--zuv-blue); font-weight: 850; }
.dashboard-work-card-blue { background: var(--zuv-blue-soft); }
.dashboard-work-card-warm { background: var(--zuv-warm-soft); }
.dashboard-work-card-red { background: var(--zuv-red-soft); }

.gift-assessment-grid {
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.gift-assessment-card {
    display: grid;
    padding: clamp(22px, 3vw, 32px);
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: start;
    gap: 14px 18px;
}

.gift-assessment-card > .module-card-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.gift-assessment-card > .status-badge {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
}

.gift-assessment-card > h2,
.gift-assessment-card > p,
.gift-assessment-card > .translation-summary,
.gift-assessment-card > .button {
    grid-column: 2 / 4;
}

.gift-assessment-card > h2 {
    grid-row: 1;
    margin: 5px 0 0;
}

.gift-assessment-card > p {
    margin: 0;
}

.gift-assessment-card > .button {
    width: fit-content;
}

/* Admin foundations R4: deterministic vertical rhythm and safe panel insets. */
.admin-content > .panel + .panel,
.admin-content > .panel + form.panel,
.admin-content > form.panel + .panel,
.admin-content > form.panel + form.panel,
.admin-content > details.panel + .panel,
.admin-content > .panel + details.panel {
    margin-top: clamp(22px, 2.5vw, 30px);
}

.panel > .section-heading + .metric-grid,
.panel > .panel-heading + .metric-grid {
    margin-right: clamp(20px, 3vw, 30px);
    margin-left: clamp(20px, 3vw, 30px);
}

.panel > .section-heading + .button-row,
.panel > .panel-heading + .button-row,
.panel > .button-row:first-child {
    padding-right: clamp(20px, 3vw, 30px);
    padding-left: clamp(20px, 3vw, 30px);
}

.panel > .button-row:first-child {
    padding-top: clamp(20px, 2.5vw, 26px);
    padding-bottom: clamp(20px, 2.5vw, 26px);
}

.panel > .button-row + .help-text,
.panel > .section-heading ~ .help-text,
.panel > .panel-heading ~ .help-text {
    margin-right: clamp(20px, 3vw, 30px);
    margin-left: clamp(20px, 3vw, 30px);
}

.panel > .button-row + .help-text {
    margin-top: 14px;
    margin-bottom: clamp(20px, 2.5vw, 26px);
}

@media(max-width:720px) {
    .dashboard-work-panel .panel-heading > p {
        text-align: left;
    }

    .dashboard-work-grid {
        grid-template-columns: 1fr;
    }

    .gift-assessment-grid {
        grid-template-columns: 1fr;
    }

    .gift-assessment-card {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .gift-assessment-card > .status-badge {
        grid-column: 2;
    }

    .gift-assessment-card > h2,
    .gift-assessment-card > p,
    .gift-assessment-card > .translation-summary,
    .gift-assessment-card > .button {
        grid-column: 1 / 3;
    }

    .gift-assessment-card > h2 {
        grid-row: auto;
    }

    .gift-assessment-card > .button {
        width: 100%;
    }

    .episode-edit-flow > .admin-form .episode-editor > .panel + .panel {
        margin-top: 28px;
    }

    .episode-edit-flow > .episode-language-media {
        margin-top: 30px;
    }

    .episode-edit-flow > .episode-share-check,
    .episode-edit-flow > .episode-publication-panel {
        margin-top: 24px;
    }

    .episode-edit-flow > .episode-gallery-panel {
        margin-top: 32px;
    }
}

/* Spiritual gifts participant card R45: deliberate hierarchy and breathing room. */
.gift-admin-participant-form .form-grid,
.gift-admin-summary .metric-grid,
.gift-admin-stages .metric-grid {
    margin-bottom: 0;
}

.gift-admin-form-divider {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--zuv-line);
}

.gift-admin-form-divider p {
    max-width: 70ch;
    margin: 8px 0 18px;
    color: var(--zuv-muted);
}

.gift-admin-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gift-admin-save,
.gift-admin-report-actions {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--zuv-line);
}

.gift-stage-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gift-stage-card {
    align-content: start;
    gap: 12px;
    background: var(--zuv-sand);
    box-shadow: none;
}

.gift-stage-state {
    width: fit-content;
    padding: 7px 10px;
    border-radius: 999px;
    color: var(--zuv-muted);
    background: #eee7dd;
    font-size: 0.78rem;
    font-weight: 850;
}

.gift-stage-state.is-complete {
    color: var(--zuv-green);
    background: var(--zuv-green-soft);
}

.gift-admin-actions form {
    margin: 0;
}

.gift-admin-action-meta {
    margin: 18px 0 0;
    color: var(--zuv-muted);
    font-size: 0.86rem;
}

@media(max-width:720px) {
    .gift-admin-status-grid,
    .gift-stage-grid {
        grid-template-columns: 1fr;
    }

    .gift-admin-save .button,
    .gift-admin-report-actions .button,
    .gift-admin-actions .button,
    .gift-admin-actions form {
        width: 100%;
    }
}
.cms-editor-group{border:1px solid var(--line,#ded4c5);border-radius:18px;background:#fff;overflow:hidden}.cms-editor-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.cms-editor-group>summary::-webkit-details-marker{display:none}.cms-editor-group>summary:after{content:"+";width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e7f5fb;color:#087cad;font-size:22px;font-weight:800}.cms-editor-group[open]>summary:after{content:"−"}.cms-editor-group>summary small{margin-left:auto;color:#716352}.cms-editor-group>.form-grid{padding:0 20px 20px;border-top:1px solid var(--line,#ded4c5)}@media(max-width:700px){.cms-editor-group>summary{align-items:flex-start;padding:16px}.cms-editor-group>summary small{display:none}.cms-editor-group>.form-grid{padding:0 14px 16px}}

/* Newsletter subscriber lifecycle and reporting */
.newsletter-two-columns{grid-template-columns:minmax(0,1fr) minmax(300px,420px)}
.newsletter-period-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0}
.newsletter-statistics-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:22px;margin:24px 0}
.newsletter-statistics-grid>.panel{margin:0;min-width:0}
.newsletter-statistics-filter{grid-template-columns:minmax(120px,.25fr) minmax(160px,.35fr) auto}
.newsletter-event-filter{grid-template-columns:minmax(260px,1fr) minmax(220px,.5fr) minmax(220px,.5fr) auto;align-items:end}
.newsletter-events-table{min-width:1120px}
.newsletter-trend{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.newsletter-trend>div{display:grid;gap:3px;padding:13px;border:1px solid var(--zuv-line);border-radius:14px;background:var(--zuv-sand)}
.newsletter-trend span,.newsletter-trend small{color:var(--zuv-muted)}
.newsletter-trend strong{color:var(--zuv-blue);font-size:1.2rem}
@media(max-width:1180px){.newsletter-two-columns,.newsletter-statistics-grid{grid-template-columns:1fr}.newsletter-period-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-event-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.newsletter-period-stats,.newsletter-statistics-filter,.newsletter-event-filter{grid-template-columns:1fr}.newsletter-trend{grid-template-columns:repeat(3,minmax(0,1fr))}.newsletter-two-columns>.panel{min-width:0}.newsletter-two-columns .button{max-width:100%;white-space:normal}}

/* Newsletter R4: durable audience-list management. */
.newsletter-list-filter{grid-template-columns:minmax(260px,1fr) minmax(190px,.35fr) auto}
.newsletter-list-member-filter{grid-template-columns:minmax(280px,1fr) minmax(220px,.45fr) auto}
.newsletter-list-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px}
.newsletter-list-invite{margin-top:24px}
.newsletter-list-invite>.alert{margin:0 0 22px}
.newsletter-list-member-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.newsletter-list-member-form .field-wide{grid-column:1/-1}
@media(max-width:1180px){.newsletter-list-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-list-member-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.newsletter-list-filter,.newsletter-list-member-filter,.newsletter-list-stats,.newsletter-list-member-form{grid-template-columns:1fr}.newsletter-list-member-form .field-wide{grid-column:auto}.newsletter-list-invite{padding:20px 16px}.newsletter-list-invite .button{width:100%}}

/* Newsletter delivery audit: keep every status and action visible on tablets and phones. */
@media(max-width:980px){
  .newsletter-deliveries-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}
  .newsletter-deliveries-wrap>.newsletter-deliveries-table{display:block;min-width:0;border:0;background:transparent}
  .newsletter-deliveries-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
  .newsletter-deliveries-table tbody{display:grid;gap:14px}
  .newsletter-deliveries-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px;border:1px solid var(--zuv-line);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(69,52,36,.06)}
  .newsletter-deliveries-table tbody td{display:grid;align-content:start;gap:5px;min-width:0;padding:10px 12px;border:0;overflow-wrap:anywhere}
  .newsletter-deliveries-table tbody td::before{content:attr(data-label);color:var(--zuv-muted);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
  .newsletter-deliveries-table tbody td[data-label="Veiksmai"]{grid-column:1/-1;padding-top:14px;border-top:1px solid var(--zuv-line)}
  .newsletter-deliveries-table tbody td[data-label="Veiksmai"]>.form-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;margin:0}
  .newsletter-deliveries-table tbody td[data-label="Veiksmai"] form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0}
  .newsletter-deliveries-table tbody td[data-label="Veiksmai"] form>.button,
  .newsletter-deliveries-table tbody td[data-label="Veiksmai"]>.form-footer>a{width:100%;white-space:normal}
  .newsletter-deliveries-table .newsletter-deliveries-empty{display:block;padding:0}
  .newsletter-deliveries-table .newsletter-deliveries-empty td{display:block;padding:0}
  .newsletter-deliveries-table .newsletter-deliveries-empty td::before{content:none}
}
@media(max-width:600px){
  .newsletter-deliveries-table tbody tr{grid-template-columns:1fr}
  .newsletter-deliveries-table tbody td[data-label="Veiksmai"]>.form-footer{grid-template-columns:1fr}
}

/* Payment subscription plan lifecycle controls. */
.subscription-plans-table{min-width:1120px}
.subscription-plan-status{min-width:250px;vertical-align:top}
.subscription-plan-status>details>summary{width:max-content;max-width:100%;color:var(--zuv-blue);font-weight:850;cursor:pointer}
.subscription-plan-status-form{display:grid;gap:10px;margin-top:12px;padding:14px;border:1px solid var(--zuv-line);border-radius:14px;background:var(--zuv-sand)}
.subscription-plan-status-form label{margin:0;font-size:.78rem;font-weight:800}
.subscription-plan-status-form select,.subscription-plan-status-form input{width:100%;min-width:0}
.subscription-plan-status-form .checkbox-row{align-items:flex-start;font-size:.76rem;line-height:1.35}
.subscription-plan-status-form .button{width:100%;white-space:normal}

/* Episode media lifecycle: reversible removal and version history. */
.episode-media-remove-form{margin:0}.episode-media-remove-form .button{width:max-content;max-width:100%;white-space:normal}.episode-gallery-item>div:last-child{gap:10px}.episode-gallery-item form{margin:0}.episode-gallery-item form .button{width:100%;white-space:normal}.episode-media-history-list{display:grid;gap:10px}.episode-media-history-row{display:grid;padding:14px 16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--zuv-line);border-radius:14px;background:var(--zuv-sand)}.episode-media-history-row>div{display:grid;min-width:0;gap:3px}.episode-media-history-row strong,.episode-media-history-row small{overflow-wrap:anywhere}.episode-media-history-row small{color:var(--zuv-muted);font-size:.76rem}.episode-media-history-row form{margin:0}.episode-media-history-row .button{white-space:normal}
@media(max-width:720px){.episode-media-history-row{grid-template-columns:1fr}.episode-media-history-row form,.episode-media-history-row .button,.episode-media-remove-form .button{width:100%}}

/* Sandboxed, read-only preview of versioned volunteer email templates. */
.vol-template-preview-wrap{display:grid;gap:10px;margin:0 20px 20px}.vol-template-preview{width:100%;min-height:360px;pointer-events:none;border:1px solid var(--zuv-line);border-radius:14px;background:#fff}
.distribution-code{display:block;max-width:100%;overflow-wrap:anywhere;font-size:clamp(13px,1.5vw,18px)!important;line-height:1.35!important}

/* R414 unified administrator work center and digest preferences. */
.work-alert-banner{display:flex;justify-content:space-between;gap:18px;padding:11px 28px;color:#075f82;background:#e7f5fb;text-decoration:none}.work-alert-banner.is-important{color:#7a4100;background:#fff1d8}.work-alert-banner.is-critical{color:#8f1d18;background:#fee9e7}.work-alert-banner[hidden]{display:none}.work-alert-banner span{font-weight:850}.nav-group-items a>small[data-work-count]{margin-left:auto;min-width:26px;padding:2px 7px;border-radius:999px;background:var(--zuv-blue);color:#fff;text-align:center}.nav-group-items a>small[data-work-count][hidden]{display:none}

[data-guest-second][hidden],.retreat-guest-capacity-override[hidden]{display:none!important}.retreat-guest-capacity-override{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:20px;align-items:center;margin:6px 0 24px;padding:20px 22px;border:1px solid #e8bd72;border-left:5px solid #c47a00;border-radius:18px;background:#fff7e8}.retreat-guest-capacity-override strong{display:block;margin-bottom:6px}.retreat-guest-capacity-override p{margin:0;color:#725b3b;line-height:1.5}.retreat-guest-capacity-override label{display:flex;align-items:flex-start;gap:10px;padding:13px;border-radius:12px;background:#fff}.retreat-guest-capacity-override input{width:20px;height:20px;flex:0 0 auto}@media(max-width:760px){.retreat-guest-capacity-override{grid-template-columns:1fr}}
.work-heading{align-items:end}.work-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 22px}.work-summary-grid>a,.work-summary-grid>div{display:grid;gap:6px;padding:16px;border:1px solid var(--zuv-line);border-radius:16px;background:#fff;color:inherit;text-decoration:none}.work-summary-grid>a:hover{border-color:var(--zuv-blue)}.work-summary-grid span{color:var(--zuv-muted);font-size:.78rem;font-weight:800}.work-summary-grid strong{color:var(--zuv-blue);font-size:1.55rem}.work-filter{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;align-items:end;gap:12px}.work-filter .field{margin:0}.work-list-panel{padding:0;overflow:hidden}.work-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px;border-bottom:1px solid var(--zuv-line);border-left:5px solid transparent}.work-row:last-child{border-bottom:0}.work-priority-p0{border-left-color:#b42318}.work-priority-p1{border-left-color:#d66b12}.work-priority-p2{border-left-color:var(--zuv-blue)}.work-priority{display:grid;gap:2px}.work-priority strong{font-size:1.2rem}.work-priority span,.work-meta{color:var(--zuv-muted);font-size:.78rem}.work-copy{min-width:0}.work-copy h2{margin:0 0 5px;font-size:1.05rem}.work-copy p{margin:0 0 7px}.work-copy a{color:inherit}.work-meta{display:flex;flex-wrap:wrap;gap:8px 16px}.work-meta .is-overdue{color:#b42318;font-weight:800}.work-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:22px}.work-detail-grid>.panel{margin:0}.work-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.work-actions form{margin:0}.compact-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:12px;margin:18px 0}.compact-form .field{margin:0}.work-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.work-timeline li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;padding:14px 0;border-bottom:1px solid var(--zuv-line)}.work-timeline li:last-child{border-bottom:0}.work-timeline span{color:var(--zuv-muted);font-size:.8rem}.work-timeline p{grid-column:1/-1;margin:0}.notification-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.notification-time-grid .field{margin:0}
.weekday-picker{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;border:0}.weekday-picker legend{width:100%;margin-bottom:6px;font-weight:800}.weekday-picker label{position:relative}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--zuv-line);border-radius:12px;background:#fff;font-weight:800;cursor:pointer}.weekday-picker input:checked+span{border-color:var(--zuv-blue);background:var(--zuv-blue);color:#fff}.weekday-picker input:focus-visible+span{outline:3px solid rgba(10,126,174,.25);outline-offset:2px}
@media(max-width:1180px){.work-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.work-detail-grid{grid-template-columns:1fr}}
.work-row-actions{display:grid;gap:10px;max-width:280px}.work-row-actions .button{white-space:normal;text-align:center}.resolution-form{max-width:1000px}.resolution-form fieldset{min-width:0;border:0;padding:0;margin:0 0 24px}.resolution-form legend{font-size:1.25rem;font-weight:800}.resolution-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--zuv-line);border-radius:16px;padding:18px;margin:12px 0}.resolution-choice label{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1;margin:0}.resolution-choice input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin-top:4px}.resolution-choice label>span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.resolution-choice small{font-size:.78rem;font-weight:400}.resolution-choice>a{flex:0 0 auto;font-size:.85rem}.resolution-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.resolution-form .form-help{overflow-wrap:anywhere}
@media(max-width:720px){.work-alert-banner{padding:10px 16px}.work-summary-grid,.work-filter,.notification-time-grid{grid-template-columns:1fr}.work-row{grid-template-columns:1fr;gap:12px}.work-row>.button{width:100%}.work-row-actions{max-width:none}.compact-form{grid-template-columns:1fr}.work-timeline li{grid-template-columns:1fr}.work-timeline p{grid-column:auto}.resolution-choice{align-items:stretch;flex-direction:column}.resolution-choice>a{margin-left:32px}.resolution-actions .button{width:100%}}

/* R435: simple, human-readable administrator permission picker. */
.simple-access-panel{padding:clamp(20px,3vw,38px)}
.simple-access-form,.permission-groups{display:grid;gap:24px}
.permission-group{min-width:0;margin:0;padding:20px;border:1px solid var(--zuv-line);border-radius:18px;background:var(--zuv-sand)}
.permission-group>legend{padding:0 10px;color:var(--zuv-brown);font-size:1.22rem;font-weight:900}
.permission-group>p{margin:0 0 16px;color:var(--zuv-muted)}
.permission-choice-list{display:grid;gap:12px}
.permission-choice{overflow:hidden;border:1px solid var(--zuv-line);border-radius:15px;background:#fff}
.permission-choice>label{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:12px;padding:17px;cursor:pointer}
.permission-choice>label>input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--zuv-blue)}
.permission-choice>label>span{display:grid;gap:6px;min-width:0}
.permission-choice>label strong{font-size:1rem;line-height:1.35}
.permission-choice>label small{color:var(--zuv-muted);font-size:.84rem;line-height:1.55}
.permission-choice:has(input:checked){border-color:#7fc6e2;box-shadow:0 0 0 2px rgba(10,126,174,.09)}
.permission-choice:has(input:checked)>label{background:#f1faff}
.permission-explanation{padding:0 17px 15px 55px}
.permission-explanation>summary{width:max-content;max-width:100%;color:var(--zuv-blue);font-size:.8rem;font-weight:850;cursor:pointer}
.permission-explanation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px;padding:14px;border-radius:12px;background:var(--zuv-sand)}
.permission-explanation-columns h3{margin:0 0 8px;font-size:.9rem}
.permission-explanation-columns ul{margin:0;padding-left:18px;color:var(--zuv-muted);font-size:.8rem;line-height:1.55}
.parish-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.parish-choice{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--zuv-line);border-radius:13px;background:#fff;font-weight:800;cursor:pointer}
.parish-choice input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--zuv-blue)}
.parish-choice:has(input:checked){border-color:#7fc6e2;background:#f1faff}
.simple-access-actions{position:sticky;bottom:12px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #b7ddeb;border-radius:16px;background:rgba(241,250,255,.96);box-shadow:0 12px 36px rgba(34,45,51,.14);backdrop-filter:blur(8px)}
.simple-access-actions p{margin:0;color:var(--zuv-muted);font-size:.84rem}
.simple-access-actions .button{flex:0 0 auto}
@media(max-width:760px){.permission-group{padding:15px 12px}.permission-choice>label{padding:14px 12px}.permission-explanation{padding:0 12px 13px}.permission-explanation-columns,.parish-choice-grid{grid-template-columns:1fr}.simple-access-actions{position:static;display:grid}.simple-access-actions .button{width:100%;white-space:normal}}

/* R444: aligned administrator team table and compact permission list. */
.administrator-team-table{min-width:1080px;table-layout:fixed}
.administrator-team-table .administrator-column{width:23%}
.administrator-team-table .username-column{width:16%}
.administrator-team-table .permissions-column{width:24%}
.administrator-team-table .status-column{width:11%}
.administrator-team-table .login-column{width:15%}
.administrator-team-table .actions-column{width:11%}
.administrator-team-table th,.administrator-team-table td{vertical-align:middle}
.administrator-team-table td:nth-child(4),.administrator-team-table td:nth-child(5),.administrator-team-table td:nth-child(6){white-space:nowrap}
.administrator-team-table .person-cell{min-width:0}
.administrator-team-table .person-cell>div{overflow:hidden}
.administrator-team-table .person-cell strong,.administrator-team-table .person-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.administrator-access-details{min-width:0}
.administrator-access-details>summary{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid #b7ddeb;border-radius:999px;color:var(--zuv-blue);background:var(--zuv-blue-soft);font-size:.78rem;font-weight:850;cursor:pointer;white-space:nowrap}
.administrator-access-details[open]>summary{margin-bottom:9px}
.administrator-access-details .badge-list{max-width:none}
.administrator-team-table .table-actions{display:table-cell;text-align:right}
@media(max-width:760px){
    .administrator-team-table{display:block;min-width:0;table-layout:auto}
    .administrator-team-table colgroup,.administrator-team-table thead{display:none}
    .administrator-team-table tbody{display:grid;gap:12px}
    .administrator-team-table tbody tr{display:grid;padding:16px;border:1px solid var(--zuv-line);border-radius:16px;background:#fff;box-shadow:var(--zuv-shadow-soft)}
    .administrator-team-table tbody td{display:grid;grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);gap:12px;padding:9px 0;border:0;white-space:normal!important;align-items:center}
    .administrator-team-table tbody td::before{content:attr(data-label);color:var(--zuv-muted);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
    .administrator-team-table tbody td:first-child{display:block;padding:0 0 12px;border-bottom:1px solid var(--zuv-line)}
    .administrator-team-table tbody td:first-child::before{display:none}
    .administrator-team-table .table-actions{display:grid;text-align:left}
    .administrator-team-table .table-actions .button{width:100%}
    .administrator-team-table tbody td[colspan]{display:block;text-align:center}
    .administrator-team-table tbody td[colspan]::before{display:none}
}
/* R456: granular, scope-aware administrator action permissions. */
.action-permission-panel{padding:clamp(20px,3vw,38px)}
.action-permission-form,.permission-category-list{display:grid;gap:16px}
.permission-matrix-heading{align-items:flex-start;gap:20px}
.permission-category,.permission-resource{overflow:hidden;border:1px solid var(--zuv-line);border-radius:16px;background:#fff}
.permission-category>summary,.permission-resource>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;cursor:pointer;list-style:none}
.permission-category>summary::-webkit-details-marker,.permission-resource>summary::-webkit-details-marker{display:none}
.permission-category>summary>span:first-child,.permission-resource>summary{min-width:0}
.permission-category>summary span:first-child,.permission-resource>summary span{display:grid;gap:4px}
.permission-category>summary strong{font-size:1.08rem}.permission-category summary small{color:var(--zuv-muted);font-size:.76rem;font-weight:700}
.permission-category[open]>summary{border-bottom:1px solid var(--zuv-line);background:#f4fbfe}.permission-summary-arrow{color:var(--zuv-blue);font-size:1.4rem;transition:transform .18s ease}.permission-category[open]>.permission-category-arrow,.permission-category[open]>summary>.permission-summary-arrow{transform:rotate(180deg)}
.permission-category-body{display:grid;gap:13px;padding:18px;background:var(--zuv-sand)}
.permission-category-intro{margin:0;color:var(--zuv-muted)}
.permission-scope-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:2px}
.permission-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.permission-action{display:grid;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:10px;padding:13px;border:1px solid var(--zuv-line);border-radius:13px;background:#fff;cursor:pointer}
.permission-action input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--zuv-blue)}
.permission-action>span{display:grid;gap:4px;min-width:0}.permission-action strong{font-size:.88rem;line-height:1.42}.permission-action small{color:var(--zuv-muted);font-size:.72rem;line-height:1.4}
.permission-action:has(input:checked){border-color:#7fc6e2;background:#f1faff;box-shadow:0 0 0 1px rgba(10,126,174,.07)}
.permission-action:has(input:disabled){cursor:default;opacity:.82}
.permission-resource{border-radius:13px}.permission-resource>summary{padding:14px 16px}.permission-resource[open]>summary{border-bottom:1px solid var(--zuv-line);background:#fff}.permission-resource-body{display:grid;gap:10px;padding:14px;background:#fbfaf7}
@media(max-width:900px){.permission-action-list{grid-template-columns:1fr}.permission-matrix-heading{display:grid}.permission-scope-toolbar{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:600px){.action-permission-panel{padding:15px 11px}.permission-category>summary{padding:15px 13px}.permission-category-body{padding:12px 9px}.permission-resource-body{padding:10px 8px}.permission-action{padding:12px 10px}.permission-scope-toolbar .button{flex:1 1 auto}.permission-matrix-heading .button-row{display:grid;grid-template-columns:1fr 1fr}.permission-matrix-heading .button{white-space:normal}}

/* R457: integrated, permission-aware mail centre. */
.mailboxes-grid .metric-card{text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.mailboxes-grid .metric-card:hover{transform:translateY(-2px);border-color:#84c7e0;box-shadow:var(--zuv-shadow)}
.mailboxes-grid .metric-card small{color:var(--zuv-muted)}
.mail-thread-unread td{background:#f1faff}.mail-thread-unread td:first-child{box-shadow:inset 4px 0 0 var(--zuv-blue)}
.communication-message-outbound{margin-left:clamp(18px,7vw,90px);background:#eef9fd;border-color:#b7ddeb}
.communication-message:not(.communication-message-outbound){margin-right:clamp(18px,7vw,90px)}
@media(max-width:700px){.communication-message-outbound,.communication-message:not(.communication-message-outbound){margin-right:0;margin-left:0}.mailboxes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Retreat participant workflow R457j: readable payment states and participant summaries. */
.admin-content .retreat-participant-heading p {
    max-width: 100%;
    line-height: 1.5;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.admin-content .retreat-payment-summary {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-content .retreat-payment-summary > div {
    min-height: 80px;
    transition: border-color .15s ease, background-color .15s ease;
}

.admin-content .retreat-payment-summary.is-paid > div,
.admin-content .retreat-payment-summary.is-waived > div {
    border-color: #b8dcc7;
    background: #edf8f1;
}

.admin-content .retreat-payment-summary.is-pending > div {
    border-color: #e4c986;
    background: #fff7df;
}

.admin-content .retreat-payment-summary.is-failed > div,
.admin-content .retreat-payment-summary.is-unpaid > div {
    border-color: #e3b6ad;
    background: #fff0ed;
}

.admin-content .retreat-payment-summary.is-refunded > div {
    border-color: #b9dbe9;
    background: #eef8fb;
}

.admin-content .retreat-payment-option {
    max-width: 100%;
    margin: 22px 0 0;
    color: var(--zuv-muted);
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.admin-content .retreat-confirmation-card > p {
    max-width: 100%;
    line-height: 1.55;
}

.admin-content .retreat-order-participants > .panel-heading {
    margin-bottom: clamp(30px, 3vw, 40px);
}

.admin-content .retreat-order-participants > .panel-heading > div:first-child {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.admin-content .retreat-order-participants > .panel-heading p {
    max-width: 78ch;
    margin-top: 8px;
    line-height: 1.55;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

.admin-content .retreat-order-participant-grid {
    margin-top: 2px;
}

@container admin-content (max-width: 760px) {
    .admin-content .retreat-payment-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-content .retreat-order-participants > .panel-heading {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-content .retreat-order-participants > .panel-heading > .status-pill {
        width: fit-content;
    }
}

@container admin-content (max-width: 430px) {
    .admin-content .retreat-payment-summary {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Retreat participant details R457k: clear, non-destructive admin editing sections. */
.admin-content .retreat-participant-form > .retreat-participant-form-section + .retreat-participant-form-section {
    margin-top: clamp(38px, 4vw, 54px);
}

.admin-content .retreat-participant-form-section > .panel-heading {
    margin-bottom: 22px;
}

.admin-content .retreat-participant-form-section .form-grid {
    align-items: start;
}

.admin-content .retreat-readonly-value {
    width: 100%;
    min-height: 62px;
    padding: 14px 16px;
    border: 1px solid var(--zuv-line);
    border-radius: 14px;
    background: var(--zuv-sand);
    line-height: 1.45;
}

.admin-content .retreat-readonly-value strong,
.admin-content .retreat-readonly-value span {
    overflow-wrap: anywhere;
}

.admin-content .retreat-participant-form > .form-footer {
    margin-top: clamp(32px, 4vw, 48px);
}

@container admin-content (max-width: 720px) {
    .admin-content .retreat-participant-form > .retreat-participant-form-section + .retreat-participant-form-section {
        margin-top: 34px;
    }
}

/* Retreat waitlist R457o: stable desktop columns and readable mobile cards. */
.admin-content .retreat-waitlist-admin-table {
    min-width: 1520px;
}

.admin-content .retreat-waitlist-admin-table th:nth-child(1),
.admin-content .retreat-waitlist-admin-table td:nth-child(1) { width: 10%; }
.admin-content .retreat-waitlist-admin-table th:nth-child(2),
.admin-content .retreat-waitlist-admin-table td:nth-child(2) { width: 15%; }
.admin-content .retreat-waitlist-admin-table th:nth-child(3),
.admin-content .retreat-waitlist-admin-table td:nth-child(3) { width: 12%; }
.admin-content .retreat-waitlist-admin-table th:nth-child(4),
.admin-content .retreat-waitlist-admin-table td:nth-child(4) { width: 13%; }
.admin-content .retreat-waitlist-admin-table th:nth-child(5),
.admin-content .retreat-waitlist-admin-table td:nth-child(5) { width: 10%; }
.admin-content .retreat-waitlist-admin-table th:nth-child(6),
.admin-content .retreat-waitlist-admin-table td:nth-child(6) { width: 28%; }
.admin-content .retreat-waitlist-admin-table th:nth-child(7),
.admin-content .retreat-waitlist-admin-table td:nth-child(7) { width: 12%; }

.admin-content .retreat-waitlist-admin-table td {
    min-width: 0;
    vertical-align: top;
}

.admin-content .retreat-waitlist-value > small,
.admin-content .priority-invite-state {
    display: block;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.admin-content .retreat-waitlist-value {
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-content .retreat-waitlist-contact .retreat-waitlist-value > span {
    display: block;
}

.admin-content .retreat-waitlist-admin-table .priority-invite-form {
    display: grid;
    width: 100%;
    min-width: 390px;
    grid-template-columns: minmax(240px, 1fr) minmax(96px, .34fr);
    align-items: end;
    gap: 12px;
}

.admin-content .retreat-waitlist-admin-table .priority-invite-form > label:not(.priority-invite-confirm) {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: var(--zuv-ink);
    font-size: .78rem;
    font-weight: 850;
}

.admin-content .retreat-waitlist-admin-table .priority-invite-form select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid var(--zuv-line-strong);
    border-radius: 11px;
    background: #fff;
    color: var(--zuv-ink);
    font: inherit;
}

.admin-content .retreat-waitlist-admin-table .priority-invite-confirm {
    display: flex;
    grid-column: 1 / -1;
    min-width: 0;
    align-items: flex-start;
    gap: 9px;
    color: var(--zuv-muted);
    font-size: .8rem;
    font-weight: 750;
    line-height: 1.45;
}

.admin-content .retreat-waitlist-admin-table .priority-invite-confirm input {
    width: 19px;
    height: 19px;
    min-width: 19px;
    min-height: 19px;
    margin: 1px 0 0;
    padding: 0;
    flex: 0 0 19px;
    accent-color: var(--zuv-blue);
}

.admin-content .retreat-waitlist-admin-table .priority-invite-confirm span {
    min-width: 0;
    overflow-wrap: normal;
}

.admin-content .retreat-waitlist-admin-table .priority-invite-form > .help-text,
.admin-content .retreat-waitlist-admin-table .priority-invite-form > .button {
    grid-column: 1 / -1;
}

.admin-content .retreat-waitlist-admin-table .priority-invite-form > .help-text {
    margin: 0;
    font-size: .78rem;
    line-height: 1.5;
}

.admin-content .retreat-waitlist-admin-table .priority-invite-form > .button {
    width: fit-content;
}

.admin-content .retreat-waitlist-actions {
    min-width: 180px;
}

.admin-content .retreat-waitlist-actions > details,
.admin-content .retreat-waitlist-actions > form {
    margin: 0 0 10px;
}

.admin-content .retreat-waitlist-actions > details > summary {
    min-height: 42px;
    padding: 8px 0;
    color: var(--zuv-blue);
    font-weight: 850;
    cursor: pointer;
}

.admin-content .retreat-waitlist-admin-table .retreat-waitlist-edit-form {
    display: grid;
    width: min(420px, 70vw);
    margin-top: 10px;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
}

@media (max-width: 900px) {
    .admin-content #laukiantieji .table-wrap {
        overflow: visible;
    }

    .admin-content .retreat-waitlist-admin-table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .admin-content .retreat-waitlist-admin-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
        border: 0;
    }

    .admin-content .retreat-waitlist-admin-table tbody,
    .admin-content .retreat-waitlist-admin-table tr,
    .admin-content .retreat-waitlist-admin-table td {
        display: block;
        width: 100%;
    }

    .admin-content .retreat-waitlist-admin-table .retreat-waitlist-entry {
        margin-bottom: 16px;
        padding: 8px 16px;
        border: 1px solid var(--zuv-line);
        border-radius: 16px;
        background: #fff;
    }

    .admin-content .retreat-waitlist-admin-table .retreat-waitlist-entry:hover {
        background: #fff;
    }

    .admin-content .retreat-waitlist-admin-table .retreat-waitlist-entry > td {
        display: grid;
        grid-template-columns: minmax(108px, .34fr) minmax(0, 1fr);
        gap: 12px;
        padding: 12px 0;
        border-bottom: 1px solid var(--zuv-line);
    }

    .admin-content .retreat-waitlist-admin-table .retreat-waitlist-entry > td::before {
        content: attr(data-label);
        color: var(--zuv-muted);
        font-size: .7rem;
        font-weight: 850;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .admin-content .retreat-waitlist-admin-table .retreat-waitlist-entry > td:last-child {
        border-bottom: 0;
    }

    .admin-content .retreat-waitlist-offer-cell > *,
    .admin-content .retreat-waitlist-actions > *,
    .admin-content .retreat-waitlist-entry > td > .retreat-waitlist-value {
        grid-column: 2;
    }

    .admin-content .retreat-waitlist-admin-table .priority-invite-form {
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-content .retreat-waitlist-admin-table .priority-invite-confirm,
    .admin-content .retreat-waitlist-admin-table .priority-invite-form > .help-text,
    .admin-content .retreat-waitlist-admin-table .priority-invite-form > .button {
        grid-column: 1;
    }

    .admin-content .retreat-waitlist-admin-table .priority-invite-form > .button,
    .admin-content .retreat-waitlist-actions .button {
        width: 100%;
    }

    .admin-content .retreat-waitlist-admin-table .retreat-waitlist-edit-form {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .admin-content .retreat-waitlist-admin-table .retreat-waitlist-entry > td {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .admin-content .retreat-waitlist-offer-cell > *,
    .admin-content .retreat-waitlist-actions > *,
    .admin-content .retreat-waitlist-entry > td > .retreat-waitlist-value {
        grid-column: 1;
    }
}

/* Retreat inventory R457o: an explicit save-and-notify action for matching waiters. */
.admin-content .retreat-inventory-save-actions {
    flex-wrap: wrap;
}

.admin-content .retreat-inventory-save-actions .retreat-inventory-notify-help {
    width: 100%;
    margin: 2px 0 0;
    text-align: right;
}

@media (max-width: 900px) {
    .admin-content .retreat-inventory-save-actions .retreat-inventory-notify-help {
        grid-column: 1 / -1;
        text-align: left;
    }
}
