.legal-notice, .legal-check, .legal-error { font-family: var(--f-ui, inherit); font-size: 14px; line-height: 1.65; }
.legal-notice { margin: 12px 0; color: var(--body, inherit); }
.legal-check { display: flex; align-items: flex-start; gap: 12px; margin: 16px 0 0; text-align: left; }
.legal-check input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 4px 0 0; padding: 0; }
.legal-check label { font-size: inherit; font-weight: 400; text-transform: none; letter-spacing: normal; }
.legal-check a, .legal-notice a { color: inherit; text-decoration: underline; }
.legal-error { display: block; margin: 4px 0 8px; color: var(--ink, inherit); font-weight: 700; }
.upi-box[hidden] { display: none; }
.legal-stage { margin: 16px 0; font-size: 14px; line-height: 1.65; }
.legal-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.legal-fields[hidden] { display: none; }
.legal-fields label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.legal-fields select { width: 100%; min-height: 48px; padding: 8px; font: inherit; color: var(--ink,#1A1A1A); background: var(--white,#fff); border: 0; border-radius: 12px; box-shadow: var(--s1,0 1px 3px rgba(0,0,0,.05),0 6px 24px rgba(0,0,0,.06)); }
@media(max-width:480px) { .legal-fields { grid-template-columns: 1fr; } }
.privacy-panel { position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 10000; max-width: 560px; padding: 24px; background: var(--cream, #FAF7F2); color: var(--ink, #1A1A1A); box-shadow: var(--s3, 0 8px 40px rgba(0,0,0,.14)); border-radius: var(--r-card, 20px); font-family: var(--f-ui, system-ui); font-size: 14px; line-height: 1.65; max-height: 70vh; overflow-y: auto; }
.privacy-panel[hidden] { display: none; }
.privacy-panel h2 { font-size: 18px; margin: 0 0 8px; }
.privacy-panel button, .privacy-reopen { padding: 8px 16px; font: inherit; border: 0; border-radius: var(--r-pill, 100px); cursor: pointer; background: var(--ink, #1A1A1A); color: var(--cream, #FAF7F2); }
.privacy-panel button { margin: 8px 8px 0 0; }
.privacy-panel a { color: inherit; text-decoration: underline; }
.privacy-reopen { position: fixed; bottom: 8px; left: 8px; z-index: 9999; font-family: var(--f-ui, system-ui); font-size: 13px; }
.privacy-panel :focus-visible, .privacy-reopen:focus-visible, .legal-check input:focus-visible { outline: 3px solid var(--ink, #1A1A1A); outline-offset: 3px; }
