.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

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

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

.loading-progress {
    position: absolute;
    display: block;
    width: 8rem;
    height: 8rem;
    inset: 20vh 0 auto 0;
    margin: 0 auto 0 auto;
}

    .loading-progress circle {
        fill: none;
        stroke: #e0e0e0;
        stroke-width: 0.6rem;
        transform-origin: 50% 50%;
        transform: rotate(-90deg);
    }

        .loading-progress circle:last-child {
            stroke: #1b6ec2;
            stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
            transition: stroke-dasharray 0.05s ease-in-out;
        }

.loading-progress-text {
    position: absolute;
    text-align: center;
    font-weight: bold;
    inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

    .loading-progress-text:after {
        content: var(--blazor-load-percentage-text, "Loading");
    }

code {
    color: #c02d76;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

:root {
    --portal-bg: #f5f0e8;
    --portal-ink: #1f2620;
    --portal-muted: #687064;
    --portal-panel: rgba(255, 252, 246, 0.92);
    --portal-line: #dfd5c7;
    --portal-primary: #1f5c4f;
    --portal-primary-strong: #123d36;
    --portal-accent: #d58b36;
    --portal-danger: #a33a2f;
    --portal-danger-strong: #79261f;
    --portal-success: #2f6f4f;
    --portal-shadow: 0 24px 80px rgba(55, 42, 25, 0.14);
    --portal-surface: rgba(255, 252, 246, 0.94);
    --portal-surface-strong: #fffdf9;
    --portal-surface-muted: #f7f4ed;
    --portal-radius-sm: 0.7rem;
    --portal-radius-md: 1rem;
    --portal-radius-lg: 1.25rem;
    --portal-space-1: 0.35rem;
    --portal-space-2: 0.65rem;
    --portal-space-3: 0.9rem;
    --portal-space-4: 1.15rem;
    --portal-focus-ring: 0 0 0 3px rgba(31, 92, 79, 0.2);
    font-family: "Aptos", "Segoe UI", sans-serif;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--portal-ink);
    background:
        radial-gradient(circle at top left, rgba(213, 139, 54, 0.20), transparent 32rem),
        linear-gradient(135deg, #fff8ed 0%, var(--portal-bg) 42%, #e7efe8 100%);
}

a {
    color: inherit;
}

.admin-layout {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    min-height: 100vh;
}

.portal-sidebar {
    position: sticky;
    top: 0;
    align-self: start;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 1.25rem;
    min-height: 100vh;
    padding: 1.15rem;
}

.admin-sidebar {
    color: #f9f4eb;
    background:
        linear-gradient(160deg, rgba(31, 92, 79, 0.96), rgba(18, 61, 54, 0.98)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 12px);
}

.brand-lockup {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
    padding: 0.15rem 0.2rem 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.brand-lockup strong,
.brand-lockup small {
    display: block;
}

.brand-lockup small {
    color: rgba(249, 244, 235, 0.68);
}

.brand-mark {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border-radius: 0.9rem;
    color: var(--portal-primary-strong);
    background: var(--portal-accent);
    font-weight: 800;
}

.portal-nav {
    overflow: auto;
    min-width: 0;
}

.portal-nav-section {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 1.05rem;
}

.portal-nav-section__label {
    padding: 0 0.72rem;
    color: rgba(255, 250, 242, 0.56);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.portal-nav ul {
    display: grid;
    gap: 0.28rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.shell-actions {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.current-user-panel {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    min-width: 0;
    padding: 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.55rem;
    background: rgba(255, 255, 255, 0.08);
}

.current-user-avatar {
    display: grid;
    flex: 0 0 auto;
    width: 2.05rem;
    height: 2.05rem;
    place-items: center;
    border-radius: 0.45rem;
    color: var(--portal-primary-strong);
    background: #fff3da;
    font-size: 0.82rem;
    font-weight: 900;
}

.current-user-details {
    display: grid;
    min-width: 0;
    gap: 0.12rem;
}

.current-user-details strong,
.current-user-details span,
.current-user-details code,
.current-user-details small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.current-user-details strong {
    color: #fffaf2;
}

.current-user-details span,
.current-user-details small,
.current-user-muted {
    color: rgba(249, 244, 235, 0.7);
}

.current-user-details code {
    color: #ffe2a9;
    font-size: 0.78rem;
}

.current-user-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
}

.current-user-actions .logout-button,
.shell-secondary-button {
    width: 100%;
    min-height: 2.25rem;
    border-radius: 0.45rem;
    font-size: 0.86rem;
}

.shell-secondary-button {
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fffaf2;
    background: rgba(255, 255, 255, 0.08);
}

.shell-secondary-button:hover {
    background: rgba(255, 255, 255, 0.14);
}

.portal-sidebar a {
    position: relative;
    display: block;
    min-width: 0;
    padding: 0.62rem 0.72rem 0.62rem 0.9rem;
    border-radius: 0.5rem;
    font-size: 0.93rem;
    font-weight: 650;
    line-height: 1.25;
    color: rgba(249, 244, 235, 0.78);
    text-decoration: none;
}

.portal-sidebar a.active,
.portal-sidebar a:hover {
    color: #fffaf2;
    background: rgba(255, 255, 255, 0.11);
}

.portal-sidebar a.active::before {
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 0.38rem;
    width: 0.18rem;
    border-radius: 999px;
    background: var(--portal-accent);
    content: "";
}

.admin-shell {
    width: min(100%, 86rem);
    padding: 2rem;
}

.tenant-layout {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    min-height: 100vh;
}

.tenant-layout .sidebar {
    color: #fffaf2;
    background:
        linear-gradient(170deg, rgba(44, 82, 61, 0.96), rgba(43, 61, 49, 0.98)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 12px);
}

.tenant-layout main {
    width: min(100%, 86rem);
    padding: 2rem;
}

.public-shell {
    min-height: 100vh;
    padding: clamp(1rem, 4vw, 3rem);
}

.registration-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 30rem);
    gap: clamp(1rem, 4vw, 3rem);
    align-items: center;
    width: min(100%, 76rem);
    min-height: calc(100vh - 6rem);
    margin: 0 auto;
}

.registration-copy h1 {
    max-width: 44rem;
    margin: 0;
    font-size: clamp(2.6rem, 8vw, 6.4rem);
    line-height: 0.92;
    letter-spacing: -0.075em;
}

.registration-copy p {
    max-width: 38rem;
    color: var(--portal-muted);
    font-size: 1.08rem;
    line-height: 1.7;
}

.registration-note {
    width: fit-content;
    max-width: 34rem;
    margin-top: 1.5rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(213, 139, 54, 0.38);
    border-radius: 1rem;
    color: #6d471c;
    background: rgba(255, 243, 220, 0.82);
    font-weight: 800;
}

.registration-card.rz-card {
    padding: 1.1rem;
}

.page-hero {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.page-hero h1,
.panel h2 {
    margin: 0;
}

.page-hero h1 {
    font-size: clamp(2rem, 5vw, 4rem);
    letter-spacing: -0.06em;
}

.hero-copy {
    max-width: 44rem;
    margin: 0.6rem 0 0;
    color: var(--portal-muted);
}

.tenant-context-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-top: 0.75rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.7rem;
    color: var(--portal-primary-strong);
    background: rgba(255, 252, 246, 0.76);
    font-size: 0.86rem;
    font-weight: 800;
}

.eyebrow {
    margin: 0 0 0.35rem;
    color: var(--portal-accent);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.tenant-grid {
    display: grid;
    grid-template-columns: minmax(18rem, 28rem) minmax(18rem, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.panel {
    padding: 1.25rem;
    border: 1px solid var(--portal-line);
    border-radius: 1.4rem;
    background: var(--portal-panel);
    box-shadow: var(--portal-shadow);
}

.portal-card.rz-card {
    border: 1px solid var(--portal-line);
    border-radius: 1.4rem;
    background: var(--portal-panel);
    box-shadow: var(--portal-shadow);
}

.dashboard-panel.rz-card {
    border-radius: 1rem;
    box-shadow: 0 14px 42px rgba(55, 42, 25, 0.10);
}

.api-unavailable-panel.rz-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
    background: #fff7f4;
}

.api-unavailable-panel .rz-icon {
    color: var(--portal-danger);
    font-size: 2rem;
}

.api-unavailable-panel h2,
.api-unavailable-panel p {
    margin: 0;
}

.api-unavailable-panel p {
    margin-top: 0.25rem;
    color: var(--portal-muted);
    font-weight: 700;
}

.dashboard-skeleton-stack {
    display: grid;
    gap: 1rem;
}

.dashboard-skeleton-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 1rem;
}

.dashboard-skeleton {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    background: #fff9ef;
}

.dashboard-skeleton::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), transparent);
    animation: dashboard-skeleton-shimmer 1.35s infinite;
}

.dashboard-skeleton--kpi {
    min-height: 5.2rem;
}

.dashboard-skeleton--bar {
    min-height: 3.4rem;
}

.dashboard-skeleton--panel {
    min-height: 18rem;
}

@keyframes dashboard-skeleton-shimmer {
    100% {
        transform: translateX(100%);
    }
}

.tenant-rz-grid {
    margin-bottom: 1rem;
}

.panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.stack {
    display: grid;
    gap: 1rem;
}

.field {
    display: grid;
    gap: 0.4rem;
    color: var(--portal-muted);
    font-size: 0.92rem;
    font-weight: 700;
}

.input {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.85rem;
    color: var(--portal-ink);
    background: #fffdf8;
    font: inherit;
}

textarea.input {
    min-height: 7rem;
    resize: vertical;
}

.input:focus {
    outline: 3px solid rgba(213, 139, 54, 0.24);
    border-color: var(--portal-accent);
}

.search-input {
    max-width: 24rem;
}

.directory-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.directory-filter-bar .rz-dropdown {
    min-width: 12rem;
}

.directory-filter-bar--single {
    justify-content: space-between;
}

.tenant-list-panel .rz-datatable-data td {
    cursor: pointer;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 0.85rem;
    color: #fffaf2;
    background: var(--portal-primary);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.button:hover:not(:disabled) {
    background: var(--portal-primary-strong);
}

.button:disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.button-secondary {
    color: var(--portal-primary-strong);
    background: #e7efe8;
}

.button-secondary:hover:not(:disabled) {
    background: #d9e7dc;
}

.button-danger {
    background: var(--portal-danger);
}

.button-danger:hover:not(:disabled) {
    background: var(--portal-danger-strong);
}

.button-small {
    min-height: 2.2rem;
    padding: 0.55rem 0.7rem;
    border-radius: 0.7rem;
    font-size: 0.86rem;
}

.login-button,
.logout-button {
    min-height: 2.5rem;
    padding: 0.65rem 0.9rem;
    border: 0;
    border-radius: 0.8rem;
    color: #fffaf2;
    background: var(--portal-primary);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.login-button:hover,
.logout-button:hover {
    background: var(--portal-primary-strong);
}

.logout-button-dark {
    width: 100%;
    color: #fffaf2;
    background: rgba(255, 255, 255, 0.12);
}

.logout-button-dark:hover {
    background: rgba(255, 255, 255, 0.2);
}

.alert {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    font-weight: 700;
}

.alert-success {
    color: #144431;
    background: #dcefe4;
}

.alert-error {
    color: #6d2019;
    background: #f7ddd8;
}

.metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.metrics div {
    padding: 1rem;
    border-radius: 1rem;
    background: #fff9ef;
}

.metric-tile {
    height: 100%;
    padding: 1rem;
    border-radius: 1rem;
    background: #fff9ef;
}

.metrics strong,
.metric-tile strong {
    display: block;
    font-size: clamp(2rem, 5vw, 3.6rem);
    line-height: 0.95;
}

.metrics span,
.metric-tile span {
    color: var(--portal-muted);
    font-weight: 800;
}

.tenant-context-chip {
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    color: #fffaf2;
    background: var(--portal-primary);
    font-size: 0.75rem;
}

.dashboard-metric {
    height: 100%;
    min-height: 8rem;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    background: #f7fbf8;
    box-shadow: var(--portal-shadow);
}

.dashboard-metric--attention {
    background: #fff7f4;
}

.dashboard-metric span,
.dashboard-metric small {
    display: block;
    color: var(--portal-muted);
    font-weight: 800;
}

.dashboard-metric strong {
    display: block;
    margin: 0.35rem 0;
    font-size: 2.75rem;
    line-height: 1;
}

.dashboard-kpi-bar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 0 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    background: rgba(255, 252, 246, 0.84);
    box-shadow: 0 12px 34px rgba(55, 42, 25, 0.08);
    overflow: hidden;
}

.dashboard-kpi {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    min-height: 5.2rem;
    padding: 0.8rem 1rem;
    border-right: 1px solid var(--portal-line);
}

.dashboard-kpi:last-child {
    border-right: 0;
}

.dashboard-kpi .rz-icon {
    color: var(--portal-primary);
    font-size: 1.35rem;
}

.dashboard-kpi span,
.dashboard-kpi small {
    display: block;
    color: var(--portal-muted);
    font-weight: 800;
}

.dashboard-kpi span {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dashboard-kpi strong {
    display: block;
    margin: 0.1rem 0;
    font-size: 1.8rem;
    line-height: 1;
}

.dashboard-kpi--attention {
    background: #fff7f4;
}

.dashboard-kpi--attention .rz-icon {
    color: var(--portal-danger);
}

.activity-setup-summary {
    margin-bottom: 1rem;
}

.activity-setup-cell {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.activity-setup-cell small {
    color: var(--portal-muted);
    font-weight: 750;
    line-height: 1.35;
}

.activity-setup-cell .rz-badge {
    width: fit-content;
    max-width: 100%;
    white-space: nowrap;
}

.activity-action-cluster {
    align-items: center;
}

.activity-editor-column {
    max-width: 72rem;
    margin: 0 auto;
}

.activity-setup-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 950;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: min(100vw, 46rem);
    max-width: none;
    min-width: 0;
    margin: 0;
    overflow: auto;
    padding: 1.15rem;
    border-left: 1px solid var(--portal-line);
    background: rgba(255, 252, 246, 0.94);
    box-shadow: -18px 0 60px rgba(55, 42, 25, 0.18);
}

.activity-drawer-tabs {
    min-width: 0;
}

.activity-form-section {
    display: grid;
    gap: 0.65rem;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.85rem;
    background: #fbfaf7;
}

.activity-form-section > strong {
    font-size: 0.85rem;
    color: var(--portal-ink);
}

.activity-advanced-card {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 24px rgba(55, 42, 25, 0.045);
}

.activity-advanced-card--muted {
    background: rgba(247, 244, 237, 0.72);
    box-shadow: none;
}

.activity-advanced-card__heading {
    display: grid;
    grid-template-columns: 2.35rem minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
}

.activity-advanced-card__heading > div,
.activity-setting-row > div,
.activity-advanced-field {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.activity-advanced-card__heading strong,
.activity-setting-row strong {
    color: var(--portal-ink);
    font-size: 0.92rem;
}

.activity-advanced-card__heading span,
.activity-setting-row span,
.activity-advanced-field small {
    color: var(--portal-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.activity-advanced-card__icon {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border-radius: 0.75rem;
    color: var(--portal-accent-strong);
    background: var(--portal-accent-soft);
}

.activity-advanced-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.activity-advanced-field label {
    color: var(--portal-ink);
    font-size: 0.76rem;
    font-weight: 800;
}

.activity-setting-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--portal-line);
}

.activity-advanced-card__notice {
    padding: 0.7rem 0.8rem;
    border-radius: 0.7rem;
    color: var(--portal-muted);
    background: rgba(247, 244, 237, 0.9);
    font-size: 0.78rem;
}

.activity-advanced-card__action {
    display: flex;
    justify-content: flex-end;
}

.activity-locked-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px dashed var(--portal-line);
    border-radius: 0.8rem;
    background: rgba(247, 244, 237, 0.72);
}

.activity-locked-action > div {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--portal-muted);
    font-size: 0.78rem;
    line-height: 1.4;
}

.activity-navigation-preview {
    --activity-preview-color: #1f5c4f;
    --activity-preview-soft: #dfece7;
    display: grid;
    gap: 0.55rem;
    padding: 0.8rem;
    border: 1px solid color-mix(in srgb, var(--activity-preview-color) 28%, var(--portal-line));
    border-radius: 0.85rem;
    background: color-mix(in srgb, var(--activity-preview-soft) 60%, white);
}

.activity-navigation-preview--blue { --activity-preview-color: #2563eb; --activity-preview-soft: #dbeafe; }
.activity-navigation-preview--default { --activity-preview-color: #1f5c4f; --activity-preview-soft: #dfece7; }
.activity-navigation-preview--teal { --activity-preview-color: #0f766e; --activity-preview-soft: #ccfbf1; }
.activity-navigation-preview--violet { --activity-preview-color: #7c3aed; --activity-preview-soft: #ede9fe; }
.activity-navigation-preview--amber { --activity-preview-color: #b45309; --activity-preview-soft: #fef3c7; }
.activity-navigation-preview--rose { --activity-preview-color: #be123c; --activity-preview-soft: #ffe4e6; }

.activity-navigation-preview__eyebrow {
    color: var(--activity-preview-color);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.activity-navigation-preview__item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.55rem 0.75rem;
    border-radius: 0.7rem;
    color: var(--activity-preview-color);
    background: white;
    box-shadow: 0 5px 16px color-mix(in srgb, var(--activity-preview-color) 14%, transparent);
}

.activity-navigation-preview__icon {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    border-radius: 0.55rem;
    color: white;
    background: var(--activity-preview-color);
}

.activity-navigation-preview small {
    color: var(--portal-muted);
    font-size: 0.74rem;
}

@media (max-width: 640px) {
    .activity-advanced-grid {
        grid-template-columns: 1fr;
    }

    .activity-locked-action {
        grid-template-columns: 1fr;
    }
}

.tenant-season-order-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tenant-season-list {
    display: grid;
    gap: 0.65rem;
}

.tenant-season-list__row {
    display: grid;
    grid-template-columns: 1.5rem minmax(11rem, 1fr) minmax(6.5rem, auto) minmax(6.5rem, auto) auto minmax(12rem, auto);
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.9rem;
    background: #fffaf2;
    transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.tenant-season-list__row:hover,
.tenant-season-list__row:focus-within {
    border-color: var(--portal-accent);
    background: #fff8ed;
    box-shadow: 0 8px 22px rgba(55, 42, 25, 0.08);
}

.tenant-season-list__drag {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    margin: -0.25rem;
    border-radius: 0.45rem;
    color: var(--portal-muted);
    cursor: grab;
    touch-action: none;
}

.tenant-season-list__drag:hover {
    color: var(--portal-accent);
    background: rgba(213, 139, 54, 0.12);
}

.tenant-season-list__history {
    display: grid;
    place-items: center;
    color: var(--portal-muted);
}

.tenant-season-list__drag:active {
    cursor: grabbing;
}

.season-editor-section > div:first-child p {
    margin: 0.2rem 0 0;
}

.tenant-season-list__main {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.tenant-season-list__main strong,
.tenant-season-list__main span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tenant-season-list__main span {
    color: var(--portal-muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.tenant-season-list__main:focus-visible {
    outline: 3px solid rgba(213, 139, 54, 0.32);
    outline-offset: 3px;
    border-radius: 0.35rem;
}

.tenant-season-list__date {
    display: grid;
    gap: 0.15rem;
    white-space: nowrap;
}

.tenant-season-list__date span {
    color: var(--portal-muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tenant-season-list__status {
    justify-self: start;
}

.tenant-season-list__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.activity-season-groups {
    display: grid;
    gap: 1rem;
}

.activity-type-groups {
    display: grid;
    gap: 1.4rem;
}

.activity-type-group {
    min-width: 0;
}

.activity-type-group__header {
    margin-bottom: 0.75rem;
    padding: 0 0.25rem;
}

.activity-season-group {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    background: rgba(255, 250, 242, 0.78);
}

.activity-season-group > header,
.activity-season-group__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.activity-season-group h3,
.activity-season-group__header h3 {
    margin: 0;
}

.activity-season-group p,
.activity-season-group__header p {
    margin: 0.2rem 0 0;
    color: var(--portal-muted);
    font-weight: 700;
}

.activity-season-activity {
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.8rem;
    background: #ffffff;
}

@media (max-width: 1180px) {
    .tenant-season-list__row {
        grid-template-columns: 1.5rem minmax(11rem, 1fr) minmax(6.5rem, auto) minmax(6.5rem, auto) auto;
    }

    .tenant-season-list__actions {
        grid-column: 2 / -1;
        justify-content: flex-start;
        padding-top: 0.1rem;
    }
}

@media (max-width: 640px) {
    .tenant-season-list__row {
        grid-template-columns: 1.5rem minmax(0, 1fr);
        align-items: start;
    }

    .tenant-season-list__drag,
    .tenant-season-list__history {
        grid-row: 1 / span 4;
        padding-top: 0.2rem;
    }

    .tenant-season-list__date,
    .tenant-season-list__status {
        grid-column: 2;
    }

    .tenant-season-list__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-top: 0.55rem;
        border-top: 1px solid var(--portal-line);
    }

    .activity-season-group > header,
    .activity-season-group__header {
        align-items: stretch;
        flex-direction: column;
    }
}

.dashboard-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.dashboard-status {
    min-height: 5rem;
    padding: 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.85rem;
    background: #f8f7f4;
}

.dashboard-status strong,
.dashboard-status span {
    display: block;
}

.dashboard-status strong {
    font-size: 1.8rem;
    line-height: 1;
}

.dashboard-status span {
    margin-top: 0.35rem;
    color: var(--portal-muted);
    font-weight: 800;
}

.dashboard-section {
    display: grid;
    gap: 0.75rem;
}

.dashboard-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.dashboard-section__header h3 {
    margin: 0;
}

.dashboard-section__header span,
.dashboard-muted {
    color: var(--portal-muted);
    font-weight: 800;
}

.dashboard-table {
    display: grid;
    gap: 0.45rem;
}

.dashboard-table__head,
.dashboard-table__row {
    display: grid;
    grid-template-columns: minmax(12rem, 1.4fr) minmax(7rem, 0.7fr) minmax(7rem, 0.7fr) minmax(9rem, 1fr);
    gap: 0.75rem;
    align-items: center;
}

.dashboard-table__head {
    color: var(--portal-muted);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.dashboard-table__row {
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.85rem;
    background: #ffffff;
}

.dashboard-table__row strong,
.dashboard-table__row small {
    display: block;
}

.dashboard-table__row small {
    margin-top: 0.2rem;
    color: var(--portal-muted);
}

.dashboard-actions {
    display: grid;
    gap: 0.65rem;
}

.dashboard-actions .rz-button {
    justify-content: flex-start;
}

.dashboard-action-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin: 0 0 1rem;
    padding: 0.55rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.95rem;
    background: rgba(255, 252, 246, 0.82);
}

.dashboard-action-bar .rz-button {
    min-width: 0;
}

.dashboard-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0 0 1rem;
    padding: 0.35rem;
    border: 1px solid rgba(223, 213, 199, 0.7);
    border-radius: 0.9rem;
    background: rgba(255, 252, 246, 0.45);
}

.dashboard-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.4rem;
    padding: 0.45rem 0.7rem;
    border: 0;
    border-radius: 0.65rem;
    color: var(--portal-muted);
    background: transparent;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.dashboard-tab:hover,
.dashboard-tab.is-active {
    color: var(--portal-primary-strong);
    background: rgba(231, 239, 232, 0.9);
}

.readiness-panel.rz-card {
    height: auto;
    align-self: start;
}

.readiness-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.readiness-summary div {
    min-height: 4.4rem;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.85rem;
    background: #fff9ef;
}

.readiness-summary strong,
.readiness-summary span {
    display: block;
}

.readiness-summary strong {
    font-size: 1.65rem;
    line-height: 1;
}

.readiness-summary span {
    margin-top: 0.25rem;
    color: var(--portal-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.readiness-list {
    display: grid;
    gap: 0.55rem;
}

.readiness-list--wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.readiness-group-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.readiness-group {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    background: rgba(255, 249, 239, 0.72);
}

.readiness-group__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.readiness-group__header h3 {
    margin: 0;
    font-size: 1rem;
}

.readiness-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    min-height: 4.6rem;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.85rem;
    background: #fffdf8;
}

.readiness-item .rz-icon {
    color: var(--portal-muted);
    font-size: 1.4rem;
}

.readiness-item strong,
.readiness-item span {
    display: block;
    min-width: 0;
}

.readiness-item span {
    margin-top: 0.15rem;
    color: var(--portal-muted);
    font-size: 0.86rem;
    line-height: 1.35;
}

.readiness-item--complete {
    border-color: rgba(47, 111, 79, 0.35);
    background: #f3faf5;
}

.readiness-item--complete .rz-icon {
    color: var(--portal-success);
}

.readiness-item--attention {
    border-color: rgba(213, 139, 54, 0.42);
    background: #fff9ef;
}

.readiness-item--attention .rz-icon {
    color: #9c641f;
}

.readiness-item--blocked {
    border-color: rgba(163, 58, 47, 0.34);
    background: #fff7f4;
}

.readiness-item--blocked .rz-icon {
    color: var(--portal-danger);
}

.attention-list {
    display: grid;
    gap: 0.6rem;
}

.attention-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    min-height: 4.4rem;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.85rem;
    background: #fffdf8;
}

.attention-item .rz-icon {
    color: var(--portal-muted);
    font-size: 1.35rem;
}

.attention-item strong,
.attention-item span {
    display: block;
    min-width: 0;
}

.attention-title-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.attention-chip {
    display: inline-flex;
    width: fit-content;
    padding: 0.18rem 0.45rem;
    border-radius: 999px;
    color: var(--portal-primary-strong);
    background: #e7efe8;
    font-size: 0.72rem;
    font-weight: 900;
}

.attention-item span {
    margin-top: 0.15rem;
    color: var(--portal-muted);
    font-size: 0.88rem;
    line-height: 1.35;
}

.attention-item--blocker {
    border-color: rgba(163, 58, 47, 0.38);
    background: #fff7f4;
}

.attention-item--blocker .rz-icon {
    color: var(--portal-danger);
}

.attention-item--warning {
    border-color: rgba(213, 139, 54, 0.42);
    background: #fff9ef;
}

.attention-item--warning .rz-icon {
    color: #9c641f;
}

.attention-item--notice {
    background: #f7fbf8;
}

.attention-item--notice .rz-icon {
    color: var(--portal-primary);
}

.dashboard-empty-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
    min-height: 3.4rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid rgba(47, 111, 79, 0.28);
    border-radius: 0.85rem;
    color: var(--portal-primary-strong);
    background: #f3faf5;
    font-weight: 800;
}

.dashboard-empty-inline .rz-icon {
    color: var(--portal-success);
}

.dashboard-scope-note {
    margin-top: 0.85rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.75rem;
    color: var(--portal-muted);
    background: rgba(255, 252, 246, 0.78);
    font-size: 0.86rem;
    font-weight: 800;
}

.profile-summary-card {
    margin-bottom: 1rem;
}

.profile-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.profile-avatar {
    display: grid;
    width: 5rem;
    height: 5rem;
    place-items: center;
    border-radius: 1.5rem;
    color: var(--portal-primary-strong);
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.75), transparent 1.8rem),
        linear-gradient(135deg, #f4b66b, #d58b36);
    font-size: 1.6rem;
    font-weight: 900;
}

.profile-summary-identity {
    min-width: 0;
}

.profile-summary-identity h2 {
    margin: 0;
    font-size: clamp(1.8rem, 4vw, 2.55rem);
    letter-spacing: -0.05em;
}

.profile-summary-identity .eyebrow {
    margin: 0 0 0.2rem;
}

.profile-summary-email {
    margin: 0.25rem 0 0.75rem;
    overflow-wrap: anywhere;
    color: var(--portal-muted);
    font-weight: 750;
}

.profile-summary-context {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.profile-summary-context-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: center;
    min-width: 9.5rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.75rem;
    background: #fffaf2;
}

.profile-summary-context-item .rz-icon {
    color: var(--portal-primary);
}

.profile-summary-context-item span,
.profile-summary-context-item strong {
    display: block;
}

.profile-summary-context-item span {
    color: var(--portal-muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.profile-summary-context-item strong {
    overflow-wrap: anywhere;
    font-size: 0.95rem;
}

.chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.chip-list--compact {
    gap: 0.35rem;
}

.profile-section {
    display: grid;
    gap: 0.65rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--portal-line);
}

.profile-section > .eyebrow {
    margin: 0;
}

.profile-tabs {
    min-width: 0;
}

.profile-tabs .rz-tabview-nav {
    flex-wrap: wrap;
}

.profile-tabs .rz-tabview-panels {
    padding: 1rem 0 0;
    background: transparent;
}

.profile-tab-card {
    min-height: 100%;
}

.profile-identity-card {
    display: grid;
    align-content: start;
    gap: 0.85rem;
}

.profile-readonly-list {
    margin: 0;
}

.account-status-card {
    display: grid;
    align-content: start;
    gap: 0.85rem;
}

.account-status-card h2 {
    margin: 0;
}

.account-status-list {
    display: grid;
    gap: 0.65rem;
}

.account-status-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.75rem;
    background: #fffaf2;
}

.account-status-item .rz-icon {
    margin-top: 0.1rem;
    color: var(--portal-primary);
}

.account-status-item strong,
.account-status-item span {
    display: block;
}

.account-status-item span {
    margin-top: 0.2rem;
    color: var(--portal-muted);
    font-size: 0.86rem;
    font-weight: 750;
}

.account-status-item.is-muted {
    opacity: 0.7;
}

.profile-security-status-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profile-password-card {
    display: grid;
    align-content: start;
    gap: 0.85rem;
}

.profile-password-card h2 {
    margin: -0.4rem 0 0;
}

.profile-password-card .hero-copy {
    margin: 0;
}

.profile-action-icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.85rem;
    color: var(--portal-primary-strong);
    background: #fff2e0;
}

.profile-action-icon .rz-icon {
    font-size: 1.35rem;
}

.profile-diagnostics-card {
    margin: 0;
}

.profile-diagnostics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.profile-diagnostics-grid > section {
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.75rem;
    background: #fffaf2;
}

.profile-diagnostics-grid .eyebrow {
    margin-top: 0;
}

.organization-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.organization-form-section,
.user-create-section,
.tenant-onboarding-section {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.75rem;
    background: #fffaf2;
}

.organization-form-section > .eyebrow,
.user-create-section > .eyebrow,
.tenant-onboarding-section .eyebrow {
    margin: 0;
}

.tenant-onboarding-section h3 {
    margin: 0.2rem 0 0;
}

.organization-create-modal,
.user-create-modal {
    width: min(100%, 62rem);
}

.modal-card.tenant-onboarding-modal {
    width: min(100%, 88rem);
}

.account-action-placeholder {
    display: grid;
    gap: 0.35rem;
    min-height: 100%;
    padding: 1rem;
    border: 1px dashed var(--portal-line);
    border-radius: 1rem;
    background: #fff9ef;
}

.account-action-placeholder strong {
    color: var(--portal-primary-strong);
}

.account-action-placeholder span {
    color: var(--portal-muted);
}

.directory-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.directory-summary span {
    padding: 0.38rem 0.55rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.45rem;
    color: var(--portal-muted);
    background: #fffaf2;
    font-size: 0.82rem;
    font-weight: 800;
}

.people-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.people-directory-card {
    min-width: 0;
}

.people-directory-tabs {
    min-width: 0;
}

.people-directory-tabs .rz-tabview-nav {
    flex-wrap: wrap;
}

.people-directory-panel {
    display: grid;
    gap: 1rem;
    min-width: 0;
    padding-top: 1rem;
}

.people-toolbar {
    display: flex;
    justify-content: flex-end;
}

.family-view-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.75rem;
    background: rgba(255, 249, 239, 0.82);
}

.family-view-intro h2,
.family-view-intro p {
    margin: 0;
}

.family-view-intro .eyebrow {
    margin-bottom: 0.25rem;
}

.family-view-intro > div > p:last-child {
    max-width: 48rem;
    margin-top: 0.4rem;
    color: var(--portal-muted);
    font-weight: 700;
    line-height: 1.45;
}

.family-directory-toolbar {
    display: grid;
    grid-template-columns: minmax(16rem, 1fr) minmax(13rem, 0.45fr);
    gap: 0.75rem;
    align-items: end;
    min-width: 0;
}

.family-directory-grid {
    min-width: 0;
}

.family-role-cell,
.family-connection-list,
.family-connection {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

.family-role-cell small,
.family-empty-cell {
    color: var(--portal-muted);
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.35;
}

.family-connection {
    padding: 0.5rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.55rem;
    background: rgba(255, 252, 246, 0.82);
}

.family-person-link {
    display: grid;
    gap: 0.15rem;
    width: 100%;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.family-person-link strong,
.family-person-link span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.family-person-link strong {
    color: var(--portal-primary-strong);
}

.family-person-link span {
    color: var(--portal-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.family-person-link:hover strong,
.family-person-link:focus-visible strong {
    text-decoration: underline;
}

.family-person-link:focus-visible {
    outline: 2px solid var(--portal-primary);
    outline-offset: 0.2rem;
    border-radius: 0.2rem;
}

.family-link-flags {
    gap: 0.3rem;
}

.people-directory-summary {
    margin-bottom: 1rem;
}

.registration-review-workspace {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.registration-review-summary {
    margin-bottom: 1rem;
}

.registration-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    min-width: 0;
}

.registration-queue-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
    padding-top: 0.9rem;
    border-top: 1px solid var(--portal-line);
}

.registration-queue-toolbar p {
    margin: 0 0 0.2rem;
}

.registration-queue-toolbar span,
.registration-audit-note,
.registration-attention-cell small {
    color: var(--portal-muted);
    font-weight: 750;
    line-height: 1.4;
}

.registration-queue-actions,
.registration-drawer-header-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    min-width: 0;
}

.registration-queue-actions .rz-button {
    white-space: nowrap;
}

.registration-queue-card {
    min-width: 0;
}

.registration-empty-state {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-height: 16rem;
    padding: 1rem;
    color: var(--portal-muted);
}

.registration-empty-state .rz-icon {
    color: var(--portal-primary);
    font-size: 2rem;
}

.registration-empty-state h2 {
    margin: 0 0 0.35rem;
    color: var(--portal-ink);
}

.registration-empty-state p {
    margin: 0;
}

.registration-attention-cell {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.registration-attention-cell .rz-badge {
    width: fit-content;
    max-width: 100%;
}

.people-detail-drawer,
.registration-detail-drawer,
.tenant-detail-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 950;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    width: min(100vw, 40rem);
    max-height: 100vh;
    min-width: 0;
    overflow: auto;
    padding: 1.15rem;
    border-left: 1px solid var(--portal-line);
    background: rgba(255, 252, 246, 0.94);
    box-shadow: -18px 0 60px rgba(55, 42, 25, 0.18);
}

.people-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 940;
    background: rgba(31, 38, 32, 0.22);
}

.people-drawer-tabs {
    min-width: 0;
}

.people-drawer-tabs .rz-tabview-nav,
.registration-drawer-tabs .rz-tabview-nav {
    flex-wrap: wrap;
}

.person-role-panel {
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.55rem;
    background: #fffaf2;
}

.person-role-panel strong {
    color: var(--portal-primary-strong);
    font-size: 1.05rem;
}

.person-role-panel span {
    color: var(--portal-muted);
    font-weight: 750;
}

.overview-metric-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.overview-metric {
    display: grid;
    gap: 0.25rem;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.55rem;
    background: #fffaf2;
}

.overview-metric span {
    color: var(--portal-muted);
    font-size: 0.78rem;
    font-weight: 850;
}

.overview-metric strong {
    font-size: 1.35rem;
}

.drawer-empty,
.drawer-section {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.drawer-empty {
    min-height: 18rem;
    align-content: center;
    color: var(--portal-muted);
}

.drawer-empty h2,
.drawer-header h2,
.drawer-section h3 {
    margin: 0;
}

.drawer-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    min-width: 0;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--portal-line);
}

.drawer-header span {
    display: block;
    margin-top: 0.25rem;
    color: var(--portal-muted);
    font-weight: 750;
}

.drawer-action-bar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 0.45rem;
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
}

.drawer-action-bar .rz-button {
    width: 100%;
    min-width: 0;
    max-width: none;
    justify-content: center;
}

.drawer-action-bar--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.drawer-action-bar--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.drawer-workflow {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.drawer-workflow-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.55rem;
    background: #fffaf2;
}

.drawer-workflow-heading h3 {
    margin: 0;
    font-size: 1.05rem;
}

.drawer-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.85rem;
}

.drawer-section {
    padding-top: 0.9rem;
    border-top: 1px solid var(--portal-line);
}

.drawer-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
}

.relationship-action-list {
    display: grid;
    gap: 0.65rem;
}

.relationship-action-row {
    display: grid;
    gap: 0.6rem;
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.55rem;
    background: #fffaf2;
}

.relationship-action-row strong,
.relationship-action-row span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.relationship-action-row span {
    color: var(--portal-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.people-modal-card {
    width: min(100%, 56rem);
}

.people-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.people-form-section,
.relationship-permissions {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.65rem;
    background: #fffaf2;
}

.people-form-section--wide {
    grid-column: 1 / -1;
}

.relationship-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.people-detail-drawer .people-form-grid,
.people-detail-drawer .relationship-form-grid {
    grid-template-columns: 1fr;
}

.people-detail-drawer .people-form-section--wide {
    grid-column: auto;
}

.relationship-permissions {
    margin-top: 1rem;
}

.relationship-permissions label {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-weight: 750;
}

.account-link-warning {
    padding: 0.75rem;
    border: 1px solid #ead2a4;
    border-radius: 0.55rem;
    color: #725019;
    background: #fff6df;
    font-weight: 750;
}

.family-context-grid {
    display: grid;
    grid-template-columns: minmax(16rem, 0.8fr) repeat(2, minmax(16rem, 1fr));
    gap: 1rem;
}

.family-context-card {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.65rem;
    background: #fffaf2;
}

.family-context-card h3 {
    margin: 0;
    font-size: 1.05rem;
}

.family-link-list {
    display: grid;
    gap: 0.65rem;
}

.family-link-row {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.55rem;
    background: rgba(255, 252, 246, 0.82);
}

.family-link-row strong,
.family-link-row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.family-link-row span {
    color: var(--portal-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.config-summary-card h2 {
    margin: 0;
}

.config-summary-card {
    margin-bottom: 1rem;
}

.config-overview-grid {
    display: grid;
    grid-template-columns: minmax(18rem, 0.9fr) minmax(18rem, 1.4fr);
    gap: 1rem;
}

.config-summary-card,
.settings-panel {
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    background: rgba(255, 249, 239, 0.82);
}

.config-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0 0 1rem;
}

.config-flow.is-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0.25rem;
}

.admin-tenant-detail-drawer .config-flow,
.admin-tenant-detail-drawer .config-flow.is-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.config-flow-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.2rem 0.65rem;
    min-height: 4.6rem;
    padding: 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    background: #fffaf2;
}

.config-flow-step span {
    display: grid;
    grid-row: span 2;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 0.7rem;
    color: var(--portal-primary-strong);
    background: #e7efe8;
    font-weight: 900;
}

.config-flow-step strong,
.config-flow-step small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.config-flow-step strong {
    align-self: end;
}

.config-flow-step small {
    color: var(--portal-muted);
    font-weight: 800;
}

.config-flow-step.is-current {
    border-color: rgba(31, 92, 79, 0.42);
    background: #eef6ef;
}

.config-flow-step.is-current span {
    color: #fffaf2;
    background: var(--portal-primary);
}

.settings-grid {
    display: grid;
    grid-template-columns: minmax(20rem, 1.2fr) minmax(18rem, 0.8fr);
    gap: 1rem;
}

.config-readiness-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.config-readiness-card {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.65rem;
    background: #fffaf2;
}

.config-readiness-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

.config-readiness-card h3 {
    margin: 0;
    font-size: 1rem;
}

.config-definition-list {
    display: grid;
    gap: 0.8rem;
    margin: 1rem 0 0;
}

.config-definition-list div {
    display: grid;
    gap: 0.2rem;
}

.config-definition-list dt {
    color: var(--portal-muted);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.config-definition-list dd {
    margin: 0;
    font-weight: 800;
}

.feature-list {
    display: grid;
    gap: 0.6rem;
}

.feature-list--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feature-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.9rem;
    background: #fff9ef;
}

.feature-row code {
    color: var(--portal-primary-strong);
    word-break: break-word;
}

.plan-list {
    display: grid;
    gap: 0.65rem;
}

.plan-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    width: 100%;
    padding: 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    color: var(--portal-ink);
    background: #fff9ef;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.plan-list-item:hover,
.plan-list-item.is-selected {
    border-color: var(--portal-accent);
    background: #fff3dc;
}

.plan-list-item strong,
.plan-list-item code {
    display: block;
}

.plan-list-item code {
    margin-top: 0.2rem;
    color: var(--portal-primary-strong);
}

.checkbox-line {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 3.4rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.9rem;
    background: #fffaf2;
    font-weight: 800;
}

.json-editor textarea,
textarea.json-editor {
    font-family: "Cascadia Mono", "Consolas", monospace;
}

.json-view {
    max-height: 34rem;
    overflow: auto;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: 1rem;
    color: #f8f1e8;
    background:
        linear-gradient(145deg, rgba(31, 38, 32, 0.98), rgba(18, 61, 54, 0.98)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 12px);
    font-size: 0.88rem;
    line-height: 1.55;
    white-space: pre-wrap;
}

.tenant-grid-table .rz-cell-data code,
.tenant-grid-table code {
    color: var(--portal-primary-strong);
    word-break: break-word;
}

.tenant-inline-list {
    display: grid;
    gap: 0.65rem;
}

.tenant-inline-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.9rem;
    background: #fff9ef;
}

.tenant-inline-list__item strong,
.tenant-inline-list__item small {
    display: block;
}

.tenant-inline-list__item small {
    margin-top: 0.2rem;
    color: var(--portal-muted);
}

.public-page-block-button {
    width: 100%;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.public-page-block-button.is-selected strong {
    color: var(--portal-primary);
}

.public-page-block-list__item {
    cursor: grab;
}

.public-page-block-list__item:active {
    cursor: grabbing;
}

.structured-editor {
    display: grid;
    gap: 0.75rem;
}

.structured-editor__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.structured-editor__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
}

.structured-editor__row--three {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) auto;
}

.structured-editor__group {
    display: grid;
    gap: 0.65rem;
    padding: 0.8rem;
    border: 1px solid var(--portal-line);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.55);
}

.failure-reason {
    color: var(--portal-danger);
}

.tenant-table-wrap {
    overflow-x: auto;
}

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

.tenant-table th,
.tenant-table td {
    padding: 0.9rem 0.75rem;
    border-bottom: 1px solid var(--portal-line);
    text-align: left;
    vertical-align: middle;
}

.tenant-table th {
    color: var(--portal-muted);
    font-size: 0.76rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.tenant-table td strong,
.tenant-table td small {
    display: block;
}

.tenant-table td small {
    margin-top: 0.25rem;
    color: var(--portal-danger);
}

.tenant-table code {
    color: var(--portal-primary-strong);
    word-break: break-word;
}

.tenant-table tr.is-muted {
    opacity: 0.62;
}

.row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.status-pill {
    display: inline-flex;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: #ece5da;
    color: #5e554b;
    font-size: 0.78rem;
    font-weight: 900;
}

.status-active {
    color: #174b35;
    background: #d9eddf;
}

.status-pending {
    color: #7a4b12;
    background: #f7e4c6;
}

.status-failed {
    color: #802a22;
    background: #f2d3ce;
}

.status-deleted {
    color: #58524d;
    background: #e4ded6;
}

.empty-state {
    padding: 2rem;
    border: 1px dashed var(--portal-line);
    border-radius: 1rem;
    color: var(--portal-muted);
    text-align: center;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: 1rem;
    overflow: auto;
    background: rgba(31, 38, 32, 0.42);
    backdrop-filter: blur(5px);
    z-index: 900;
}

.modal-card {
    width: min(100%, 34rem);
    max-height: calc(100vh - 2rem);
    overflow: auto;
    padding: 1.4rem;
    border-radius: 1.4rem;
    background: #fffaf2;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
}

.config-modal-card {
    width: min(100%, 72rem);
    max-height: calc(100vh - 2rem);
    overflow: auto;
}

.modal-card h2 {
    margin-top: 0;
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.7rem;
    margin-top: 1rem;
}

.validation-message,
.validation-errors {
    color: var(--portal-danger);
}

@media (max-width: 900px) {
    .admin-layout,
    .tenant-layout {
        grid-template-columns: 1fr;
    }

    .admin-sidebar,
    .tenant-layout .sidebar {
        position: static;
        display: grid;
        grid-template-rows: auto auto auto;
        min-height: auto;
    }

    .portal-nav {
        overflow: visible;
    }

    .portal-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.8rem;
    }

    .portal-nav-section {
        margin-bottom: 0;
    }

    .portal-nav ul {
        grid-template-columns: 1fr;
    }

    .shell-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .current-user-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-shell,
    .tenant-layout main {
        padding: 1rem;
    }

    .page-hero,
    .panel-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .tenant-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-kpi-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .api-unavailable-panel.rz-card,
    .dashboard-skeleton-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-kpi:nth-child(2) {
        border-right: 0;
    }

    .dashboard-kpi:nth-child(-n+2) {
        border-bottom: 1px solid var(--portal-line);
    }

    .config-overview-grid,
    .config-readiness-grid,
    .family-context-grid,
    .people-workspace,
    .family-directory-toolbar,
    .registration-filter-grid,
    .relationship-form-grid,
    .settings-grid,
    .organization-form-grid,
    .profile-diagnostics-grid,
    .config-flow,
    .config-flow.is-compact,
    .admin-tenant-detail-drawer .config-flow,
    .admin-tenant-detail-drawer .config-flow.is-compact,
    .dashboard-status-grid,
    .readiness-list--wide,
    .readiness-group-grid {
        grid-template-columns: 1fr;
    }

    .profile-summary {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .profile-summary-context {
        grid-column: 1 / -1;
    }

    .profile-security-status-list {
        grid-template-columns: 1fr;
    }

    .people-detail-drawer,
    .registration-detail-drawer,
    .tenant-detail-drawer {
        width: min(100vw, 36rem);
    }

    .activity-setup-drawer {
        width: min(100vw, 40rem);
    }

    .drawer-action-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .registration-queue-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .registration-queue-actions {
        justify-content: flex-start;
    }

    .people-form-grid {
        grid-template-columns: 1fr;
    }

    .feature-list--compact {
        grid-template-columns: 1fr;
    }

    .dashboard-table__head {
        display: none;
    }

    .dashboard-table__row {
        grid-template-columns: 1fr;
    }

    .readiness-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .readiness-item .rz-button,
    .attention-item .rz-button {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .attention-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .search-input {
        max-width: none;
    }

    .directory-filter-bar .rz-dropdown {
        flex: 1 1 12rem;
    }
}

@media (max-width: 560px) {
    .portal-nav,
    .metrics {
        grid-template-columns: 1fr;
    }

    .family-view-intro {
        align-items: stretch;
        flex-direction: column;
    }

    .brand-lockup {
        padding-bottom: 0.7rem;
    }

    .current-user-actions {
        grid-template-columns: 1fr;
    }

    .overview-metric-grid,
    .drawer-action-bar {
        grid-template-columns: 1fr;
    }

    .profile-summary {
        grid-template-columns: 1fr;
    }

    .profile-summary-context {
        grid-column: auto;
        grid-template-columns: 1fr;
    }

    .people-detail-drawer,
    .registration-detail-drawer,
    .tenant-detail-drawer {
        width: 100vw;
        padding: 0.9rem;
    }

    .registration-empty-state {
        align-items: flex-start;
        flex-direction: column;
    }

    .activity-setup-drawer {
        width: 100vw;
        padding: 0.9rem;
    }

    .modal-actions,
    .row-actions,
    .tenant-inline-list__item {
        flex-direction: column;
    }

    .structured-editor__header {
        align-items: stretch;
        flex-direction: column;
    }

    .structured-editor__row,
    .structured-editor__row--three {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-kpi-bar {
        grid-template-columns: 1fr;
    }

    .dashboard-kpi {
        border-right: 0;
        border-bottom: 1px solid var(--portal-line);
    }

    .dashboard-kpi:last-child {
        border-bottom: 0;
    }

    .directory-filter-bar,
    .directory-filter-bar--single {
        align-items: stretch;
        flex-direction: column;
    }

    .directory-filter-bar .rz-dropdown {
        width: 100%;
    }
}
.portal-api-unavailable {
    position: fixed;
    z-index: 2000;
    right: 1.25rem;
    bottom: 1.25rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    max-width: min(34rem, calc(100vw - 2rem));
    padding: .9rem 1rem;
    border: 1px solid rgba(185, 28, 28, .3);
    border-radius: .75rem;
    background: #fff7ed;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .18);
    color: #7f1d1d;
}

.portal-drawer {
    isolation: isolate;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    border-top-left-radius: var(--portal-radius-lg);
    border-bottom-left-radius: var(--portal-radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.72), transparent 12rem),
        var(--portal-surface);
}

.portal-drawer .drawer-header {
    position: sticky;
    top: -1.15rem;
    z-index: 4;
    margin: -1.15rem -1.15rem 0;
    padding: 1.15rem 1.15rem 0.95rem;
    border-bottom: 1px solid var(--portal-line);
    background: #fffcf6;
    backdrop-filter: blur(16px);
}

.admin-tenant-detail-drawer .drawer-header::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    content: "";
    background: var(--portal-line);
}

.module-lifecycle-list {
    isolation: isolate;
}

.module-lifecycle-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-md);
    background: var(--portal-surface-strong);
    box-shadow: 0 8px 22px rgba(55, 42, 25, 0.05);
}

.module-lifecycle-card > div:first-child {
    display: grid;
    gap: 0.3rem;
    min-width: 0;
}

.module-lifecycle-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    min-width: max-content;
}

@media (max-width: 640px) {
    .module-lifecycle-card {
        grid-template-columns: 1fr;
    }

    .module-lifecycle-card__actions {
        justify-content: flex-start;
        min-width: 0;
        flex-wrap: wrap;
    }
}

.portal-drawer .drawer-form-actions:last-child {
    position: sticky;
    bottom: -1.15rem;
    z-index: 4;
    margin: auto -1.15rem -1.15rem;
    padding: 0.9rem 1.15rem 1.15rem;
    border-top: 1px solid var(--portal-line);
    background: rgba(255, 252, 246, 0.96);
    backdrop-filter: blur(16px);
}

.portal-drawer:not(.activity-setup-drawer) .drawer-section {
    padding: 1rem;
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-md);
    background: var(--portal-surface-strong);
    box-shadow: 0 8px 24px rgba(55, 42, 25, 0.045);
}

