.consent-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:500;display:none;max-width:1180px;margin:0 auto;padding:16px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 24px 70px rgba(15,23,42,.18);backdrop-filter:blur(18px)}
.consent-banner.is-visible{display:block}
.consent-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.consent-copy{min-width:0}
.consent-copy strong{display:block;font-size:.88rem;font-weight:800}
.consent-copy p{max-width:760px;margin-top:5px;color:var(--muted);font-size:.72rem;line-height:1.5}
.consent-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;flex:0 0 auto}
.consent-actions .btn{white-space:nowrap}
.consent-settings-button{position:fixed;left:18px;bottom:18px;z-index:490;display:none;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);box-shadow:var(--ui-shadow);font:700 .68rem/1 var(--font);cursor:pointer}
.consent-settings-button.is-visible{display:inline-flex}
.consent-settings-button:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.consent-dialog{width:min(560px,calc(100% - 28px));padding:0;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 32px 90px rgba(15,23,42,.28)}
.consent-dialog::backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(3px)}
.consent-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 15px;border-bottom:1px solid var(--divider)}
.consent-dialog-head h2{font-size:1.08rem;font-weight:800;letter-spacing:-.02em}
.consent-dialog-head p{margin-top:5px;color:var(--muted);font-size:.71rem;line-height:1.5}
.consent-dialog-close{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--muted);font-size:1rem;cursor:pointer}
.consent-dialog-body{display:flex;flex-direction:column;gap:9px;padding:16px 20px}
.consent-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid var(--border);border-radius:13px;background:var(--surface2)}
.consent-option-copy strong{display:block;font-size:.76rem}
.consent-option-copy span{display:block;margin-top:3px;color:var(--sub);font-size:.65rem;line-height:1.4}
.consent-required{color:var(--accent);font-size:.64rem;font-weight:800}
.consent-switch{position:relative;display:inline-flex;width:42px;height:24px;flex:0 0 42px}
.consent-switch input{position:absolute;opacity:0;pointer-events:none}
.consent-switch span{position:absolute;inset:0;border-radius:999px;background:var(--surface3);box-shadow:inset 0 0 0 1px var(--border2);cursor:pointer;transition:.16s ease}
.consent-switch span:after{content:"";position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(15,23,42,.2);transition:.16s ease}
.consent-switch input:checked+span{background:var(--accent)}
.consent-switch input:checked+span:after{transform:translateX(18px)}
.consent-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:15px 20px 20px;border-top:1px solid var(--divider)}
@media(max-width:760px){.consent-banner{left:10px;right:10px;bottom:10px;padding:14px}.consent-banner-inner{display:block}.consent-actions{margin-top:13px}.consent-actions .btn{flex:1 1 120px}.consent-settings-button{left:10px;bottom:10px}.consent-dialog-actions{flex-wrap:wrap}.consent-dialog-actions .btn{flex:1 1 140px}}