:root{
  --cc-bg:#081326;
  --cc-panel:#ffffff;
  --cc-text:#0d1b2a;
  --cc-muted:#53657d;
  --cc-border:#d8e4fb;
  --cc-accent:#1f5fd6;
  --cc-accent-2:#184fb6;
  --cc-accent-3:#eaf2ff;
  --cc-shadow:0 20px 60px rgba(18,60,140,.22);
  --cc-radius:20px;
}

html.cc-lock,
body.cc-lock{
  overflow:hidden;
}

body.cc-banner-open::before{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(5, 16, 34, 0.16);
  z-index:2147482500;
  pointer-events:none;
  transition:opacity .22s ease;
}

.cc-hidden{display:none !important;}

.cc-banner-wrap{
  position:fixed !important;
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
  z-index:2147483000 !important;
  display:flex !important;
  justify-content:center !important;
  pointer-events:none !important;
}

.cc-banner{
  width:min(1020px,100%) !important;
  background:
    radial-gradient(circle at top right, rgba(31,95,214,.12), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
  color:var(--cc-text) !important;
  border:1px solid var(--cc-border) !important;
  border-radius:var(--cc-radius) !important;
  box-shadow:var(--cc-shadow) !important;
  overflow:hidden !important;
  pointer-events:auto !important;
  display:block;
  visibility:visible;
  opacity:1;
}

.cc-banner::before{
  content:"";
  display:block;
  height:4px;
  background:linear-gradient(90deg,#1f5fd6 0%, #4b8cff 50%, #79b4ff 100%);
}

.cc-banner-inner{
  display:grid !important;
  grid-template-columns:1.4fr .95fr !important;
  gap:22px !important;
  padding:24px !important;
}

.cc-title{
  margin:0 0 10px !important;
  font-size:26px !important;
  line-height:1.1 !important;
  color:#0b2144 !important;
}

.cc-text{
  margin:0 !important;
  color:var(--cc-muted) !important;
  line-height:1.65 !important;
  font-size:15px !important;
}

.cc-links{
  margin-top:14px !important;
  display:flex !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}

.cc-links a{
  color:var(--cc-accent) !important;
  text-decoration:none !important;
  font-weight:700 !important;
}

.cc-links a:hover{
  text-decoration:underline !important;
}

.cc-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  align-content:center !important;
}

.cc-actions .cc-btn:last-child{
  grid-column:1 / -1 !important;
}

.cc-btn{
  appearance:none !important;
  border:1px solid #bcd2fb !important;
  background:#ffffff !important;
  color:#123a77 !important;
  border-radius:14px !important;
  padding:14px 16px !important;
  font-size:15px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  transition:.2s ease !important;
  box-shadow:0 6px 18px rgba(31,95,214,.08) !important;
  min-height:50px !important;
}

.cc-btn:hover{
  transform:translateY(-1px) !important;
  background:#f4f8ff !important;
}

.cc-btn-primary{
  background:#ffffff !important;
  color:#123a77 !important;
  border-color:#bcd2fb !important;
}

.cc-btn-primary:hover{
  background:#f4f8ff !important;
}

.cc-btn-secondary-equal{
  background:#ffffff !important;
  color:#123a77 !important;
  border-color:#bcd2fb !important;
}

.cc-btn-secondary-equal:hover{
  background:#f4f8ff !important;
}

.cc-btn-neutral{
  background:#eef4ff !important;
  color:#123a77 !important;
  border-color:#cfe0ff !important;
}

.cc-btn-neutral:hover{
  background:#e6efff !important;
}

.cc-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483600 !important;
  display:flex;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  background:rgba(7,18,38,.58) !important;
}

.cc-modal-panel{
  width:min(780px,100%) !important;
  max-height:min(90vh,900px) !important;
  overflow:auto !important;
  background:linear-gradient(180deg,#ffffff 0%, #f7faff 100%) !important;
  border:1px solid var(--cc-border) !important;
  border-radius:24px !important;
  box-shadow:var(--cc-shadow) !important;
}

.cc-modal-head{
  padding:24px 24px 14px !important;
  border-bottom:1px solid var(--cc-border) !important;
}

.cc-modal-body{
  padding:18px 24px 24px !important;
}

.cc-cat{
  border:1px solid var(--cc-border) !important;
  border-radius:16px !important;
  padding:16px !important;
  margin-bottom:12px !important;
  background:#fff !important;
}

.cc-cat-row{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
}

.cc-cat h3{
  margin:0 0 6px !important;
  font-size:18px !important;
  color:#0b2144 !important;
}

.cc-cat p{
  margin:0 !important;
  color:var(--cc-muted) !important;
  line-height:1.55 !important;
}

.cc-switch{
  position:relative !important;
  width:54px !important;
  min-width:54px !important;
  height:32px !important;
}

.cc-switch input{display:none !important;}

.cc-switch span{
  position:absolute !important;
  inset:0 !important;
  background:#d7e4fb !important;
  border-radius:999px !important;
  transition:.2s ease !important;
}

.cc-switch span::after{
  content:'' !important;
  position:absolute !important;
  width:24px !important;
  height:24px !important;
  left:4px !important;
  top:4px !important;
  background:#fff !important;
  border-radius:50% !important;
  transition:.2s ease !important;
  box-shadow:0 2px 8px rgba(0,0,0,.15) !important;
}

.cc-switch input:checked + span{
  background:var(--cc-accent) !important;
}

.cc-switch input:checked + span::after{
  transform:translateX(22px) !important;
}

.cc-switch input:disabled + span{
  background:#8fa8d8 !important;
  cursor:not-allowed !important;
}

.cc-modal-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:18px !important;
}

.cc-modal-actions .cc-btn:last-child{
  grid-column:1 / -1 !important;
}

.cc-manage-link{
  position:fixed !important;
  right:16px !important;
  bottom:16px !important;
  z-index:2147483200 !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  padding:0 !important;
  background:linear-gradient(180deg,#2b73f0 0%, #1f5fd6 100%) !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px !important;
  cursor:pointer !important;
  box-shadow:0 16px 34px rgba(31,95,214,.35) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  visibility:visible !important;
  opacity:1 !important;
  font-size:0 !important;
  line-height:0 !important;
}

.cc-manage-link::before{
  content:"⚙" !important;
  font-size:22px !important;
  line-height:1 !important;
}

.cc-manage-link:hover{
  transform:translateY(-1px) !important;
}

@media (max-width: 820px){
  .cc-banner-inner{
    grid-template-columns:1fr !important;
    padding:18px !important;
  }

  .cc-actions{
    grid-template-columns:1fr !important;
  }

  .cc-actions .cc-btn:last-child{
    grid-column:auto !important;
  }

  .cc-modal-actions{
    grid-template-columns:1fr !important;
  }

  .cc-modal-actions .cc-btn:last-child{
    grid-column:auto !important;
  }

  .cc-title{
    font-size:22px !important;
  }

  .cc-manage-link{
    width:48px !important;
    height:48px !important;
    right:14px !important;
    bottom:14px !important;
  }
}