.portal-drawer .rz-fieldset {
    border-color: var(--portal-line);
    border-radius: var(--portal-radius-md);
    background: var(--portal-surface-strong);
}

.portal-drawer .rz-fieldset-legend {
    color: var(--portal-primary-strong);
    font-weight: 850;
}

.portal-inspector {
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-md);
    background: var(--portal-surface-strong);
    box-shadow: 0 16px 40px rgba(55, 42, 25, 0.1);
}

.portal-settings-tabs {
    min-width: 0;
}

.portal-settings-tabs > .rz-tabview-nav,
.portal-settings-tabs .rz-tabview-nav,
.portal-drawer .people-drawer-tabs > .rz-tabview-nav,
.portal-drawer .people-drawer-tabs .rz-tabview-nav {
    gap: 0.3rem;
    padding: 0.35rem;
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-md);
    background: rgba(255, 252, 246, 0.72);
}

.portal-settings-tabs .rz-tabview-nav li a,
.portal-drawer .people-drawer-tabs .rz-tabview-nav li a {
    border-radius: 0.72rem;
    font-weight: 800;
}

.portal-settings-tabs .rz-tabview-nav li.rz-tabview-selected a,
.portal-drawer .people-drawer-tabs .rz-tabview-nav li.rz-tabview-selected a {
    color: white;
    background: var(--portal-primary);
    box-shadow: 0 8px 18px rgba(31, 92, 79, 0.18);
}

