/* Public consent UI: intentionally framework-free so it can render before app JS. */
.consent-banner{position:fixed;z-index:5000;left:50%;bottom:18px;transform:translateX(-50%);width:min(920px,calc(100vw - 32px));display:flex;align-items:center;gap:22px;padding:18px 20px;background:#fff;border:1px solid rgba(15,23,42,.16);border-radius:16px;box-shadow:0 18px 55px rgba(15,23,42,.22);color:#0f172a}.consent-banner[hidden]{display:none}.consent-banner-copy{flex:1;min-width:0}.consent-banner-copy strong{display:block;font-size:1rem;margin-bottom:4px}.consent-banner-copy p,.consent-option p,.consent-settings-intro,.consent-privacy-note{margin:0;color:#475569;line-height:1.5;font-size:.9rem}.consent-banner-actions,.consent-dialog-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.consent-button{min-height:44px;padding:9px 14px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font:inherit;font-weight:700;cursor:pointer}.consent-button.primary{background:#173f5f;border-color:#173f5f;color:#fff}.consent-button:hover{filter:brightness(.98)}.consent-button:focus-visible,.consent-close:focus-visible,.consent-manage:focus-visible,.consent-option input:focus-visible{outline:3px solid #0ea5e9;outline-offset:3px}.consent-backdrop{position:fixed;z-index:5100;inset:0;background:rgba(15,23,42,.48)}.consent-backdrop[hidden],.consent-dialog[hidden]{display:none}.consent-dialog{position:fixed;z-index:5200;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(15,23,42,.32);color:#0f172a}.consent-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.consent-dialog h2{font-size:1.4rem;margin:0}.consent-eyebrow{margin:0 0 3px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:#173f5f}.consent-close{width:44px;height:44px;border:0;border-radius:10px;background:#f1f5f9;font-size:1.5rem;cursor:pointer}.consent-settings-intro{margin-top:10px}.consent-option{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:15px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.consent-option.required{background:#f8fafc}.consent-option strong{display:block;margin-bottom:3px}.consent-option input{width:24px;height:24px;flex:0 0 auto;accent-color:#173f5f}.consent-required{white-space:nowrap;font-size:.8rem;font-weight:800;color:#173f5f}.consent-privacy-note{margin-top:14px;padding:12px;background:#f8fafc;border-radius:10px}.consent-dialog-actions{margin-top:18px}.consent-manage{position:fixed;z-index:4900;right:14px;bottom:14px;min-height:40px;padding:7px 11px;border:1px solid rgba(15,23,42,.18);border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 6px 18px rgba(15,23,42,.14);font:inherit;font-size:.78rem;font-weight:700;color:#334155;cursor:pointer}.consent-manage[hidden]{display:none}@media(max-width:720px){.consent-banner{bottom:10px;width:calc(100vw - 20px);display:block;padding:16px}.consent-banner-actions{margin-top:13px;justify-content:stretch}.consent-banner-actions .consent-button{flex:1 1 130px}.consent-dialog{padding:18px}.consent-option{align-items:flex-start}.consent-dialog-actions .consent-button{flex:1 1 160px}.consent-manage{right:10px;bottom:10px}}@media(prefers-reduced-motion:reduce){.consent-banner,.consent-dialog{scroll-behavior:auto}}

.consent-banner .legal-links{margin-top:6px}

.consent-banner,.consent-dialog{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;box-sizing:border-box}
.consent-button{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13px;line-height:1.4}
.consent-settings-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;width:auto;padding:9px 13px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:12px;line-height:1.4;font-weight:700;color:#173f5f;cursor:pointer;text-decoration:none}
.consent-settings-button:hover{background:#f4f8fc;border-color:#8caecb}
.consent-settings-button:focus-visible{outline:3px solid #ffca54;outline-offset:3px}
.consent-settings-button[hidden]{display:none}
