/* Copyright stays inside each module's existing scroll container. */
.app-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    flex-shrink: 0;
    margin-top: auto;
    padding: 24px 12px 4px;
    color: var(--text-muted);
    font-size: 11px;
    line-height: 1.6;
    text-align: center;
    overflow-wrap: anywhere;
}

.app-version { display: none; }
.auth-footer .app-version { display: block; }
.auth-footer { margin-top: 18px; padding: 0; font-size: 10px; }
.auth-layout { min-height: 100dvh; }

.rail-footer { gap: 14px; padding-top: 16px; padding-bottom: 4px; }
.rail-version { color: #b8d3cd; font-size: 10px; line-height: 1.4; white-space: nowrap; }
.inbox-link { position: relative; }

.dashboard-page,
.admin-page,
.schedule-page,
.templates-page,
.meta-page,
.meta-reviews,
.system-message-page {
    display: flex;
    flex-direction: column;
}

.dashboard-page > *,
.admin-page > *,
.schedule-page > *,
.templates-page > *,
.meta-page > *,
.meta-reviews > *,
.system-message-page > * { flex-shrink: 0; }

.app-content > .admin-page,
.system-message-page { height: 100%; overflow: auto; padding: clamp(1rem, 3vw, 2.5rem); }

.contacts-page { grid-template-rows: minmax(0, 1fr) auto; }
.contacts-page > .app-footer { grid-column: 1 / -1; padding: 10px 12px; }
@media (min-width: 851px) {
    .contacts-page > .app-footer { padding: 0; }
}
.notifications-page > .app-footer { padding: 0; }

.conversation-scroll { flex: 1; min-height: 0; }
.conversation-list-content { min-height: 100%; display: flex; flex-direction: column; }
.conversation-list-content > * { flex-shrink: 0; }
.inbox-list-footer, .inbox-mobile-footer { display: none; }

@media (max-width: 850px) {
    .contacts-page { grid-template-rows: none; }
}

@media (max-width: 767px) {
    .app-footer { font-size: 10px; }
    .app-version { display: block; }
    .inbox-list-footer, .inbox-mobile-footer { display: flex; padding: 16px 12px; }
    .inbox-mobile-footer { margin-top: 16px; }
    .conversation-panel > .panel-toolbar { flex-shrink: 0; }
}