.portal-settings-tabs .rz-tabview-panels {
    padding: 1rem 0 0;
    background: transparent;
}

.portal-drawer .people-drawer-tabs .rz-tabview-panels {
    padding: 1rem 0 0;
    background: transparent;
}

.portal-card .rz-data-grid,
.portal-card.rz-card .rz-data-grid,
.tenant-list-panel .rz-data-grid {
    overflow: hidden;
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-md);
    background: var(--portal-surface-strong);
}

.portal-card .rz-grid-table thead th,
.tenant-list-panel .rz-grid-table thead th {
    color: var(--portal-primary-strong);
    background: var(--portal-surface-muted);
    font-size: 0.75rem;
    font-weight: 850;
    letter-spacing: 0.025em;
}

.portal-card .rz-data-row:hover > td,
.tenant-list-panel .rz-data-row:hover > td {
    background: rgba(223, 236, 231, 0.52);
}

.portal-card .rz-paginator,
.tenant-list-panel .rz-paginator {
    border-top: 1px solid var(--portal-line);
    background: var(--portal-surface-muted);
}

.portal-card .panel-heading,
.settings-panel .panel-heading {
    align-items: flex-start;
}

.portal-card .panel-heading h2,
.settings-panel .panel-heading h2,
.settings-panel .panel-heading h3 {
    margin: 0;
}

