#streetle-privacy-controls { font: 14px/1.5 var(--font-body, system-ui, sans-serif); color: #e5e7eb; }
#streetle-privacy-controls [hidden] { display: none !important; }
.privacy-banner { position: fixed; z-index: 5000; left: 16px; right: 16px; bottom: 16px; margin: 0 auto; max-width: 950px; padding: 20px 24px; display: flex; align-items: center; gap: 24px; border: 1px solid #526473; border-radius: 16px; background: #131c2e; box-shadow: 0 12px 40px #0008; }
.privacy-banner h2, .privacy-dialog h2 { color: #f4f7fa; font-size: 18px; line-height: 1.3; margin: 0 0 8px; text-align: left; }
.privacy-banner p, .privacy-dialog p { font-size: 13px; color: #c3ccd7; margin: 0; line-height: 1.6; }
.privacy-banner a, .privacy-dialog a { color: #98e0d7; text-decoration: underline; }
.privacy-actions { display: flex; flex-wrap: wrap; gap: 8px; flex-shrink: 0; }
#streetle-privacy-controls button { min-height: 44px; width: auto; padding: 10px 14px; margin: 0; border: 1px solid #71818d; border-radius: 9px; color: #eef5f7; background: #263548; box-shadow: none; font: 600 13px/1.4 system-ui, sans-serif; letter-spacing: normal; text-transform: none; cursor: pointer; transform: none; }
#streetle-privacy-controls button:hover { background: #33485b; }
#streetle-privacy-controls button:focus-visible, #streetle-privacy-controls input:focus-visible { outline: 3px solid #7ee5da; outline-offset: 3px; }
.privacy-dialog { margin: auto; width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; box-sizing: border-box; padding: 24px; border: 1px solid #526473; border-radius: 16px; background: #131c2e; color: #e5e7eb; }
.privacy-dialog::backdrop { background: #0009; }
.privacy-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.privacy-dialog header h2 { margin: 0; }
.privacy-option { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 16px 0; padding-bottom: 16px; border-bottom: 1px solid #3a4758; text-align: left; }
.privacy-option strong { color: #f3f7fa; display: block; margin-bottom: 4px; }
.privacy-option span span { display: block; color: #c3ccd7; font-size: 13px; line-height: 1.6; }
.privacy-option input { flex: 0 0 22px; width: 22px; height: 22px; accent-color: #60d0c2; }
.privacy-dialog .privacy-actions { margin-top: 20px; }
.privacy-storage-notice { position: fixed; bottom: 12px; left: 16px; right: 16px; z-index: 5001; padding: 12px; background: #131c2e; color: #e5e7eb; border: 1px solid #526473; }
button.privacy-choices-link { font: inherit; padding: 0; min-height: 44px; width: auto; background: transparent; border: 0; color: inherit; text-decoration: underline; box-shadow: none; letter-spacing: normal; text-transform: none; }
button.privacy-choices-floating { position: fixed; right: 10px; bottom: 10px; z-index: 2000; width: auto; min-height: 44px; }
@media (max-width: 760px) {
 .privacy-banner { left: 10px; right: 10px; bottom: 10px; padding: 16px; gap: 12px; flex-direction: column; align-items: stretch; }
 .privacy-actions { display: grid; grid-template-columns: 1fr 1fr; }
 .privacy-banner .privacy-actions button:last-child { grid-column: 1 / -1; }
 .privacy-dialog { padding: 20px; }
}

.privacy-option:not(label) { display: block; }
.privacy-banner { max-height: 40dvh; overflow-y: auto; box-sizing: border-box; }
body.consent-pending .round-actions { bottom: calc(var(--consent-height, 280px) + 28px); }
body.consent-pending #setup-panel { padding-bottom: calc(var(--consent-height, 280px) + 32px); }
