:root{
    --cpc-bg:#ffffff;
    --cpc-text:#172033;
    --cpc-muted:#5b6475;
    --cpc-border:rgba(20,30,50,.16);
    --cpc-accent:#4f46e5;
    --cpc-radius:18px;
    --cpc-shadow:0 18px 60px rgba(0,0,0,.18);
}
.cpc-consent-shell{position:fixed;left:18px;right:18px;bottom:18px;z-index:999999;color:var(--cpc-text);font-family:inherit}
.cpc-consent-shell.cpc-is-modal{inset:0;display:flex;align-items:center;justify-content:center;padding:20px}
.cpc-consent-backdrop{display:none;position:absolute;inset:0;background:rgba(4,8,18,.48)}
.cpc-is-modal .cpc-consent-backdrop{display:block}
.cpc-consent-box{position:relative;max-width:760px;margin:0 auto;background:var(--cpc-bg);border:1px solid var(--cpc-border);border-radius:var(--cpc-radius);box-shadow:var(--cpc-shadow);padding:22px}
.cpc-consent-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cpc-consent-header h2{margin:0;font-size:22px;line-height:1.25}
.cpc-consent-close{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--cpc-muted)}
.cpc-consent-box p{color:var(--cpc-muted);margin:12px 0 16px}
.cpc-consent-details{border-top:1px solid var(--cpc-border);padding-top:14px;margin-top:14px;max-height:48vh;overflow:auto}
.cpc-consent-category{display:flex;justify-content:space-between;gap:16px;border:1px solid var(--cpc-border);border-radius:14px;padding:13px;margin-bottom:10px;background:rgba(0,0,0,.02)}
.cpc-consent-category span{display:grid;gap:4px}.cpc-consent-category small{color:var(--cpc-muted)}
.cpc-provider-list{display:grid;gap:8px;margin:8px 0 0;padding:0;list-style:none}.cpc-provider-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--cpc-border);padding:8px 0}.cpc-provider-list span{color:var(--cpc-muted)}
.cpc-consent-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px}.cpc-consent-actions button,.cpc-placeholder button,.cpc-open-preferences,.cpc-floating-button{border:1px solid var(--cpc-border);border-radius:999px;background:#fff;color:var(--cpc-text);padding:10px 16px;cursor:pointer;font:inherit}.cpc-consent-actions button[data-cpc-action="accept"],.cpc-consent-actions button[data-cpc-action="save"]{background:var(--cpc-accent);color:#fff;border-color:var(--cpc-accent)}
.cpc-privacy-link{display:inline-flex;margin-top:12px;color:var(--cpc-muted)}
.cpc-floating-button{position:fixed;right:18px;bottom:18px;z-index:999998;box-shadow:0 10px 35px rgba(0,0,0,.16)}
.cpc-placeholder{border:1px dashed var(--cpc-border);border-radius:var(--cpc-radius);padding:22px;text-align:center;background:rgba(0,0,0,.035);color:var(--cpc-text);margin:12px 0}.cpc-placeholder p{color:var(--cpc-muted)}
@media(max-width:640px){.cpc-consent-shell{left:10px;right:10px;bottom:10px}.cpc-consent-box{padding:18px}.cpc-consent-actions{justify-content:stretch}.cpc-consent-actions button{width:100%}.cpc-provider-list li{display:grid}.cpc-floating-button{right:10px;bottom:10px}}

.cpc-server-placeholder,
.cpc-noscript {
    box-sizing: border-box;
    width: 100%;
    margin: 12px 0;
    padding: 18px;
    border: 1px solid var(--cpc-border, rgba(0,0,0,.14));
    border-radius: var(--cpc-radius, 14px);
    background: var(--cpc-surface, rgba(255,255,255,.94));
    color: var(--cpc-text, #1f2937);
    font: inherit;
}

.cpc-server-placeholder button {
    margin-top: 8px;
    cursor: pointer;
}