.portal-surface-card,
.settings-panel,
.config-summary-card,
.config-readiness-card {
    border-radius: var(--portal-radius-md);
    background: var(--portal-surface-strong);
    box-shadow: 0 10px 30px rgba(55, 42, 25, 0.055);
}

.portal-setting-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--portal-space-3);
    padding: var(--portal-space-3);
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-sm);
    background: var(--portal-surface-muted);
}

.portal-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--portal-space-3);
}

.portal-drawer :is(button, a, input, textarea, select):focus-visible,
.portal-settings-tabs :is(button, a, input, textarea, select):focus-visible {
    outline: none;
    box-shadow: var(--portal-focus-ring);
}

@media (max-width: 720px) {
    .portal-drawer {
        border-radius: 0;
    }

    .portal-field-grid,
    .portal-setting-row {
        grid-template-columns: 1fr;
    }

    .portal-settings-tabs .rz-tabview-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: thin;
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-drawer *,
    .portal-settings-tabs * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

.portal-api-unavailable strong,
.portal-api-unavailable span {
    display: block;
}

/* Portal interaction primitives keep transient feedback outside the overlay input boundary. */
.rz-notification,
.rz-notification-group,
.rz-notification-item {
    pointer-events: none !important;
}

.portal-overlay {
    overscroll-behavior: contain;
}

.modal-backdrop.portal-overlay {
    z-index: 1100;
}

.portal-modal {
    display: grid;
    gap: var(--portal-space-3);
    width: min(40rem, calc(100vw - 2rem));
    max-height: min(52rem, calc(100vh - 2rem));
    overflow: auto;
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-lg);
    background: var(--portal-surface-strong);
    box-shadow: var(--portal-shadow);
}

