.legal-links { display: flex; flex-direction: column; gap: 4px; }
.legal-links a { display: flex; align-items: center; min-height: 36px; color: #003FAA; font-size: 14px; line-height: 22px; }
.bp-owned .portal-shell-left { overflow: hidden; }
.bp-owned .portal-left-rail { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.portal-left-rail-content { flex: 1; min-height: 0; overflow-y: auto; scrollbar-width: thin; padding-bottom: 24px; }
.portal-rail-legal { flex: 0 0 auto; padding-top: 12px; border-top: 1px solid #C9DFE9; }
.portal-mobile-legal { margin-top: 12px; padding-top: 12px; border-top: 1px solid #D7E2EE; }
.legal-dialog { width: min(820px, calc(100vw - 32px)); max-width: none; max-height: min(850px, calc(100dvh - 48px)); margin: auto; padding: 0; border: 1px solid #D7E2EE; border-radius: 12px; background: #fff; color: #10233F; box-shadow: 0 16px 48px #10233f33; font-family: "Segoe UI Variable Text", Aptos, "Segoe UI", sans-serif; }
.legal-dialog[open] { display: flex; flex-direction: column; }
.legal-dialog::backdrop { background: #10233f80; }
.legal-dialog-header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; border-bottom: 1px solid #D7E2EE; }
.legal-dialog-header h2 { margin: 0; color: #003FAA; font-size: 22px; line-height: 30px; font-weight: 700; }
.legal-dialog-close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 1px solid #D7E2EE; border-radius: 6px; background: #fff; color: #003FAA; font-size: 28px; cursor: pointer; }
.legal-dialog-scroll { overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: 24px; }
.legal-document { max-width: 76ch; font-size: 16px; line-height: 26px; overflow-wrap: anywhere; }
.portal-shell-center .legal-document { width: 100%; max-width: none; }
.portal-shell-center .legal-document ul:not(:has(ul, ol)):has(> li:nth-child(6)) { columns: 3 20rem; column-gap: 32px; }
.portal-shell-center .legal-document li { break-inside: avoid; }
.legal-document h2 { margin: 28px 0 12px; color: #003FAA; font-size: 20px; line-height: 28px; font-weight: 600; }
.legal-document p { margin: 0 0 16px; }
.legal-document ul { margin: 0 0 20px; padding-left: 24px; list-style: disc; }
.legal-document li { margin: 4px 0; }
.legal-document a { color: #003FAA; text-decoration: underline; }
html:has(.legal-dialog[open]) { overflow: hidden; }
@media (max-width: 600px) { .legal-dialog { max-height: calc(100dvh - 24px); width: calc(100vw - 24px); } .legal-dialog-header { padding: 12px 16px; } .legal-dialog-scroll { padding: 20px 16px; } }
