:root{
  --cc-bg: rgba(0,0,0,.55);
  --cc-card:#ffffff;
  --cc-text:#111827;
  --cc-muted:#6b7280;
  --cc-line:#e5e7eb;
  --cc-primary:#0b3a68;
  --cc-primary-2:#0a2e52;
  --cc-radius:16px;
}
.cc-banner,.cc-modal{position:fixed;inset:0;display:none;z-index:999999}
.cc-banner[aria-hidden="false"],.cc-modal[aria-hidden="false"]{display:flex}
.cc-banner{align-items:flex-end;justify-content:center;background:var(--cc-bg);padding:16px}
.cc-modal{align-items:center;justify-content:center;background:var(--cc-bg);padding:16px}
.cc-card,.cc-modal-card{
  width:min(720px,96vw);
  background:var(--cc-card);
  border:1px solid var(--cc-line);
  border-radius:var(--cc-radius);
  box-shadow:0 24px 70px rgba(0,0,0,.35);
  padding:16px;
}
.cc-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.cc-title{font-weight:900;font-size:18px;color:var(--cc-text)}
.cc-icon{
  border:0;background:transparent;color:var(--cc-muted);
  font-size:22px;line-height:1;cursor:pointer;padding:6px 10px;border-radius:10px
}
.cc-icon:hover{background:rgba(0,0,0,.05)}
.cc-text{color:var(--cc-text);font-size:14px;line-height:1.55}
.cc-link{color:var(--cc-primary);font-weight:800;text-decoration:none}
.cc-link:hover{text-decoration:underline}
.cc-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
.cc-actions-split{justify-content:space-between}
.cc-btn{
  border:1px solid var(--cc-line);
  background:#fff;
  color:var(--cc-text);
  padding:10px 14px;
  border-radius:12px;
  cursor:pointer;
  font-weight:800
}
.cc-btn:hover{filter:brightness(.98)}
.cc-btn-primary{border-color:transparent;background:var(--cc-primary);color:#fff}
.cc-btn-primary:hover{background:var(--cc-primary-2)}
.cc-btn-ghost{background:#fff}
.cc-list{margin-top:12px;display:grid;gap:10px}
.cc-item{border:1px solid var(--cc-line);border-radius:14px;padding:12px}
.cc-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cc-item-title{font-weight:900;color:var(--cc-text)}
.cc-item-desc{color:var(--cc-muted);font-size:13px;margin-top:4px}
.cc-pill{
  font-size:12px;font-weight:900;
  background:rgba(11,58,104,.10);color:var(--cc-primary);
  padding:6px 10px;border-radius:999px;white-space:nowrap
}
.cc-switch{position:relative;display:inline-block;width:46px;height:28px;flex:0 0 auto}
.cc-switch input{opacity:0;width:0;height:0}
.cc-slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;transition:.2s;border-radius:999px}
.cc-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;top:3px;background:#fff;transition:.2s;border-radius:50%}
.cc-switch input:checked + .cc-slider{background:#2563eb}
.cc-switch input:checked + .cc-slider:before{transform:translateX(18px)}
.cc-footer-note{margin-top:10px;color:var(--cc-muted);font-size:13px}
.cc-link-btn{border:0;background:transparent;color:var(--cc-primary);font-weight:900;cursor:pointer;padding:0}
.cc-link-btn:hover{text-decoration:underline}
.cc-fab{
  position:fixed;right:14px;bottom:14px;z-index:999998;
  border:1px solid rgba(148,163,184,.35);
  background:rgba(255,255,255,.85);
  color:#0f172a;
  padding:10px 12px;border-radius:999px;
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  cursor:pointer;font-weight:900
}
.cc-fab:hover{transform:translateY(-1px)}
@media (max-width:560px){
  .cc-actions{justify-content:stretch}
  .cc-btn{flex:1 1 auto}
}


/* Make cc-link-btn work for <a> and <button> consistently */
.cc-link-btn{
  background:none;
  border:0;
  padding:0;
  color:#0b3a68;
  font-weight:800;
  cursor:pointer;
  text-decoration:underline;
}
.cc-link-btn:hover{filter:brightness(0.95);}