.portal-modal__header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: var(--portal-space-2);
    border-bottom: 1px solid var(--portal-line);
    background: var(--portal-surface-strong);
}

.portal-modal__header h2,
.portal-confirmation__message,
.portal-empty-state p {
    margin: 0;
}

.portal-modal__body,
.portal-confirmation__actions {
    min-width: 0;
}

.activity-duplicate-modal {
    width: min(48rem, calc(100vw - 2rem));
}

.activity-duplicate-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
    padding: 0.9rem;
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-md);
    background: var(--portal-surface-muted);
}

.activity-duplicate-option__copy,
.activity-duplicate-option__copy span {
    display: grid;
    gap: 0.2rem;
}

.activity-duplicate-option span,
.activity-copy-summary li {
    color: var(--portal-text-muted);
}

.activity-copy-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.activity-copy-summary section {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--portal-line);
    border-radius: var(--portal-radius-md);
}

.activity-copy-summary h3 {
    margin: 0 0 0.55rem;
}

.activity-copy-summary ul {
    margin: 0;
    padding-left: 1.1rem;
}

.activity-copy-summary li + li {
    margin-top: 0.35rem;
}

.portal-confirmation__message {
    color: var(--portal-ink);
    line-height: 1.65;
}

.portal-confirmation__actions {
    position: static;
    margin: 0;
    padding: var(--portal-space-3) 0 0;
}

.portal-page-heading__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--portal-space-2);
}

.portal-empty-state {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--portal-space-3);
    min-height: 9rem;
    text-align: left;
}

.portal-empty-state > .rz-icon {
    color: var(--portal-accent);
    font-size: 2rem;
}

.portal-empty-state p,
.portal-setting-row span {
    display: block;
    margin-top: 0.25rem;
}

.portal-setting-row__control {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.module-next-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: flex-start;
    padding: 0.7rem;
    border-radius: var(--portal-radius-sm);
    color: var(--portal-primary-strong);
    background: var(--portal-surface-muted);
    font-size: 0.83rem;
    line-height: 1.45;
}

.module-next-step span,
.module-next-step strong {
    display: block;
}

@media (max-width: 720px) {
    .portal-modal {
        width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
        border-radius: var(--portal-radius-md);
    }

    .activity-copy-summary {
        grid-template-columns: 1fr;
    }

    .portal-setting-row__control,
    .portal-page-heading__actions {
        justify-content: flex-start;
    }
}
