.rz-container,
.container-xl {
    width: min(100% - 2rem, var(--rz-container));
    max-width: var(--rz-container);
    margin-inline: auto;
}

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

.app-main {
    flex: 1 0 auto;
    padding-block: calc(var(--rz-header-height) + var(--rz-space-8)) var(--rz-space-16);
}

.app-main--anonymous { padding-block: var(--rz-space-8); }

.page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--rz-space-6);
    margin-bottom: var(--rz-space-8);
}

.page-header__title { margin: 0; max-width: 960px; }
.page-header__title span { color: var(--rz-color-brand);background: linear-gradient(317deg, var(--rz-color-brand-light), var(--rz-color-brand));;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}
.page-header__eyebrow {
    margin-bottom: var(--rz-space-2);
    color: var(--rz-color-brand);
    font-size: var(--rz-text-xs);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.page-header__actions { display: flex; flex-wrap: wrap; gap: var(--rz-space-2); }

.content-grid { display: grid; gap: var(--rz-space-6); }
.content-grid--sidebar { grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); }
.content-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.content-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.content-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.app-sidebar { min-width: 0; }
.app-sidebar__sticky { position: sticky; top: calc(var(--rz-header-height) + var(--rz-space-6)); width: 100%; }
.app-content { min-width: 0; }
.resources-drawer { --bs-offcanvas-width: min(88vw, 360px); }
.resources-drawer__body { display: block; padding: 0; overflow: visible; }
.resources-drawer-toggle {
    position: fixed;
    z-index: 1030;
    top: clamp(140px, 34vh, 300px);
    right: 0;
    display: grid;
    width: 42px;
    height: 50px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--rz-color-brand);
    border-right: 0;
    border-radius: var(--rz-radius-md) 0 0 var(--rz-radius-md);
    background: var(--rz-color-brand);
    color: var(--rz-color-white);
    box-shadow: -6px 8px 20px rgb(13 19 25 / 0.16);
    -webkit-tap-highlight-color: transparent;
    transition: width var(--rz-transition-fast), background-color var(--rz-transition-fast), box-shadow var(--rz-transition-fast);
}
.resources-drawer-toggle:hover, .resources-drawer-toggle:focus-visible {
    width: 46px;
    background: var(--rz-color-brand-hover);
    box-shadow: -8px 10px 24px rgb(13 19 25 / 0.2);
}
.resources-drawer-toggle:focus-visible { outline: 3px solid rgb(64 185 121 / 0.4); outline-offset: 2px; }
.resources-drawer-toggle .navigation-icon { width: 1.25rem; height: 1.25rem; }

.stack { display: flex; flex-direction: column; gap: var(--rz-space-4); }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rz-space-3); }
.cluster--between { justify-content: space-between; padding: 15px 0;}

.app-footer {
    flex: 0 0 auto;
    padding-block: var(--rz-space-8);
    border-top: 1px solid var(--rz-color-border);
    color: var(--rz-color-text-secondary);
    font-size: var(--rz-text-sm);
}

.app-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--rz-space-4); }

.auth-layout {
    min-height: calc(100vh - var(--rz-space-16));
    display: grid;
    place-items: center;
    padding-block: var(--rz-space-8);
}

.auth-card { width: min(100%, 430px); }


@media (max-width: 991.98px) {
    :root { --rz-header-height: 68px; }
    .content-grid--sidebar, .content-grid--3, .content-grid--4 { grid-template-columns: 1fr; }
    .app-sidebar__sticky { position: static; }
    .resources-drawer { border-left: 1px solid var(--rz-color-border); background: var(--rz-color-surface); box-shadow: -16px 0 48px rgb(13 19 25 / 0.16); }
    .resources-drawer__header { min-height: 48px; justify-content: flex-end; }
    .resources-drawer__body { padding: var(--rz-space-2) var(--rz-space-4) calc(var(--rz-mobile-nav-height) + env(safe-area-inset-bottom) + var(--rz-space-4)); overflow-y: auto; }
}

@media (max-width: 767.98px) {
    .rz-container, .container-xl { width: min(100% - 1.25rem, var(--rz-container)); }
    .app-main { padding-block: calc(var(--rz-header-height) + var(--rz-space-6)) var(--rz-space-10); }
    .app-main--anonymous { padding-block: var(--rz-space-4); }
    .page-header { align-items: flex-start; flex-direction: column; margin-bottom: var(--rz-space-6); }
    .page-header__actions, .page-header__actions .btn { width: 100%; }
    .content-grid--2 { grid-template-columns: 1fr; }
    .app-footer__inner { align-items: flex-start; flex-direction: column; }
}
