:root{--bg:#111827;--text:#fff;--link:#93c5fd;--panel:#0b1220;--accept:#10b981;--reject:#374151;--settings:#1f2937;--save:#2563eb;--toggleOn:#2563eb;--toggleKnob:#fff;--maxW:960px;--pad:14px;--radius:12px;--edge:16px;--offY:0}
#sigdpr-root{position:fixed;left:0;right:0;bottom:0;z-index:999999}
.sigdpr-hidden{display:none}
.sigdpr-wrap{box-sizing:border-box;color:var(--text);background:var(--bg);box-shadow:0 8px 24px rgba(0,0,0,.35);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;border-radius:var(--radius);padding:var(--pad)}
.sigdpr-wrap.pos-bottom_center{width:100%;max-width:var(--maxW);margin:0 auto calc(var(--edge) + var(--offY)) auto}
.sigdpr-wrap.pos-bottom_left{position:fixed;left:var(--edge);bottom:calc(var(--edge) + var(--offY));max-width:var(--maxW);}
.sigdpr-wrap.pos-bottom_right{position:fixed;right:var(--edge);bottom:calc(var(--edge) + var(--offY));max-width:var(--maxW);}
.sigdpr-content{display:flex;flex-direction:column;gap:10px}
.sigdpr-title{font-weight:700;font-size:16px}
.sigdpr-desc{font-size:14px;line-height:1.5;word-wrap:break-word}
.sigdpr-link{color:var(--link);text-decoration:underline}
.sigdpr-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.sigdpr-btn{appearance:none;border:0;border-radius:10px;padding:8px 12px;font-weight:600;cursor:pointer;color:#fff}
.sigdpr-accept{background:var(--accept)}
.sigdpr-reject{background:var(--reject)}
.sigdpr-settings{background:var(--settings)}
.sigdpr-panel{display:none;background:var(--panel);border-radius:12px;padding:12px;margin-top:6px}
.sigdpr-panel.open{display:block}
.sigdpr-row{display:flex;align-items:center;margin:8px 0}
.sigdpr-switch{display:flex;align-items:center;gap:10px;cursor:pointer}
.sigdpr-switch input{display:none}
.sigdpr-slider{width:42px;height:24px;border-radius:999px;background:#374151;position:relative;flex:0 0 auto}
.sigdpr-slider::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:999px;background:#9ca3af;transition:transform .2s ease, background .2s ease}
.sigdpr-switch input:checked + .sigdpr-slider{background:var(--toggleOn)}
.sigdpr-switch input:checked + .sigdpr-slider::after{transform:translateX(18px);background:var(--toggleKnob)}
.sigdpr-label{font-size:14px}
.sigdpr-panel-actions{display:flex;justify-content:flex-end;margin-top:6px}
.sigdpr-save{background:var(--save);color:#fff}
.sigdpr-hide{opacity:0;transform:translateY(6px);transition:opacity .25s ease, transform .25s ease}

/* Mobile handling */
@media (max-width:640px){
  .sigdpr-wrap{margin:0;max-width:none;border-radius:0}
  /* If admin set full width mobile, these defaults already look full-width. */
}