/* v1.23.0 native-shell and legal-page additions */
.native-app { min-height: 100dvh; overscroll-behavior-y: none; }
.native-app .app-shell { min-height: 100dvh; }
.native-app .sidebar { padding-top: max(0px, env(safe-area-inset-top)); }
.native-app .topbar { padding-top: calc(.55rem + env(safe-area-inset-top)); }
.native-app .page-content { padding-left: max(.8rem, env(safe-area-inset-left)); padding-right: max(.8rem, env(safe-area-inset-right)); }
.native-app .mobile-bottom-nav { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
.native-app input, .native-app select, .native-app textarea { font-size: max(16px, 1em); }
.native-app a, .native-app button { -webkit-tap-highlight-color: rgba(224, 169, 76, .13); }
.native-app .button, .native-app .nav-link, .native-app .mobile-bottom-nav a, .native-app .mobile-bottom-nav button { touch-action: manipulation; }

.legal-body { min-height: 100dvh; margin: 0; background: #17120e; color: var(--text); }
.legal-shell { width: min(860px, calc(100% - 28px)); margin: 0 auto; padding: max(22px, env(safe-area-inset-top)) 0 max(36px, env(safe-area-inset-bottom)); }
.legal-brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 28px; color: var(--gold-light); letter-spacing: .06em; text-transform: uppercase; }
.legal-brand img { border-radius: 50%; }
.legal-header { margin-bottom: 18px; }
.legal-header h1 { margin-bottom: 4px; }
.legal-header p:last-child { color: var(--muted); }
.legal-copy { display: grid; gap: 12px; padding: 24px; }
.legal-copy h2 { margin: 10px 0 0; font-size: 1.05rem; }
.legal-copy p { margin: 0; line-height: 1.65; }
.legal-copy a { color: var(--gold-light); }
.legal-footer { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 18px; padding: 16px 2px; border-top: 1px solid var(--line); }
.legal-footer a { color: var(--muted); }
.account-delete-form { max-width: 560px; }
.account-delete-form label > span { display: block; margin-bottom: 6px; color: var(--muted); font-size: .75rem; }
.checkbox-row { display: flex !important; align-items: flex-start; gap: 10px; }
.checkbox-row input { width: auto; margin-top: 3px; }
.button-danger { color: #fff; background: #812f28; border-color: #a74438; }
.button-danger:hover { background: #96372e; }
@media (min-width: 881px) { .native-app .topbar { padding-top: max(.7rem, env(safe-area-inset-top)); } }

.auth-legal-links { display:flex; justify-content:center; gap:16px; margin-top:24px; font-size:.72rem; }
.auth-legal-links a { color: var(--muted); }
.native-network-banner {
    position: sticky;
    top: 0;
    z-index: 1200;
    width: 100%;
    box-sizing: border-box;
    padding: calc(8px + env(safe-area-inset-top)) 14px 8px;
    background: #6f2f26;
    color: #fff8e7;
    border-bottom: 1px solid #9b4c3f;
    text-align: center;
    font-size: .78rem;
    line-height: 1.35;
}
.native-network-banner[hidden] { display: none !important; }
