/* Header alignment */
.site-main a,
a{
  text-decoration:none;
}
.ca-topbar{
  min-height:60px;
}
.ca-topbar__inner{
  display:flex;
  align-items:center;
  gap:16px;
  padding:12px 20px;
  min-height:60px;
  box-sizing:border-box;
}
.ca-topbar__brand{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  line-height:1;
  text-decoration:none;
  color:#0f172a;
}
.ca-topbar__brand-img{
  width:36px;
  height:36px;
  display:block;
  flex-shrink:0;
  object-fit:contain;
}
/* Platform logo (horizontal wordmark) on non-login pages */
.ca-topbar__brand-img--platform{
  width:auto;
  max-height:36px;
  height:auto;
}
.ca-topbar__brand-name{
  display:none; /* Logo only on all pages */
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight:700;
  font-size:1.25rem;
  color:#0f172a;
}
.ca-topbar__brand-name sup{
  font-size:0.6em;
  font-weight:600;
  vertical-align:super;
  line-height:0;
}

/* Login page: logo only, top-left */
.ca-topbar--login{
  width:100%;
}
.ca-topbar--login .ca-topbar__inner{
  width:100%;
  justify-content:flex-start;
}
.ca-topbar--onboarding .ca-topbar__inner{
  justify-content:space-between;
  max-width:100%;
  flex-wrap:wrap;
}
.ca-topbar__nav--end{
  margin-left:auto;
}
.ca-topbar__login-btn{
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  color:#fff;
  background:#2563eb;
  text-decoration:none;
  padding:10px 18px;
  border-radius:10px;
  transition:background .2s, box-shadow .2s;
  white-space:nowrap;
}
.ca-topbar__login-btn:hover{
  color:#fff;
  background:#1d4ed8;
  box-shadow:0 1px 3px rgba(37, 99, 235, .35);
}
.ca-topbar__nav{
  display:flex;
  align-items:center;
  gap:8px;
}
.ca-topbar__nav-link{
  font-size:14px;
  font-weight:500;
  color:#6b7280;
  text-decoration:none;
  padding:8px 16px;
  border-radius:8px;
  transition:color .2s, background .2s;
}
.ca-topbar__nav-link:hover{
  color:#111827;
  background:#f3f4f6;
}
.ca-topbar__nav-link--active{
  color:#2563eb;
  font-weight:600;
}

/* Button */
.ca-btn{
  appearance:none;
  border:0;
  cursor:pointer;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight:600;
  padding:12px 22px;
  border-radius:10px;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-sizing:border-box;
}
.ca-btn__text{
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-weight:300;
  font-size: 16px;
}
.ca-btn__arrow{
  width:16px;
  height:16px;
  flex-shrink:0;
}
.ca-btn-gradient{
  background: linear-gradient(90deg, #7c3aed, #2563eb);
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: box-shadow 160ms ease, transform 160ms ease, opacity 160ms ease;
}
.ca-btn-gradient:hover{
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}
.ca-btn-gradient:active{
  transform: translateY(1px);
}

.ca-btn-dark{
  background:#0f172a;
  color:#fff;
  border-radius:10px;
  border:0;
  padding:10px 16px;
  font-weight:700;
}
.ca-btn-purple{
  background:#7c3aed;
  color:#fff;
  border-radius:10px;
  border:0;
  padding:10px 16px;
  font-weight:700;
}

/* Coming soon: gray out and non-clickable (tooltip via title="Coming soon") */
.ca-coming-soon{
  opacity:0.6;
  cursor:not-allowed;
  pointer-events:auto;
}
.ca-coming-soon:hover{
  opacity:0.7;
}

/* Modal base */
.ca-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ca-modal.is-open{
  display:flex;
}
body.ca-modal-open{
  overflow:hidden;
}

/* Blurred backdrop */
.ca-modal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(17, 24, 39, 0.35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Panel */
.ca-modal__panel{
  position:relative;
  width:100%;
  max-width:1120px;
  background:#fff;
  border-radius:16px;
  box-shadow: 0 30px 70px rgba(0,0,0,0.25);
  overflow:hidden;
  max-height: calc(100vh - 48px);
}

/* Step 1 modal size only */
.ca-modal--step1 .ca-modal__panel{
  max-width:920px;
}

/* Top row */
.ca-modal__top{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:24px 28px;
  position:relative;
  border-bottom: 1px solid #f3f4f6;
}
.ca-modal__step{
  font-size:12px;
  color:#6b7280;
}
.ca-modal__close{
  position:absolute;
  right:24px;
  top:24px;
  width:36px;
  height:36px;
  border-radius:999px;
  border:0;
  background:transparent;
  color:#6b7280;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.ca-modal__close svg{
  display:block;
  flex-shrink:0;
}
.ca-modal__close:hover{
  background:#f3f4f6;
  color:#111827;
}

/* Body */
.ca-modal__body{
  padding:36px 48px 44px;
  max-height: calc(100vh - 130px);
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}

/* Hide steps by default so we do not flash content */
#caStep2ISV,
#caStep2Seller,
#caStepISVScheduleCall,
#caStepISVDealApp{
  display:none;
}

.ca-modal__title{
  text-align:center;
  margin:20px 0 12px;
  font-size:38px;
  line-height:1.15;
  font-weight:650;
  color:#111827;
}
.ca-modal__subtitle{
  text-align:center;
  margin:0 0 16px;
  color:#6b7280;
  font-size:14px;
}
.ca-modal__options{
  margin-top:28px;
  display:flex;
  flex-direction:column;
  gap:24px;
}

/* Option cards */
.ca-option{
  width:100%;
  text-align:left;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px 26px 22px;
  cursor:pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.ca-option:hover{
  border-color:#93c5fd;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18), 0 10px 24px rgba(0,0,0,0.08);
}
.ca-option:focus:not(:hover){
  outline:none;
  box-shadow:none;
  border-color:#e5e7eb;
}
.ca-option__title{
  font-weight:650;
  color:#111827;
  font-size:18px;
}
.ca-option__desc{
  margin-top:8px;
  color:#6b7280;
  font-size:14px;
  line-height:1.5;
  max-width:620px;
}
.ca-option__cta{
  margin-top:12px;
  color:#2563eb;
  font-weight:600;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.ca-option__arrow{
  transition: transform 160ms ease;
}
.ca-option:hover .ca-option__arrow{
  transform: translateX(2px);
}

/* Step 2 ISV */
.ca-step2-title{
  text-align:center;
  margin:6px 0 6px;
  font-size:44px;
  line-height:1.1;
  font-weight:750;
  color:#111827;
}
.ca-step2-subtitle{
  text-align:center;
  margin:0;
  color:#9ca3af;
  font-size:14px;
}

.ca-step2-cards{
  margin-top:26px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}

.ca-step2-card{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  padding:22px;
  display:flex;
  flex-direction:column;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
  min-height:460px;
}

.ca-step2-card.selected{
  border-color:#3b82f6;
  box-shadow: 0 18px 38px rgba(59,130,246,0.18);
}

.ca-step2-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

.ca-step2-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ca-step2-icon.blue{ background: rgba(59,130,246,0.15); color:#2563eb; }
.ca-step2-icon.purple{ background: rgba(147,51,234,0.12); color:#7c3aed; }
.ca-step2-icon.indigo{ background: rgba(79,70,229,0.12); color:#4f46e5; }

.ca-step2-badge{
  font-size:12px;
  font-weight:650;
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
  color:#fff;
}
.ca-step2-badge.blue{ background:#1d4ed8; }
.ca-step2-badge.indigo{ background:#4338ca; }

.ca-step2-card-title{
  font-size:16px;
  font-weight:800;
  color:#111827;
  margin-top:6px;
}

.ca-step2-card-desc{
  font-size:13px;
  line-height:1.55;
  color:#6b7280;
  margin-top:10px;
}

.ca-step2-bullets{
  margin:14px 0 0;
  padding-left:18px;
  color:#374151;
  font-size:13px;
  line-height:1.55;
}
.ca-step2-bullets li{ margin:8px 0; }
.ca-step2-bullets li::marker{ color:#2563eb; }

.ca-step2-readmore{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:650;
  color:#2563eb;
  text-decoration:none;
  padding-top:12px;
}
.ca-step2-readmore.purple{ color:#7c3aed; }
.ca-step2-readmore.indigo{ color:#4f46e5; }

.ca-step2-cta{
  margin-top:12px;
  width:100%;
  border:0;
  border-radius:12px;
  padding:12px 14px;
  font-weight:800;
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.ca-step2-cta.blue{ background:#2563eb; }
.ca-step2-cta.purple{ background:#7c3aed; }
.ca-step2-cta.indigo{ background:#4f46e5; }

.ca-step2-back{
  margin:18px auto 0;
  display:block;
  border:0;
  background:transparent;
  color:#6b7280;
  font-weight:650;
  cursor:pointer;
}
.ca-step2-back:hover{ color:#111827; }

/* Seller step (cloud cards) */
.ca-cloud-cards{
  margin-top:22px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
}

.ca-cloud-card{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  padding:22px 18px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.ca-cloud-card:hover{
  border-color:#d1d5db;
  box-shadow: 0 14px 32px rgba(0,0,0,0.10);
}
.ca-cloud-logo{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  min-height:48px;
}
.ca-cloud-logo img{
  max-width:140px;
  height:auto;
  display:block;
}
.ca-cloud-name{
  font-weight:800;
  color:#111827;
  font-size:16px;
  margin-top:6px;
}
.ca-cloud-continue{
  margin-top:10px;
  color:#2563eb;
  font-weight:700;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:8px;
}

.ca-seller-bottom{
  margin-top:18px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:18px;
  background:#fff;
  text-align:center;
}
.ca-seller-bottom-title{
  font-weight:800;
  color:#111827;
  margin:2px 0 8px;
}
.ca-seller-bottom-desc{
  color:#6b7280;
  font-size:13px;
  line-height:1.55;
  max-width:760px;
  margin:0 auto 14px;
}
.ca-seller-bottom-desc span{
  color:#9ca3af;
  font-size:12px;
}
.ca-seller-bottom-cta{
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:12px;
  padding:10px 16px;
  cursor:pointer;
  font-weight:750;
  color:#111827;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.ca-seller-bottom-cta:hover{
  border-color:#d1d5db;
  box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}

/* Embedded views (Bookme, QForm) */
.ca-embed-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:16px 18px;
  border-bottom: 1px solid #f3f4f6;
  background:#fff;
  position:sticky;
  top:0;
  z-index:2;
}
.ca-embed-title{
  font-weight:800;
  color:#111827;
  font-size:18px;
}
.ca-embed-close{
  width:36px;
  height:36px;
  border-radius:999px;
  border:0;
  background:transparent;
  color:#6b7280;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.ca-embed-close:hover{
  background:#f3f4f6;
  color:#111827;
}
.ca-embed-close svg{
  display:block;
  flex-shrink:0;
}
.ca-embed-body{
  padding:18px 18px 22px;
}
.ca-embed-body iframe{
  width:100%;
  border:0;
}

/* If QForm outputs long content, keep it contained nicely */
.ca-embed-body .quform,
.ca-embed-body form{
  max-width: 100%;
}

/* Quform embed styling (modal only) */
.ca-embed-body .quform{
  color:#0f172a;
}
.ca-embed-body .quform .quform-element{
  margin-bottom:18px;
}
.ca-embed-body .quform .quform-label-text{
  color:#6b76ff;
  font-weight:600;
  font-size:20px;
}
.ca-embed-body .quform .quform-sub-label{
  color:#6b76ff;
  font-size:13px;
  margin-top:6px;
}
.ca-embed-body .quform .quform-field{
  width:100%;
  background:transparent;
  border:0;
  border-bottom:1px solid #d1d5db;
  border-radius:0;
  padding:8px 0;
  font-size:18px;
  line-height:1.4;
  color:#0f172a;
  box-shadow:none;
}
.ca-embed-body .quform .quform-field:focus{
  outline:none;
  border-bottom-color:#6b76ff;
}
.ca-embed-body .quform .quform-input{
  margin-top:6px;
}
.ca-embed-body .quform .quform-button-next .quform-next,
.ca-embed-body .quform .quform-button-submit .quform-submit{
  appearance:none;
  border:0;
  background:#6b76ff;
  color:#fff;
  font-weight:700;
  padding:10px 18px;
  border-radius:8px;
  cursor:pointer;
}
.ca-embed-body .quform .quform-button-back .quform-back{
  appearance:none;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#0f172a;
  font-weight:600;
  padding:10px 16px;
  border-radius:8px;
  cursor:pointer;
}

/* Quform option groups (radios) */
.ca-embed-body .quform .quform-options-simple{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ca-embed-body .quform .quform-option{
  position:relative;
}
.ca-embed-body .quform .quform-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ca-embed-body .quform .quform-option-label{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  background:#f3f4f6;
  border:1px solid #e5e7eb;
  color:#0f172a;
  font-weight:600;
}
.ca-embed-body .quform .quform-option-label::before{
  content:"";
  width:16px;
  height:16px;
  border-radius:999px;
  border:2px solid #9ca3af;
  background:#fff;
  flex:0 0 16px;
}
.ca-embed-body .quform .quform-option input:checked + .quform-option-label{
  border-color:#111827;
  background:#f8fafc;
}
.ca-embed-body .quform .quform-option input:checked + .quform-option-label::before{
  border-color:#111827;
  background:#111827;
  box-shadow: inset 0 0 0 3px #fff;
}
.ca-embed-body .quform .quform-option-label:hover{
  border-color:#cbd5f5;
  background:#eef2ff;
}

/* Responsive: 3 cols desktop, 2 cols tablet, 1 col mobile */
@media (max-width: 1100px){
  .ca-step2-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:14px;
  }
  .ca-step2-card{
    min-height:auto;
  }

  .ca-cloud-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px){
  .ca-modal{
    padding:16px;
  }
  .ca-modal__panel{
    width: calc(100vw - 32px);
    max-height: calc(100vh - 32px);
  }
  .ca-upload-modal__panel{
    width: calc(100vw - 32px);
    height: auto;
    max-height: calc(100vh - 32px);
    padding:20px;
  }
  .ca-modal__body{
    padding:18px 18px 22px;
    max-height: calc(100vh - 120px);
  }
  .ca-upload-modal__body{
    padding:16px 18px 14px;
  }
  .ca-step2-title{
    font-size:34px;
  }
}

@media (max-width: 780px){
  .ca-step2-cards{
    grid-template-columns: 1fr;
    gap:12px;
    margin-top:14px;
  }
  .ca-cloud-cards{
    grid-template-columns: 1fr;
    gap:12px;
  }
}

@media (max-width: 768px){
  .ca-modal__top{
    padding:18px 20px;
  }
  .ca-modal__close{
    top:18px;
    right:18px;
  }
  .ca-modal__title{
    font-size:28px;
    line-height:1.15;
    margin:16px 0 10px;
  }
  .ca-modal__subtitle{
    font-size:13px;
    margin:0 0 12px;
  }

  .ca-step2-title{
    font-size:28px;
    margin:6px 0 8px;
  }
  .ca-step2-subtitle{
    font-size:13px;
    margin:0 0 8px;
  }
  .ca-step2-card{
    padding:14px;
    border-radius:14px;
  }
  .ca-step2-icon{
    width:40px;
    height:40px;
  }
  .ca-step2-badge{
    font-size:11px;
    padding:5px 9px;
  }
  .ca-step2-card-title{
    font-size:15px;
  }
  .ca-step2-bullets{
    margin-top:10px;
    font-size:13px;
  }
  .ca-step2-cta{
    padding:12px 12px;
  }
  .ca-step2-back{
    margin-top:12px;
  }

  .ca-embed-title{
    font-size:16px;
  }
  .ca-embed-body{
    padding:12px 12px 16px;
  }
}

@media (max-width: 520px){
  .ca-modal{
    padding:12px;
  }
  .ca-modal__panel{
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    border-radius:16px;
  }
  .ca-modal__body{
    padding:12px 12px 16px;
    max-height: calc(100vh - 110px);
  }
  .ca-upload-modal__body{
    padding:12px 12px 12px;
  }
  .ca-modal__title{
    font-size:24px;
  }
}

@media (max-width: 420px){
  .ca-step2-title{ font-size:24px; }
}

/* --- Onboarding + Dashboard Templates --- */
/* Logo top bar is shown on onboarding/questionnaire; footer stays hidden for a focused flow */
.ca-layout--onboarding .site-footer,
.ca-layout--dashboard .site-header,
.ca-layout--dashboard .site-footer{
  display:none;
}

/* Site footer – centered, subtle */
.ca-site-footer{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-top:auto;
  padding:28px 24px 32px;
  background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-top:1px solid #e2e8f0;
  text-align:center;
  overflow-x:hidden;
}
.ca-site-footer__inner{
  box-sizing:border-box;
  max-width:720px;
  margin:0 auto;
  padding:0;
}
.ca-site-footer__copy{
  margin:0;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size:13px;
  line-height:1.5;
  color:#64748b;
  letter-spacing:0.01em;
  font-weight:400;
}

.ca-layout{
  background:#f7f9fc;
  min-height:100vh;
  padding:48px 20px 60px;
  font-family: "Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.ca-onboarding{
  max-width:min(90vw, 1200px);
  margin:0 auto;
  width:100%;
  box-sizing:border-box;
}
.ca-onboarding__hero{
  text-align:center;
  margin-bottom:24px;
}
.ca-onboarding__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  border-radius:999px;
  background:#e8f0ff;
  color:#2563eb;
  font-size:12px;
  font-weight:500;
  margin-bottom:18px;
}
.ca-onboarding__badge-dot{
  width:20px;
  height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#dbe7ff;
}
.ca-onboarding__badge-icon{
  width:16px;
  height:16px;
  margin-right:8px;
  color:currentColor;
  flex-shrink:0;
}
.ca-onboarding__title{
  font-size:36px;
  font-weight:650;
  margin:0 0 10px;
  color:#111827;
}
.ca-onboarding__subtitle{
  max-width:620px;
  margin:0 auto 12px;
  color:#6b7280;
  font-size:16px;
  line-height:1.6;
}
.ca-link{
  border:0;
  background:transparent;
  color:#2563eb;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.ca-onboarding__skip{
  margin-top:6px;
  color:#6b7280;
  font-weight:400;
}

.ca-onboarding__cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:28px;
  margin-top:16px;
  padding-top:6px;
  align-items:stretch;
}
.ca-card{
  background:#fff;
  border:1px solid #e5e9f2;
  border-radius:20px;
  padding:42px 38px 36px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:visible;
}
.ca-card__icon{
  width:52px;
  height:52px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  margin-bottom:18px;
}
.ca-card__icon--purple{ background:#f1e8ff; color:#7c3aed; }
.ca-card__icon--blue{ background:#dbeafe; color:#2563eb; }
.ca-card__icon--green{ background:#dcfce7; color:#16a34a; }
.ca-card__badge{
  position:absolute;
  top:20px;
  right:22px;
  font-size:11px;
  padding:4px 10px;
  border-radius:999px;
  font-weight:600;
}
.ca-card__badge--green{ background:#eafcef; color:#16a34a; }
.ca-card__badge--blue{ background:#e5efff; color:#2563eb; }
.ca-card__title{
  font-size:21px;
  font-weight:600;
  margin:4px 0 10px;
  color:#111827;
}
.ca-card__desc{
  font-size:15px;
  line-height:1.65;
  color:#6b7280;
  margin-bottom:20px;
  min-height:54px;
}
.ca-card__list-title{
  font-weight:600;
  margin-top:0;
  margin-bottom:10px;
  font-size:14px;
  color:#111827;
}
.ca-card__list{
  margin:0;
  padding-left:0;
  list-style:none;
  color:#4b5563;
  font-size:14px;
  line-height:1.55;
  margin-bottom:0;
  padding-bottom:0;
}
.ca-card__list li{
  margin:10px 0;
  padding-left:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.ca-card__list-icon{
  width:20px;
  height:20px;
  flex-shrink:0;
  margin-top:2px;
  color:#16a34a;
}
.ca-card__list li span{
  flex:1;
}
.ca-card__cta{
  margin-top:24px !important;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  justify-content:center;
  align-self:stretch;
}
.ca-card__footnote{
  text-align:center;
  font-size:11px;
  color:#9ca3af;
  margin-top:8px;
  margin-bottom:0;
}
.ca-onboarding__hint{
  margin-top:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:16px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-onboarding__hint-icon{
  width:20px;
  height:20px;
  color:#94a3b8;
  flex-shrink:0;
  margin-top:2px;
}
.ca-onboarding__hint-text{
  font-size:14px;
  line-height:1.5;
  margin:0;
}
.ca-onboarding__hint-title{
  color:#0f172a;
}
.ca-onboarding__hint-body{
  color:#475569;
}

/* ── Step 1: Go-to-Market Motion Selection Cards ── */
.ca-onboarding__motion-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:28px;
  margin-top:44px;
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
}
.ca-onboarding__motion-card{
  background:#fff;
  border:1px solid #e5e9f2;
  border-radius:20px;
  padding:44px 40px 40px;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
  cursor:pointer;
  text-align:left;
  display:flex;
  flex-direction:column;
  transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.ca-onboarding__motion-card:hover{
  border-color:#2563eb;
  box-shadow:0 18px 40px rgba(37,99,235,.12);
  transform:translateY(-2px);
}
.ca-onboarding__motion-icon{
  width:56px;
  height:56px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:24px;
}
.ca-onboarding__motion-icon--purple{
  background:#ede9fe;
  color:#7c3aed;
}
.ca-onboarding__motion-icon--blue{
  background:#dbeafe;
  color:#2563eb;
}
.ca-onboarding__motion-title{
  font-size:22px;
  font-weight:700;
  color:#111827;
  margin:0 0 10px;
}
.ca-onboarding__motion-desc{
  font-size:15px;
  line-height:1.65;
  color:#6b7280;
  margin:0 0 24px;
  flex:1;
}
.ca-onboarding__motion-select{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#2563eb;
  font-size:15px;
  font-weight:600;
}
.ca-onboarding__motion-select svg{
  transition:transform .15s ease;
}
.ca-onboarding__motion-card:hover .ca-onboarding__motion-select svg{
  transform:translateX(3px);
}

/* ── Step 2: Breadcrumb ── */
.ca-onboarding__breadcrumb{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid #e5e9f2;
  border-radius:999px;
  padding:8px 20px;
  margin:0 0 32px;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size:14px;
}
.ca-onboarding__breadcrumb-back{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  color:#111827;
  font-size:14px;
  font-weight:600;
  font-family:inherit;
}
.ca-onboarding__breadcrumb-back:hover{
  color:#2563eb;
}
.ca-onboarding__breadcrumb-back svg{
  flex-shrink:0;
}
.ca-onboarding__breadcrumb-sep{
  color:#94a3b8;
  font-size:16px;
}
.ca-onboarding__breadcrumb-current{
  color:#6b7280;
  font-weight:500;
}

/* ── Step 2: Hero (title + subtitle) ── */
.ca-onboarding__step2-hero{
  text-align:center;
  margin-bottom:24px;
}
.ca-onboarding__step2-hero .ca-onboarding__title{
  font-size:30px;
  font-weight:650;
  margin:0 0 8px;
  color:#111827;
}
.ca-onboarding__step2-hero .ca-onboarding__subtitle{
  max-width:560px;
  margin:0 auto;
  color:#6b7280;
  font-size:14px;
  line-height:1.6;
}

/* ── Step 2: RECOMMENDED badge (top-left overlap) ── */
.ca-card--upload .ca-card__badge--green{
  position:absolute;
  top:-10px;
  left:20px;
  right:auto;
  background:#dcfce7;
  color:#16a34a;
  font-size:11px;
  font-weight:700;
  padding:4px 12px;
  border-radius:999px;
  letter-spacing:.04em;
  z-index:1;
}

/* ── Step 2: Upload CTA gradient (changes by motion) ── */
.ca-card__cta--upload{
  background:linear-gradient(135deg, #7c3aed 0%, #2563eb 100%);
  border:0;
  color:#fff;
}
.ca-card__cta--upload:hover{
  opacity:.92;
}
.ca-onboarding[data-ca-motion="direct_sales"] .ca-card__cta--upload{
  background:linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
}

/* ── Step 2: Questionnaire CTA ── */
.ca-card__cta--questionnaire{
  background:#2563eb;
  border:0;
  color:#fff;
}
.ca-card__cta--questionnaire:hover{
  opacity:.92;
}

/* ── CTA icon alignment ── */
.ca-btn__icon{
  flex-shrink:0;
}

/* ── Step panel visibility & centering ── */
.ca-onboarding__step[hidden]{
  display:none;
}
.ca-onboarding__step--1{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:calc(100vh - 160px);
}
.ca-onboarding__hint-link{
  color:#2563eb;
  text-decoration:none;
  font-weight:600;
}
.ca-onboarding__hint-link:hover{
  text-decoration:underline;
}
.ca-onboarding__step--2 .ca-onboarding__hint{
  background:transparent;
  border:0;
  box-shadow:none;
  text-align:center;
  padding:24px 0 0;
  margin-top:24px;
}
.ca-onboarding__step--2 .ca-onboarding__hint-text{
  color:#6b7280;
  font-size:14px;
}

.ca-btn-solid{
  background:#7c3aed;
  color:#fff;
  border-radius:10px;
  border:0;
  padding:12px 18px;
  font-weight:700;
  cursor:pointer;
  box-shadow: 0 10px 20px rgba(124, 58, 237, 0.18);
}
.ca-card__cta--blue,
.ca-btn-solid.ca-card__cta--blue{
  background:#2563eb;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
}
.ca-btn-outline{
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  border-radius:10px;
  padding:12px 18px;
  font-weight:500;
  cursor:pointer;
}
.ca-btn-danger{
  background:#dc2626;
  color:#fff;
  border:1px solid #dc2626;
}
.ca-btn-danger:hover{
  background:#b91c1c;
  border-color:#b91c1c;
}

.ca-upload-modal__panel{
  width:80vw;
  height:80vh;
  max-width:none;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:24px 32px;
}
.ca-upload-modal__panel .ca-modal__top{
  flex-shrink:0;
  margin-bottom:12px;
  align-items:center;
}
.ca-upload-modal__panel .ca-modal__step{
  font-size:18px;
  font-weight:700;
}
.ca-upload-modal__body{
  flex:1;
  padding:0;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(0,0,0,.12) transparent;
}
.ca-upload-modal__body::-webkit-scrollbar{
  width:6px;
}
.ca-upload-modal__body::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,.12);
  border-radius:3px;
}
.ca-upload-modal__body::-webkit-scrollbar-track{
  background:transparent;
}
.ca-upload-modal__step-wrap{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ca-upload-modal__desc{
  text-align:left;
  color:#6b7280;
  margin:0;
  font-size:13.5px;
  line-height:1.5;
}
.ca-upload-modal__fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px 20px;
  margin:0;
}
.ca-upload-modal__fields .ca-upload-modal__field:nth-child(3){
  grid-column:1 / -1;
}
.ca-upload-modal__field{
  margin:0 0 4px;
}
.ca-upload-modal__fields .ca-upload-modal__field{
  margin:0 0 4px;
}
.ca-upload-modal__desc--dropzone{
  margin:0;
  font-size:13px;
  color:#6b7280;
}
.ca-upload-modal__email-wrap{
  margin:0;
}
.ca-upload-modal__email-label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:#111827;
  margin:0 0 6px;
}
.ca-upload-modal__email-label abbr{
  color:#dc2626;
  text-decoration:none;
}
.ca-upload-modal__field .ca-upload-modal__input,
.ca-upload-modal__input--email{
  width:100%;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  font-size:14px;
  box-sizing:border-box;
  font-family:inherit;
}
.ca-upload-modal__field .ca-upload-modal__input:focus,
.ca-upload-modal__input--email:focus{
  outline:none;
  border-color:#7c3aed;
  box-shadow:0 0 0 3px rgba(124,58,237,0.12);
}
.ca-upload-modal__notice--step1{
  margin:0 0 6px;
  min-height:16px;
}
.ca-upload-modal__notice--step1.is-error{
  color:#dc2626;
  font-size:13px;
  font-weight:500;
}
.ca-upload-modal__actions--step1{
  margin-top:8px;
}
.ca-upload-modal__dropzone{
  border:2px dashed #c7d2fe;
  border-radius:14px;
  padding:16px 20px;
  text-align:center;
  background:#faf8ff;
  transition:border-color .15s, background .15s;
}
.ca-upload-modal__dropzone:hover{
  border-color:#a78bfa;
  background:#f5f3ff;
}
.ca-upload-modal__icon{
  width:44px;
  height:44px;
  margin:0 auto 10px;
  border-radius:999px;
  background:#ede9fe;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  color:#7c3aed;
}
.ca-upload-modal__icon svg{
  width:22px;
  height:22px;
}
.ca-upload-modal__label{
  font-size:14px;
  color:#4b5563;
}
.ca-upload-modal__label .ca-link{
  color:#7c3aed;
  font-weight:600;
  text-decoration:underline;
}
.ca-upload-modal__meta{
  font-size:12px;
  color:#9ca3af;
  margin-top:6px;
}
/* Hide only the file input (in dropzone); email input is in step 1 and must stay visible */
.ca-upload-modal__dropzone-wrap .ca-upload-modal__input{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
}
.ca-upload-modal__dropzone.is-dragging{
  border-color:#7c3aed;
  background:#f3f0ff;
}
.ca-upload-modal__selected-wrap{
  margin-top:12px;
  padding-top:14px;
  border-top:1px solid #eef0f7;
}
.ca-upload-modal__selected-head{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:6px;
}
.ca-upload-modal__selected-title{
  font-size:14px;
  font-weight:600;
  color:#111827;
}
.ca-upload-modal__selected-count{
  font-size:13px;
  color:#6b7280;
  font-weight:400;
}
.ca-upload-modal__files{
  list-style:none;
  padding:0;
  margin:0;
  font-size:13px;
  color:#4b5563;
  display:flex;
  flex-direction:column;
  gap:6px;
  max-height:220px;
  overflow-y:auto;
}
.ca-upload-modal__file-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding-right:8px;
}
.ca-upload-modal__file-icon{
  flex-shrink:0;
  width:36px;
  height:36px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:700;
  color:#fff;
}
.ca-upload-modal__file-icon--pdf{
  background:#dc2626;
}
.ca-upload-modal__file-icon--doc{
  background:#2563eb;
}
.ca-upload-modal__file-icon--ppt{
  background:#ea580c;
}
.ca-upload-modal__file-icon--file{
  background:#64748b;
}
.ca-upload-modal__file-info{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ca-upload-modal__file-name{
  font-weight:500;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ca-upload-modal__file-size{
  font-size:12px;
  color:#6b7280;
}
.ca-upload-modal__file-remove{
  flex-shrink:0;
  width:32px;
  height:32px;
  border:none;
  background:transparent;
  border-radius:8px;
  color:#6b7280;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color 0.15s, background 0.15s;
}
.ca-upload-modal__file-remove:hover{
  color:#dc2626;
  background:#fef2f2;
}
.ca-upload-modal__file-remove:focus{
  outline:none;
  box-shadow:0 0 0 2px rgba(124,58,237,0.3);
}
.ca-upload-modal__files li{
  padding:0;
  border-bottom:none;
}
.ca-upload-modal__notice{
  min-height:18px;
  font-size:13px;
  color:#6b7280;
  margin:0;
}
.ca-upload-modal__notice.is-error{
  color:#dc2626;
  font-weight:500;
}
.ca-upload-modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  flex-shrink:0;
  padding-top:16px;
  border-top:1px solid #f1f5f9;
}
.ca-upload-modal__actions .ca-btn{
  padding:10px 24px;
  font-size:14px;
  border-radius:10px;
  font-family:inherit;
  transition:all .15s ease;
}
.ca-upload-modal__actions .ca-btn-solid{
  background:#7c3aed;
  color:#fff;
  font-weight:600;
}
.ca-upload-modal__actions .ca-btn-solid:hover{
  background:#6d28d9;
}
.ca-upload-modal__actions .ca-btn-outline{
  border:1px solid #d1d5db;
  background:#fff;
  color:#374151;
  font-weight:500;
}
.ca-upload-modal__actions .ca-btn-outline:hover{
  background:#f9fafb;
  border-color:#9ca3af;
}
/* Upload modal – uploading state */
.ca-upload-modal__uploading{
  text-align:center;
  padding:24px 0;
}
.ca-upload-modal__uploading-icon{
  margin-bottom:12px;
  animation: caSpinPulse 1.5s ease-in-out infinite;
  color:#7c3aed;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ca-upload-modal__uploading-icon svg{
  width:36px;
  height:36px;
}
@keyframes caSpinPulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.6; transform:scale(1.08); }
}
.ca-upload-modal__uploading-label{
  font-size:15px;
  font-weight:600;
  color:#111827;
  margin-bottom:16px;
}
.ca-upload-modal__progress{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.ca-upload-modal__progress-track{
  flex:1;
  height:8px;
  border-radius:999px;
  background:#e5e7eb;
  overflow:hidden;
}
.ca-upload-modal__progress-bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#6366f1,#818cf8);
  border-radius:999px;
  transition:width .3s ease;
}
.ca-upload-modal__progress-pct{
  font-size:13px;
  font-weight:700;
  color:#6366f1;
  min-width:36px;
  text-align:right;
}
.ca-upload-modal__uploading-files{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:8px;
}
.ca-upload-modal__uploading-file{
  font-size:12px;
  color:#6b7280;
  padding:3px 0;
}

.ca-onboarding__section{
  transition: opacity 160ms ease;
}
.ca-onboarding__section[aria-hidden="true"]{
  display:none;
}
.ca-state-card{
  max-width:520px;
  margin:0 auto;
  background:#fff;
  border-radius:18px;
  border:1px solid #e5e7eb;
  padding:32px;
  text-align:center;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}
.ca-state-card__icon{
  width:56px;
  height:56px;
  border-radius:999px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}
.ca-state-card__icon--spinner{
  background:transparent;
  border:3px solid #dbeafe;
  border-top-color:#2563eb;
  border-radius:50%;
  animation:caSpin 0.9s linear infinite;
}
@keyframes caSpin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}
.ca-state-card__icon--success{ background:#dcfce7; color:#16a34a; }
.ca-state-card__title{
  font-size:20px;
  font-weight:700;
  margin:0 0 8px;
  color:#111827;
}
.ca-state-card__subtitle{
  font-size:13px;
  color:#6b7280;
  margin:0 0 18px;
}
.ca-progress__bar{
  height:6px;
  background:#e5e7eb;
  border-radius:999px;
  overflow:hidden;
}
.ca-progress__fill{
  height:100%;
  background:#6366f1;
  border-radius:999px;
  transition:width .5s ease;
}
.ca-progress__fill--animate{
  height:100%;
  background:#6366f1;
  width:0%;
  animation: caProgress 2.2s ease forwards;
}
.ca-progress--complete .ca-progress__fill{
  background:#111827;
}
@keyframes caProgress{
  from{ width:0%; }
  to{ width:100%; }
}
.ca-state-card__list{
  list-style:none;
  padding:0;
  margin:18px 0;
  text-align:left;
  color:#6b7280;
  font-size:13px;
}
.ca-state-card__list li{
  margin:8px 0;
  padding-left:28px;
  position:relative;
}
.ca-state-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:12px;
  height:12px;
  border-radius:999px;
  border:1px solid #d1d5db;
  background:#fff;
}
.ca-state-card__list li.is-complete::before{
  content:"";
  display:block;
  width:20px;
  height:20px;
  flex-shrink:0;
  border:none;
  background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}
.ca-state-card__list li.is-active::before{
  content:">";
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  font-weight:700;
  color:#2563eb;
  border-color:#bfdbfe;
  background:#eff6ff;
}
/* Processing page – detail line (file + clouds) */
.ca-processing-detail{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  margin-top:12px;
  font-size:12px;
  min-height:32px;
}
.ca-processing-detail__file{
  color:#6b7280;
  animation:caFade 1.2s ease-in-out infinite alternate;
}
.ca-processing-detail__clouds{
  color:#6366f1;
  font-weight:600;
}
@keyframes caFade{
  from{ opacity:.5; }
  to{ opacity:1; }
}

.ca-state-card__action{
  margin-top:6px;
}
.ca-state-card__action--auto{
  display:none;
}
.ca-complete-summary{
  border:1px solid #dbe7ff;
  background:#f3f7ff;
  border-radius:12px;
  padding:14px;
  margin-bottom:16px;
}
.ca-complete-summary__header{
  font-size:12px;
  font-weight:700;
  color:#2563eb;
  margin-bottom:10px;
}
.ca-complete-summary__stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}
.ca-complete-summary__agents{
  margin-top:14px;
  font-size:13px;
  color:#475569;
}
.ca-complete-summary__value{
  font-weight:700;
  font-size:18px;
  color:#111827;
}
.ca-complete-summary__label{
  font-size:11px;
  color:#6b7280;
}

/* Dashboard */
.ca-layout--dashboard{
  padding:0;
  background:#f3f6fb;
}
.ca-dashboard{
  display:grid;
  grid-template-columns: 260px 1fr;
  min-height:100vh;
}
.ca-dashboard__sidebar{
  background:#f8fafc;
  color:#475569;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  gap:24px;
  border-right:1px solid #e5e7eb;
}
.ca-dashboard__brand{
  padding-bottom:16px;
  margin-bottom:8px;
  border-bottom:1px solid #e2e8f0;
  line-height:0;
}
.ca-dashboard__brand a{
  display:block;
}
.ca-dashboard__brand-img{
  width:100%;
  max-width:200px;
  height:auto;
  display:block;
}
.ca-dashboard__nav-title{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
  margin:16px 0 8px;
}
.ca-dashboard__nav-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ca-dashboard__nav-list .ca-dashboard__nav-heading{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#94a3b8;
  margin:12px 0 4px;
  padding:0 10px;
  pointer-events:none;
}
.ca-dashboard__nav-list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
  border-radius:10px;
  background:transparent;
  cursor:pointer;
  color:#475569;
}
.ca-dashboard__nav-list a{
  display:flex;
  align-items:center;
  gap:10px;
  width:auto;
  flex:1;
  padding:8px 10px;
  text-decoration:none;
  color:#475569;
  border-radius:10px;
  font-weight:600;
}
.ca-dashboard__nav-list a:hover{
  background:#eef2ff;
  color:#312e81;
}
.ca-dashboard__nav-list .current-menu-item > a{
  background:#ede9fe;
  color:#6d28d9;
}
/* Nav icon + label */
.ca-nav-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:18px;
  height:18px;
  opacity:.7;
}
.ca-dashboard__nav-list a:hover .ca-nav-icon,
.ca-dashboard__nav-list .current-menu-item > a .ca-nav-icon{
  opacity:1;
}
.ca-nav-icon svg{
  display:block;
}
.ca-nav-icon--atlas{
  width:24px;
  height:24px;
}
.ca-nav-icon--atlas img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
}
.ca-nav-label{
  flex:1;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ca-dashboard__nav-list li.is-active{
  background:#ede9fe;
  color:#6d28d9;
}
.ca-pill{
  font-size:11px;
  background:#f1f5f9;
  color:#64748b;
  padding:2px 8px;
  border-radius:999px;
  margin-left:8px;
  flex-shrink:0;
}
.ca-dashboard__nav-list .current-menu-item > .ca-pill{
  background:#f3e8ff;
  color:#6d28d9;
}
.ca-dashboard__sidebar-cta{
  margin-top:auto;
}
.ca-dashboard__sidebar-footer{
  margin-top:8px;
  padding-top:16px;
  border-top:1px solid #e2e8f0;
}
.ca-dashboard__view-toggle{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:9px 10px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  color:#475569;
  text-decoration:none;
  background:transparent;
  border:1px solid #e2e8f0;
  transition:background .15s, color .15s, border-color .15s;
}
.ca-dashboard__view-toggle svg{
  flex-shrink:0;
  opacity:.75;
}
.ca-dashboard__view-toggle:hover{
  background:#eef2ff;
  color:#312e81;
  border-color:#c7d2fe;
}
.ca-dashboard__view-toggle:hover svg{
  opacity:1;
}
.ca-sidebar-cta-card{
  background:linear-gradient(135deg, #2563eb, #7c3aed);
  border-radius:16px;
  padding:16px;
  color:#fff;
}
.ca-sidebar-cta-title{
  font-weight:700;
  margin-bottom:6px;
}
.ca-sidebar-cta-desc{
  font-size:12px;
  margin-bottom:10px;
}
.ca-dashboard__content{
  padding:22px 30px 40px;
}
.ca-dashboard__topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:-22px -30px 20px;
  background:#fff;
  border:none;
  border-bottom:1px solid #e5e7eb;
  border-radius:0;
  padding:12px 16px;
}
.ca-dashboard__context-title{
  font-weight:700;
  color:#0f172a;
}
.ca-dashboard__context-subtitle{
  font-size:12px;
  color:#94a3b8;
}

/* ── Agent selector dropdown ────────────────────────── */
.ca-agent-selector{
  position:relative;
  z-index:100;
}
.ca-agent-selector__trigger{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:12px;
  background:none;
  border:none;
  outline:none;
  padding:6px 10px;
  border-radius:12px;
  cursor:pointer;
  transition:background .15s;
  white-space:nowrap;
}
.ca-agent-selector__trigger:hover{
  background:#f1f5f9;
}
.ca-agent-selector__trigger:focus{
  outline:none;
  box-shadow:none;
}
.ca-agent-selector__avatar{
  width:40px !important;
  height:40px !important;
  border-radius:50% !important;
  object-fit:cover;
  flex-shrink:0;
  display:inline-block !important;
}
.ca-agent-selector__info{
  text-align:left;
  min-width:0;
}
.ca-agent-selector__name{
  font-weight:700;
  font-size:14px;
  color:#0f172a;
  line-height:1.3;
}
.ca-agent-selector__role{
  font-size:12px;
  color:#94a3b8;
  display:inline-flex !important;
  align-items:center;
  gap:4px;
  line-height:1.3;
}
.ca-agent-selector__chevron{
  flex-shrink:0;
  transition:transform .2s;
  display:inline-block !important;
  vertical-align:middle;
}
.ca-agent-selector.is-open .ca-agent-selector__chevron{
  transform:rotate(180deg);
}

/* Dropdown */
.ca-agent-selector__dropdown{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  min-width:320px;
  background:#fff;
  border:none !important;
  border-radius:14px;
  box-shadow:0 4px 24px rgba(0,0,0,.10), 0 1px 4px rgba(0,0,0,.06);
  padding:8px 0;
  z-index:9999;
  animation:caDropIn .15s ease;
}
@keyframes caDropIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
.ca-agent-selector__option{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:12px;
  padding:10px 16px;
  cursor:pointer;
  transition:background .12s;
}
.ca-agent-selector__option:hover{
  background:#f8fafc;
}
.ca-agent-selector__option.is-selected{
  background:#eff6ff;
}
.ca-agent-selector__option.is-coming-soon{
  opacity:0.7;
  cursor:not-allowed;
  pointer-events:auto;
}
.ca-agent-selector__option.is-coming-soon:hover{
  background:#f9fafb;
}
.ca-agent-selector__option > img{
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
  object-fit:cover;
  flex-shrink:0;
  display:inline-block !important;
  max-width:36px !important;
}
.ca-agent-selector__option > div{
  min-width:0;
  flex:1;
}
.ca-agent-selector__check{
  width:16px !important;
  height:16px !important;
  min-width:16px;
  flex-shrink:0;
  color:#3b82f6;
  visibility:hidden;
  display:inline-block !important;
}
.ca-agent-selector__option > svg,
.ca-agent-selector__option > img,
.ca-agent-selector__option > div{
  display:inline-block !important;
  vertical-align:middle;
}
.ca-agent-selector__option.is-selected .ca-agent-selector__check{
  visibility:visible;
}
.ca-agent-selector__opt-name{
  font-weight:600;
  font-size:14px;
  color:#0f172a;
  line-height:1.3;
}
.ca-agent-selector__opt-role{
  font-size:12px;
  color:#94a3b8;
  line-height:1.3;
}
.ca-dashboard__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-left:auto;
}

.ca-dashboard__placeholder{
  border:1px dashed #cbd5f5;
  background:#f8fafc;
  border-radius:16px;
  padding:24px;
  color:#475569;
}
.ca-dashboard__editor-content{
  margin-bottom:24px;
}
.ca-dashboard__editor-content > .wp-block-heading:first-child{
  display:none;
}
.ca-dashboard__editor-content .wp-block-site-title,
.ca-dashboard__editor-content .wp-block-site-tagline{
  display:none;
}
.ca-chip{
  border:1px solid #e5e7eb;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  font-size:12px;
}
.ca-credits{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  font-size:13px;
  font-weight:500;
  color:#7c3aed;
  background:linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
  border:1px solid #ddd6fe;
  border-radius:999px;
  padding:6px 14px 6px 10px;
  cursor:pointer;
  transition:all .2s ease;
  box-shadow:0 1px 2px rgba(124,58,237,.08);
}
.ca-credits:hover{
  background:linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%);
  border-color:#c4b5fd;
  box-shadow:0 2px 6px rgba(124,58,237,.15);
  transform:translateY(-1px);
}
.ca-credits__icon{
  flex-shrink:0;
  opacity:.8;
}
.ca-credits__count{
  font-weight:700;
  font-size:14px;
  color:#6d28d9;
}
.ca-credits__label{
  color:#7c3aed;
  opacity:.85;
}
.ca-btn-outline{
  border:1px solid #d1d5db;
  background:#fff;
  color:#111827;
}
.ca-avatar{
  width:28px;
  height:28px;
  border-radius:999px;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  flex-shrink:0;
}
.ca-avatar svg{
  display:block;
  stroke:#fff;
}
.ca-profile-menu{
  position:relative;
}
.ca-profile-menu__trigger{
  display:flex;
  align-items:center;
  gap:8px;
  height:36px;
  padding:0 10px 0 4px;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
  color:#6b7280;
  cursor:pointer;
}
.ca-profile-menu__chev{
  display:block;
  color:#9ca3af;
  transition:transform .16s ease;
}
.ca-profile-menu.is-open .ca-profile-menu__chev{
  transform:rotate(180deg);
}
.ca-profile-menu__dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:248px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:0 12px 30px rgba(15,23,42,.14);
  z-index:1100;
  overflow:hidden;
}
.ca-profile-menu__head{
  padding:12px 14px;
  border-bottom:1px solid #e5e7eb;
}
.ca-profile-menu__name{
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  color:#111827;
}
.ca-profile-menu__email{
  margin-top:2px;
  font-size:13px;
  color:#6b7280;
}
.ca-profile-menu__item{
  display:block;
  padding:10px 14px;
  font-size:15px;
  color:#111827;
  text-decoration:none;
  border-bottom:1px solid #f1f5f9;
}
.ca-profile-menu__item:hover{
  background:#f8fafc;
}
.ca-profile-menu__item.is-logout{
  color:#dc2626;
  border-bottom:none;
}
.ca-profile-menu__item--disabled{
  color:#9ca3af;
  cursor:not-allowed;
  pointer-events:none;
}

.ca-dashboard__panel{
  background:#f8fafc;
  border-radius:20px;
  padding:24px;
  border:1px solid #e5e7eb;
}
.ca-dashboard__summary{
  border:1px solid #dbe7ff;
  background:#f3f7ff;
  border-radius:16px;
  padding:16px;
  margin-bottom:20px;
}
.ca-dashboard__summary-header{
  font-size:12px;
  font-weight:700;
  color:#2563eb;
  margin-bottom:10px;
}
.ca-dashboard__summary-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}
.ca-dashboard__summary-value{
  font-weight:700;
  font-size:16px;
  color:#111827;
}
.ca-dashboard__summary-label{
  font-size:11px;
  color:#6b7280;
}
.ca-dashboard__summary-agents{
  margin-top:12px;
  font-size:13px;
  color:#475569;
}
.ca-dashboard__summary-clouds{
  margin-top:10px;
  font-size:13px;
  color:#475569;
}
.ca-cloud-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 8px;
  margin-left:6px;
  border-radius:999px;
  background:#e0f2fe;
  color:#0369a1;
  font-size:11px;
  font-weight:700;
  gap:6px;
}
.ca-cloud-badge img{
  width:18px;
  height:18px;
  border-radius:999px;
  background:#fff;
  object-fit:contain;
}
.ca-cloud-badge.is-locked{
  background:#f1f5f9;
  color:#94a3b8;
  opacity:0.7;
  filter:grayscale(1);
}
.ca-cloud-badge.is-locked img{
  filter:grayscale(1);
  opacity:0.7;
}
.ca-dashboard__summary-agent-list{
  list-style:none;
  padding:0;
  margin:8px 0 0;
  font-size:12px;
  color:#4b5563;
}
.ca-dashboard__summary-agent-list li{
  margin-bottom:6px;
}
.ca-dashboard__summary-uploads{
  margin-top:10px;
  font-size:12px;
  color:#4b5563;
}
.ca-dashboard__summary-uploads ul{
  margin:6px 0 0;
  padding:0;
  list-style:none;
}
.ca-dashboard__summary-uploads li{
  margin-bottom:4px;
}
.ca-panel-header{
  text-align:center;
  margin-bottom:22px;
}
.ca-panel-title{
  margin:0;
  font-size:26px;
  font-weight:700;
}
.ca-panel-subtitle{
  margin:4px 0 0;
  font-size:13px;
  color:#6b7280;
}
.ca-dashboard__cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:24px;
}
.ca-dash-card{
  background:#fff;
  border-radius:16px;
  border:1px solid #e5e7eb;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:300px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  position:relative;
}
.ca-dash-card__icon{
  width:40px;
  height:40px;
  border-radius:12px;
  background:#ede9fe;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  color:#6d28d9;
}
.ca-dash-card__badge{
  align-self:flex-start;
  font-size:11px;
  padding:4px 10px;
  border-radius:999px;
  background:#ede9fe;
  color:#7c3aed;
  font-weight:600;
}
.ca-dash-card__badge--green{ background:#dcfce7; color:#16a34a; }
.ca-dash-card__badge--orange{ background:#ffedd5; color:#ea580c; }
.ca-dash-card__badge--purple{ background:#ede9fe; color:#7c3aed; }
.ca-dash-card__title{
  font-size:17px;
  font-weight:700;
  color:#111827;
}
.ca-dash-card__credits{
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}
.ca-dash-card__credits-num{
  font-weight:800;
}
.ca-dash-card__credits-label{
  font-weight:600;
}
.ca-dash-card__credits--purple{
  background:#ede9fe;
  color:#7c3aed;
}
.ca-dash-card__credits--orange{
  background:#ffedd5;
  color:#ea580c;
}
.ca-dash-card__list{
  margin:0;
  padding-left:18px;
  color:#4b5563;
  font-size:13px;
  line-height:1.5;
}
.ca-dash-card__cta{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.ca-dash-card__cta-arrow{
  flex-shrink:0;
  width:20px;
  height:20px;
}
.ca-dash-card__cta--green{ background:#16a34a; box-shadow: 0 10px 20px rgba(22, 163, 74, 0.18); }
.ca-dash-card__cta--orange{ background:#ea580c; box-shadow: 0 10px 20px rgba(234, 88, 12, 0.18); }
.ca-dash-card__cta--purple{ background:#7c3aed; box-shadow: 0 10px 20px rgba(124, 58, 237, 0.18); }

.ca-dash-card--purple .ca-dash-card__icon{ background:#ede9fe; color:#7c3aed; }
.ca-dash-card--green .ca-dash-card__icon{ background:#dcfce7; color:#16a34a; }
.ca-dash-card--orange .ca-dash-card__icon{ background:#ffedd5; color:#ea580c; }
.ca-dash-card.is-selected{
  border:2px solid #bbf7d0;
  box-shadow:0 12px 26px rgba(16,185,129,.15);
}

/* ── Disabled card (Direct Sales: Cloud Marketplace Programs) ── */
.ca-dash-card.is-disabled{
  opacity:.55;
  pointer-events:none;
  filter:grayscale(.3);
  border-color:#e2e8f0;
  box-shadow:none;
}
.ca-dash-card.is-disabled .ca-dash-card__cta{
  background:#94a3b8;
  box-shadow:none;
  cursor:default;
}
.ca-dash-card__toggle-wrap{
  position:absolute;
  top:16px;
  right:16px;
  display:flex;
  align-items:center;
  gap:8px;
  pointer-events:auto;
  z-index:2;
}
.ca-dash-card__toggle-label{
  font-size:13px;
  font-weight:600;
  color:#475569;
}
.ca-dash-card__toggle{
  position:relative;
  display:inline-block;
  width:44px;
  height:24px;
  cursor:pointer;
}
.ca-dash-card__toggle input{
  opacity:0;
  width:0;
  height:0;
  position:absolute;
}
.ca-dash-card__toggle-slider{
  position:absolute;
  inset:0;
  background:#cbd5e1;
  border-radius:24px;
  transition:background .2s ease;
}
.ca-dash-card__toggle-slider::before{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  left:3px;
  bottom:3px;
  background:#fff;
  border-radius:50%;
  transition:transform .2s ease;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.ca-dash-card__toggle input:checked + .ca-dash-card__toggle-slider{
  background:#16a34a;
}
.ca-dash-card__toggle input:checked + .ca-dash-card__toggle-slider::before{
  transform:translateX(20px);
}
.ca-dash-card[data-ca-toggleable-card]{
  position:relative;
}

.ca-gs-notice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  border-radius:10px;
  margin:0 0 14px;
}
.ca-gs-notice__icon{
  width:18px;
  height:18px;
  border-radius:999px;
  background:#2563eb;
  color:#fff;
  font-size:11px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ca-gs-notice__title{
  font-size:12px;
  font-weight:700;
  color:#1e3a8a;
}
.ca-gs-notice__sub{
  font-size:11px;
  color:#64748b;
}

/* Schedule Atlas Surface Review bar (top right, below navbar) */
.ca-gs-schedule-bar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:16px;
}
.ca-gs-schedule-bar__btn{
  font-weight:600;
  font-size:14px;
  padding:10px 18px;
}

.ca-gs-track{
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  padding:12px 14px;
  margin:14px 0 14px;
}
.ca-gs-track__top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.ca-gs-track__label{
  font-size:11px;
  color:#64748b;
  margin-bottom:6px;
}
.ca-gs-track__label span{
  background:#ede9fe;
  color:#6d28d9;
  border-radius:999px;
  padding:2px 8px;
  font-weight:700;
}
.ca-gs-track__title{
  font-weight:700;
  color:#111827;
}
.ca-gs-track__sub{
  font-size:12px;
  color:#6b7280;
}
.ca-gs-track__score{
  text-align:right;
}
.ca-gs-track__pct{
  font-size:34px;
  line-height:1;
  font-weight:700;
  color:#7c3aed;
}
.ca-gs-track__reset{
  margin-top:6px;
  border:1px solid #fdba74;
  background:#fff7ed;
  color:#c2410c;
  border-radius:8px;
  font-size:11px;
  padding:4px 8px;
  cursor:pointer;
}
.ca-gs-track__bar{
  margin-top:10px;
  height:7px;
  border-radius:999px;
  background:#e5e7eb;
  overflow:hidden;
}
.ca-gs-track__bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#111827;
}

.ca-gs-steps{
  margin-bottom:20px;
}
.ca-gs-steps__title{
  margin:0 0 10px;
  font-size:14px;
  color:#334155;
}
.ca-gs-step{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:12px;
  margin-bottom:10px;
}
.ca-gs-step__num{
  width:20px;
  height:20px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:11px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-gs-step__icon{
  width:30px;
  height:30px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:#eff6ff;
}
.ca-gs-step__name{
  font-size:14px;
  font-weight:700;
  color:#111827;
}
.ca-gs-step__desc{
  font-size:12px;
  color:#6b7280;
  margin:2px 0 8px;
}
.ca-gs-step__btn{
  border:0;
  border-radius:8px;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:6px 10px;
  cursor:pointer;
}

.ca-dashboard__help{
  margin-top:24px;
}
.ca-help-header h2{
  margin:0;
  font-size:18px;
  color:#0f172a;
}
.ca-help-header p{
  margin:4px 0 12px;
  color:#6b7280;
  font-size:13px;
}
.ca-help-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
.ca-help-card{
  background:#fff;
  border-radius:12px;
  border:1px solid #e5e7eb;
  padding:12px;
  display:flex;
  align-items:center;
  gap:12px;
}
.ca-help-card__icon{
  width:34px;
  height:34px;
  border-radius:10px;
  background:#eef2ff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  color:#4f46e5;
}
.ca-help-card__title{
  font-size:13px;
  font-weight:700;
}
.ca-help-card__desc{
  font-size:11px;
  color:#6b7280;
}
.ca-help-card--warn{
  border-color:#fed7aa;
  background:#fff7ed;
}

/* Questionnaire */
.ca-questionnaire{
  max-width:840px;
  margin:0 auto;
  font-family: "Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-questionnaire__header{
  text-align:center;
  margin-bottom:24px;
}
.ca-questionnaire__card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:28px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}
.ca-questionnaire__progress{
  display:flex;
  gap:8px;
  justify-content:center;
  margin-bottom:18px;
}
.ca-questionnaire__step{
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  color:#94a3b8;
}
.ca-questionnaire__step.is-active{
  background:#2563eb;
  color:#fff;
  border-color:#2563eb;
}
.ca-questionnaire__title{
  font-size:18px;
  font-weight:550;
  color:#111827;
  margin:0 0 8px;
  display:flex;
  align-items:center;
  gap:10px;
}
.ca-questionnaire__title-icon{
  width:20px;
  height:20px;
  color:#2563eb;
  flex-shrink:0;
}
.ca-questionnaire__desc{
  font-size:13px;
  color:#6b7280;
  line-height:1.6;
  margin:0 0 20px;
}
.ca-questionnaire__actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
}
.ca-questionnaire__form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:20px;
}
.ca-questionnaire__label{
  color:#1f2130;
  font-weight:500;
}
.ca-questionnaire__label--upload{
  margin-top:14px;
  font-size:0.92em;
  color:#4a4d5e;
}
.ca-questionnaire__input{
  border:1px solid #d8dbe8;
  border-radius:12px;
  padding:12px 14px;
  font-size:15px;
}
.ca-questionnaire__notice{
  min-height:18px;
  color:#dc2626;
  font-size:13px;
  margin:0;
}
.ca-questionnaire__progress-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
  gap:8px;
}
.ca-questionnaire__progress-title{
  font-size:15px;
  font-weight:600;
  color:#64748b;
}
.ca-questionnaire__progress-count{
  font-size:15px;
  font-weight:700;
  color:#1e293b;
}
.ca-questionnaire__step.is-complete{
  background:#dbeafe;
  color:#1d4ed8;
  border-color:#bfdbfe;
}
.ca-questionnaire__step.is-disabled{
  opacity:0.55;
}
.ca-questionnaire__panel{
  display:none;
}
.ca-questionnaire__panel.is-active{
  display:block;
}
.ca-questionnaire__field-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.ca-questionnaire__field-grid--two{
  grid-template-columns:1fr;
  margin-top:10px;
}
.ca-questionnaire__field{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:20px;
}
.ca-questionnaire__field[hidden]{
  display:none !important;
}
.ca-questionnaire__field--full{
  margin-top:4px;
  margin-bottom:20px;
}
.ca-questionnaire__textarea,
.ca-questionnaire__select{
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:10px 36px 10px 12px;
  font-size:14px;
  background:#fff;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color:#111827;
  min-height:42px;
}
.ca-questionnaire__select{
  appearance:none;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:16px;
  padding-right:40px;
}
.ca-questionnaire__select:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 2px rgba(37, 99, 235, 0.15);
}
.ca-questionnaire__select:hover{
  border-color:#d1d5db;
}
.ca-questionnaire__textarea{
  resize:vertical;
  min-height:100px;
  padding:12px 14px;
}
.ca-questionnaire__fieldset{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:14px;
  margin:0 0 20px;
}
.ca-questionnaire__fieldset[hidden]{
  display:none !important;
}
.ca-questionnaire__checkbox-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px 18px;
  margin-top:8px;
}
.ca-questionnaire__checkbox-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:8px;
}
.ca-questionnaire__checkbox-column{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:8px;
}
.ca-questionnaire__checkbox{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:#111827;
}
.ca-questionnaire__checkbox input[type="checkbox"]{
  width:15px;
  height:15px;
}
.ca-questionnaire__hint{
  font-size:12px;
  color:#6b7280;
}
.ca-questionnaire__dynamic-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:8px 0 10px;
}
.ca-questionnaire__dynamic-row{
  display:flex;
  gap:10px;
  align-items:center;
}
.ca-questionnaire__dynamic-row .ca-questionnaire__input{
  flex:1;
  min-width:0;
}
.ca-questionnaire__remove{
  width:34px;
  height:34px;
  border:1px solid #d1d5db;
  background:#fff;
  border-radius:10px;
  cursor:pointer;
  color:#111827;
  font-size:20px;
  line-height:1;
}
.ca-questionnaire__add-btn{
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  border:1px solid #d1d5db;
  background:#fff;
  border-radius:10px;
  padding:9px 12px;
  font-size:14px;
  font-weight:500;
  width:max-content;
  cursor:pointer;
}
.ca-questionnaire__add-btn:disabled{
  opacity:0.55;
  cursor:not-allowed;
}
.ca-questionnaire__cloud-cards{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:12px 0;
}
.ca-questionnaire__cloud-card{
  border:1px solid #dbe1ef;
  border-radius:14px;
  background:#f8fafc;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ca-questionnaire__cloud-card[hidden]{
  display:none !important;
}
.ca-questionnaire__cloud-title{
  font-size:24px;
  color:#0f172a;
}
.ca-questionnaire__cloud-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd5e1;
  border-radius:999px;
  padding:2px 9px;
  font-size:12px;
  font-weight:700;
  color:#1e293b;
  margin-right:8px;
}
.ca-questionnaire__cloud-listed-fields{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ca-questionnaire__cloud-listed-fields[hidden]{
  display:none !important;
}
.ca-questionnaire__cloud-offer-fields{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ca-questionnaire__cloud-offer-fields[hidden]{
  display:none !important;
}
.ca-questionnaire__upload-block{
  margin-top:8px;
  padding-top:16px;
  border-top:1px solid #e5e7eb;
}
.ca-questionnaire__upload-input{
  margin-top:8px;
  font-size:14px;
  max-width:100%;
}
.ca-questionnaire__upload-list{
  list-style:none;
  margin:12px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ca-questionnaire__upload-file{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:10px 12px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:10px;
}
.ca-questionnaire__upload-file-name{
  font-size:14px;
  font-weight:500;
  color:#111827;
  flex:1;
  min-width:0;
  word-break:break-word;
}
.ca-questionnaire__upload-file-meta{
  font-size:12px;
  color:#6b7280;
}
@media (min-width: 900px){
  .ca-questionnaire{
    max-width:980px;
  }
  .ca-questionnaire__field-grid{
    grid-template-columns:1fr 1fr;
  }
  .ca-questionnaire__field--full{
    grid-column:1 / -1;
  }
  .ca-questionnaire__field-grid--two{
    grid-template-columns:1fr 1fr;
  }
  .ca-questionnaire__checkbox-grid{
    grid-template-columns:1fr 1fr;
  }
}
.ca-admin{
  max-width:1200px;
  margin:0 auto;
  padding:40px 24px;
}
.ca-admin__header h1{
  margin:0 0 6px;
  font-size:28px;
}
.ca-admin__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap:24px;
  margin-top:24px;
}
.ca-admin__panel{
  background:#ffffff;
  border:1px solid #e3e6f4;
  border-radius:16px;
  padding:20px;
  box-shadow:0 18px 40px rgba(15, 15, 30, 0.06);
}
.ca-admin__panel h2{
  margin:0 0 12px;
  font-size:18px;
}
.ca-admin__table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}
.ca-admin__table th,
.ca-admin__table td{
  text-align:left;
  padding:8px 6px;
  border-bottom:1px solid #eef0f7;
}
.ca-admin__table tbody tr{
  cursor:pointer;
}
.ca-admin__form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ca-admin__form input{
  width:100%;
  border:1px solid #d8dbe8;
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
}
.ca-admin__row{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap:10px;
}
.ca-admin__notice{
  min-height:18px;
  color:#6d7086;
  font-size:13px;
  margin:0;
}

.ca-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:999;
}
.ca-modal.is-open{
  display:flex;
}
.ca-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15, 23, 42, 0.45);
}
.ca-modal__panel{
  position:relative;
  z-index:2;
  background:#fff;
  border-radius:16px;
  padding:20px;
  width:min(520px, 92vw);
  box-shadow:0 24px 60px rgba(15, 23, 42, 0.18);
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-modal__panel--wide{
  width:min(900px, 94vw);
  max-height:90vh;
  display:flex;
  flex-direction:column;
}
.ca-modal__panel--wide .ca-modal__top{
  flex-shrink:0;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #e5e7eb;
}
.ca-modal__panel--wide .ca-modal__body{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 4px 0 0;
  min-height:0;
}
.ca-modal__panel--wide .ca-modal__actions{
  flex-shrink:0;
  padding-top:16px;
  border-top:1px solid #e5e7eb;
  margin-top:0;
}
.ca-modal__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.ca-modal__step{
  font-weight:700;
  font-size:16px;
}
.ca-modal__close{
  border:0;
  background:#f1f5f9;
  border-radius:8px;
  padding:6px 10px;
  cursor:pointer;
}
.ca-modal__close--circle{
  width:32px;
  height:32px;
  padding:0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#4b5563;
}
.ca-modal__close--circle:hover{
  background:#e5e7eb;
  color:#111827;
}
.ca-modal__close--strategy{
  background:none;
  border:0;
  font-size:22px;
  line-height:1;
  color:#9ca3af;
  cursor:pointer;
  padding:4px 8px;
  border-radius:6px;
  align-self:flex-start;
  flex-shrink:0;
}
.ca-modal__close--strategy:hover{
  color:#111827;
  background:#f3f4f6;
}
.ca-modal__form,
.ca-modal__form label,
.ca-modal__form input,
.ca-modal__form select,
.ca-modal__form textarea{
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-modal__form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ca-modal__form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  color:#0f172a;
}
.ca-modal__form input,
.ca-modal__form select,
.ca-modal__form textarea{
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
}
.ca-modal__notice{
  min-height:18px;
  font-size:12px;
  color:#64748b;
  margin:0;
}
.ca-modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.ca-modal__head-with-icon{
  display:flex;
  gap:12px;
  flex:1;
}
.ca-modal__head-icon{
  width:40px;
  height:40px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-modal__head-icon--blue{
  background:#dbeafe;
}
.ca-modal__head-icon--purple{
  background:#f3e8ff;
}
.ca-modal__desc{
  font-size:13px;
  color:#6b7280;
  line-height:1.5;
  margin:6px 0 0;
}
.ca-modal__required{
  color:#dc2626;
}
.ca-modal__field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ca-modal__field-label{
  font-size:13px;
  font-weight:600;
  color:#0f172a;
}
.ca-modal__field-hint{
  font-size:12px;
  color:#6b7280;
  margin:0;
}
.ca-modal__duration-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.ca-modal__duration-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ca-modal__duration-card{
  cursor:pointer;
  margin:0;
}
.ca-modal__duration-card-inner{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:16px 20px;
  border:1.5px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  transition:border-color .15s, background .15s, box-shadow .15s;
}
.ca-modal__duration-card:has(input:checked) .ca-modal__duration-card-inner{
  border-color:#6366f1;
  background:#f5f3ff;
  box-shadow:0 2px 8px rgba(99, 102, 241, 0.12);
}
.ca-modal__duration-radio{
  position:absolute;
  top:-5px;
  left:-5px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:transparent;
  border:0;
  transition:background .15s;
}
.ca-modal__duration-card:has(input:checked) .ca-modal__duration-radio{
  background:#1e293b;
}
.ca-modal__duration-title{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:600;
  font-size:14px;
  color:#111827;
}
.ca-modal__duration-card-inner{
  position:relative;
  overflow:hidden;
}
.ca-modal__form--strategy{
  gap:16px;
}
.ca-modal__form--strategy .ca-modal__field{
  gap:10px;
}
.ca-modal__credit-pill{
  display:inline-block;
  padding:3px 10px;
  border-radius:6px;
  font-size:12px;
  font-weight:600;
  width:fit-content;
}
.ca-modal__credit-pill--blue{
  background:#dbeafe;
  color:#1d4ed8;
}
.ca-modal__credit-pill--purple{
  background:#f3e8ff;
  color:#6d28d9;
}
.ca-modal__credit-pill--orange{
  background:#ffedd5;
  color:#c2410c;
}
.ca-modal__credit-pill--green{
  background:#d1fae5;
  color:#047857;
}
.ca-modal__duration-desc{
  font-size:12px;
  color:#6b7280;
  line-height:1.4;
}
.ca-modal__examples{
  font-size:12px;
  color:#6b7280;
  line-height:1.5;
  margin-top:6px;
}
.ca-modal__credit-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.ca-modal__credit-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ca-modal__credit-card{
  cursor:pointer;
  margin:0;
}
.ca-modal__credit-card-inner{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px 14px;
  border:1.5px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  transition:border-color .15s, background .15s;
}
.ca-modal__credit-card:has(input:checked) .ca-modal__credit-card-inner{
  border-color:#a78bfa;
  background:#faf5ff;
}
.ca-modal__credit-card-title{
  font-weight:600;
  font-size:13px;
  color:#111827;
}
.ca-modal__credit-card-desc{
  font-size:12px;
  color:#6b7280;
  line-height:1.4;
}
.ca-modal__credit-card--full{
  grid-column:1 / -1;
}
.ca-modal__credit-card--full .ca-modal__credit-card-inner{
  position:relative;
  overflow:hidden;
}
.ca-modal__credit-card--full .ca-modal__duration-radio{
  position:absolute;
  top:-5px;
  left:-5px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:transparent;
  border:0;
}
.ca-modal__credit-card--full:has(input:checked) .ca-modal__duration-radio{
  background:#1e293b;
}
.ca-modal__credit-pill--gray{
  background:#f1f5f9;
  color:#475569;
}
.ca-modal__label-text{
  display:inline;
}
.ca-modal__label-text .ca-modal__required{
  color:#dc2626;
}
.ca-modal__file-input{
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
  background:#fff;
  cursor:pointer;
}
.ca-modal__file-input::file-selector-button{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:6px;
  padding:6px 14px;
  font-size:13px;
  color:#374151;
  cursor:pointer;
  margin-right:12px;
}
.ca-modal__file-input::file-selector-button:hover{
  background:#f1f5f9;
}
.ca-modal__panel--strategy{
  width:80vw;
  height:80vh;
  padding:28px 32px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.ca-modal__panel--custom{
  width:80vw;
  height:80vh;
  padding:28px 32px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.ca-modal__panel--custom .ca-modal__body{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
}
.ca-modal__panel--custom .ca-modal__top{
  align-items:flex-start;
  margin-bottom:20px;
}
.ca-modal__panel--strategy .ca-modal__top{
  align-items:flex-start;
  margin-bottom:20px;
}
.ca-modal__panel--strategy .ca-modal__body{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
}
.ca-modal__form--strategy .ca-modal__form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 20px;
}
.ca-modal__form--strategy .ca-modal__form-grid label{
  margin:0;
}
.ca-modal__input-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ca-modal__input-with-icon{
  position:relative;
  display:block;
}
.ca-modal__input-with-icon input{
  width:100%;
  padding-right:40px;
}
.ca-modal__input-icon{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  color:#9ca3af;
  pointer-events:none;
}
.ca-modal__input-with-icon input[type="date"]::-webkit-calendar-picker-indicator,
.ca-modal__input-with-icon input[type="time"]::-webkit-calendar-picker-indicator{
  opacity:0;
  position:absolute;
  right:0;
  width:36px;
  height:100%;
  cursor:pointer;
}
.ca-modal__panel--strategy .ca-modal__submit-btn{
  background:#111827;
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:10px;
  font-size:14px;
  font-weight:600;
}
.ca-modal__panel--strategy .ca-modal__submit-btn:hover{
  background:#1f2937;
}
.ca-modal__panel--strategy .ca-modal__step{
  font-size:17px;
}
.ca-stepper{
  display:flex;
  gap:8px;
  margin-bottom:14px;
}
.ca-stepper span{
  width:22px;
  height:22px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  background:#e2e8f0;
  color:#64748b;
  font-weight:700;
}
.ca-stepper span.is-active{
  background:#6366f1;
  color:#fff;
}
.ca-step{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ca-chat-widget{
  position:fixed;
  right:18px;
  bottom:18px;
  width:320px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 18px 50px rgba(15, 23, 42, 0.2);
  display:none;
  flex-direction:column;
  overflow:hidden;
  z-index:1000;
}
.ca-chat-widget.is-open{
  display:flex;
}
.ca-chat-widget__header{
  background:#111827;
  color:#fff;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
}
.ca-chat-widget__header button{
  background:transparent;
  border:0;
  color:#fff;
  cursor:pointer;
}
.ca-chat-widget__body{
  padding:12px;
  max-height:240px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ca-chat-widget__message{
  font-size:12px;
  padding:8px 10px;
  border-radius:10px;
  background:#f1f5f9;
  color:#0f172a;
}
.ca-chat-widget__message.is-user{
  background:#e0e7ff;
  align-self:flex-end;
}
.ca-chat-widget__message.is-system{
  background:#f8fafc;
  color:#475569;
}
.ca-chat-widget__form{
  display:flex;
  border-top:1px solid #e2e8f0;
}
.ca-chat-widget__form input{
  flex:1;
  border:0;
  padding:10px 12px;
  font-size:12px;
}
.ca-chat-widget__form button{
  border:0;
  background:#6366f1;
  color:#fff;
  padding:0 14px;
  cursor:pointer;
}
.ca-section{
  max-width:900px;
  margin:0 auto;
  padding:40px 24px;
}
.ca-section__header h1{
  margin:0 0 6px;
  font-size:28px;
}
.ca-section__header p{
  margin:0 0 20px;
  color:#6b7280;
}
.ca-section__content{
  background:#fff;
  border-radius:16px;
  padding:24px;
  border:1px solid #e2e8f0;
}
.ca-profile__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
}
.ca-profile{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ca-profile label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  font-weight:600;
  color:#0f172a;
}
.ca-profile input{
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  background:#f8fafc;
  transition:border-color 0.15s ease, box-shadow 0.15s ease;
}
.ca-profile input:focus{
  outline:none;
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99, 102, 241, 0.15);
  background:#fff;
}
.ca-profile__notice{
  margin:12px 0 0;
  font-size:12px;
  color:#64748b;
}

/* Mid-width screens (iPad Pro etc.): the sidebar now collapses into the
   hamburger pattern at this breakpoint too (see the off-canvas rules below),
   so we only need the inner-grid tweaks here. */
@media (max-width: 1100px) and (min-width: 769px){
  .ca-dashboard__cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ca-help-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Hamburger toggle button (hidden by default, shown on mobile) */
.ca-dashboard__menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  background:none;
  border:1px solid #e2e8f0;
  border-radius:8px;
  padding:6px 8px;
  cursor:pointer;
  color:#475569;
}
.ca-dashboard__menu-toggle svg{
  display:block;
}

/* Close button inside sidebar (hidden on desktop, shown on mobile) */
.ca-dashboard__sidebar-close{
  display:none;
  position:absolute;
  top:14px;
  right:14px;
  background:none;
  border:none;
  padding:4px;
  cursor:pointer;
  color:#64748b;
  border-radius:6px;
  transition:background .15s, color .15s;
}
.ca-dashboard__sidebar-close:hover{
  background:#f1f5f9;
  color:#0f172a;
}

/* Overlay behind open sidebar on mobile */
.ca-dashboard__sidebar-overlay{
  display:none;
}

/* ══════ Sidebar collapses into a hamburger on tablets too ══════
   Below 1100px (iPad Pro and smaller) the sidebar slides off-canvas and is
   re-opened from the topbar hamburger. This frees the full content width on
   iPad widths so toolbars/grids no longer feel cramped. */
@media (max-width: 1100px){
  .ca-dashboard{
    grid-template-columns: 1fr;
  }
  .ca-dashboard__menu-toggle{
    display:flex;
  }
  .ca-dashboard__sidebar-close{
    display:block;
  }

  /* Off-canvas sidebar */
  .ca-dashboard__sidebar{
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    width:270px;
    height:100vh;
    transform:translateX(-100%);
    transition:transform .25s ease;
    overflow-y:auto;
    box-shadow:none;
    padding-top:44px;
  }
  .ca-dashboard__sidebar.is-open{
    transform:translateX(0);
    box-shadow:4px 0 24px rgba(0,0,0,.12);
  }

  .ca-dashboard__sidebar-overlay{
    position:fixed;
    inset:0;
    z-index:999;
    background:rgba(0,0,0,.3);
    display:none;
  }
  .ca-dashboard__sidebar-overlay.is-visible{
    display:block;
  }

  .ca-sidebar-cta-card{
    display:none;
  }
}

/* Tighter spacing + typography only on true small screens */
@media (max-width: 768px){
  .ca-dashboard__content{
    padding:14px 14px 30px;
  }
  .ca-dashboard__topbar{
    margin:-14px -14px 16px;
    padding:10px 12px;
    flex-wrap:wrap;
    gap:10px;
  }
  .ca-dashboard__cards{
    grid-template-columns: 1fr;
  }
  .ca-help-grid{
    grid-template-columns: 1fr;
  }
  .ca-onboarding__cards{
    grid-template-columns: 1fr;
  }
  .ca-onboarding__motion-grid{
    grid-template-columns: 1fr;
    max-width:100%;
  }
  .ca-onboarding__breadcrumb{
    font-size:13px;
    padding:6px 14px;
  }
  .ca-onboarding__step--1{
    min-height:auto;
    align-items:stretch;
  }

  .ca-agent-selector__trigger{
    font-size:13px !important;
    padding:6px 10px !important;
  }
}

/* ══════ Dashboard – Comprehensive Mobile Responsive ══════ */

@media (max-width: 1100px) and (min-width: 769px){
  .ca-dashboard__cards{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .ca-dashboard__panel{
    padding:20px;
  }
  .ca-dash-card{
    min-height:auto;
  }
}

@media (max-width: 768px){
  .ca-layout--dashboard{
    padding:0;
  }
  .ca-dashboard__content{
    padding:10px 10px 28px;
  }
  .ca-dashboard__topbar{
    margin:-10px -10px 14px;
    padding:8px 10px;
    gap:8px;
  }
  .ca-dashboard__actions{
    gap:8px;
  }
  .ca-dashboard__actions .ca-btn-purple{
    font-size:12px;
    padding:7px 12px;
    border-radius:8px;
    white-space:nowrap;
  }
  .ca-profile-menu__trigger{
    height:32px;
    padding:0 8px 0 3px;
    gap:6px;
  }
  .ca-avatar{
    width:24px;
    height:24px;
  }
  .ca-avatar svg{
    width:12px;
    height:12px;
  }
  .ca-profile-menu__chev{
    width:12px;
    height:12px;
  }
  .ca-profile-menu__dropdown{
    width:220px;
  }
  .ca-dashboard__panel{
    padding:16px 12px;
    border-radius:14px;
  }
  .ca-panel-title{
    font-size:22px;
  }
  .ca-panel-subtitle{
    font-size:12px;
  }
  .ca-panel-header{
    margin-bottom:16px;
  }
  .ca-dashboard__cards{
    gap:14px;
  }
  .ca-dash-card{
    padding:16px;
    border-radius:14px;
    min-height:auto;
    gap:8px;
  }
  .ca-dash-card__icon{
    width:36px;
    height:36px;
    border-radius:10px;
  }
  .ca-dash-card__icon svg{
    width:20px;
    height:20px;
  }
  .ca-dash-card__badge{
    font-size:10px;
    padding:3px 8px;
  }
  .ca-dash-card__title{
    font-size:15px;
  }
  .ca-dash-card__credits{
    font-size:11px;
    padding:3px 8px;
    top:12px;
    right:12px;
  }
  .ca-dash-card__list{
    font-size:12px;
    padding-left:16px;
    line-height:1.45;
  }
  .ca-dash-card__list li{
    margin-bottom:4px;
  }
  .ca-dash-card__cta{
    padding:10px 16px;
    font-size:13px;
    border-radius:8px;
    gap:6px;
  }
  .ca-dash-card__cta-arrow{
    width:16px;
    height:16px;
  }
  .ca-dash-card__toggle-wrap{
    top:12px;
    right:12px;
    gap:6px;
  }
  .ca-dash-card__toggle-label{
    font-size:12px;
  }
  .ca-gs-notice{
    padding:8px 10px;
    gap:8px;
    margin-bottom:12px;
    border-radius:8px;
  }
  .ca-gs-notice__icon{
    width:16px;
    height:16px;
    font-size:10px;
  }
  .ca-gs-notice__title{
    font-size:11px;
  }
  .ca-gs-notice__sub{
    font-size:10px;
  }
  .ca-gs-schedule-bar{
    justify-content:center;
    margin-bottom:12px;
  }
  .ca-gs-schedule-bar__btn{
    font-size:13px;
    padding:9px 16px;
    width:100%;
  }
  .ca-gs-track{
    padding:10px 12px;
    margin:10px 0;
  }
  .ca-gs-track__pct{
    font-size:26px;
  }
  .ca-gs-banner{
    flex-wrap:wrap;
    padding:12px 14px;
    gap:8px;
    font-size:13px;
    max-width:100%;
  }
  .ca-gs-banner__details{
    font-size:12px;
    padding:5px 12px;
    width:100%;
    text-align:center;
  }
  .ca-gs-gate-modal{
    padding:12px;
  }
  .ca-gs-gate-modal__panel{
    padding:28px 20px 24px;
    border-radius:14px;
    max-width:100%;
  }
  .ca-gs-gate-modal__title{
    font-size:19px;
  }
  .ca-gs-gate-modal__desc{
    font-size:13px;
    margin-bottom:18px;
  }
  .ca-gs-gate-modal__badge{
    font-size:11px;
    padding:3px 12px;
  }
  .ca-gs-gate-modal__close{
    top:12px;
    right:12px;
    width:32px;
    height:32px;
    font-size:24px;
  }
  .ca-gs-reminder-modal{
    padding:12px;
  }
  .ca-gs-reminder-modal__panel{
    padding:24px 18px;
    border-radius:14px;
    max-width:100%;
  }
  .ca-gs-live-card{
    flex-direction:column;
    gap:12px;
    padding:16px;
    text-align:center;
  }
  .ca-gs-live-card__btn{
    width:100%;
    text-align:center;
    justify-content:center;
  }
  .ca-dashboard__summary-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
  }
}

@media (max-width: 480px){
  .ca-dashboard__content{
    padding:8px 6px 24px;
  }
  .ca-dashboard__topbar{
    margin:-8px -6px 12px;
    padding:6px 8px;
    gap:6px;
  }
  .ca-dashboard__actions .ca-btn-purple{
    font-size:11px;
    padding:6px 10px;
  }
  .ca-profile-menu__trigger{
    height:30px;
    padding:0 6px 0 2px;
  }
  .ca-avatar{
    width:22px;
    height:22px;
  }
  .ca-dashboard__panel{
    padding:12px 8px;
    border-radius:12px;
    border:none;
    box-shadow:none;
    background:transparent;
  }
  .ca-panel-title{
    font-size:20px;
  }
  .ca-panel-subtitle{
    font-size:11px;
  }
  .ca-panel-header{
    margin-bottom:12px;
  }
  .ca-dashboard__cards{
    gap:12px;
  }
  .ca-dash-card{
    padding:14px 12px;
    border-radius:12px;
    gap:6px;
  }
  .ca-dash-card__icon{
    width:34px;
    height:34px;
    border-radius:8px;
  }
  .ca-dash-card__title{
    font-size:14px;
  }
  .ca-dash-card__list{
    font-size:11.5px;
    padding-left:14px;
  }
  .ca-dash-card__cta{
    padding:9px 14px;
    font-size:12px;
    border-radius:8px;
    width:100%;
    justify-content:center;
  }
  .ca-gs-notice{
    padding:7px 8px;
    font-size:11px;
  }
  .ca-gs-banner{
    padding:10px 12px;
    font-size:12px;
    border-radius:10px;
  }
  .ca-gs-gate-modal{
    padding:8px;
  }
  .ca-gs-gate-modal__panel{
    padding:24px 16px 20px;
    border-radius:12px;
  }
  .ca-gs-gate-modal__title{
    font-size:17px;
  }
  .ca-gs-gate-modal__desc{
    font-size:12px;
    margin-bottom:14px;
  }
  .ca-gs-gate-modal__close{
    top:10px;
    right:10px;
    width:28px;
    height:28px;
    font-size:20px;
  }
  .ca-gs-track__pct{
    font-size:22px;
  }
  .ca-dashboard__summary-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 375px){
  .ca-dashboard__content{
    padding:6px 4px 20px;
  }
  .ca-dashboard__topbar{
    margin:-6px -4px 10px;
    padding:6px 6px;
  }
  .ca-dashboard__actions .ca-btn-purple{
    font-size:10px;
    padding:5px 8px;
  }
  .ca-dashboard__panel{
    padding:10px 6px;
  }
  .ca-panel-title{
    font-size:18px;
  }
  .ca-dash-card{
    padding:12px 10px;
    border-radius:10px;
  }
  .ca-dash-card__title{
    font-size:13px;
  }
  .ca-dash-card__credits{
    font-size:10px;
    padding:3px 7px;
    top:10px;
    right:10px;
  }
  .ca-dash-card__list{
    font-size:11px;
    padding-left:12px;
  }
  .ca-dash-card__cta{
    padding:8px 12px;
    font-size:11px;
  }
  .ca-gs-gate-modal__panel{
    padding:20px 12px 16px;
  }
  .ca-gs-gate-modal__title{
    font-size:16px;
  }
}

@media (min-width: 1440px){
  .ca-onboarding{
    max-width:1200px;
  }
  .ca-onboarding__motion-grid{
    max-width:920px;
  }
}
@media (min-width: 1920px){
  .ca-onboarding{
    max-width:1400px;
  }
  .ca-onboarding__motion-grid{
    max-width:1060px;
  }
}

/* ══════ Onboarding – Comprehensive Mobile Responsive ══════ */

@media (max-width: 768px){
  .ca-layout--onboarding{
    padding:16px 8px 32px;
  }
  .ca-topbar--onboarding .ca-topbar__inner{
    padding:10px 16px;
    min-height:50px;
    gap:12px;
  }
  .ca-topbar--onboarding .ca-topbar__brand-img--platform{
    max-height:28px;
  }
  .ca-topbar__login-btn{
    font-size:13px;
    padding:8px 14px;
    border-radius:8px;
  }
  .ca-onboarding{
    max-width:100%;
    padding:0 4px;
  }
  .ca-onboarding__title{
    font-size:26px;
  }
  .ca-onboarding__subtitle{
    font-size:14px;
    max-width:100%;
  }
  .ca-onboarding__badge{
    font-size:11px;
    padding:5px 12px;
    margin-bottom:14px;
  }
  .ca-onboarding__motion-card{
    padding:28px 24px 24px;
  }
  .ca-onboarding__motion-grid{
    gap:16px;
    margin-top:28px;
    width:100%;
  }
  .ca-onboarding__hero{
    width:100%;
  }
  .ca-onboarding__motion-icon{
    width:48px;
    height:48px;
    border-radius:14px;
    margin-bottom:16px;
  }
  .ca-onboarding__motion-title{
    font-size:19px;
    margin-bottom:8px;
  }
  .ca-onboarding__motion-desc{
    font-size:14px;
    margin-bottom:16px;
  }
  .ca-card{
    padding:28px 22px 24px;
    border-radius:16px;
  }
  .ca-card__title{
    font-size:18px;
  }
  .ca-card__desc{
    font-size:14px;
    min-height:auto;
    margin-bottom:16px;
  }
  .ca-card__icon{
    width:46px;
    height:46px;
  }
  .ca-onboarding__cards{
    gap:22px;
  }
  .ca-onboarding__step2-hero .ca-onboarding__title{
    font-size:24px;
  }
  .ca-onboarding__step2-hero .ca-onboarding__subtitle{
    font-size:13px;
  }
  .ca-onboarding__step2-hero{
    margin-bottom:18px;
  }
  .ca-upload-modal__fields{
    grid-template-columns:1fr;
  }
  .ca-upload-modal__fields .ca-upload-modal__field:nth-child(3){
    grid-column:auto;
  }
  .ca-upload-modal__panel{
    width:calc(100vw - 24px);
    height:auto;
    max-height:calc(100vh - 24px);
    padding:18px 20px;
  }
  .ca-site-footer{
    padding:20px 16px 24px;
  }
  .ca-site-footer__copy{
    font-size:12px;
  }
}

@media (max-width: 480px){
  .ca-layout--onboarding{
    padding:12px 6px 24px;
  }
  .ca-topbar--onboarding .ca-topbar__inner{
    padding:8px 12px;
    min-height:46px;
    gap:8px;
  }
  .ca-topbar--onboarding .ca-topbar__brand-img--platform{
    max-height:24px;
  }
  .ca-topbar__login-btn{
    font-size:12px;
    padding:7px 12px;
  }
  .ca-onboarding__title{
    font-size:22px;
    margin-bottom:8px;
  }
  .ca-onboarding__subtitle{
    font-size:13px;
    line-height:1.5;
  }
  .ca-onboarding__badge{
    font-size:10.5px;
    padding:4px 10px;
    gap:6px;
    margin-bottom:12px;
  }
  .ca-onboarding__badge-icon{
    width:14px;
    height:14px;
    margin-right:4px;
  }
  .ca-onboarding__motion-card{
    padding:22px 20px 20px;
    border-radius:14px;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
  }
  .ca-onboarding__motion-grid{
    gap:12px;
    margin-top:20px;
    max-width:100%;
  }
  .ca-onboarding__motion-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    margin-bottom:12px;
  }
  .ca-onboarding__motion-icon svg{
    width:18px;
    height:18px;
  }
  .ca-onboarding__motion-title{
    font-size:17px;
    margin-bottom:6px;
  }
  .ca-onboarding__motion-desc{
    font-size:13px;
    line-height:1.5;
    margin-bottom:14px;
  }
  .ca-onboarding__motion-select{
    font-size:14px;
  }
  .ca-card{
    padding:22px 18px 20px;
    border-radius:14px;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
  }
  .ca-card__badge{
    top:14px;
    right:14px;
    font-size:10px;
    padding:3px 8px;
  }
  .ca-card--upload .ca-card__badge--green{
    top:-8px;
    left:14px;
    font-size:10px;
    padding:3px 10px;
  }
  .ca-card__icon{
    width:42px;
    height:42px;
    border-radius:12px;
    margin-bottom:12px;
  }
  .ca-card__title{
    font-size:17px;
    margin-bottom:6px;
  }
  .ca-card__desc{
    font-size:13px;
    margin-bottom:12px;
    line-height:1.55;
  }
  .ca-card__list-title{
    font-size:13px;
    margin-bottom:8px;
  }
  .ca-card__list{
    font-size:13px;
  }
  .ca-card__list li{
    margin:8px 0;
    gap:8px;
  }
  .ca-card__list-icon{
    width:18px;
    height:18px;
  }
  .ca-card__cta{
    margin-top:16px !important;
    padding:11px 16px;
    font-size:14px;
  }
  .ca-card__footnote{
    font-size:10px;
  }
  .ca-onboarding__cards{
    gap:20px;
    margin-top:12px;
  }
  .ca-onboarding__breadcrumb{
    font-size:12px;
    padding:5px 12px;
    margin-bottom:18px;
    gap:6px;
  }
  .ca-onboarding__breadcrumb-back{
    font-size:12px;
    gap:3px;
  }
  .ca-onboarding__breadcrumb-back svg{
    width:14px;
    height:14px;
  }
  .ca-onboarding__step2-hero{
    margin-bottom:14px;
  }
  .ca-onboarding__step2-hero .ca-onboarding__title{
    font-size:20px;
  }
  .ca-onboarding__step2-hero .ca-onboarding__subtitle{
    font-size:12px;
  }
  .ca-upload-modal__panel{
    width:calc(100vw - 16px);
    max-height:calc(100vh - 16px);
    padding:14px 16px;
    border-radius:14px;
  }
  .ca-upload-modal__panel .ca-modal__step{
    font-size:16px;
  }
  .ca-upload-modal__dropzone{
    padding:14px 16px;
    border-radius:12px;
  }
  .ca-upload-modal__icon{
    width:38px;
    height:38px;
    margin-bottom:8px;
  }
  .ca-upload-modal__icon svg{
    width:18px;
    height:18px;
  }
  .ca-upload-modal__label{
    font-size:13px;
  }
  .ca-upload-modal__meta{
    font-size:11px;
  }
  .ca-upload-modal__file-item{
    padding:8px 10px;
    gap:10px;
    border-radius:8px;
  }
  .ca-upload-modal__file-icon{
    width:32px;
    height:32px;
    border-radius:6px;
    font-size:9px;
  }
  .ca-upload-modal__file-name{
    font-size:12px;
  }
  .ca-upload-modal__file-size{
    font-size:11px;
  }
  .ca-upload-modal__actions{
    padding-top:12px;
    gap:10px;
  }
  .ca-upload-modal__actions .ca-btn{
    padding:9px 18px;
    font-size:13px;
  }
  .ca-btn-solid{
    padding:10px 16px;
    font-size:14px;
    border-radius:8px;
  }
  .ca-onboarding__hint{
    padding:12px;
    gap:10px;
    border-radius:10px;
  }
  .ca-onboarding__hint-text{
    font-size:13px;
  }
  .ca-site-footer{
    padding:16px 12px 20px;
  }
  .ca-site-footer__copy{
    font-size:11px;
  }
}

@media (max-width: 375px){
  .ca-layout--onboarding{
    padding:10px 4px 20px;
  }
  .ca-topbar--onboarding .ca-topbar__inner{
    padding:6px 10px;
    gap:6px;
  }
  .ca-topbar--onboarding .ca-topbar__brand-img--platform{
    max-height:22px;
  }
  .ca-topbar__login-btn{
    font-size:11px;
    padding:6px 10px;
  }
  .ca-onboarding__hero{
    margin-bottom:16px;
  }
  .ca-onboarding__title{
    font-size:20px;
  }
  .ca-onboarding__subtitle{
    font-size:12px;
  }
  .ca-onboarding__badge{
    font-size:10px;
    padding:3px 8px;
    gap:5px;
    margin-bottom:10px;
  }
  .ca-onboarding__badge-icon{
    width:13px;
    height:13px;
    margin-right:3px;
  }
  .ca-onboarding__motion-card{
    padding:18px 16px 16px;
    border-radius:12px;
  }
  .ca-onboarding__motion-grid{
    gap:10px;
    margin-top:16px;
  }
  .ca-onboarding__motion-icon{
    width:38px;
    height:38px;
    border-radius:10px;
    margin-bottom:10px;
  }
  .ca-onboarding__motion-icon svg{
    width:16px;
    height:16px;
  }
  .ca-onboarding__motion-title{
    font-size:16px;
    margin-bottom:4px;
  }
  .ca-onboarding__motion-desc{
    font-size:12px;
    line-height:1.45;
    margin-bottom:12px;
  }
  .ca-onboarding__motion-select{
    font-size:13px;
  }
  .ca-card{
    padding:18px 14px 16px;
    border-radius:12px;
  }
  .ca-card__icon{
    width:38px;
    height:38px;
    border-radius:10px;
    margin-bottom:10px;
  }
  .ca-card__title{
    font-size:16px;
  }
  .ca-card__desc{
    font-size:12px;
    line-height:1.5;
    margin-bottom:10px;
  }
  .ca-card__list{
    font-size:12px;
  }
  .ca-card__list li{
    margin:6px 0;
    gap:6px;
  }
  .ca-card__list-icon{
    width:16px;
    height:16px;
  }
  .ca-card__cta{
    margin-top:14px !important;
    padding:10px 14px;
    font-size:13px;
    border-radius:8px;
  }
  .ca-card__footnote{
    font-size:9px;
    margin-top:6px;
  }
  .ca-onboarding__breadcrumb{
    font-size:11px;
    padding:4px 10px;
    margin-bottom:14px;
  }
  .ca-onboarding__step2-hero .ca-onboarding__title{
    font-size:18px;
  }
  .ca-onboarding__step2-hero .ca-onboarding__subtitle{
    font-size:11px;
  }
  .ca-upload-modal__panel{
    width:calc(100vw - 12px);
    max-height:calc(100vh - 12px);
    padding:12px;
    border-radius:12px;
  }
  .ca-upload-modal__panel .ca-modal__step{
    font-size:15px;
  }
  .ca-upload-modal__desc{
    font-size:12px;
  }
  .ca-upload-modal__field .ca-upload-modal__input,
  .ca-upload-modal__input--email{
    padding:8px 10px;
    font-size:13px;
    border-radius:8px;
  }
  .ca-upload-modal__email-label{
    font-size:12px;
    margin-bottom:4px;
  }
  .ca-upload-modal__dropzone{
    padding:12px;
    border-radius:10px;
  }
  .ca-upload-modal__icon{
    width:34px;
    height:34px;
  }
  .ca-upload-modal__actions .ca-btn{
    padding:8px 14px;
    font-size:12px;
    border-radius:8px;
  }
  .ca-site-footer{
    padding:14px 10px 18px;
  }
}

@media (max-width: 320px){
  .ca-layout--onboarding{
    padding:8px 2px 16px;
  }
  .ca-topbar--onboarding .ca-topbar__brand-img--platform{
    max-height:20px;
  }
  .ca-onboarding__title{
    font-size:18px;
  }
  .ca-onboarding__subtitle{
    font-size:11px;
  }
  .ca-onboarding__badge{
    font-size:9px;
  }
  .ca-onboarding__motion-card{
    padding:14px 12px 14px;
  }
  .ca-onboarding__motion-title{
    font-size:15px;
  }
  .ca-onboarding__motion-desc{
    font-size:11px;
  }
  .ca-card{
    padding:14px 12px 14px;
  }
  .ca-card__title{
    font-size:15px;
  }
  .ca-card__desc{
    font-size:11px;
  }
  .ca-onboarding__step2-hero .ca-onboarding__title{
    font-size:16px;
  }
}

/* Super Admin dashboard */
.ca-super-admin{
  padding:24px;
}
.ca-super-admin__header h1{
  margin:0 0 4px;
  font-size:26px;
  font-weight:700;
  letter-spacing:-0.01em;
}
.ca-super-admin__header p{
  margin:0 0 20px;
  color:#6b7280;
  font-size:14px;
}

/* ── Tab Navigation ── */
.ca-sadm-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  padding:4px;
  margin-bottom:20px;
  background:#f1f5f9;
  border-radius:12px;
  border:1px solid #e2e8f0;
}
.ca-sadm-tabs__btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 16px;
  font-size:13px;
  font-weight:600;
  color:#64748b;
  background:transparent;
  border:none;
  border-radius:9px;
  cursor:pointer;
  transition:all .18s ease;
  white-space:nowrap;
  line-height:1.4;
}
.ca-sadm-tabs__btn svg{
  flex-shrink:0;
  opacity:.65;
  transition:opacity .18s;
}
.ca-sadm-tabs__btn:hover{
  color:#334155;
  background:rgba(255,255,255,.65);
}
.ca-sadm-tabs__btn:hover svg{
  opacity:.85;
}
.ca-sadm-tabs__btn.is-active{
  color:#1e293b;
  background:#fff;
  box-shadow:0 1px 3px rgba(15,23,42,.08), 0 1px 2px rgba(15,23,42,.04);
}
.ca-sadm-tabs__btn.is-active svg{
  opacity:1;
  color:#7c3aed;
}
@media(max-width:768px){
  .ca-sadm-tabs{ gap:2px; }
  .ca-sadm-tabs__btn{ padding:8px 10px; font-size:12px; gap:5px; }
  .ca-sadm-tabs__btn svg{ width:14px; height:14px; }
}

/* ── Tab Panes ── */
.ca-sadm-pane{
  display:none;
  animation:ca-sadm-fadein .22s ease;
}
.ca-sadm-pane.is-active{
  display:block;
}
@keyframes ca-sadm-fadein{
  from{ opacity:0; transform:translateY(6px); }
  to{ opacity:1; transform:translateY(0); }
}

/* ── Create Customer toggle bar ── */
.ca-sadm-create-toggle{
  margin-right:auto;
}
.ca-sadm-create-bar__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.ca-sadm-create-bar__close{
  background:none;
  border:none;
  font-size:22px;
  line-height:1;
  color:#94a3b8;
  cursor:pointer;
  padding:2px 6px;
  border-radius:6px;
  transition:color .15s, background .15s;
}
.ca-sadm-create-bar__close:hover{
  color:#334155;
  background:#f1f5f9;
}
.ca-sadm-create-bar__grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  gap:14px;
  align-items:end;
}
@media(max-width:900px){
  .ca-sadm-create-bar__grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .ca-sadm-create-bar__grid{ grid-template-columns:1fr; }
}

/* ── Customer Detail Modal ── */
.ca-detail-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:100000;
  align-items:center;
  justify-content:center;
}
.ca-detail-modal[aria-hidden="false"]{
  display:flex;
}
.ca-detail-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  animation:ca-detail-fade-in .2s ease;
}
@keyframes ca-detail-fade-in{
  from{ opacity:0; } to{ opacity:1; }
}
.ca-detail-modal__panel{
  position:relative;
  z-index:1;
  width:94vw;
  max-width:680px;
  max-height:90vh;
  background:#fff;
  border-radius:16px;
  box-shadow:0 25px 60px rgba(15,23,42,.18), 0 4px 12px rgba(15,23,42,.08);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  animation:ca-detail-slide-in .25s ease;
}
@keyframes ca-detail-slide-in{
  from{ opacity:0; transform:translateY(16px) scale(.97); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.ca-detail-modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 24px;
  border-bottom:1px solid #e5e7eb;
  flex-shrink:0;
}
.ca-detail-modal__header h2{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#1e293b;
}
.ca-detail-modal__close{
  background:none;
  border:none;
  font-size:26px;
  line-height:1;
  color:#94a3b8;
  cursor:pointer;
  padding:2px 8px;
  border-radius:8px;
  transition:color .15s, background .15s;
}
.ca-detail-modal__close:hover{
  color:#1e293b;
  background:#f1f5f9;
}
.ca-detail-modal__body{
  padding:24px;
  overflow-y:auto;
  flex:1;
}
.ca-detail-modal__body .ca-super-admin__detail-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ca-detail-modal__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.ca-detail-modal__grid--3{
  grid-template-columns:1fr 1fr 1fr;
}
@media(max-width:560px){
  .ca-detail-modal__grid,
  .ca-detail-modal__grid--3{
    grid-template-columns:1fr;
  }
}
.ca-detail-modal__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding-top:4px;
}
.ca-detail-modal__divider{
  border:none;
  border-top:1px solid #e5e7eb;
  margin:20px 0 16px;
}
.ca-detail-modal__grid--4{
  grid-template-columns:1fr 1fr 1fr 1fr;
}
@media(max-width:560px){
  .ca-detail-modal__grid--4{
    grid-template-columns:1fr 1fr;
  }
}

.ca-detail-modal__section-title{
  font-size:14px;
  font-weight:700;
  color:#1e293b;
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:.5px;
}

/* ── Customer Detail: info sections ── */
.ca-detail-modal__info-section{
  margin-bottom:18px;
}
.ca-detail-modal__info-section h3{
  font-size:14px;
  font-weight:700;
  color:#1e293b;
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.ca-detail-modal__info-item{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ca-detail-modal__info-label{
  font-size:11px;
  font-weight:600;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.ca-detail-modal__info-value{
  font-size:14px;
  color:#1e293b;
  font-weight:500;
}
.ca-detail-modal__activity-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid #f1f5f9;
}
.ca-detail-modal__activity-row .ca-detail-modal__info-label{
  font-size:13px;
  text-transform:none;
  letter-spacing:0;
}
.ca-detail-modal__activity-row .ca-detail-modal__info-value{
  font-size:13px;
  font-weight:600;
}

/* ── Customer Detail: collapsible panels ── */
.ca-detail-modal__collapsible{
  margin-top:10px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  overflow:hidden;
}
.ca-detail-modal__collapsible summary{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  font-size:13px;
  font-weight:600;
  color:#1e293b;
  cursor:pointer;
  background:#f8fafc;
  user-select:none;
  list-style:none;
}
.ca-detail-modal__collapsible summary::-webkit-details-marker{
  display:none;
}
.ca-detail-modal__collapsible summary::before{
  content:'▸';
  font-size:12px;
  transition:transform .15s;
}
.ca-detail-modal__collapsible[open] summary::before{
  transform:rotate(90deg);
}
.ca-detail-modal__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:10px;
  background:#7c3aed;
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
}
.ca-detail-modal__table-wrap{
  overflow-x:auto;
}
.ca-detail-modal__table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.ca-detail-modal__table th{
  text-align:left;
  padding:8px 10px;
  font-weight:600;
  color:#64748b;
  background:#f8fafc;
  border-bottom:1px solid #e5e7eb;
  white-space:nowrap;
}
.ca-detail-modal__table td{
  padding:7px 10px;
  border-bottom:1px solid #f1f5f9;
  color:#334155;
}
.ca-detail-modal__table tr:last-child td{
  border-bottom:none;
}

/* ── Customer Detail: status badges ── */
.ca-detail-modal__status-badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:10px;
  font-size:11px;
  font-weight:600;
  text-transform:capitalize;
  background:#e2e8f0;
  color:#475569;
}
.ca-detail-modal__status-badge--draft{  background:#fef3c7; color:#92400e; }
.ca-detail-modal__status-badge--pending{ background:#fef3c7; color:#92400e; }
.ca-detail-modal__status-badge--processing,
.ca-detail-modal__status-badge--in_progress{ background:#dbeafe; color:#1e40af; }
.ca-detail-modal__status-badge--completed,
.ca-detail-modal__status-badge--done{ background:#d1fae5; color:#065f46; }
.ca-detail-modal__status-badge--published{ background:#d1fae5; color:#065f46; }
.ca-detail-modal__status-badge--cancelled,
.ca-detail-modal__status-badge--failed{ background:#fee2e2; color:#991b1b; }

/* ── 2-column grid for settings/agents ── */
.ca-sadm-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:start;
}
@media(max-width:1100px){
  .ca-sadm-grid-2{
    grid-template-columns:1fr;
  }
}

.ca-super-admin__toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
  margin-bottom:16px;
}
.ca-super-admin__filter{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
}
.ca-super-admin__filter--rows-custom input{
  width:100px;
}
.ca-super-admin__search{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
}
.ca-admin-refresh-btn{
  display:inline-flex !important;
  align-items:center;
  gap:4px;
  white-space:nowrap;
  height:36px;
}
.ca-admin-refresh-btn .dashicons{
  font-size:16px;
  width:16px;
  height:16px;
  line-height:1;
}
.ca-admin-refresh-btn .dashicons.ca-spin{
  animation:ca-spin .6s linear;
}
.ca-super-admin__filter select{
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:6px 10px;
  background:#fff;
}
.ca-super-admin__search input{
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:6px 10px;
  min-width:220px;
  background:#fff;
}
.ca-super-admin__per-page-custom{
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:6px 10px;
  background:#fff;
}
.ca-super-admin__stack{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-bottom:18px;
}
.ca-super-admin__panel{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:18px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
.ca-super-admin__panel h2{
  margin-top:0;
}
.ca-super-admin__panel--wide{
  margin-top:18px;
}
.ca-pricing-admin-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:12px;
}
@media(max-width:900px){
  .ca-pricing-admin-grid{ grid-template-columns:1fr; }
}
.ca-pricing-admin-tier{
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:16px;
  background:#fafbfc;
}
.ca-pricing-admin-tier legend{
  font-weight:700;
  font-size:15px;
  color:#1e293b;
  padding:0 6px;
}
.ca-pricing-admin-tier label{
  display:block;
  font-size:13px;
  font-weight:500;
  color:#4b5563;
  margin-bottom:10px;
}
.ca-pricing-admin-tier input{
  display:block;
  width:100%;
  margin-top:4px;
  padding:7px 10px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:13px;
  background:#fff;
  box-sizing:border-box;
}
.ca-pricing-admin-tier input:focus{
  outline:none;
  border-color:#6366f1;
  box-shadow:0 0 0 2px rgba(99,102,241,.15);
}
.ca-advisory-credits-list{
  margin:12px 0;
}
.ca-advisory-credits-row{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
  padding:12px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:8px;
}
.ca-advisory-credits-row label{
  flex:1;
  display:block;
  font-size:13px;
  font-weight:500;
  color:#4b5563;
}
.ca-advisory-credits-row input{
  display:block;
  width:100%;
  margin-top:4px;
  padding:7px 10px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:13px;
  box-sizing:border-box;
}
.ca-advisory-credits-row .ca-advisory-credits-remove{
  flex-shrink:0;
  padding:6px 12px;
  font-size:12px;
  color:#dc2626;
  background:#fef2f2;
  border:1px solid #fecaca;
  border-radius:6px;
  cursor:pointer;
}
.ca-advisory-credits-row .ca-advisory-credits-remove:hover{
  background:#fee2e2;
}
.ca-super-admin__table-wrap{
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow-x:auto;
  overflow-y:visible;
  background:#fff;
}
.ca-super-admin__row{
  display:flex;
  gap:12px;
  align-items:flex-end;
}
.ca-super-admin__row label{
  flex:1;
}
.ca-super-admin__panel label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:600;
  color:#111827;
}
.ca-super-admin__panel input,
.ca-super-admin__panel select{
  border:1px solid #d8dbe8;
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
  background:#fff;
}
.ca-super-admin__panel input:focus,
.ca-super-admin__panel select:focus{
  outline:none;
  border-color:#7c3aed;
  box-shadow:0 0 0 3px rgba(124, 58, 237, 0.12);
}
.ca-super-admin__checkbox{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
}

.ca-upload-settings__formats{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:4px;
}
.ca-upload-settings__formats .ca-super-admin__field-label{
  font-size:13px;
  font-weight:600;
  color:#0f172a;
}
.ca-upload-settings__format-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));
  gap:6px 16px;
}
.ca-upload-settings__format-grid .ca-super-admin__checkbox{
  margin-top:0;
  font-size:13px;
}

/* Questionnaire pre-fill: modern toggle switch */
.ca-super-admin__prefill-toggle{
  cursor:pointer;
  margin-top:4px;
  user-select:none;
  flex-direction:row;
  align-items:center;
  gap:12px;
}
.ca-super-admin__prefill-toggle .ca-super-admin__toggle-input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.ca-super-admin__prefill-toggle .ca-super-admin__toggle-slider{
  flex-shrink:0;
  position:relative;
  width:44px;
  height:24px;
  border-radius:999px;
  background:#d1d5db;
  transition:background 0.2s ease, box-shadow 0.2s ease;
}
.ca-super-admin__prefill-toggle .ca-super-admin__toggle-slider::after{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,0.2);
  transition:transform 0.2s ease;
}
.ca-super-admin__prefill-toggle .ca-super-admin__toggle-input:focus + .ca-super-admin__toggle-slider{
  box-shadow:0 0 0 3px rgba(124, 58, 237, 0.25);
}
.ca-super-admin__prefill-toggle .ca-super-admin__toggle-input:checked + .ca-super-admin__toggle-slider{
  background:#7c3aed;
}
.ca-super-admin__prefill-toggle .ca-super-admin__toggle-input:checked + .ca-super-admin__toggle-slider::after{
  transform:translateX(20px);
}
.ca-super-admin__prefill-toggle .ca-super-admin__toggle-label{
  font-size:14px;
  font-weight:500;
  color:#111827;
}
.ca-super-admin__table{
  width:100%;
  border-collapse:collapse;
}
.ca-super-admin__table th,
.ca-super-admin__table td{
  border-bottom:1px solid #e5e7eb;
  padding:8px 10px;
  font-size:13px;
  text-align:left;
  vertical-align:middle;
}
.ca-super-admin__table thead th{
  background:#f8fafc;
  font-size:12px;
  letter-spacing:0.02em;
  text-transform:uppercase;
  color:#6b7280;
}
.ca-super-admin__table tbody tr:nth-child(even){
  background:#fcfcfd;
}
.ca-table-loading{
  text-align:center;
  padding:32px 10px !important;
  color:#9ca3af;
  font-size:14px;
}
.ca-super-admin__table tbody tr:hover{
  background:#f8fafc;
  cursor:pointer;
}
.ca-super-admin__table tbody tr.is-selected{
  background:#eef2ff;
}
.ca-super-admin__email{
  word-break:break-all;
}

/* ── Users table footer (summary + pagination, used above and below) ── */
.ca-super-admin__table-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding:10px 4px;
  font-size:13px;
  color:#475467;
}
.ca-super-admin__table-footer--top{
  margin:6px 0 12px;
  padding-bottom:12px;
  border-bottom:1px solid #f1f5f9;
}
.ca-super-admin__table-footer--bottom{
  margin-top:12px;
}
.ca-super-admin__table-summary strong{
  color:#0f172a;
  font-weight:600;
}
.ca-super-admin__pager{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
}
.ca-super-admin__pager-btn,
.ca-super-admin__pager-num{
  appearance:none;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:500;
  padding:6px 10px;
  min-width:34px;
  height:32px;
  border-radius:8px;
  cursor:pointer;
  transition:background-color .12s ease, border-color .12s ease, color .12s ease;
}
.ca-super-admin__pager-btn:hover:not([disabled]),
.ca-super-admin__pager-num:hover:not(.is-current){
  background:#f3f4f6;
  border-color:#d1d5db;
}
.ca-super-admin__pager-btn[disabled]{
  opacity:.45;
  cursor:not-allowed;
}
.ca-super-admin__pager-num.is-current{
  background:#4338ca;
  border-color:#4338ca;
  color:#fff;
  cursor:default;
}
.ca-super-admin__pager-gap{
  padding:0 4px;
  color:#9ca3af;
  user-select:none;
}
.ca-super-admin__empty{
  text-align:center;
  padding:32px 10px !important;
  color:#6b7280;
  font-size:14px;
}
@media (max-width:640px){
  .ca-super-admin__table-footer{
    justify-content:center;
    text-align:center;
  }
}
.ca-super-admin__pill{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  margin:2px 4px 2px 0;
  border-radius:999px;
  background:#eef2ff;
  color:#3730a3;
  font-size:11px;
  font-weight:600;
}
.ca-super-admin__notice,
.ca-super-admin__detail-notice{
  margin-top:10px;
  color:#2563eb;
}
.ca-scheduling-onepager__filters{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 20px;
  margin-bottom:16px;
}
.ca-scheduling-onepager__search{
  min-width:220px;
  max-width:320px;
}
.ca-scheduling-onepager__filters label[for="caSchedulingOnepagerDate"]{
  margin:0;
  font-weight:500;
  color:#374151;
}
.ca-scheduling-onepager__date{
  width:auto;
}
.ca-scheduling-onepager__loading,
.ca-scheduling-onepager__empty{
  margin:12px 0;
  color:#6b7280;
}
.ca-scheduling-onepager__notice{
  margin-top:10px;
  color:#2563eb;
}
.ca-scheduling-onepager__notice--error{
  color:#dc2626;
}
.ca-scheduling-onepager__url{
  min-width:220px;
}
.ca-scheduling-onepager__row:not(.ca-scheduling-onepager__row--clickable){
  cursor:default;
}
.ca-scheduling-onepager__row--clickable{
  cursor:pointer;
}
.ca-scheduling-onepager__row--clickable:hover{
  background:#f8fafc;
}
.ca-scheduling-onepager__row--expanded .ca-scheduling-onepager__expand svg{
  transform:rotate(180deg);
}
.ca-scheduling-onepager__expand-cell{
  width:36px;
  padding:8px !important;
  color:#6b7280;
}
.ca-scheduling-onepager__expand{
  display:inline-flex;
  transition:transform .2s;
}
.ca-scheduling-onepager__live-badge{
  font-size:11px;
  font-weight:600;
  padding:3px 8px;
  border-radius:6px;
  background:#dcfce7;
  color:#16a34a;
}
.ca-scheduling-onepager__detail-row td{
  padding:0 !important;
  border-top:none !important;
  vertical-align:top;
}
.ca-scheduling-onepager__detail-cell{
  background:#f8fafc !important;
}
.ca-scheduling-onepager__detail{
  padding:20px 24px;
}
.ca-scheduling-onepager__detail-title{
  font-size:14px;
  font-weight:600;
  color:#374151;
  margin:0 0 16px;
}
.ca-scheduling-onepager__detail-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 24px;
  max-width:560px;
}
.ca-scheduling-onepager__detail-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  font-weight:500;
  color:#4b5563;
  min-width:0;
}
.ca-scheduling-onepager__detail-form label:first-child{
  flex-direction:row;
  align-items:center;
  grid-column:1/-1;
}
.ca-scheduling-onepager__detail-form label:nth-child(4){
  grid-column:1/-1;
}
.ca-scheduling-onepager__detail-form input[type="text"],
.ca-scheduling-onepager__detail-form input[type="url"]{
  padding:8px 12px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:13px;
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.ca-scheduling-onepager__detail-actions{
  display:flex;
  gap:10px;
  align-items:center;
  grid-column:1/-1;
  margin-top:8px;
}
.ca-scheduling-onepager .ca-admin__table{
  min-width:700px;
}
.ca-scheduling-onepager__times{
  white-space:nowrap;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Customer Leads admin */
.ca-customer-leads__filters{
  margin-bottom:12px;
}
.ca-customer-leads__search{
  min-width:220px;
}
.ca-customer-leads__loading,
.ca-customer-leads__empty{
  margin:12px 0;
  color:#6b7280;
}
.ca-customer-leads__notice{
  margin:12px 0;
  color:#2563eb;
}
.ca-customer-leads__notice--error{
  color:#dc2626;
}
.ca-customer-leads__row{
  cursor:pointer;
}
.ca-customer-leads__row:hover{
  background:#f1f5f9;
}
.ca-customer-leads__detail{
  width:100%;
  min-height:400px;
  overflow:auto;
  background:#fff;
}
.ca-customer-leads__detail-panel{
  position:relative;
  width:100%;
  min-height:100%;
  overflow:auto;
  padding:20px 24px;
  box-sizing:border-box;
}
.ca-customer-leads__detail-close{
  position:absolute;
  top:12px;
  right:12px;
  background:0;
  border:0;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  color:#6b7280;
  padding:4px;
  z-index:1;
}
.ca-customer-leads__detail-close:hover{
  color:#111827;
}
.ca-customer-leads__detail-toolbar{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid #e5e7eb;
}
.ca-customer-leads__detail-title{
  font-size:15px;
  font-weight:600;
  color:#111827;
}
.ca-customer-leads__section{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:16px 18px;
  margin-bottom:16px;
}
.ca-customer-leads__section:last-child{
  margin-bottom:0;
}
.ca-customer-leads__detail-heading{
  margin:0 0 10px;
  font-size:15px;
  font-weight:600;
  color:#374151;
}
.ca-customer-leads__section .ca-customer-leads__detail-heading:first-child{
  margin-top:0;
}
.ca-customer-leads__detail-block{
  margin-bottom:0;
}
.ca-customer-leads__section .ca-customer-leads__detail-block:last-child{
  margin-bottom:0;
}
.ca-customer-leads__detail-row{
  margin-bottom:6px;
  font-size:14px;
}
.ca-customer-leads__detail-meta{
  margin:0 0 8px;
  font-size:12px;
  color:#6b7280;
}
.ca-customer-leads__detail-sub{
  margin:8px 0;
}
.ca-customer-leads__detail-json{
  margin:4px 0;
  padding:10px;
  background:#f1f5f9;
  border-radius:6px;
  font-size:12px;
  overflow:auto;
  white-space:pre-wrap;
}
.ca-customer-leads__detail-uploads{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ca-customer-leads__upload-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
}
.ca-customer-leads__upload-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1;
  cursor:pointer;
}
.ca-customer-leads__upload-main input{
  margin:0;
}
.ca-customer-leads__upload-name{
  min-width:0;
  overflow-wrap:anywhere;
  color:#111827;
  font-size:14px;
}
.ca-customer-leads__upload-item-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.ca-customer-leads__upload-download-one{
  white-space:nowrap;
}
.ca-customer-leads__uploads-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.ca-customer-leads__upload-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.ca-customer-leads__upload-select-all-wrap{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:#374151;
}
.ca-customer-leads__upload-select-all-wrap input{
  margin:0;
}
.ca-customer-leads__upload-selection-count{
  font-size:12px;
  color:#6b7280;
  margin-right:auto;
}
.ca-customer-leads__detail-error{
  color:#dc2626;
}
.ca-customer-leads__questionnaire-block{
  margin-top:12px;
}
.ca-customer-leads__copy-qa{
  margin-bottom:16px;
}
.ca-customer-leads__qa-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ca-customer-leads__qa-row{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:12px 14px;
}
.ca-customer-leads__qa-label{
  display:inline-block;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.02em;
  color:#6b7280;
  margin-right:6px;
}
.ca-customer-leads__qa-question{
  font-weight:600;
  margin-bottom:8px;
  font-size:14px;
  color:#111827;
}
.ca-customer-leads__qa-answer{
  font-size:14px;
  color:#374151;
  padding-left:0;
}
.ca-customer-leads__qa-empty{
  color:#9ca3af;
  font-style:italic;
}
@media (max-width: 782px){
  .ca-customer-leads__upload-item{
    flex-direction:column;
    align-items:flex-start;
  }
  .ca-customer-leads__upload-item-actions{
    width:100%;
    justify-content:flex-end;
  }
}

.ca-super-admin__model-subtitle{
  margin:0 0 14px;
  color:#6b7280;
  font-size:13px;
}
.ca-super-admin__models{
  display:grid;
  gap:14px;
}
.ca-super-admin__model-provider{
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f8fafc;
  padding:12px;
}
.ca-super-admin__model-provider-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.ca-super-admin__model-provider-head h3{
  margin:0;
  font-size:16px;
}
.ca-super-admin__model-rows{
  display:grid;
  gap:10px;
}
.ca-super-admin__model-row{
  display:grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto auto;
  gap:10px;
  align-items:end;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  padding:10px;
}
.ca-super-admin__model-enabled{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  white-space:nowrap;
}
.ca-super-admin__model-enabled input{
  width:16px;
  height:16px;
}
.ca-super-admin__model-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:2px;
}
.ca-super-admin__model-notice{
  margin:0;
  color:#2563eb;
  font-size:13px;
}
.ca-super-admin__agent-user{
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:10px 12px;
  background:#f8fafc;
  margin-bottom:10px;
}
.ca-super-admin__agent-user-title{
  font-size:13px;
  font-weight:700;
  color:#111827;
  margin-bottom:8px;
}
.ca-super-admin__agent-user-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
}
.ca-super-admin__agent-check{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:500;
  color:#374151;
}
.ca-super-admin__agent-check em{
  font-style:normal;
  font-size:11px;
  color:#9ca3af;
}
.ca-super-admin__agent-empty{
  margin:0;
  color:#6b7280;
  font-size:12px;
}
.ca-super-admin__agent-manager{
  display:grid;
  gap:12px;
}
.ca-super-admin__agent-manager-list{
  display:grid;
  gap:12px;
}
.ca-super-admin__agent-row{
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  padding:12px;
  display:grid;
  gap:10px;
}
.ca-super-admin__agent-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:10px;
}
.ca-super-admin__agent-row-bottom{
  display:grid;
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  gap:10px;
  align-items:end;
}
.ca-agent-flag{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.ca-agent-flag input{
  width:16px;
  height:16px;
}
.ca-super-admin__agent-notice{
  margin:0;
  color:#2563eb;
  font-size:13px;
}
.ca-super-admin__dropzone{
  border:1px dashed #cbd5f5;
  border-radius:10px;
  padding:10px;
  text-align:center;
  font-size:12px;
  color:#4b5563;
  background:#f8fafc;
  cursor:pointer;
  position:relative;
  min-width:90px;
}
.ca-super-admin__dropzone input[type="file"]{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.ca-super-admin__dropzone.is-dragover{
  background:#eef2ff;
  border-color:#818cf8;
}
.ca-super-admin__dropzone--detail{
  padding:18px;
  margin:12px 0;
}
.ca-super-admin__upload-list{
  margin:0;
  padding-left:18px;
}
.ca-super-admin__upload-list li{
  margin-bottom:6px;
}
@media (max-width: 1100px){
  .ca-super-admin__row{
    flex-direction:column;
    align-items:stretch;
  }
  .ca-super-admin__toolbar{
    justify-content:flex-start;
  }
  .ca-super-admin__model-row{
    grid-template-columns: 1fr;
  }
  .ca-super-admin__model-provider-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .ca-super-admin__agent-grid{
    grid-template-columns:1fr;
  }
  .ca-super-admin__agent-row-bottom{
    grid-template-columns:1fr;
  }
}

/* ===== Super Admin: Email Templates ===== */
.ca-email-tpl__loading,
.ca-email-tpl__empty{
  color:#6b7280;
  padding:8px 0;
}
.ca-email-tpl__notice{
  margin-top:10px;
  font-size:14px;
  color:#059669;
}
.ca-email-tpl__notice--error{
  color:#dc2626;
}
.ca-email-tpl__card{
  border:1px solid #e5e7eb;
  border-radius:8px;
  margin-bottom:12px;
  background:#fff;
}
.ca-email-tpl__card-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 18px;
  user-select:none;
}
.ca-email-tpl__card-header:hover{
  background:#f9fafb;
}
.ca-email-tpl__card-info{
  display:flex;
  flex-direction:column;
  gap:2px;
  cursor:pointer;
  flex:1 1 auto;
  min-width:0;
}
.ca-email-tpl__card-title{
  font-size:15px;
  color:#1e1e1e;
}
.ca-email-tpl__card-subject{
  font-size:13px;
  color:#6b7280;
}
.ca-email-tpl__card-arrow{
  font-size:16px;
  color:#9ca3af;
  cursor:pointer;
}
.ca-email-tpl__card-body{
  padding:0 18px 18px;
}
.ca-email-tpl__preview-wrap h4{
  font-size:13px;
  color:#6b7280;
  margin:0 0 8px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.ca-email-tpl__preview{
  border:1px solid #e5e7eb;
  border-radius:6px;
  padding:20px;
  background:#fafafa;
  font-size:14px;
  line-height:1.6;
  color:#1e1e1e;
  max-height:400px;
  overflow-y:auto;
}
.ca-email-tpl__preview h3{
  font-size:16px;
  margin:16px 0 8px;
}
.ca-email-tpl__preview ul{
  padding-left:20px;
  margin:0 0 12px;
}
.ca-email-tpl__preview li{
  margin-bottom:4px;
}
.ca-email-tpl__view-actions{
  margin-top:12px;
}
.ca-email-tpl__edit-wrap{
  margin-top:16px;
}
.ca-email-tpl__field{
  display:block;
  font-size:13px;
  font-weight:600;
  color:#374151;
  margin-bottom:12px;
}
.ca-email-tpl__field input,
.ca-email-tpl__field textarea{
  display:block;
  width:100%;
  margin-top:4px;
  padding:8px 10px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-family:monospace;
  font-size:13px;
  line-height:1.5;
  box-sizing:border-box;
}
.ca-email-tpl__field textarea{
  resize:vertical;
  min-height:180px;
}
.ca-email-tpl__field input:focus,
.ca-email-tpl__field textarea:focus{
  outline:none;
  border-color:#818cf8;
  box-shadow:0 0 0 2px rgba(129,140,248,.25);
}
.ca-email-tpl__placeholders{
  font-size:12px;
  color:#6b7280;
  margin:8px 0 12px;
}
.ca-email-tpl__placeholders code{
  background:#f3f4f6;
  padding:1px 5px;
  border-radius:3px;
  font-size:12px;
}
.ca-email-tpl__edit-actions{
  display:flex;
  gap:10px;
}

/* ===== Email Template History ===== */
.ca-email-tpl-history__settings{
  margin-bottom:18px;
  padding:14px 18px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#f9fafb;
}
.ca-email-tpl-history__toggle-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  color:#1e1e1e;
  cursor:pointer;
  user-select:none;
}
.ca-email-tpl-history__toggle-label--card{
  font-size:12px;
  color:#6b7280;
  gap:6px;
}
.ca-email-tpl-history__toggle-hint{
  font-size:11px;
  color:#9ca3af;
  white-space:nowrap;
}
.ca-email-tpl-history__toggle-switch{
  position:relative;
  display:inline-block;
  width:38px;
  height:22px;
  flex-shrink:0;
}
.ca-email-tpl-history__toggle-switch input{
  opacity:0;
  width:0;
  height:0;
  position:absolute;
}
.ca-email-tpl-history__toggle-slider{
  position:absolute;
  inset:0;
  background:#d1d5db;
  border-radius:22px;
  transition:background .2s;
}
.ca-email-tpl-history__toggle-slider::before{
  content:'';
  position:absolute;
  left:3px;
  top:3px;
  width:16px;
  height:16px;
  background:#fff;
  border-radius:50%;
  transition:transform .2s;
}
.ca-email-tpl-history__toggle-switch input:checked + .ca-email-tpl-history__toggle-slider{
  background:#7c3aed;
}
.ca-email-tpl-history__toggle-switch input:checked + .ca-email-tpl-history__toggle-slider::before{
  transform:translateX(16px);
}
.ca-email-tpl-history__toggle-switch input:disabled + .ca-email-tpl-history__toggle-slider{
  opacity:.5;
  cursor:default;
}
.ca-email-tpl-history__toggle-switch--sm{
  width:32px;
  height:18px;
}
.ca-email-tpl-history__toggle-switch--sm .ca-email-tpl-history__toggle-slider{
  border-radius:18px;
}
.ca-email-tpl-history__toggle-switch--sm .ca-email-tpl-history__toggle-slider::before{
  width:12px;
  height:12px;
}
.ca-email-tpl-history__toggle-switch--sm input:checked + .ca-email-tpl-history__toggle-slider::before{
  transform:translateX(14px);
}
.ca-email-tpl__card-right{
  display:flex;
  align-items:center;
  gap:14px;
  flex-shrink:0;
}
.ca-email-tpl-history__settings-notice{
  margin-top:8px;
  font-size:13px;
  color:#059669;
}
.ca-email-tpl-history__settings-notice.ca-email-tpl__notice--error{
  color:#dc2626;
}

/* History modal */
.ca-email-tpl-history__modal-backdrop{
  position:fixed;
  inset:0;
  z-index:100000;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ca-email-tpl-history__modal{
  background:#fff;
  border-radius:12px;
  width:100%;
  max-width:680px;
  max-height:80vh;
  display:flex;
  flex-direction:column;
  box-shadow:0 8px 32px rgba(0,0,0,.18);
}
.ca-email-tpl-history__modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 22px 14px;
  border-bottom:1px solid #e5e7eb;
}
.ca-email-tpl-history__modal-header h3{
  font-size:16px;
  margin:0;
  color:#1e1e1e;
}
.ca-email-tpl-history__modal-close{
  background:none;
  border:none;
  font-size:24px;
  color:#9ca3af;
  cursor:pointer;
  line-height:1;
  padding:0 4px;
}
.ca-email-tpl-history__modal-close:hover{
  color:#1e1e1e;
}
.ca-email-tpl-history__modal-body{
  flex:1 1 auto;
  overflow-y:auto;
  padding:18px 22px;
}
.ca-email-tpl-history__modal-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:12px 22px;
  border-top:1px solid #e5e7eb;
  font-size:13px;
  color:#6b7280;
}
.ca-email-tpl-history__empty{
  color:#6b7280;
  font-size:14px;
  text-align:center;
  padding:24px 0;
}
.ca-email-tpl-history__entry{
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:14px 16px;
  margin-bottom:10px;
  background:#fafafa;
}
.ca-email-tpl-history__entry-meta{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:6px;
}
.ca-email-tpl-history__entry-meta strong{
  font-size:14px;
  color:#1e1e1e;
}
.ca-email-tpl-history__entry-date{
  font-size:12px;
  color:#9ca3af;
}
.ca-email-tpl-history__entry-subject{
  font-size:13px;
  color:#374151;
  margin-bottom:6px;
}
.ca-email-tpl-history__entry-subject span{
  font-weight:600;
}
.ca-email-tpl-history__entry-body-details summary{
  font-size:12px;
  color:#7c3aed;
  cursor:pointer;
  user-select:none;
}
.ca-email-tpl-history__entry-body-details summary:hover{
  text-decoration:underline;
}
.ca-email-tpl-history__entry-body{
  margin-top:8px;
  padding:10px 12px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:6px;
  font-size:12px;
  font-family:monospace;
  line-height:1.5;
  color:#374151;
  white-space:pre-wrap;
  word-break:break-word;
  max-height:200px;
  overflow-y:auto;
}

/* ===== Super Admin: Form Builder ===== */
.ca-fb{
  padding:0;
}
.ca-fb__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
  flex-wrap:wrap;
}
.ca-fb__header-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.ca-fb__title{
  font-size:18px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-fb__desc{
  font-size:13px;
  color:#6b7280;
  margin:0;
}
.ca-fb__save-btn{
  white-space:nowrap;
}
.ca-fb__notice{
  font-size:13px;
  min-height:20px;
  margin-bottom:4px;
}

/* Kit-type toggle */
.ca-fb__type-selector{
  display:flex;
  gap:0;
  border:1px solid #d1d5db;
  border-radius:8px;
  overflow:hidden;
  width:fit-content;
}
.ca-fb__type-btn{
  padding:8px 20px;
  font-size:13px;
  font-weight:600;
  background:#fff;
  border:none;
  border-right:1px solid #d1d5db;
  cursor:pointer;
  color:#374151;
  transition:background .15s,color .15s;
}
.ca-fb__type-btn:last-child{
  border-right:none;
}
.ca-fb__type-btn:hover{
  background:#f3f4f6;
}
.ca-fb__type-btn.is-active{
  background:#0d9488;
  color:#fff;
}

/* Split layout */
.ca-fb__split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:start;
}
.ca-fb__builder,
.ca-fb__preview{
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:calc(100vh - 260px);
  overflow:hidden;
}
.ca-fb__builder-top,
.ca-fb__preview-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 16px;
  border-bottom:1px solid #e5e7eb;
  background:#f9fafb;
  flex-shrink:0;
}
.ca-fb__panel-label{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#6b7280;
}

/* Builder panel scrollable area */
.ca-fb__field-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px;
  overflow-y:auto;
  flex:1;
  min-height:0;
}

/* Field cards */
.ca-fb__card{
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#fff;
  transition:box-shadow .15s,border-color .15s;
}
.ca-fb__card:hover{
  border-color:#d1d5db;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.ca-fb__card.is-editing{
  border-color:#0d9488;
  box-shadow:0 0 0 2px rgba(13,148,136,.15);
}
.ca-fb__card-header{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
}
.ca-fb__drag-handle{
  cursor:grab;
  color:#9ca3af;
  font-size:15px;
  user-select:none;
  flex-shrink:0;
}
.ca-fb__card-label{
  flex:1;
  font-size:12px;
  font-weight:600;
  color:#111827;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ca-fb__card-badge{
  font-size:10px;
  font-weight:600;
  text-transform:uppercase;
  background:#f3f4f6;
  color:#6b7280;
  padding:2px 6px;
  border-radius:4px;
  flex-shrink:0;
}
.ca-fb__card-req{
  font-size:10px;
  font-weight:600;
  background:#fef2f2;
  color:#ef4444;
  padding:2px 6px;
  border-radius:4px;
  flex-shrink:0;
}
.ca-fb__card-width{
  font-size:10px;
  font-weight:600;
  background:#eff6ff;
  color:#3b82f6;
  padding:2px 6px;
  border-radius:4px;
  flex-shrink:0;
}
.ca-fb__card-actions{
  display:flex;
  gap:4px;
  flex-shrink:0;
}
.ca-fb__card-edit,
.ca-fb__card-del{
  background:none;
  border:1px solid #e5e7eb;
  border-radius:5px;
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:13px;
  color:#6b7280;
  transition:background .12s,color .12s;
}
.ca-fb__card-edit:hover{
  background:#f0fdfa;
  color:#0d9488;
  border-color:#0d9488;
}
.ca-fb__card-del:hover{
  background:#fef2f2;
  color:#ef4444;
  border-color:#ef4444;
}

/* Drag states */
.ca-fb__card.is-dragging{
  opacity:.4;
}
.ca-fb__card.is-drag-over{
  border-color:#0d9488;
  border-style:dashed;
  background:#f0fdfa;
}

/* Inline editor */
.ca-fb__editor{
  padding:10px 12px 12px;
  border-top:1px solid #e5e7eb;
  background:#f9fafb;
}
.ca-fb__editor-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:8px;
}
.ca-fb__editor-field{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.ca-fb__editor-field span{
  font-size:10px;
  font-weight:600;
  color:#374151;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.ca-fb__editor-field input,
.ca-fb__editor-field select{
  padding:5px 8px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:12px;
  background:#fff;
  color:#111827;
}
.ca-fb__editor-field input:focus,
.ca-fb__editor-field select:focus{
  outline:none;
  border-color:#0d9488;
  box-shadow:0 0 0 2px rgba(13,148,136,.15);
}
.ca-fb__editor-check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:500;
  color:#374151;
  cursor:pointer;
}
.ca-fb__editor-check input[type="checkbox"]{
  accent-color:#0d9488;
}
.ca-fb__editor-done{
  margin-top:4px;
  font-size:12px;
}

/* Select options editor */
.ca-fb__editor-options{
  margin-top:6px;
  padding-top:6px;
  border-top:1px dashed #d1d5db;
}
.ca-fb__editor-options-title{
  display:block;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  color:#374151;
  margin-bottom:4px;
}
.ca-fb__editor-opt-row{
  display:flex;
  gap:6px;
  margin-bottom:4px;
  align-items:center;
}
.ca-fb__editor-opt-row input{
  flex:1;
  padding:4px 6px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:11px;
  background:#fff;
}
.ca-fb__editor-opt-row input:focus{
  outline:none;
  border-color:#0d9488;
}
.ca-fb__opt-del{
  background:none;
  border:none;
  color:#9ca3af;
  cursor:pointer;
  font-size:13px;
  padding:2px 4px;
}
.ca-fb__opt-del:hover{
  color:#ef4444;
}
.ca-fb__opt-add{
  font-size:11px;
  margin-top:2px;
}

/* Form heading / subtitle (builder column) */
.ca-fb__heading-fields{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0 0 16px;
  margin-bottom:0;
  border-bottom:1px solid #e5e7eb;
}
.ca-fb__field-list-loading{
  padding:24px 0;
  text-align:center;
  color:#9ca3af;
  font-size:13px;
}
.ca-fb__heading-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0;
}
.ca-fb__heading-label{
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#6b7280;
}
.ca-fb__heading-field input{
  width:100%;
  padding:8px 10px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:13px;
  background:#fff;
  outline:none;
}
.ca-fb__heading-field input:focus{
  border-color:#0d9488;
}

/* Add field button */
.ca-fb__add-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:12px;
}
.ca-fb__add-btn svg{
  flex-shrink:0;
}

/* ── Live Preview Panel ── */
.ca-fb__preview-form{
  padding:24px 28px;
  overflow-y:auto;
  flex:1;
  min-height:0;
}
.ca-fb__pv-header{
  margin-bottom:20px;
}
.ca-fb__pv-title{
  font-size:18px;
  font-weight:700;
  color:#111827;
  margin-bottom:4px;
}
.ca-fb__pv-subtitle{
  font-size:13px;
  color:#0d9488;
  font-weight:500;
}
.ca-fb__pv-title-input{
  display:block;
  width:100%;
  font-size:18px;
  font-weight:700;
  color:#111827;
  border:1px dashed #d1d5db;
  border-radius:6px;
  padding:6px 10px;
  margin-bottom:6px;
  background:#f9fafb;
  outline:none;
  transition:border-color .2s;
}
.ca-fb__pv-title-input:focus{
  border-color:#0d9488;
  background:#fff;
}
.ca-fb__pv-subtitle-input{
  display:block;
  width:100%;
  font-size:13px;
  font-weight:500;
  color:#0d9488;
  border:1px dashed #d1d5db;
  border-radius:6px;
  padding:5px 10px;
  background:#f9fafb;
  outline:none;
  transition:border-color .2s;
}
.ca-fb__pv-subtitle-input:focus{
  border-color:#0d9488;
  background:#fff;
}
.ca-fb__pv-title-input::placeholder,
.ca-fb__pv-subtitle-input::placeholder{
  color:#9ca3af;
  font-weight:400;
}
.ca-fb__pv-fields{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ca-fb__pv-row{
  display:flex;
  gap:14px;
}
.ca-fb__pv-row--half .ca-fb__pv-field{
  flex:1;
  min-width:0;
}
.ca-fb__pv-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1;
  cursor:pointer;
  padding:6px 8px;
  border-radius:6px;
  border:2px solid transparent;
  transition:border-color .15s,background .15s;
}
.ca-fb__pv-field:hover{
  background:#f0fdfa;
  border-color:#d1fae5;
}
.ca-fb__pv-field--active{
  border-color:#0d9488 !important;
  background:#f0fdfa;
}
.ca-fb__pv-label{
  font-size:13px;
  font-weight:600;
  color:#374151;
}
.ca-fb__pv-req{
  color:#ef4444;
  font-weight:700;
}
.ca-fb__pv-input{
  padding:8px 10px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:13px;
  color:#9ca3af;
  background:#fff;
  width:100%;
  box-sizing:border-box;
}
textarea.ca-fb__pv-input{
  resize:vertical;
  min-height:60px;
}
select.ca-fb__pv-input{
  appearance:auto;
}
.ca-fb__pv-file{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px dashed #d1d5db;
  border-radius:6px;
  background:#fafafa;
}
.ca-fb__pv-file-btn{
  font-size:12px;
  font-weight:600;
  color:#0d9488;
  background:#f0fdfa;
  padding:4px 10px;
  border-radius:4px;
  border:1px solid #99f6e4;
}
.ca-fb__pv-file-label{
  font-size:12px;
  color:#9ca3af;
}
.ca-fb__pv-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid #e5e7eb;
}
.ca-fb__pv-btn{
  padding:8px 20px;
  border-radius:6px;
  font-size:13px;
  font-weight:600;
  cursor:default;
  user-select:none;
}
.ca-fb__pv-btn--outline{
  border:1px solid #d1d5db;
  color:#374151;
  background:#fff;
}
.ca-fb__pv-btn--solid{
  background:#7c3aed;
  color:#fff;
  border:none;
}
.ca-fb__pv-shortcode{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px dashed #e5e7eb;
}
.ca-fb__pv-sc-label{
  font-size:12px;
  font-weight:600;
  color:#6b7280;
  white-space:nowrap;
}

/* Responsive */
@media(max-width:960px){
  .ca-fb__split{
    grid-template-columns:1fr;
  }
  .ca-fb__builder,
  .ca-fb__preview{
    max-height:none;
  }
}
@media(max-width:640px){
  .ca-fb__header{
    flex-direction:column;
  }
  .ca-fb__header-actions{
    flex-direction:column;
    align-items:flex-start;
  }
  .ca-fb__type-selector{
    width:100%;
  }
  .ca-fb__type-btn{
    flex:1;
    text-align:center;
  }
  .ca-fb__editor-row{
    grid-template-columns:1fr;
  }
  .ca-fb__pv-row--half{
    flex-direction:column;
  }
}

/* ── Form Builder: Universal Surfaces / Universal Questions editors ── */
.ca-fb__universal-editor{
  margin-top:8px;
}
.ca-fb__uni-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:18px 20px;
  margin-bottom:16px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.ca-fb__uni-title{
  margin:0 0 6px;
  font-size:16px;
  font-weight:700;
  color:#0f172a;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.ca-fb__uni-pill{
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#6d28d9;
  background:#f3e8ff;
  padding:3px 10px;
  border-radius:999px;
}
.ca-fb__uni-desc{
  margin:0 0 14px;
  font-size:13px;
  color:#475569;
  line-height:1.55;
}
.ca-fb__uni-desc code{
  background:#f1f5f9;
  padding:1px 6px;
  border-radius:4px;
  font-size:12px;
}
.ca-fb__uni-table-wrap{
  overflow-x:auto;
  border:1px solid #e5e7eb;
  border-radius:8px;
}
.ca-fb__uni-table{
  width:100%;
  min-width:1000px;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}
.ca-fb__uni-table th,
.ca-fb__uni-table td{
  padding:8px 10px;
  vertical-align:top;
  border-bottom:1px solid #f1f5f9;
  text-align:left;
}
.ca-fb__uni-table thead th{
  background:#f8fafc;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#475569;
  font-weight:700;
  position:sticky;
  top:0;
}
.ca-fb__uni-table tbody tr:last-child td{
  border-bottom:none;
}
.ca-fb__uni-table tbody tr:nth-child(even) td{
  background:#fafbfc;
}
.ca-fb__uni-table input[type="text"],
.ca-fb__uni-table textarea,
.ca-fb__uni-table select{
  width:100%;
  box-sizing:border-box;
  padding:6px 8px;
  border:1px solid #e2e8f0;
  border-radius:6px;
  font-size:13px;
  background:#fff;
  color:#0f172a;
  font-family:inherit;
}
.ca-fb__uni-table textarea{
  min-height:54px;
  resize:vertical;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:12px;
}
.ca-fb__uni-table input[type="text"]:focus,
.ca-fb__uni-table textarea:focus,
.ca-fb__uni-table select:focus{
  outline:none;
  border-color:#a78bfa;
  box-shadow:0 0 0 3px rgba(167,139,250,.18);
}
.ca-fb__uni-th-checkbox,
.ca-fb__uni-td-checkbox{
  width:64px;
  text-align:center !important;
}
.ca-fb__uni-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  align-items:center;
}
.ca-fb__uni-reset-form{
  margin-top:10px;
}

/* ── Universal editor split layout (mirrors .ca-fb__split) ── */
.ca-fb__uni-split{
  display:grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap:18px;
  margin-top:6px;
}
.ca-fb__uni-builder,
.ca-fb__uni-preview{
  background:#fafbfc;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:14px 16px;
  min-width:0;
}
.ca-fb__uni-preview{
  background:#f8fafc;
  position:sticky;
  top:12px;
  align-self:start;
  max-height:calc(100vh - 80px);
  overflow:auto;
}
.ca-fb__uni-builder-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}
.ca-fb__uni-preview .ca-fb__preview-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom:12px;
  gap:10px;
}
.ca-fb__uni-preview-hint{
  font-size:11.5px;
  color:#94a3b8;
  font-weight:500;
}
.ca-fb__uni-preview-empty{
  text-align:center;
  font-size:13px;
  color:#94a3b8;
  padding:32px 16px;
  border:1px dashed #e2e8f0;
  border-radius:8px;
  background:#fff;
}

/* Preview "modal" wrapper styled to evoke the actual customer modal */
.ca-fb__uni-prev-modal{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:16px;
  box-shadow:0 6px 20px rgba(15,23,42,.06);
}
.ca-fb__uni-prev-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom:8px;
}
.ca-fb__uni-prev-head h4{
  margin:0;
  font-size:15px;
  font-weight:700;
  color:#0f172a;
}
.ca-fb__uni-prev-count{
  font-size:11.5px;
  color:#64748b;
}
.ca-fb__uni-prev-search{
  display:flex;
  align-items:center;
  gap:8px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:8px;
  padding:7px 10px;
  font-size:12.5px;
  color:#94a3b8;
  margin-bottom:12px;
}
.ca-fb__uni-prev-search .ph{
  flex:1;
}
.ca-fb__uni-prev-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ca-fb__uni-prev-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
}
.ca-fb__uni-prev-icon{
  width:36px;
  height:36px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:#6b7280;
  background:#f3f4f6;
}
.ca-fb__uni-prev-icon--purple{ background:#f3e8ff; color:#7c3aed; }
.ca-fb__uni-prev-icon--blue{   background:#dbeafe; color:#2563eb; }
.ca-fb__uni-prev-icon--green{  background:#d1fae5; color:#059669; }
.ca-fb__uni-prev-icon--orange{ background:#ffedd5; color:#ea580c; }
.ca-fb__uni-prev-icon--pink{   background:#fce7f3; color:#db2777; }
.ca-fb__uni-prev-icon--gray{   background:#f1f5f9; color:#475569; }
.ca-fb__uni-prev-icon--teal{   background:#ccfbf1; color:#0d9488; }
.ca-fb__uni-prev-body{
  flex:1;
  min-width:0;
}
.ca-fb__uni-prev-row1{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:13.5px;
  color:#0f172a;
}
.ca-fb__uni-prev-row1 strong{
  font-weight:700;
}
.ca-fb__uni-prev-meta{
  font-size:11.5px;
  color:#94a3b8;
  margin-left:auto;
}
.ca-fb__uni-prev-tag{
  font-size:10.5px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:2px 8px;
  border-radius:999px;
}
.ca-fb__uni-prev-tag--purple{ background:#f3e8ff; color:#6d28d9; }
.ca-fb__uni-prev-tag--blue{   background:#dbeafe; color:#1d4ed8; }
.ca-fb__uni-prev-tag--green{  background:#d1fae5; color:#047857; }
.ca-fb__uni-prev-tag--orange{ background:#ffedd5; color:#c2410c; }
.ca-fb__uni-prev-tag--pink{   background:#fce7f3; color:#be185d; }
.ca-fb__uni-prev-tag--gray{   background:#f1f5f9; color:#334155; }
.ca-fb__uni-prev-tag--teal{   background:#ccfbf1; color:#0f766e; }
.ca-fb__uni-prev-sub{
  font-size:12px;
  color:#64748b;
  margin-top:3px;
  line-height:1.4;
}
.ca-fb__uni-prev-cta{
  background:#2563eb;
  color:#fff;
  border:none;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  padding:7px 12px;
  cursor:default;
  flex-shrink:0;
  pointer-events:none;
}

/* Step 2 (questions) preview */
.ca-fb__uni-prev-modal--form{
  padding:18px 20px;
}
.ca-fb__uni-prev-stepper{
  display:flex;
  gap:8px;
  margin-bottom:14px;
  font-size:11.5px;
  color:#94a3b8;
  font-weight:600;
}
.ca-fb__uni-prev-step{
  padding:4px 10px;
  border-radius:999px;
  background:#f1f5f9;
}
.ca-fb__uni-prev-step.is-active{
  background:#ede9fe;
  color:#6d28d9;
}
.ca-fb__uni-prev-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ca-fb__uni-prev-q{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ca-fb__uni-prev-q-label{
  font-size:13px;
  font-weight:600;
  color:#0f172a;
}
.ca-fb__uni-prev-req{
  color:#dc2626;
}
.ca-fb__uni-prev-q-helper{
  font-size:11.5px;
  color:#94a3b8;
  margin-bottom:2px;
}
.ca-fb__uni-prev-options{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ca-fb__uni-prev-option{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  color:#475569;
  padding:6px 10px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#fff;
  cursor:default;
}
.ca-fb__uni-prev-input{
  width:100%;
  box-sizing:border-box;
  padding:8px 10px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-size:13px;
  color:#475569;
  background:#fff;
  font-family:inherit;
}
.ca-fb__uni-prev-actions{
  display:flex;
  justify-content:space-between;
  margin-top:8px;
  gap:10px;
}
.ca-fb__uni-prev-actions button{
  padding:7px 14px;
  border-radius:8px;
  border:1px solid #e5e7eb;
  background:#fff;
  font-size:12.5px;
  color:#475569;
  cursor:default;
  font-weight:600;
}
.ca-fb__uni-prev-actions button.primary{
  background:#7c3aed;
  color:#fff;
  border-color:#7c3aed;
}

/* Stack on narrower screens (iPad / split admin views). */
@media (max-width: 1100px){
  .ca-fb__uni-split{
    grid-template-columns: 1fr;
  }
  .ca-fb__uni-preview{
    position:static;
    max-height:none;
  }
}

/* ── Form Builder: Custom Forms Panel ── */
.ca-fb__custom-forms-panel{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:16px 20px;
  margin-bottom:16px;
}
.ca-fb__cf-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.ca-fb__cf-title{
  font-size:15px;
  font-weight:600;
  color:#1f2937;
  margin:0;
}
.ca-fb__cf-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.ca-fb__cf-table th{
  text-align:left;
  padding:8px 10px;
  border-bottom:2px solid #e5e7eb;
  font-weight:600;
  color:#6b7280;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.ca-fb__cf-table td{
  padding:8px 10px;
  border-bottom:1px solid #f3f4f6;
  vertical-align:middle;
}
.ca-fb__cf-active{
  color:#16a34a;
  font-weight:600;
  font-size:12px;
}
.ca-fb__cf-inactive{
  color:#9ca3af;
  font-weight:600;
  font-size:12px;
}
.ca-fb__sc-wrap{
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  padding:3px 8px;
  border:1px solid #e5e7eb;
  border-radius:6px;
  background:#f9fafb;
  transition:border-color .2s, background .2s;
}
.ca-fb__sc-wrap:hover{
  border-color:#0d9488;
  background:#f0fdfa;
}
.ca-fb__sc-wrap.is-copied{
  border-color:#16a34a;
  background:#f0fdf4;
}
.ca-fb__sc-code{
  font-size:11px;
  color:#374151;
  user-select:all;
}
.ca-fb__sc-copy-icon{
  font-size:13px;
  opacity:0.5;
  transition:opacity .2s;
}
.ca-fb__sc-wrap:hover .ca-fb__sc-copy-icon{
  opacity:1;
}
.ca-fb__sc-wrap.is-copied .ca-fb__sc-copy-icon{
  opacity:1;
  color:#16a34a;
}
.ca-fb__pv-radio-group,
.ca-fb__pv-check-group{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:4px 0;
}
.ca-fb__pv-radio,
.ca-fb__pv-check{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:#374151;
}

/* ── Form Builder: Kit Type Selector Editor ── */
.ca-fb__type-divider{
  display:inline-block;
  width:1px;
  height:24px;
  background:#e5e7eb;
  margin:0 4px;
  vertical-align:middle;
}
.ca-fb__kts-editor{
  margin-top:4px;
}
.ca-fb__kts-heading-fields{
  display:flex;
  gap:16px;
  margin-bottom:16px;
}
.ca-fb__kts-heading-fields .ca-fb__heading-field{
  flex:1;
}
.ca-fb__kts-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:start;
}
.ca-fb__kts-builder{
  min-width:0;
}
.ca-fb__kts-option-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ca-fb__kts-card .ca-fb__card-header{
  gap:10px;
}
.ca-fb__kts-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:8px;
  flex-shrink:0;
}
.ca-fb__kts-icon svg{
  width:18px;
  height:18px;
}
.ca-fb__kts-preview{
  min-width:0;
}
.ca-fb__kts-preview-content{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
}
.ca-fb__kts-pv-modal{
  padding:0;
}
.ca-fb__kts-pv-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding:20px 24px 12px;
}
.ca-fb__kts-pv-title{
  font-size:16px;
  font-weight:700;
  color:#111827;
  line-height:1.3;
}
.ca-fb__kts-pv-subtitle{
  font-size:13px;
  color:#6b7280;
  margin-top:2px;
}
.ca-fb__kts-pv-close{
  font-size:22px;
  color:#9ca3af;
  cursor:default;
  line-height:1;
}
.ca-fb__kts-pv-options{
  padding:0 24px 20px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ca-fb__kts-pv-opt{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 12px;
  border-radius:10px;
  cursor:pointer;
  transition:background .15s;
}
.ca-fb__kts-pv-opt:hover{
  background:#f9fafb;
}
.ca-fb__kts-pv-opt--active{
  background:#eff6ff;
  outline:2px solid #3b82f6;
  outline-offset:-2px;
}
.ca-fb__kts-pv-opt-text{
  flex:1;
  min-width:0;
}
.ca-fb__kts-pv-opt-text strong{
  display:block;
  font-size:14px;
  font-weight:600;
  color:#111827;
}
.ca-fb__kts-pv-opt-text span{
  display:block;
  font-size:12px;
  color:#6b7280;
  margin-top:2px;
  line-height:1.4;
}
@media(max-width:900px){
  .ca-fb__kts-split{
    grid-template-columns:1fr;
  }
  .ca-fb__kts-heading-fields{
    flex-direction:column;
  }
}

/* ── Frontend Custom Form (shortcode) ── */
.ca-cf{
  max-width:680px;
  margin:0 auto;
  font-family:'Albert Sans',system-ui,-apple-system,sans-serif;
}
.ca-cf__form{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:28px;
}
.ca-cf__title{
  font-size:20px;
  font-weight:700;
  color:#1f2937;
  margin-bottom:4px;
}
.ca-cf__subtitle{
  font-size:14px;
  color:#6b7280;
  font-weight:400;
  margin-bottom:20px;
}
.ca-cf__title + .ca-cf__fields{
  margin-top:20px;
}
.ca-cf__fields{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ca-cf__row--half{
  display:flex;
  gap:14px;
}
.ca-cf__row--half .ca-cf__field{
  flex:1;
}
.ca-cf__field{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ca-cf__label{
  font-size:13px;
  font-weight:600;
  color:#374151;
}
.ca-cf__req{
  color:#ef4444;
}
.ca-cf__field input[type="text"],
.ca-cf__field input[type="email"],
.ca-cf__field input[type="tel"],
.ca-cf__field input[type="url"],
.ca-cf__field input[type="number"],
.ca-cf__field input[type="date"],
.ca-cf__field textarea,
.ca-cf__field select{
  padding:8px 12px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:14px;
  color:#1f2937;
  background:#fff;
  transition:border-color .15s;
}
.ca-cf__field input:focus,
.ca-cf__field textarea:focus,
.ca-cf__field select:focus{
  outline:none;
  border-color:#7c3aed;
  box-shadow:0 0 0 3px rgba(124,58,237,.1);
}
.ca-cf__heading{
  font-weight:700;
  font-size:16px;
  color:#1f2937;
  border-bottom:1px solid #e5e7eb;
  padding-bottom:6px;
  margin-top:8px;
}
.ca-cf__radio-group,
.ca-cf__check-group{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:4px 0;
}
.ca-cf__radio,
.ca-cf__check{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  color:#374151;
  cursor:pointer;
}
.ca-cf__notice{
  min-height:20px;
  font-size:13px;
  margin-top:8px;
}
.ca-cf__actions{
  display:flex;
  justify-content:flex-end;
  margin-top:16px;
}
.ca-cf__submit{
  padding:10px 28px;
  background:#7c3aed;
  color:#fff;
  border:none;
  border-radius:6px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:background .15s;
}
.ca-cf__submit:hover{
  background:#6d28d9;
}
.ca-cf__success{
  text-align:center;
  padding:40px 20px;
  font-size:16px;
  color:#16a34a;
  font-weight:600;
}
.ca-cf__loading,
.ca-cf__empty,
.ca-cf__error{
  text-align:center;
  padding:20px;
  color:#6b7280;
  font-size:14px;
}
.ca-cf__error{
  color:#ef4444;
}
@media(max-width:640px){
  .ca-cf__row--half{
    flex-direction:column;
  }
  .ca-cf__form{
    padding:18px;
  }
}

/* ===== Atlas Page – Tabs ===== */
.ca-atlas-tabs{
  display:flex;
  gap:0;
  border-bottom:1px solid #e5e7eb;
  padding:0 28px;
  background:#fff;
}
.ca-atlas-tabs__item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:12px 18px;
  font-size:14px;
  font-weight:500;
  color:#6b7280;
  border-bottom:2px solid transparent;
  transition:color .15s, border-color .15s;
  white-space:nowrap;
}
.ca-atlas-tabs__item:hover{
  color:#111827;
}
.ca-atlas-tabs__item.is-active{
  color:#2563eb;
  border-bottom-color:#2563eb;
  font-weight:600;
}
.ca-atlas-tabs__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:1px 7px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  background:#e5e7eb;
  color:#374151;
}
.ca-atlas-tabs__badge--red{
  background:#ef4444;
  color:#fff;
}

/* ===== Atlas Page – Stats bar ===== */
.ca-atlas-stats{
  display:flex;
  align-items:center;
  gap:24px;
  padding:10px 28px;
  background:#f8fafc;
  border-bottom:1px solid #e5e7eb;
  font-size:13px;
}
.ca-atlas-stats__item{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.ca-atlas-stats__label{
  color:#6b7280;
  font-weight:500;
}
.ca-atlas-stats__value{
  color:#111827;
  font-weight:700;
  background:#e0e7ff;
  padding:2px 10px;
  border-radius:999px;
  font-size:12px;
}
.ca-atlas-stats__updated{
  margin-left:auto;
  color:#9ca3af;
  font-size:12px;
}

/* ===== Atlas Page – Body / Sections ===== */
.ca-atlas-body{
  padding:28px 28px 40px;
}
.ca-atlas-section{
  margin-bottom:8px;
}
.ca-atlas-section--mt{
  margin-top:32px;
}
.ca-atlas-section__title{
  font-size:22px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-atlas-section__subtitle{
  font-size:14px;
  color:#6b7280;
  margin:0 0 4px;
}
.ca-atlas-section__heading{
  font-size:16px;
  font-weight:700;
  color:#111827;
  margin:18px 0 2px;
}

/* ===== Atlas Page – Feature cards (2 × 2 grid) ===== */
.ca-atlas-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:16px;
}
.ca-atlas-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:20px 22px;
  transition:box-shadow .15s;
}
.ca-atlas-card:hover{
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.ca-atlas-card__header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.ca-atlas-card__avatar{
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  overflow:hidden;
}
.ca-atlas-card__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ca-atlas-card__avatar--coach{
  background:#f3f4f6;
}
.ca-atlas-card__avatar--ranger{
  background:#f3f4f6;
}
.ca-atlas-card__avatar--merlin{
  background:#f3f4f6;
}
.ca-atlas-card__avatar--atlas{
  background:#f3f4f6;
}
/* Non-active agent cards: reduced opacity (Atlas page focuses on Atlas card) */
.ca-atlas-features .ca-atlas-card:not(.ca-atlas-card--active){
  opacity:0.65;
}
.ca-atlas-features .ca-atlas-card:not(.ca-atlas-card--active):hover{
  opacity:0.85;
}
.ca-atlas-card__meta{
  display:flex;
  align-items:center;
  gap:5px;
}
.ca-atlas-card__agent{
  font-size:12px;
  color:#9ca3af;
  font-weight:500;
}
.ca-atlas-card__info-icon{
  font-size:14px;
  color:#d1d5db;
  cursor:help;
}
.ca-atlas-card__title{
  font-size:15px;
  font-weight:700;
  color:#111827;
  margin:0 0 6px;
}
.ca-atlas-card__desc{
  font-size:13px;
  color:#6b7280;
  line-height:1.55;
  margin:0;
}
.ca-atlas-card__link{
  display:inline-block;
  margin-top:10px;
  font-size:13px;
  font-weight:600;
  color:#111827;
  border:1px solid #e5e7eb;
  border-radius:6px;
  padding:5px 14px;
  transition:background .15s;
}
.ca-atlas-card__link:hover{
  background:#f3f4f6;
}

/* ===== Atlas Page – Quick Actions ===== */
.ca-atlas-quick-actions{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:14px;
}
.ca-atlas-qa{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:24px 16px 20px;
  transition:box-shadow .15s;
}
.ca-atlas-qa:hover{
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.ca-atlas-qa__icon{
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
}
.ca-atlas-qa__icon--teal{  background:#14b8a6; }
.ca-atlas-qa__icon--green{ background:#22c55e; }
.ca-atlas-qa__icon--orange{ background:#f97316; }
.ca-atlas-qa__icon--slate{ background:#475569; }
.ca-atlas-qa__label{
  font-size:14px;
  font-weight:700;
  color:#111827;
  margin-bottom:4px;
}
.ca-atlas-qa__desc{
  font-size:12px;
  color:#6b7280;
}

/* ===== Atlas Page – Chip variant ===== */
.ca-chip--blue{
  background:#dbeafe;
  color:#1d4ed8;
  border-color:#bfdbfe;
}

/* ===== Atlas Page – Responsive ===== */
@media (max-width:900px){
  .ca-atlas-features{
    grid-template-columns:1fr;
  }
  .ca-atlas-quick-actions{
    grid-template-columns:1fr 1fr;
  }
  .ca-atlas-tabs{
    overflow-x:auto;
    padding:0 16px;
  }
  .ca-atlas-stats{
    flex-wrap:wrap;
    gap:12px;
    padding:10px 16px;
  }
  .ca-atlas-body{
    padding:20px 16px 32px;
  }
}
@media (max-width:540px){
  .ca-atlas-quick-actions{
    grid-template-columns:1fr;
  }
}

/* ===== Priority Actions Page ===== */
.ca-pa-body{
  padding:28px 28px 40px;
}
.ca-pa-header{
  margin-bottom:24px;
}
.ca-pa-header__title{
  font-size:22px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-pa-header__subtitle{
  font-size:14px;
  color:#6b7280;
  margin:0;
}

/* Card container */
.ca-pa-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px 28px 20px;
}
.ca-pa-card__head{
  margin-bottom:16px;
}
.ca-pa-card__title{
  font-size:18px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-pa-card__subtitle{
  font-size:13px;
  color:#6b7280;
  margin:0;
}

/* Filter tabs */
.ca-pa-filters{
  display:flex;
  align-items:center;
  gap:4px;
  margin-bottom:14px;
}
.ca-pa-filters__btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:500;
  color:#374151;
  background:#f3f4f6;
  border:1px solid transparent;
  cursor:pointer;
  transition:background .15s, color .15s;
}
.ca-pa-filters__btn:hover{
  background:#e5e7eb;
}
.ca-pa-filters__btn.is-active{
  background:#111827;
  color:#fff;
}

/* Select all */
.ca-pa-select-all{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:#6b7280;
  padding:8px 0;
  border-bottom:1px solid #f3f4f6;
  margin-bottom:4px;
  cursor:pointer;
}
.ca-pa-select-all input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:#2563eb;
}

/* Action items */
.ca-pa-items{
  display:flex;
  flex-direction:column;
}
.ca-pa-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:18px 0;
  border-bottom:1px solid #f3f4f6;
  position:relative;
}
.ca-pa-item--critical{
  background:#fffbeb;
  border-left:3px solid #f59e0b;
  border-radius:8px;
  padding:18px 16px;
  margin:4px -4px;
}
.ca-pa-item__check{
  padding-top:2px;
  flex-shrink:0;
}
.ca-pa-item__check input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:#2563eb;
}
.ca-pa-item__icon{
  width:32px;
  height:32px;
  border-radius:8px;
  background:#f0fdf4;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-pa-item__icon--chart{
  background:#eef2ff;
}
.ca-pa-item__body{
  flex:1;
  min-width:0;
}
.ca-pa-item__title{
  font-size:14px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-pa-item__desc{
  font-size:13px;
  color:#6b7280;
  line-height:1.55;
  margin:0 0 10px;
}
.ca-pa-item__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* Small buttons */
.ca-btn--sm{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 14px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
}

/* Meta column (badges + more) */
.ca-pa-item__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
  padding-top:2px;
}
.ca-pa-item__more{
  background:none;
  border:none;
  font-size:18px;
  color:#9ca3af;
  cursor:pointer;
  padding:0 2px;
  line-height:1;
}
.ca-pa-item__more:hover{
  color:#374151;
}

/* Badges */
.ca-pa-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.ca-pa-badge--critical{
  background:#fee2e2;
  color:#dc2626;
}
.ca-pa-badge--high{
  background:#fef3c7;
  color:#b45309;
}
.ca-pa-badge--medium{
  background:#dbeafe;
  color:#1d4ed8;
}
.ca-pa-badge--credit{
  background:#e0e7ff;
  color:#4338ca;
}

/* Show more */
.ca-pa-show-more{
  text-align:center;
  padding:16px 0 4px;
}
.ca-pa-show-more__btn{
  background:none;
  border:none;
  font-size:13px;
  font-weight:600;
  color:#374151;
  cursor:pointer;
  padding:8px 20px;
  border-radius:8px;
  transition:background .15s;
}
.ca-pa-show-more__btn:hover{
  background:#f3f4f6;
}

/* Priority Actions responsive */
@media (max-width:768px){
  .ca-pa-body{
    padding:20px 16px 32px;
  }
  .ca-pa-card{
    padding:18px 16px 16px;
  }
  .ca-pa-filters{
    flex-wrap:wrap;
  }
  .ca-pa-item{
    flex-wrap:wrap;
  }
  .ca-pa-item__meta{
    width:100%;
    justify-content:flex-end;
    padding-top:8px;
  }
}

/* ===== Live One-Pagers Page ===== */
.ca-lop-body{
  padding:28px 28px 40px;
}

/* Header row */
.ca-lop-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
}
.ca-lop-header__title{
  font-size:22px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-lop-header__subtitle{
  font-size:14px;
  color:#6b7280;
  margin:0;
}
.ca-lop-header__right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

/* Sub-tabs */
.ca-lop-tabs{
  display:flex;
  gap:0;
  border-bottom:1px solid #e5e7eb;
  margin-bottom:20px;
}
.ca-lop-tabs__item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 18px;
  font-size:13px;
  font-weight:500;
  color:#6b7280;
  border-bottom:2px solid transparent;
  transition:color .15s, border-color .15s;
}
.ca-lop-tabs__item:hover{
  color:#111827;
}
.ca-lop-tabs__item.is-active{
  color:#2563eb;
  border-bottom-color:#2563eb;
  font-weight:600;
}

/* Upsell banner */
.ca-lop-banner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  background:linear-gradient(135deg,#7c3aed,#6d28d9 40%,#4f46e5);
  border-radius:14px;
  padding:24px 28px;
  margin-bottom:20px;
  color:#fff;
}
.ca-lop-banner__content{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.ca-lop-banner__icon{
  width:38px;
  height:38px;
  border-radius:10px;
  background:rgba(255,255,255,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-lop-banner__heading{
  font-size:16px;
  font-weight:700;
  margin-bottom:8px;
  display:flex;
  align-items:center;
  gap:8px;
}
.ca-lop-banner__badge{
  display:inline-flex;
  padding:2px 10px;
  border-radius:6px;
  font-size:11px;
  font-weight:700;
  background:rgba(255,255,255,.2);
  color:#fff;
}
.ca-lop-banner__desc{
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.88);
  margin:0 0 14px;
}
.ca-lop-banner__desc strong{
  color:#fff;
}
.ca-lop-banner__actions{
  display:flex;
  gap:10px;
}
.ca-btn--banner-primary{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:8px 18px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  background:#fff;
  color:#6d28d9;
  border:none;
  cursor:pointer;
  transition:background .15s;
}
.ca-btn--banner-primary:hover{
  background:#f5f3ff;
}
.ca-btn--banner-secondary{
  padding:8px 18px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  background:rgba(255,255,255,.15);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  cursor:pointer;
  transition:background .15s;
}
.ca-btn--banner-secondary:hover{
  background:rgba(255,255,255,.25);
}
.ca-lop-banner__lock{
  flex-shrink:0;
  padding-top:4px;
}

/* Stats row */
.ca-lop-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:24px;
}
.ca-lop-stats--three{
  grid-template-columns:repeat(3,1fr);
}
.ca-lop-stat{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:18px 20px;
}
.ca-lop-stat__icon{
  width:32px;
  height:32px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
}
.ca-lop-stat__icon--blue{  background:#eff6ff; }
.ca-lop-stat__icon--green{ background:#f0fdf4; }
.ca-lop-stat__icon--purple{ background:#f5f3ff; }
.ca-lop-stat__icon--orange{ background:#fff7ed; }
.ca-lop-stat__number{
  font-size:28px;
  font-weight:800;
  color:#111827;
  line-height:1.1;
}
.ca-lop-stat__label{
  font-size:13px;
  font-weight:500;
  color:#6b7280;
  margin-top:2px;
}
.ca-lop-stat__change{
  font-size:11px;
  color:#9ca3af;
  margin-top:4px;
}

/* Search + filter bar */
/* Search panel container */
.ca-lop-search-panel{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:16px;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  margin-bottom:20px;
}
.ca-lop-toolbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  margin-bottom:12px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:4px;
  min-width:0;
}
.ca-lop-search{
  position:relative;
  flex:1 1 240px;
  min-width:200px;
}
.ca-lop-search__icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  z-index:1;
}
.ca-lop-search__input{
  /* Force border-box so the 36px left + 12px right padding doesn't get
     ADDED on top of `width:100%`, which is what was making the input wider
     than its toolbar slot on iPad (715px input inside ~620px toolbar). */
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:9px 12px 9px 36px;
  border:none;
  border-radius:6px;
  font-size:13px;
  background:transparent;
  color:#111827;
  outline:none;
  transition:background .15s;
}
.ca-lop-search__input:focus{
  background:#f9fafb;
}
.ca-lop-search__input::placeholder{
  color:#9ca3af;
}
.ca-lop-filter-tabs{
  display:flex;
  gap:0;
  flex-shrink:0;
  padding-left:8px;
  border-left:1px solid #e5e7eb;
}
.ca-lop-filter-tabs__btn{
  padding:7px 14px;
  border-radius:6px;
  font-size:12px;
  font-weight:500;
  color:#374151;
  background:transparent;
  border:none;
  cursor:pointer;
  transition:all .15s;
  white-space:nowrap;
}
.ca-lop-filter-tabs__btn:hover{
  background:#f3f4f6;
}
.ca-lop-filter-tabs__btn.is-active{
  background:#111827;
  color:#fff;
}

/* Creator filter */
.ca-lop-creator-filter{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:#6b7280;
  margin:0;
}
.ca-lop-creator-filter__select{
  padding:6px 28px 6px 10px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-size:13px;
  color:#374151;
  background:#fff;
  cursor:pointer;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 8px center;
  background-size:12px;
}

/* Empty state */
.ca-lop-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:56px 24px 48px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
}
.ca-lop-empty__icon{
  margin-bottom:16px;
}
.ca-lop-empty__title{
  font-size:15px;
  font-weight:600;
  color:#374151;
  margin:0 0 6px;
}
.ca-lop-empty__desc{
  font-size:13px;
  color:#9ca3af;
  margin:0 0 20px;
}
.ca-lop-empty__cta{
  width:100%;
  max-width:480px;
  padding:12px 24px;
  font-size:14px;
  font-weight:600;
  border-radius:10px;
}

/* Live one-pager card */
.ca-lop-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:24px;
  max-width:400px;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.ca-lop-card__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.ca-lop-card__badges{
  display:flex;
  gap:8px;
}
.ca-lop-card__badge{
  font-size:11px;
  font-weight:600;
  padding:3px 10px;
  border-radius:20px;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.ca-lop-card__badge--status{
  background:#dcfce7;
  color:#16a34a;
}
.ca-lop-card__badge--cloud{
  background:#ede9fe;
  color:#7c3aed;
}
.ca-lop-card__title{
  font-size:16px;
  font-weight:700;
  color:#111827;
  margin:0 0 10px;
}
.ca-lop-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  font-size:13px;
  color:#6b7280;
  margin-bottom:16px;
}
.ca-lop-card__meta span{
  display:flex;
  align-items:center;
  gap:5px;
}
.ca-lop-card__actions{
  display:flex;
  gap:10px;
  padding-top:12px;
  border-top:1px solid #f3f4f6;
}

/* Gradient button (shared) */
.ca-btn-gradient{
  background:linear-gradient(135deg,#7c3aed,#2563eb);
  color:#fff;
  border:none;
  cursor:pointer;
  transition:opacity .15s;
}
.ca-btn-gradient:hover{
  opacity:.9;
}

/* Brand Asset Library – two separate rounded panels (header panel + asset grid panel) */
.ca-brand-assets{
  margin-top:20px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.ca-brand-assets__header-panel{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:24px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  overflow:hidden;
}
.ca-brand-assets__grid-panel{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:24px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  overflow:hidden;
}
.ca-brand-assets__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin:0;
}
.ca-brand-assets__info{
  flex:1;
}
.ca-brand-assets__title{
  font-size:20px;
  font-weight:700;
  color:#111827;
  margin:0 0 8px;
}
.ca-brand-assets__desc{
  font-size:14px;
  color:#6b7280;
  line-height:1.6;
  margin:0;
}
.ca-brand-assets__actions{
  display:flex;
  gap:12px;
  flex-shrink:0;
}
.ca-brand-assets__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:20px;
}
.ca-brand-asset-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
  transition:box-shadow .15s;
}
.ca-brand-asset-card:hover{
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.ca-brand-asset-card__image{
  width:100%;
  height:200px;
  background:#f9fafb;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  border-bottom:1px solid #e5e7eb;
}
.ca-brand-asset-card__image img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.ca-brand-asset-card__content{
  padding:16px;
}
.ca-brand-asset-card__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:12px;
}
.ca-brand-asset-card__title{
  font-size:15px;
  font-weight:600;
  color:#111827;
  margin:0;
}
.ca-brand-asset-card__menu{
  background:none;
  border:none;
  padding:4px;
  cursor:pointer;
  color:#9ca3af;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .15s;
}
.ca-brand-asset-card__menu:hover{
  color:#6b7280;
}
.ca-brand-asset-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:12px;
}
.ca-brand-asset-tag{
  display:inline-block;
  font-size:11px;
  font-weight:500;
  padding:3px 8px;
  border-radius:4px;
}
.ca-brand-asset-tag--blue{
  background:#dbeafe;
  color:#1e40af;
}
.ca-brand-asset-tag--green{
  background:#d1fae5;
  color:#065f46;
}
.ca-brand-asset-tag--orange{
  background:#fed7aa;
  color:#9a3412;
}
.ca-brand-asset-tag--purple{
  background:#e9d5ff;
  color:#6b21a8;
}
.ca-brand-asset-tag--teal{
  background:#ccfbf1;
  color:#134e4a;
}
.ca-brand-asset-tag--gray{
  background:#f3f4f6;
  color:#374151;
}
.ca-brand-asset-card__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
  color:#9ca3af;
}
.ca-brand-asset-card__date,
.ca-brand-asset-card__usage{
  margin:0;
}

/* Info banner */
.ca-lop-info-banner{
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  border-left:4px solid #22c55e;
  border-radius:8px;
  padding:16px 20px;
  margin-bottom:24px;
  font-size:13px;
  line-height:1.65;
  color:#374151;
}
.ca-lop-info-banner p{
  margin:0 0 6px;
}
.ca-lop-info-banner p:last-child{
  margin-bottom:0;
  color:#6b7280;
  font-size:12.5px;
}

/* Stat icon amber/red variants */
.ca-lop-stat__icon--amber{ background:#fffbeb; }
.ca-lop-stat__icon--red{ background:#fef2f2; }

/* Toolbar redesign for Revenue Pages tab */
.ca-lop-toolbar{
  display:flex;
  align-items:center;
  /* Wrap whenever the search + filters + buttons don't fit on a single row
     (e.g. iPad / narrow desktops) instead of overflowing the container. */
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:16px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:8px 12px;
  min-width:0;
  /* Final safety net: never let a flex child paint outside the toolbar card. */
  max-width:100%;
  box-sizing:border-box;
}
/* Search owns the first row at narrow widths and shares it on wider ones. */
.ca-lop-search{
  flex:1 1 240px;
  /* Allow the search container to actually shrink inside the flex toolbar.
     Without min-width:0 the default `min-width:auto` keeps it at the input's
     intrinsic width, which causes the toolbar to overflow on iPad. */
  min-width:0;
  /* Hard-cap so the search can never paint outside its flex slot, even if
     descendants try to. */
  max-width:100%;
  overflow:hidden;
}
.ca-lop-filter-select{
  padding:8px 30px 8px 12px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-size:13px;
  color:#374151;
  background:#fff;
  cursor:pointer;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:12px;
  white-space:nowrap;
  max-width:100%;
}
.ca-lop-filter-user{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.ca-lop-refresh-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  flex-shrink:0;
  border-radius:8px;
}
.ca-lop-refresh-btn.is-spinning svg{
  animation:ca-spin .6s linear;
}
@keyframes ca-spin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
.ca-spin{
  animation:ca-spin .6s linear;
}

/* Loading state for the Atlas Surfaces kit grid (shown while /revenue-kits
   is being fetched). Mirrors the empty state container so the layout
   doesn't shift between loading -> populated. The grid-column span makes
   the loader fill the full width of the 3-column kit grid instead of
   collapsing into a single cell. */
.ca-lop-loading{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:56px 24px 48px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
}
.ca-lop-loading__spinner{
  width:36px;
  height:36px;
  border-radius:50%;
  border:3px solid #e5e7eb;
  border-top-color:#7c3aed;
  animation:ca-spin .8s linear infinite;
  margin-bottom:14px;
}
.ca-lop-loading__text{
  font-size:14px;
  color:#6b7280;
  margin:0;
}
.ca-lop-new-kit-btn{
  /* Push the primary action to the far right of the toolbar so it stays
     visually anchored when the toolbar wraps onto a second row (e.g. iPad). */
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  flex-shrink:0;
}

/* iPad / narrow desktops: let the search own the first row and pack all the
   filter controls + primary action on a single tidy second row instead of
   leaving the "+ New Surface" button stranded by itself. */
@media (max-width:1100px){
  .ca-lop-toolbar .ca-lop-search{
    flex:1 1 100%;
    min-width:0;
  }
  /* Drop the `margin-left:auto` that pushes the primary CTA to the right —
     at narrow widths that auto margin consumes the leftover space and forces
     the button onto its own third row. Letting it sit with `margin-left:auto`
     STILL right-anchors it, but using a smaller priority so the row fits. */
  .ca-lop-toolbar .ca-lop-new-kit-btn{
    margin-left:auto;
    flex-shrink:0;
  }
  /* Allow the wider "All Users" creator select to shrink so the row fits. */
  .ca-lop-toolbar .ca-lop-filter-user{
    min-width:0;
    flex-shrink:1;
  }
  .ca-lop-toolbar .ca-lop-filter-user .ca-lop-filter-select{
    min-width:0;
    flex:1 1 auto;
    text-overflow:ellipsis;
    overflow:hidden;
  }
}

/* Kit count label */
.ca-lop-kit-count{
  font-size:13px;
  color:#6b7280;
  margin-bottom:14px;
}

/* Kit cards grid */
.ca-lop-kit-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

/* Individual kit card */
.ca-lop-kit-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:20px;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  transition:box-shadow .15s;
  position:relative;
}
.ca-lop-kit-card:hover{
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.ca-lop-kit-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.ca-lop-kit-card__badges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.ca-lop-kit-card__badge{
  font-size:10px;
  font-weight:700;
  padding:3px 8px;
  border-radius:4px;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.ca-lop-kit-card__badge--draft{
  background:#fef3c7;
  color:#d97706;
}
.ca-lop-kit-card__badge--published{
  background:#dcfce7;
  color:#16a34a;
}
.ca-lop-kit-card__badge--cloud{
  background:#dbeafe;
  color:#2563eb;
}
.ca-lop-kit-card__menu{
  background:none;
  border:none;
  cursor:pointer;
  padding:4px;
  color:#9ca3af;
  border-radius:4px;
  transition:background .15s;
}
.ca-lop-kit-card__menu:hover{
  background:#f3f4f6;
}
.ca-lop-kit-card__menu-wrap{
  position:relative;
}
.ca-lop-kit-dropdown{
  display:none;
  position:absolute;
  top:100%;
  right:0;
  margin-top:4px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  min-width:120px;
  z-index:50;
  padding:4px 0;
}
.ca-lop-kit-dropdown.is-open{
  display:block;
}
.ca-lop-kit-dropdown__item{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  padding:8px 14px;
  border:none;
  background:none;
  font-size:13px;
  color:#374151;
  cursor:pointer;
  white-space:nowrap;
}
.ca-lop-kit-dropdown__item:hover{
  background:#f3f4f6;
}
/* Kit view modal content */
.ca-kit-view__meta{
  font-size:15px;
  margin-bottom:12px;
}
.ca-kit-view__status{
  font-weight:600;
}
.ca-kit-view__user{
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid #e5e7eb;
  line-height:1.5;
}
.ca-kit-view__dl{
  display:grid;
  grid-template-columns:minmax(120px,28%) 1fr;
  gap:10px 20px;
  margin:0;
  font-size:14px;
}
.ca-kit-view__dl dt{
  margin:0;
  font-weight:600;
  color:#374151;
}
.ca-kit-view__dl dd{
  margin:0;
  color:#111827;
  word-break:break-word;
  overflow-wrap:anywhere;
  min-width:0;
}
.ca-kit-view__dl dd a{
  color:#4f46e5;
  word-break:break-all;
}
.ca-kit-view__heading{
  font-weight:700;
  font-size:14px;
  border-bottom:1px solid #e5e7eb;
  padding-bottom:4px;
  margin-top:8px;
  grid-column:1/-1;
}
@media(max-width:600px){
  .ca-kit-view__dl{
    grid-template-columns:1fr;
  }
  .ca-kit-view__dl dt{
    padding-bottom:0;
  }
}
.ca-lop-kit-card__title{
  font-size:15px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
  line-height:1.3;
}
.ca-lop-kit-card__deal{
  font-size:13px;
  color:#6b7280;
  margin:0 0 12px;
}
.ca-lop-kit-card__dates{
  font-size:12px;
  color:#9ca3af;
  margin-bottom:6px;
}
.ca-lop-kit-card__dates span{
  display:flex;
  align-items:center;
  gap:4px;
  margin-bottom:2px;
}
.ca-lop-kit-card__author{
  font-size:12px;
  color:#6b7280;
  display:flex;
  align-items:center;
  gap:4px;
}
.ca-lop-kit-card__requested-for{
  font-size:11px;
  color:#4f46e5;
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:2px;
}
.ca-lop-kit-card__requested-by{
  font-size:11px;
  color:#8b5cf6;
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:2px;
}

/* New-Kit Type Selection Modal */
.ca-modal__panel--compact{
  width:min(520px, 92vw);
  padding:24px 28px;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-modal__panel--compact *,
.ca-modal__panel--form *{
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-modal__panel--compact .ca-modal__top{
  padding:0;
  border-bottom:none;
  margin-bottom:12px;
  justify-content:space-between;
  align-items:flex-start;
}
.ca-modal__panel--compact .ca-modal__close,
.ca-modal__panel--form .ca-modal__close{
  position:static;
  width:32px;
  height:32px;
  border-radius:50%;
  border:0;
  background:#f3f4f6;
  color:#6b7280;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  flex-shrink:0;
  font-size:18px;
  line-height:1;
}
.ca-modal__panel--compact .ca-modal__close:hover,
.ca-modal__panel--form .ca-modal__close:hover{
  background:#e5e7eb;
  color:#111827;
}
.ca-modal__panel--compact .ca-modal__body{
  padding:0;
}
.ca-modal__panel--compact .ca-modal__step,
.ca-modal__panel--form .ca-modal__step{
  font-size:18px;
  font-weight:700;
  color:#111827;
}
.ca-modal__subtitle{
  font-size:13px;
  color:#6b7280;
  margin:4px 0 0;
  font-weight:400;
}
.ca-modal__subtitle--green{
  color:#16a34a;
}
.ca-kit-type-list{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
}
.ca-kit-type-option{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 16px;
  border:none;
  background:none;
  cursor:pointer;
  text-align:left;
  border-bottom:1px solid #f3f4f6;
  transition:background .12s;
  width:100%;
}
.ca-kit-type-option:last-child{
  border-bottom:none;
}
.ca-kit-type-option:hover{
  background:#f9fafb;
}
.ca-kit-type-option__icon{
  width:42px;
  height:42px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-kit-type-option__icon--orange{ background:#fff7ed; color:#f97316; }
.ca-kit-type-option__icon--blue{ background:#eff6ff; color:#3b82f6; }
.ca-kit-type-option__icon--green{ background:#f0fdf4; color:#22c55e; }
.ca-kit-type-option__text{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ca-kit-type-option__text strong{
  font-size:15px;
  font-weight:600;
  color:#111827;
}
.ca-kit-type-option__text span{
  font-size:13px;
  color:#6b7280;
  line-height:1.4;
}
.ca-kit-type-option__arrow{
  flex-shrink:0;
}

/* ── Surface Catalog Modal ── */
#caSurfaceCatalogModal .ca-modal__panel{
  padding:28px 36px;
}
#caSurfaceCatalogModal .ca-modal__panel > .ca-modal__top{
  position:static;
}
#caSurfaceCatalogModal .ca-modal__panel > .ca-modal__top > .ca-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:10;
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f3f4f6;
  border:0;
  color:#6b7280;
  font-size:20px;
  cursor:pointer;
  padding:0;
  line-height:1;
}
#caSurfaceCatalogModal .ca-modal__panel > .ca-modal__top > .ca-modal__close:hover{
  background:#e5e7eb;
  color:#111827;
}
.ca-surface-catalog__badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:linear-gradient(135deg,#ede9fe,#e0f2fe);
  color:#6d28d9;
  padding:5px 14px;
  border-radius:20px;
  font-size:13px;
  font-weight:600;
  margin-bottom:8px;
}
.ca-surface-catalog__badge svg{ width:14px; height:14px; }
.ca-surface-catalog__title{
  font-size:24px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-surface-catalog__subtitle{
  font-size:14px;
  color:#6b7280;
  margin:0;
}
.ca-surface-catalog__list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:20px;
}
.ca-surface-catalog__card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  transition:border-color .15s, box-shadow .15s;
}
.ca-surface-catalog__card:hover{
  border-color:#c7d2fe;
  box-shadow:0 2px 8px rgba(99,102,241,.08);
}
.ca-surface-catalog__card-left{
  display:flex;
  align-items:center;
  gap:14px;
  flex:1;
  min-width:0;
}
.ca-surface-catalog__card-icon{
  width:44px;
  height:44px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:#f5f3ff;
  color:#7c3aed;
}
.ca-surface-catalog__card-body{ flex:1; min-width:0; }
.ca-surface-catalog__card-header{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:2px;
}
.ca-surface-catalog__card-title{
  font-size:15px;
  font-weight:600;
  color:#111827;
}
.ca-surface-catalog__card-desc{
  font-size:13px;
  color:#6b7280;
  margin:0;
  line-height:1.4;
}
.ca-surface-catalog__tag{
  display:inline-block;
  font-size:11px;
  font-weight:600;
  padding:2px 8px;
  border-radius:10px;
}
.ca-surface-catalog__tag--green{ background:#dcfce7; color:#15803d; }
.ca-surface-catalog__tag--blue{ background:#dbeafe; color:#1d4ed8; }
.ca-surface-catalog__tag--purple{ background:#ede9fe; color:#6d28d9; }
.ca-surface-catalog__tag--orange{ background:#ffedd5; color:#c2410c; }
.ca-surface-catalog__meta{
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-size:11px;
  color:#9ca3af;
}
.ca-surface-catalog__card-cta{
  flex-shrink:0;
  background:linear-gradient(135deg,#6d28d9,#4f46e5);
  color:#fff;
  border:none;
  padding:9px 20px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  transition:opacity .15s;
}
.ca-surface-catalog__card-cta:hover{ opacity:.9; }
.ca-surface-catalog__footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding-top:16px;
  border-top:1px solid #f3f4f6;
}
.ca-surface-catalog__footer-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fafafa;
  cursor:pointer;
  text-align:left;
  transition:background .12s;
}
.ca-surface-catalog__footer-link:hover{ background:#f3f4f6; }
.ca-surface-catalog__footer-link strong{
  font-size:13px;
  color:#111827;
  display:block;
}
.ca-surface-catalog__footer-link span{
  font-size:12px;
  color:#6b7280;
  line-height:1.3;
}
.ca-surface-catalog__footer-link > svg:first-child{
  flex-shrink:0;
  color:#7c3aed;
}
.ca-surface-catalog__arrow{
  margin-left:auto;
  flex-shrink:0;
  color:#9ca3af;
}

/* ── Surface Request Wizard ── */
.ca-wizard-panel{
  padding:28px 0;
}
.ca-wizard-panel .ca-modal__top{
  margin-bottom:4px;
  padding:0 36px 0;
  border-bottom:none;
  position:static;
}
.ca-wizard-panel > .ca-modal__top > .ca-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:10;
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f3f4f6;
  border:0;
  color:#6b7280;
  font-size:20px;
  cursor:pointer;
  padding:0;
  line-height:1;
}
.ca-wizard-panel > .ca-modal__top > .ca-modal__close:hover{
  background:#e5e7eb;
  color:#111827;
}
.ca-wizard-panel .ca-wizard__progress{
  margin:0 36px 20px;
}
.ca-wizard-panel .ca-modal__body{
  padding:0 36px;
}
.ca-wizard__title{
  font-size:18px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-wizard__step-label{
  font-size:12px;
  color:#6b7280;
  margin:2px 0 0;
}
.ca-wizard__progress{
  height:5px;
  background:#e5e7eb;
  border-radius:3px;
  overflow:hidden;
  margin:0 0 16px;
  flex-shrink:0;
}
.ca-wizard__progress-bar{
  height:100%;
  background:linear-gradient(90deg,#7c3aed,#6366f1,#3b82f6);
  border-radius:3px;
  transition:width .35s ease;
}
.ca-wizard__step .ca-kit-form__row + .ca-kit-form__row{
  margin-top:14px;
}
.ca-wizard__section-title{
  font-size:16px;
  font-weight:700;
  color:#111827;
  margin:0 0 6px;
}
.ca-wizard__section-desc{
  font-size:13px;
  color:#6b7280;
  margin:0 0 20px;
}

/* Step 2 surface type cards */
.ca-wizard__surface-options{
  display:flex;
  flex-direction:column;
  gap:10px;
}
label.ca-wizard__surface-option,
.ca-wizard__surface-option{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:14px !important;
  padding:14px 18px;
  border:2px solid #e5e7eb;
  border-radius:12px;
  cursor:pointer;
  transition:border-color .15s, box-shadow .15s;
  position:relative;
  margin:0;
}
.ca-wizard__surface-option:hover{
  border-color:#c7d2fe;
}
.ca-wizard__surface-option.is-selected{
  border-color:#6d28d9;
  box-shadow:0 0 0 1px #6d28d9;
  background:#faf5ff;
}
.ca-wizard__surface-radio{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ca-wizard__surface-option-icon{
  width:40px;
  height:40px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:#f5f3ff;
  color:#7c3aed;
}
.ca-wizard__surface-option-text{
  flex:1;
  min-width:0;
  text-align:left;
}
.ca-wizard__surface-option-text strong{
  display:block;
  font-size:14px;
  font-weight:600;
  color:#111827;
}
.ca-wizard__surface-option-text span{
  font-size:12.5px;
  color:#6b7280;
  line-height:1.4;
}
.ca-wizard__surface-check{
  flex-shrink:0;
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  transition:opacity .15s;
  color:#6d28d9;
}
.ca-wizard__surface-option.is-selected .ca-wizard__surface-check{
  opacity:1;
}

/* Step 3 fields container */
#caWizardFormFields{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ca-kit-form__field .ca-kit-form__helper{
  font-size:11.5px;
  color:#9ca3af;
  margin-top:1px;
}
.ca-kit-form__optional{
  font-weight:400;
  color:#9ca3af;
  font-size:12px;
}
.ca-kit-form__radio-group,
.ca-kit-form__check-group{
  display:flex;
  flex-direction:column;
  gap:0;
}
.ca-kit-form__radio-card{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px;
  padding:12px 16px;
  border:1px solid #e5e7eb;
  border-radius:0;
  cursor:pointer;
  font-size:14px;
  font-weight:400;
  color:#1f2937;
  transition:border-color .15s, background .15s;
  background:#fff;
}
.ca-kit-form__radio-card:first-child{
  border-radius:8px 8px 0 0;
}
.ca-kit-form__radio-card + .ca-kit-form__radio-card{
  border-top:none;
}
.ca-kit-form__radio-card:last-child{
  border-radius:0 0 8px 8px;
}
.ca-kit-form__radio-card:only-child{
  border-radius:8px;
  border-top:1px solid #e5e7eb;
}
.ca-kit-form__radio-card input[type="radio"]{
  accent-color:#7c3aed;
}
.ca-kit-form__radio-card.is-checked,
.ca-kit-form__radio-card:has(input:checked){
  border-color:#7c3aed;
  border-top:1px solid #7c3aed;
  background:rgba(124,58,237,.03);
  position:relative;
  z-index:1;
}
.ca-kit-form__radio-dot{
  display:none;
}
.ca-kit-form__check-card{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px;
  padding:12px 16px;
  border:1px solid #e5e7eb;
  border-radius:0;
  cursor:pointer;
  font-size:14px;
  font-weight:400;
  color:#1f2937;
  transition:border-color .15s, background .15s;
  background:#fff;
}
.ca-kit-form__check-card:first-child{
  border-radius:8px 8px 0 0;
}
.ca-kit-form__check-card + .ca-kit-form__check-card{
  border-top:none;
}
.ca-kit-form__check-card:last-child{
  border-radius:0 0 8px 8px;
}
.ca-kit-form__check-card:only-child{
  border-radius:8px;
  border-top:1px solid #e5e7eb;
}
.ca-kit-form__check-card input[type="checkbox"]{
  accent-color:#7c3aed;
}
.ca-kit-form__check-card.is-checked,
.ca-kit-form__check-card:has(input:checked){
  border-color:#7c3aed;
  border-top:1px solid #7c3aed;
  background:rgba(124,58,237,.03);
  position:relative;
  z-index:1;
}

/* Wizard actions */
.ca-wizard__actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:18px;
  border-top:1px solid #e5e7eb;
  margin-top:20px;
}
.ca-wizard__back-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:none;
  border:none;
  color:#6b7280;
  font-size:13px;
  font-weight:500;
  cursor:pointer;
  padding:6px 4px;
  transition:color .12s;
}
.ca-wizard__back-link:hover{ color:#111827; }
.ca-wizard__continue-btn,
.ca-wizard__submit-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:linear-gradient(135deg,#6d28d9,#4f46e5);
  color:#fff;
  border:none;
  padding:10px 24px;
  border-radius:8px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:opacity .15s;
}
.ca-wizard__continue-btn:hover,
.ca-wizard__submit-btn:hover{ opacity:.9; }
.ca-wizard__continue-btn[hidden],
.ca-wizard__submit-btn[hidden]{ display:none; }
.ca-wizard__submit-btn{ background:linear-gradient(135deg,#7c3aed,#6d28d9); }

/* Step 4 review */
.ca-wizard-review{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ca-wizard-review__section{
  padding:16px 20px;
  background:#f9fafb;
  border-radius:10px;
}
.ca-wizard-review__section--highlight{
  background:#f5f3ff;
  border:1px solid #ddd6fe;
}
.ca-wizard-review__heading{
  font-size:14px;
  font-weight:700;
  color:#111827;
  margin:0 0 10px;
}
.ca-wizard-review__rows{
  display:flex;
  flex-direction:column;
  gap:0;
}
.ca-wizard-review__row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  padding:6px 0;
  border-bottom:1px solid #e5e7eb;
}
.ca-wizard-review__row:last-child{ border-bottom:none; }
.ca-wizard-review__label{
  font-size:13px;
  color:#6b7280;
  flex-shrink:0;
}
.ca-wizard-review__value{
  font-size:13px;
  font-weight:600;
  color:#111827;
  text-align:right;
  word-break:break-word;
}
.ca-wizard-review__surface-badge{
  display:flex;
  align-items:center;
  gap:12px;
}
.ca-wizard-review__surface-icon{
  width:40px;
  height:40px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:#ede9fe;
  color:#7c3aed;
}
.ca-wizard-review__surface-info{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ca-wizard-review__surface-info strong{
  font-size:15px;
  color:#111827;
}
.ca-wizard-review__surface-info span{
  font-size:12.5px;
  color:#6b7280;
}
.ca-wizard-review__detail{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 0;
  border-bottom:1px solid #e5e7eb;
}
.ca-wizard-review__detail:last-child{ border-bottom:none; }
.ca-wizard-review__detail .ca-wizard-review__label{
  font-size:12px;
  font-weight:500;
  color:#9ca3af;
}
.ca-wizard-review__detail .ca-wizard-review__value{
  text-align:left;
  font-weight:500;
}
.ca-wizard-review__info-box{
  display:flex;
  gap:12px;
  padding:14px 18px;
  background:#fefce8;
  border:1px solid #fde68a;
  border-radius:10px;
}
.ca-wizard-review__info-box svg{ flex-shrink:0; margin-top:2px; }
.ca-wizard-review__info-box strong{
  display:block;
  font-size:13px;
  color:#92400e;
  margin-bottom:4px;
}
.ca-wizard-review__info-box p{
  font-size:12.5px;
  color:#78350f;
  line-height:1.5;
  margin:0;
}

/* Responsive for wizard + catalog modals */
@media (max-width:768px){
  .ca-modal__panel--wide{
    width:100% !important;
    max-width:none;
    max-height:100vh;
    max-height:100dvh;
    border-radius:0;
  }
  .ca-modal__panel--wide .ca-modal__top{
    margin-bottom:10px;
    padding-bottom:10px;
  }

  /* ── Surface Catalog ── */
  #caSurfaceCatalogModal .ca-modal__panel{
    position:fixed;
    inset:0;
    width:100% !important;
    height:100% !important;
    max-width:none;
    max-height:none;
    border-radius:0;
    box-shadow:none;
    padding:0;
    display:flex;
    flex-direction:column;
  }
  #caSurfaceCatalogModal .ca-modal__top{
    flex-shrink:0;
    padding:14px 16px 0;
    padding-top:max(14px, env(safe-area-inset-top));
    margin-bottom:6px;
    padding-bottom:0;
    border-bottom:none;
    position:relative;
  }
  #caSurfaceCatalogModal .ca-modal__panel > .ca-modal__top > .ca-modal__close{
    top:12px;
    right:12px;
    width:30px;
    height:30px;
    font-size:16px;
  }
  #caSurfaceCatalogModal .ca-modal__body{
    flex:1;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    min-height:0;
    padding:0 16px;
    padding-bottom:max(16px, env(safe-area-inset-bottom));
    max-height:none !important;
  }
  .ca-surface-catalog__badge{
    font-size:12px;
    padding:4px 11px;
    margin-bottom:6px;
  }
  .ca-surface-catalog__title{
    font-size:21px;
    margin-bottom:2px;
  }
  .ca-surface-catalog__subtitle{
    font-size:13px;
  }
  .ca-surface-catalog__list{
    gap:10px;
    margin-bottom:14px;
  }
  .ca-surface-catalog__card{
    padding:14px;
    gap:12px;
  }
  .ca-surface-catalog__card-left{
    gap:12px;
    align-items:flex-start;
  }
  .ca-surface-catalog__card-icon{
    width:38px;
    height:38px;
    border-radius:8px;
  }
  .ca-surface-catalog__card-title{
    font-size:14px;
  }
  .ca-surface-catalog__card-desc{
    font-size:12px;
    line-height:1.35;
  }
  .ca-surface-catalog__card-header{
    gap:5px;
  }
  .ca-surface-catalog__card-cta{
    padding:7px 16px;
    font-size:12.5px;
    border-radius:8px;
  }
  .ca-surface-catalog__tag{
    font-size:10px;
    padding:2px 7px;
  }
  .ca-surface-catalog__meta{
    font-size:10.5px;
  }
  .ca-surface-catalog__footer{
    grid-template-columns:1fr;
    gap:8px;
  }
  .ca-surface-catalog__footer-link{
    padding:12px 14px;
  }

  /* ── Wizard: full-screen shell ── */
  .ca-wizard-panel{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    border-radius:0 !important;
    padding:0 !important;
    display:flex;
    flex-direction:column;
  }
  .ca-wizard-panel .ca-modal__top{
    padding:14px 16px 0;
    padding-top:max(14px, env(safe-area-inset-top));
    margin-bottom:4px;
    flex-shrink:0;
  }
  .ca-wizard-panel .ca-wizard__progress{
    margin:0 16px 0;
    flex-shrink:0;
  }
  .ca-wizard-panel > .ca-modal__top > .ca-modal__close{
    top:12px;
    right:12px;
    width:30px;
    height:30px;
  }

  /* Body becomes a flex column so we can split scroll area from actions */
  .ca-wizard-panel .ca-modal__body{
    flex:1;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:0;
    min-height:0;
    max-height:none !important;
  }

  /* Form fills the body, also a flex column */
  .ca-wizard-panel .ca-modal__form{
    flex:1;
    display:flex;
    flex-direction:column;
    min-height:0;
    overflow:hidden;
    gap:0;
  }

  /* Each step is the scrollable area */
  .ca-wizard-panel .ca-wizard__step{
    flex:1;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    min-height:0;
    padding:16px 16px 8px;
  }

  /* Status notice: compact, doesn't grow */
  .ca-wizard-panel .ca-modal__notice{
    flex-shrink:0;
    padding:0 16px;
    margin:0;
  }

  /* Actions pinned at bottom, never scrolls */
  .ca-wizard__actions{
    flex-shrink:0;
    border-top:1px solid #e5e7eb;
    padding:12px 16px;
    padding-bottom:max(12px, env(safe-area-inset-bottom));
    background:#fff;
    z-index:5;
    gap:8px;
    margin-top:0;
  }

  .ca-wizard__title{
    font-size:17px;
  }
  .ca-wizard__section-title{
    font-size:15px;
  }
  .ca-wizard__section-desc{
    font-size:12.5px;
    margin-bottom:16px;
  }
  .ca-kit-form__row{
    flex-direction:column;
  }
  .ca-wizard__surface-option{
    padding:12px 14px !important;
    gap:12px !important;
    border-radius:10px;
  }
  .ca-wizard__surface-option-icon{
    width:40px;
    height:40px;
  }
  .ca-wizard__surface-option-text strong{
    font-size:14px;
  }
  .ca-wizard__surface-option-text span{
    font-size:12px;
  }
  .ca-wizard__continue-btn,
  .ca-wizard__submit-btn{
    padding:10px 20px;
    font-size:13px;
    border-radius:8px;
  }
  .ca-wizard__back-link{
    font-size:12.5px;
  }
  .ca-wizard-review__section{
    padding:14px 16px;
  }
  .ca-wizard-review__heading{
    font-size:13px;
  }
  .ca-wizard-review__label{
    font-size:12px;
  }
  .ca-wizard-review__value{
    font-size:12.5px;
  }
  .ca-wizard-review__surface-icon{
    width:36px;
    height:36px;
  }
  .ca-wizard-review__surface-info strong{
    font-size:14px;
  }
  .ca-wizard-review__surface-info span{
    font-size:12px;
  }
  .ca-wizard-review__info-box{
    padding:12px 14px;
  }
  .ca-kit-form__field input,
  .ca-kit-form__field select,
  .ca-kit-form__field textarea{
    font-size:16px;
  }
}
@media (max-width:480px){
  #caSurfaceCatalogModal .ca-modal__top{
    padding:10px 14px 0;
  }
  #caSurfaceCatalogModal .ca-modal__body{
    padding:0 14px;
    padding-bottom:max(14px, env(safe-area-inset-bottom));
  }
  #caSurfaceCatalogModal .ca-modal__panel > .ca-modal__top > .ca-modal__close{
    top:10px;
    right:10px;
  }
  .ca-surface-catalog__title{
    font-size:19px;
  }
  .ca-surface-catalog__subtitle{
    font-size:12px;
  }
  .ca-surface-catalog__badge{
    font-size:11px;
    padding:3px 10px;
  }
  .ca-surface-catalog__list{
    gap:8px;
  }
  .ca-surface-catalog__card{
    padding:12px;
    gap:10px;
  }
  .ca-surface-catalog__card-icon{
    width:34px;
    height:34px;
  }
  .ca-surface-catalog__card-title{
    font-size:13.5px;
  }
  .ca-surface-catalog__card-desc{
    font-size:11.5px;
  }
  .ca-surface-catalog__card-cta{
    font-size:12px;
    padding:6px 14px;
  }
  .ca-wizard-panel .ca-modal__top{
    padding:12px 14px 0;
  }
  .ca-wizard-panel .ca-wizard__progress{
    margin:0 14px 0;
  }
  .ca-wizard-panel .ca-wizard__step{
    padding:14px 14px 6px;
  }
  .ca-wizard__actions{
    padding:10px 14px;
    padding-bottom:max(10px, env(safe-area-inset-bottom));
  }
  .ca-wizard__title{
    font-size:16px;
  }
  .ca-wizard__section-title{
    font-size:14px;
  }
  .ca-wizard__section-desc{
    font-size:12px;
    margin-bottom:14px;
  }
  .ca-wizard__surface-option{
    padding:10px 12px !important;
    gap:10px !important;
  }
  .ca-wizard__surface-option-icon{
    width:36px;
    height:36px;
  }
  .ca-wizard__surface-option-text strong{
    font-size:13px;
  }
  .ca-wizard__surface-option-text span{
    font-size:11.5px;
  }
  .ca-wizard__continue-btn,
  .ca-wizard__submit-btn{
    padding:9px 16px;
    font-size:12.5px;
  }
  .ca-wizard-review__section{
    padding:12px;
  }
  .ca-wizard-review__row{
    flex-direction:column;
    gap:2px;
  }
  .ca-wizard-review__value{
    text-align:left;
  }
  .ca-wizard-panel .ca-modal__notice{
    padding:0 14px;
  }
}
@media (max-width:375px){
  #caSurfaceCatalogModal .ca-modal__top{
    padding:8px 12px 0;
  }
  #caSurfaceCatalogModal .ca-modal__body{
    padding:0 12px;
    padding-bottom:max(12px, env(safe-area-inset-bottom));
  }
  .ca-surface-catalog__title{
    font-size:18px;
  }
  .ca-surface-catalog__card{
    padding:10px;
    gap:8px;
  }
  .ca-surface-catalog__card-icon{
    width:32px;
    height:32px;
  }
  .ca-wizard-panel .ca-modal__top{
    padding:10px 12px 0;
  }
  .ca-wizard-panel .ca-wizard__progress{
    margin:0 12px 0;
  }
  .ca-wizard-panel .ca-wizard__step{
    padding:12px 12px 4px;
  }
  .ca-wizard__actions{
    padding:10px 12px;
    padding-bottom:max(10px, env(safe-area-inset-bottom));
  }
  .ca-wizard__title{
    font-size:15px;
  }
  .ca-wizard__section-title{
    font-size:13px;
  }
  .ca-wizard__surface-option{
    padding:10px !important;
  }
  .ca-wizard-review__section{
    padding:10px;
  }
  .ca-wizard-panel .ca-modal__notice{
    padding:0 12px;
  }
}

/* New-Kit Form Modal */
.ca-modal__panel--form{
  width:60vw;
  max-height:96vh;
  padding:20px 28px;
  display:flex;
  flex-direction:column;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-modal__panel--form .ca-modal__top{
  flex-shrink:0;
  margin-bottom:10px;
  padding:0;
  border-bottom:none;
  justify-content:space-between;
  align-items:flex-start;
}
.ca-modal__panel--form .ca-modal__step{
  font-size:16px;
}
.ca-modal__panel--form .ca-modal__subtitle{
  margin:2px 0 0;
  font-size:12px;
}
.ca-modal__panel--form .ca-modal__body{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0;
}
.ca-modal__panel--form .ca-modal__actions{
  margin-top:8px;
  padding-top:10px;
  border-top:1px solid #e5e7eb;
}
.ca-kit-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
#caKitFormFields{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ca-kit-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.ca-kit-form__field{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding-bottom:12px;
}
.ca-kit-form__label{
  font-size:12.5px;
  font-weight:500;
  color:#374151;
}
.ca-req{
  color:#ef4444;
}
.ca-kit-form__field input[type="text"],
.ca-kit-form__field input[type="url"],
.ca-kit-form__field input[type="email"],
.ca-kit-form__field input[type="number"],
.ca-kit-form__field input[type="tel"],
.ca-kit-form__field input[type="date"],
.ca-kit-form__field textarea,
.ca-kit-form__field select{
  padding:7px 11px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:13px;
  color:#111827;
  background:#fff;
  outline:none;
  transition:border-color .15s;
  font-family:inherit;
}
.ca-kit-form__field textarea{
  min-height:48px;
  resize:vertical;
}
.ca-kit-form__field input:focus,
.ca-kit-form__field textarea:focus,
.ca-kit-form__field select:focus{
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.1);
}
.ca-kit-form__field input::placeholder,
.ca-kit-form__field textarea::placeholder{
  color:#9ca3af;
  font-size:12.5px;
}
.ca-kit-form__file-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:12.5px;
  color:#9ca3af;
  background:#fff;
  cursor:pointer;
  overflow:hidden;
}
.ca-kit-form__file-wrap input[type="file"]{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.ca-kit-form__file-wrap span:first-of-type{
  font-weight:500;
  color:#374151;
}
.ca-kit-form__file-wrap svg{
  margin-left:auto;
}
.ca-kit-form__file-label{
  flex:1;
}
.ca-kit-form__hint{
  font-size:12px;
  color:#9ca3af;
  margin-top:2px;
}

/* Reference Links repeater */
.ca-ref-links-section{
  margin-top:8px;
  padding-top:14px;
  border-top:1px solid #e5e7eb;
}
.ca-ref-links-section__header{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-bottom:10px;
}
.ca-ref-link-row{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:12px 14px 10px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  margin-bottom:8px;
  background:#fafafa;
}
.ca-ref-link-row .ca-kit-form__field{
  padding-bottom:8px;
}
.ca-ref-link-remove{
  position:absolute;
  top:8px;
  right:8px;
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  background:none;
  color:#9ca3af;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  border-radius:4px;
  transition:color .15s,background .15s;
}
.ca-ref-link-remove:hover{
  color:#ef4444;
  background:#fef2f2;
}
.ca-ref-link-add{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 12px;
  margin-bottom:10px;
  border:1px dashed #c7d2fe;
  border-radius:6px;
  background:#f5f3ff;
  color:#6366f1;
  font-size:12.5px;
  font-weight:500;
  cursor:pointer;
  transition:background .15s,border-color .15s;
}
.ca-ref-link-add:hover{
  background:#ede9fe;
  border-color:#a5b4fc;
}

/* Wizard upload progress bar */
.ca-wizard-upload-progress{
  margin:8px 0 4px;
}
.ca-wizard-upload-progress__label{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:#6b7280;
  margin-bottom:4px;
}
.ca-wizard-upload-progress__track{
  width:100%;
  height:6px;
  background:#e5e7eb;
  border-radius:3px;
  overflow:hidden;
}
.ca-wizard-upload-progress__bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#6366f1,#818cf8);
  border-radius:3px;
  transition:width .2s ease;
}

/* Brand asset three-dot dropdown */
.ca-brand-asset-card__menu-wrap{
  position:relative;
}
.ca-brand-asset-dropdown{
  display:none;
  position:absolute;
  top:100%;
  right:0;
  margin-top:4px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
  z-index:10;
  min-width:140px;
  overflow:hidden;
}
.ca-brand-asset-dropdown.is-open{
  display:block;
}
.ca-brand-asset-dropdown__item{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  padding:8px 14px;
  border:none;
  background:none;
  font-size:13px;
  color:#374151;
  cursor:pointer;
  text-align:left;
  white-space:nowrap;
  font-family:inherit;
  transition:background .12s;
}
.ca-brand-asset-dropdown__item:hover{
  background:#f9fafb;
}
.ca-brand-asset-dropdown__item--danger{
  color:#ef4444;
}
.ca-brand-asset-dropdown__item--danger:hover{
  background:#fef2f2;
}

/* Brand asset empty state */
.ca-brand-assets__empty{
  text-align:center;
  padding:40px 20px;
  color:#9ca3af;
  font-size:14px;
}

/* Live One-Pagers responsive */
@media (max-width:900px){
  .ca-lop-stats{
    grid-template-columns:1fr 1fr;
  }
  .ca-lop-header{
    flex-direction:column;
  }
  .ca-lop-toolbar{
    flex-wrap:wrap;
  }
  .ca-lop-kit-cards{
    grid-template-columns:1fr 1fr;
  }
  .ca-kit-form__row{
    grid-template-columns:1fr;
  }
  .ca-modal__panel--form{
    width:90vw;
    max-height:96vh;
    padding:18px 20px;
  }
  .ca-modal__panel--compact{
    width:90vw;
  }
  .ca-brand-assets__header{
    flex-direction:column;
  }
  .ca-brand-assets__actions{
    width:100%;
  }
  .ca-brand-assets__actions .ca-btn{
    flex:1;
  }
  .ca-brand-assets__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .ca-lop-body{
    padding:16px 12px 28px;
  }
  .ca-lop-header{
    margin-bottom:16px;
  }
  .ca-lop-header__title{
    font-size:19px;
  }
  .ca-lop-header__subtitle{
    font-size:13px;
  }
  .ca-lop-tabs{
    margin-bottom:16px;
  }
  .ca-lop-tabs__item{
    padding:8px 14px;
    font-size:12.5px;
    gap:5px;
  }
  .ca-lop-tabs__item svg{
    width:12px;
    height:12px;
  }
  .ca-lop-stats{
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:16px;
  }
  .ca-lop-stat{
    padding:14px 14px;
    border-radius:10px;
  }
  .ca-lop-stat__icon{
    width:28px;
    height:28px;
    border-radius:7px;
    margin-bottom:8px;
  }
  .ca-lop-stat__icon svg{
    width:15px;
    height:15px;
  }
  .ca-lop-stat__number{
    font-size:22px;
  }
  .ca-lop-stat__label{
    font-size:12px;
  }
  .ca-lop-stat__change{
    font-size:10.5px;
  }
  .ca-lop-info-banner{
    padding:12px 14px;
    margin-bottom:16px;
    font-size:12.5px;
    border-radius:8px;
  }
  .ca-lop-toolbar{
    padding:6px 8px;
    gap:8px;
    border-radius:8px;
    margin-bottom:12px;
  }
  .ca-lop-search__input{
    padding:7px 10px 7px 32px;
    font-size:12.5px;
  }
  .ca-lop-search__icon{
    left:10px;
  }
  .ca-lop-filter-select{
    padding:6px 26px 6px 10px;
    font-size:12px;
    border-radius:6px;
  }
  .ca-lop-refresh-btn{
    width:32px;
    height:32px;
    border-radius:6px;
  }
  .ca-lop-new-kit-btn{
    font-size:12.5px;
    padding:8px 12px;
    gap:5px;
  }
  .ca-lop-kit-cards{
    gap:12px;
  }
  .ca-lop-kit-card{
    padding:16px;
    border-radius:10px;
  }
  .ca-lop-kit-card__title{
    font-size:14px;
  }
  .ca-lop-kit-card__deal{
    font-size:12px;
  }
  .ca-lop-kit-card__dates{
    font-size:11px;
  }
  .ca-lop-kit-card__author{
    font-size:11px;
  }
  .ca-lop-kit-card__badge{
    font-size:10px;
    padding:2px 8px;
  }
  .ca-lop-empty{
    padding:32px 20px;
  }
  .ca-lop-empty__icon svg{
    width:36px;
    height:36px;
  }
  .ca-lop-empty__title{
    font-size:15px;
  }
  .ca-lop-empty__desc{
    font-size:12.5px;
  }
  .ca-lop-banner{
    padding:18px 16px;
    border-radius:12px;
    margin-bottom:16px;
  }
  .ca-lop-banner__heading{
    font-size:14px;
  }
  .ca-lop-banner__desc{
    font-size:12.5px;
  }
  .ca-lop-search-panel{
    padding:12px;
    border-radius:10px;
    margin-bottom:16px;
  }
  .ca-lop-filter-tabs{
    flex-wrap:wrap;
    gap:4px;
    padding-left:0;
    border-left:none;
    margin-top:8px;
    width:100%;
  }
  .ca-lop-filter-tabs__btn{
    font-size:11px;
    padding:5px 8px;
  }
  .ca-lop-creator-filter{
    font-size:12px;
  }
  .ca-brand-assets__title{
    font-size:17px;
  }
  .ca-brand-assets__desc{
    font-size:12.5px;
  }
  .ca-brand-assets__header-panel{
    padding:14px;
  }
  .ca-brand-assets__grid-panel{
    padding:14px;
  }
}
@media (max-width:540px){
  .ca-lop-stats{
    grid-template-columns:1fr 1fr;
  }
  .ca-lop-body{
    padding:14px 10px 24px;
  }
  .ca-lop-kit-cards{
    grid-template-columns:1fr;
  }
  .ca-modal__panel--form{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);
    padding:14px 14px;
  }
  .ca-lop-banner{
    flex-direction:column;
    padding:16px 14px;
  }
  .ca-lop-banner__content{
    flex-direction:column;
  }
  .ca-lop-header__title{
    font-size:17px;
  }
  .ca-lop-header__subtitle{
    font-size:12px;
  }
  .ca-lop-tabs__item{
    padding:7px 10px;
    font-size:12px;
  }
  .ca-lop-stat{
    padding:12px;
  }
  .ca-lop-stat__number{
    font-size:20px;
  }
  .ca-lop-stat__label{
    font-size:11.5px;
  }
  .ca-lop-info-banner{
    padding:10px 12px;
    font-size:12px;
  }
  .ca-lop-toolbar{
    padding:6px;
    gap:6px;
  }
  .ca-lop-filter-select{
    padding:5px 24px 5px 8px;
    font-size:11.5px;
  }
  .ca-lop-filter-user{
    width:100%;
  }
  .ca-lop-filter-user .ca-lop-filter-select{
    flex:1;
  }
  .ca-lop-new-kit-btn{
    width:100%;
    justify-content:center;
    font-size:12.5px;
  }
  .ca-lop-kit-card{
    padding:14px;
  }
  .ca-lop-kit-card__title{
    font-size:13.5px;
  }
  .ca-lop-kit-card__deal{
    font-size:11.5px;
  }
  .ca-lop-kit-card__dates{
    font-size:10.5px;
  }
  .ca-lop-kit-card__author{
    font-size:10.5px;
  }
}
@media (max-width:375px){
  .ca-lop-body{
    padding:10px 6px 20px;
  }
  .ca-lop-header__title{
    font-size:16px;
  }
  .ca-lop-header__subtitle{
    font-size:11.5px;
  }
  .ca-lop-tabs__item{
    padding:6px 8px;
    font-size:11.5px;
  }
  .ca-lop-stats{
    gap:8px;
  }
  .ca-lop-stat{
    padding:10px;
  }
  .ca-lop-stat__icon{
    width:26px;
    height:26px;
    margin-bottom:6px;
  }
  .ca-lop-stat__number{
    font-size:18px;
  }
  .ca-lop-stat__label{
    font-size:11px;
  }
  .ca-lop-stat__change{
    font-size:10px;
  }
  .ca-lop-info-banner{
    padding:8px 10px;
    font-size:11.5px;
  }
  .ca-lop-toolbar{
    padding:4px;
  }
  .ca-lop-search__input{
    font-size:12px;
    padding:6px 8px 6px 28px;
  }
  .ca-lop-kit-card{
    padding:12px;
  }
  .ca-lop-kit-card__title{
    font-size:13px;
  }
}

/* ===== Opportunities Page ===== */
.ca-opp-body{
  padding:28px 28px 40px;
}
.ca-opp-header{
  margin-bottom:20px;
}
.ca-opp-header__title{
  font-size:22px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-opp-header__subtitle{
  font-size:14px;
  color:#6b7280;
  margin:0;
}

/* Action buttons row */
.ca-opp-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:24px;
}

/* Tracker card */
.ca-opp-tracker{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px 28px 20px;
}
.ca-opp-tracker__head{
  margin-bottom:16px;
}
.ca-opp-tracker__title-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}
.ca-opp-tracker__icon{
  display:flex;
  align-items:center;
  justify-content:center;
}
.ca-opp-tracker__title{
  font-size:17px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-opp-tracker__subtitle{
  font-size:13px;
  color:#6b7280;
  margin:0;
}

/* Filter pills */
.ca-opp-filters{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.ca-opp-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#374151;
  cursor:pointer;
  transition:background .15s;
}
.ca-opp-pill:hover{
  background:#f9fafb;
}
.ca-opp-pill--active{
  background:#dbeafe;
  border-color:#93c5fd;
  color:#1d4ed8;
}
.ca-opp-pill--green{
  background:#dcfce7;
  border-color:#86efac;
  color:#15803d;
}
.ca-opp-pill--orange{
  background:#ffedd5;
  border-color:#fdba74;
  color:#c2410c;
}
.ca-opp-pill--blue{
  background:#dbeafe;
  border-color:#93c5fd;
  color:#1d4ed8;
}
.ca-opp-pill--red{
  background:#fee2e2;
  border-color:#fca5a5;
  color:#dc2626;
}
.ca-opp-stage-select{
  padding:5px 10px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-size:12px;
  color:#374151;
  background:#fff;
  cursor:pointer;
}

/* Count row */
.ca-opp-count-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:6px 0 12px;
  font-size:13px;
}
.ca-opp-count-row__text{
  color:#6b7280;
}
.ca-opp-count-row__link{
  color:#2563eb;
  font-weight:500;
  font-size:12px;
}

/* Deal cards */
.ca-opp-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ca-opp-deal{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:18px 20px;
  transition:box-shadow .15s;
}
.ca-opp-deal:hover{
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.ca-opp-deal--expanded{
  border-color:#d1d5db;
}
.ca-opp-deal__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.ca-opp-deal__title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.ca-opp-deal__title{
  font-size:15px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-opp-deal__eligible{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  background:#dcfce7;
  color:#15803d;
  white-space:nowrap;
}
.ca-opp-deal__more{
  background:none;
  border:none;
  font-size:20px;
  color:#9ca3af;
  cursor:pointer;
  padding:0 2px;
  line-height:1;
  flex-shrink:0;
}
.ca-opp-deal__more:hover{
  color:#374151;
}

/* Deal meta row */
.ca-opp-deal__meta{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  font-size:13px;
  color:#6b7280;
  margin-bottom:8px;
}
.ca-opp-deal__meta-item{
  display:inline-flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}

/* Stage badge */
.ca-opp-deal__stage{
  display:inline-flex;
  padding:3px 12px;
  border-radius:6px;
  font-size:11px;
  font-weight:600;
  margin-bottom:14px;
}
.ca-opp-deal__stage--proposal{
  background:#ffedd5;
  color:#c2410c;
}
.ca-opp-deal__stage--negotiation{
  background:#dbeafe;
  color:#1d4ed8;
}
.ca-opp-deal__stage--closed-won{
  background:#dcfce7;
  color:#15803d;
}

/* Detail grid */
.ca-opp-deal__detail{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  background:#f9fafb;
  border:1px solid #f3f4f6;
  border-radius:8px;
  padding:14px 16px;
  margin-bottom:12px;
}
.ca-opp-deal__detail-label{
  font-size:11px;
  color:#9ca3af;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:2px;
}
.ca-opp-deal__detail-value{
  font-size:13px;
  color:#111827;
}

/* Private offer */
.ca-opp-deal__private-offer{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  background:#f9fafb;
  border:1px solid #f3f4f6;
  border-radius:8px;
  font-size:13px;
}
.ca-opp-deal__po-title{
  font-weight:600;
  color:#374151;
}
.ca-opp-deal__po-status{
  color:#16a34a;
  font-weight:500;
}

/* More opportunities link */
.ca-opp-list__more-link{
  text-align:center;
  font-size:13px;
  color:#9ca3af;
  padding:8px 0;
}

/* Opportunities responsive */
@media (max-width:768px){
  .ca-opp-body{
    padding:20px 16px 32px;
  }
  .ca-opp-tracker{
    padding:18px 16px 16px;
  }
  .ca-opp-actions{
    flex-wrap:wrap;
  }
  .ca-opp-deal__detail{
    grid-template-columns:1fr;
  }
  .ca-opp-deal__meta{
    gap:10px;
  }
}

/* ===== Advisory Sessions Page ===== */
.ca-adv-body{
  padding:28px 28px 40px;
}
.ca-adv-header{
  margin-bottom:24px;
}
.ca-adv-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:24px;
}
.ca-adv-stat{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:6px;
  box-shadow:0 4px 12px rgba(15,23,42,.04);
}
.ca-adv-stat__icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ca-adv-stat__icon--purple{ background:#f5f3ff; }
.ca-adv-stat__icon--blue{ background:#eff6ff; }
.ca-adv-stat__icon--green{ background:#f0fdf4; }
.ca-adv-stat__number{
  font-size:28px;
  font-weight:800;
  color:#111827;
  line-height:1;
}
.ca-adv-stat__label{
  font-size:13px;
  font-weight:600;
  color:#6b7280;
}
.ca-adv-header__title{
  font-size:22px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-adv-header__subtitle{
  font-size:14px;
  color:#6b7280;
  margin:0;
}

/* Advisory services card */
.ca-adv-services{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px 28px;
  margin-bottom:20px;
}
.ca-adv-services__head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}
.ca-adv-services__icon{
  display:flex;
}
.ca-adv-services__title{
  font-size:17px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-adv-services__desc{
  font-size:13px;
  color:#6b7280;
  margin:0 0 20px;
}

/* Two service cards side-by-side */
.ca-adv-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.ca-adv-svc-card{
  border-radius:12px;
  padding:22px 20px;
  background:#fff;
  border:1px solid #e5e7eb;
  display:flex;
  flex-direction:column;
}
.ca-adv-svc-card__top{
  display:flex;
  gap:12px;
  margin-bottom:14px;
}
.ca-adv-svc-card__icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-adv-svc-card--blue .ca-adv-svc-card__icon{
  background:#dbeafe;
}
.ca-adv-svc-card--orange .ca-adv-svc-card__icon{
  background:#f3e8ff;
}
.ca-adv-svc-card__name{
  font-size:15px;
  font-weight:700;
  color:#111827;
}
.ca-adv-svc-card__tagline{
  font-size:12.5px;
  color:#6b7280;
  margin-top:2px;
  line-height:1.4;
}
.ca-adv-svc-card__pricing{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  color:#6b7280;
  margin-bottom:16px;
}
.ca-adv-svc-card__pricing span{
  padding:3px 10px;
  border:1px solid #e5e7eb;
  border-radius:6px;
  white-space:nowrap;
}
.ca-adv-svc-card--orange .ca-adv-svc-card__pricing span:first-child{
  color:#7c3aed;
  border-color:#ddd6fe;
  background:#faf5ff;
}
.ca-adv-svc-card--orange .ca-adv-svc-card__pricing span:not(:first-child){
  border:none;
  padding-left:0;
}
.ca-adv-svc-card__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  padding:10px 16px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:background .15s,opacity .15s;
  margin-top:auto;
}
.ca-adv-svc-card--blue .ca-adv-svc-card__cta{
  background:#2563eb;
  color:#fff;
  border:none;
}
.ca-adv-svc-card--blue .ca-adv-svc-card__cta:hover{
  background:#1d4ed8;
}
.ca-adv-svc-card__cta--outline{
  background:#fff;
  border:1px solid #d1d5db;
  color:#374151;
}
.ca-adv-svc-card__cta--outline:hover{
  background:#f9fafb;
}

/* How Advisory Credits Work */
.ca-adv-credits-info{
  background:#f8faff;
  border:1px solid #e0e7f1;
  border-radius:14px;
  padding:24px 28px;
  margin-bottom:28px;
}
.ca-adv-credits-info__head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:6px;
}
.ca-adv-credits-info__icon{
  display:flex;
  flex-shrink:0;
  margin-top:1px;
}
.ca-adv-credits-info__title{
  font-size:15px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-adv-credits-info__desc{
  font-size:13px;
  color:#6b7280;
  line-height:1.65;
  margin:0 0 18px;
  padding-left:30px;
}
.ca-adv-credits-info__tiers{
  display:flex;
  flex-direction:column;
  gap:0;
  padding-left:30px;
}
.ca-adv-credits-info__tier{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:13px;
  padding:8px 0;
  border-top:1px solid #e5e9f0;
}
.ca-adv-credits-info__tier:first-child{
  border-top:none;
}
.ca-adv-credits-info__amount{
  font-weight:600;
  color:#2563eb;
  white-space:nowrap;
  min-width:72px;
  font-size:13px;
}
.ca-adv-credits-info__label{
  color:#374151;
  font-size:13px;
}

/* Advisory Request Tracker card wrapper */
.ca-adv-tracker-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px 28px;
  margin-bottom:20px;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
}

/* Advisory Request Tracker */
.ca-adv-tracker__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.ca-adv-tracker__title{
  font-size:17px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-adv-tracker__summary{
  font-size:12px;
  color:#6b7280;
}

/* Tracker filter tabs */
.ca-adv-tracker__filters{
  display:flex;
  gap:4px;
  margin-bottom:16px;
}
.ca-adv-tracker__filter{
  padding:6px 14px;
  border-radius:6px;
  font-size:12px;
  font-weight:500;
  color:#6b7280;
  background:transparent;
  border:1px solid transparent;
  cursor:pointer;
  transition:color .15s, background .15s;
}
.ca-adv-tracker__filter:hover{
  color:#374151;
}
.ca-adv-tracker__filter.is-active{
  color:#111827;
  font-weight:600;
}

/* Request rows */
.ca-adv-requests{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ca-adv-req{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.ca-adv-req__icon{
  width:32px;
  height:32px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-adv-req__icon--call{ background:#f5f3ff; }
.ca-adv-req__icon--doc{  background:#eff6ff; }
.ca-adv-req__icon--generic{ background:#f3f4f6; }
.ca-adv-req__body{
  flex:1;
  min-width:0;
}
.ca-adv-req__title{
  font-size:14px;
  font-weight:600;
  color:#111827;
  margin-bottom:2px;
}
.ca-adv-req__meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#6b7280;
  flex-wrap:wrap;
}
.ca-adv-req__meta .ca-adv-req__meta-sep{
  color:#d1d5db;
  font-weight:400;
}
.ca-adv-req__credit,
.ca-adv-req__assignee{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.ca-adv-req__right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  flex-shrink:0;
}
.ca-adv-req__actions{
  display:flex;
  align-items:center;
  gap:2px;
}

/* Status badges with icons */
.ca-adv-req__status{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.ca-adv-req__status--completed{
  background:#dcfce7;
  color:#15803d;
}
.ca-adv-req__status--completed .ca-adv-req__status-icon{
  color:#16a34a;
}
.ca-adv-req__status--in-progress{
  background:#dbeafe;
  color:#1d4ed8;
}
.ca-adv-req__status--in-progress .ca-adv-req__status-icon{
  color:#2563eb;
}
.ca-adv-req__status--pending{
  background:#fef3c7;
  color:#b45309;
}
.ca-adv-req__status--pending .ca-adv-req__status-icon{
  color:#d97706;
}

/* Action icon buttons */
.ca-adv-req__action{
  background:none;
  border:none;
  padding:4px;
  cursor:pointer;
  color:#9ca3af;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:4px;
  transition:color .15s, background .15s;
}
.ca-adv-req__action:hover{
  color:#374151;
  background:#f3f4f6;
}

/* Request detail modal - View Advisory Request */
.ca-modal__panel--detail{
  width:min(520px, 94vw);
  padding:24px 0 0;
}
.ca-modal__panel--detail .ca-modal__top{
  padding:0 24px;
}
.ca-modal__top--view{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
.ca-modal__top-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.ca-modal__view-title{
  font-size:18px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-modal__view-tag{
  display:inline-block;
  padding:4px 12px;
  border-radius:6px;
  font-size:12px;
  font-weight:600;
  color:#fff;
  background:#7c3aed;
}
.ca-modal__top-right{
  display:flex;
  align-items:center;
  gap:8px;
}
.ca-modal__edit-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 14px;
  font-size:13px;
}
.ca-modal__close--view{
  padding:6px;
  background:transparent;
  border:none;
  color:#6b7280;
  cursor:pointer;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ca-modal__close--view:hover{
  color:#111827;
  background:#f3f4f6;
}
.ca-modal__sub{
  font-size:13px;
  color:#6b7280;
  margin-top:4px;
  margin-bottom:16px;
  padding:0 24px;
}
.ca-modal__body--detail{
  padding:0 24px 20px;
}
.ca-modal__footer--detail{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:16px 24px 24px;
  border-top:1px solid #e5e7eb;
}
.ca-adv-detail__row{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:16px;
}
.ca-adv-detail__row:last-child{
  margin-bottom:0;
}
.ca-adv-detail__row--status{
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}
.ca-adv-detail__row--status > div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ca-adv-detail__label{
  font-size:12px;
  font-weight:500;
  color:#6b7280;
}
.ca-adv-detail__value{
  font-size:14px;
  font-weight:600;
  color:#111827;
  white-space:pre-wrap;
  word-break:break-word;
}
.ca-adv-detail__status{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:6px;
  font-size:12px;
  font-weight:600;
  width:fit-content;
}
.ca-adv-detail__status--completed{
  background:#16a34a;
  color:#fff;
}
.ca-adv-detail__status--in-progress{
  background:#2563eb;
  color:#fff;
}
.ca-adv-detail__status--pending{
  background:#d97706;
  color:#fff;
}
.ca-adv-detail__credits{
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-size:14px;
  font-weight:600;
  color:#ea580c;
}
.ca-adv-detail__credits svg{
  color:#ea580c;
}
@media (max-width:480px){
  .ca-adv-detail__row--status{
    flex-direction:column;
  }
}

/* Advisory Sessions responsive */
@media (max-width:900px){
  .ca-adv-cards{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .ca-adv-body{
    padding:16px 12px 28px;
  }
  .ca-adv-header{
    margin-bottom:18px;
  }
  .ca-adv-stats{
    gap:12px;
    margin-bottom:18px;
  }
  .ca-adv-stat{
    padding:14px;
  }
  .ca-adv-stat__number{
    font-size:24px;
  }
  .ca-adv-header__title{
    font-size:19px;
  }
  .ca-adv-header__subtitle{
    font-size:13px;
  }
  .ca-adv-services{
    padding:16px 14px;
    border-radius:12px;
    margin-bottom:14px;
  }
  .ca-adv-services__title{
    font-size:15px;
  }
  .ca-adv-services__desc{
    font-size:12.5px;
    margin-bottom:14px;
  }
  .ca-adv-svc-card{
    padding:16px 14px;
    border-radius:10px;
  }
  .ca-adv-svc-card__top{
    gap:10px;
    margin-bottom:10px;
  }
  .ca-adv-svc-card__icon{
    width:36px;
    height:36px;
  }
  .ca-adv-svc-card__icon svg{
    width:17px;
    height:17px;
  }
  .ca-adv-svc-card__name{
    font-size:14px;
  }
  .ca-adv-svc-card__tagline{
    font-size:12px;
  }
  .ca-adv-svc-card__pricing{
    font-size:11px;
    gap:8px;
    margin-bottom:12px;
  }
  .ca-adv-svc-card__cta{
    font-size:13px;
    padding:10px 16px;
    width:100%;
    justify-content:center;
  }
  .ca-adv-credits-info{
    padding:16px 14px;
    border-radius:12px;
    margin-bottom:14px;
  }
  .ca-adv-credits-info__title{
    font-size:14px;
  }
  .ca-adv-credits-info__desc{
    font-size:12.5px;
    padding-left:0;
  }
  .ca-adv-credits-info__tiers{
    padding-left:0;
    flex-direction:column;
    gap:0;
  }
  .ca-adv-credits-info__tier{
    padding:10px 0;
    gap:10px;
    align-items:flex-start;
  }
  .ca-adv-credits-info__amount{
    font-size:12px;
    min-width:64px;
  }
  .ca-adv-credits-info__label{
    font-size:12.5px;
  }
  .ca-adv-tracker-card{
    padding:16px 14px;
    border-radius:12px;
    margin-bottom:14px;
  }
  .ca-adv-tracker__head{
    flex-direction:column;
    gap:4px;
    margin-bottom:10px;
  }
  .ca-adv-tracker__title{
    font-size:15px;
  }
  .ca-adv-tracker__filters{
    flex-wrap:wrap;
    gap:4px;
    margin-bottom:12px;
  }
  .ca-adv-tracker__filter{
    padding:5px 10px;
    font-size:11px;
  }
  .ca-adv-req{
    flex-wrap:wrap;
    padding:10px;
    gap:8px;
  }
  .ca-adv-req__icon{
    width:28px;
    height:28px;
  }
  .ca-adv-req__icon svg{
    width:14px;
    height:14px;
  }
  .ca-adv-req__title{
    font-size:13px;
  }
  .ca-adv-req__meta{
    font-size:11px;
    gap:6px;
  }
  .ca-adv-req__right{
    width:100%;
    flex-direction:row;
    justify-content:flex-end;
    align-items:center;
    padding-top:8px;
    border-top:1px solid #f3f4f6;
    margin-top:4px;
  }
  .ca-adv-req__status{
    font-size:10px;
    padding:2px 8px;
  }
  .ca-mp-buy-credits{
    flex-direction:column;
    padding:16px 14px;
    gap:14px;
    border-radius:12px;
    margin-bottom:14px;
  }
  .ca-mp-buy-credits__title{
    font-size:15px;
  }
  .ca-mp-buy-credits__desc{
    font-size:12.5px;
    margin-bottom:10px;
  }
  .ca-mp-buy-credits__select{
    min-width:0;
    width:100%;
  }
  .ca-mp-buy-credits__note{
    font-size:10.5px;
  }
  .ca-mp-buy-credits__right{
    padding-top:0;
  }
  .ca-mp-buy-credits__right .ca-btn{
    width:100%;
    text-align:center;
    justify-content:center;
  }
  .ca-modal__panel--strategy,
  .ca-modal__panel--custom{
    position:fixed;
    inset:0;
    width:100% !important;
    height:100% !important;
    max-width:none;
    max-height:none;
    padding:0;
    border-radius:0;
    display:flex;
    flex-direction:column;
    box-shadow:none;
  }
  .ca-modal__panel--strategy .ca-modal__top,
  .ca-modal__panel--custom .ca-modal__top{
    position:sticky;
    top:0;
    z-index:3;
    background:#fff;
    padding:14px 16px;
    padding-top:max(14px, env(safe-area-inset-top));
    margin-bottom:0;
    border-bottom:1px solid #e5e7eb;
    flex-shrink:0;
  }
  .ca-modal__panel--strategy .ca-modal__body,
  .ca-modal__panel--custom .ca-modal__body{
    flex:1;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:16px 16px 20px;
  }
  .ca-modal__panel--strategy .ca-modal__form,
  .ca-modal__panel--custom .ca-modal__form{
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding-bottom:0;
  }
  .ca-modal__panel--strategy .ca-modal__actions,
  .ca-modal__panel--custom .ca-modal__actions{
    position:sticky;
    bottom:-20px;
    z-index:3;
    background:#fff;
    border-top:1px solid #e5e7eb;
    padding:12px 0;
    padding-bottom:max(12px, env(safe-area-inset-bottom));
    margin:auto 0 0;
    flex-wrap:wrap;
    gap:8px;
  }
  .ca-modal__panel--strategy .ca-modal__actions .ca-btn-outline,
  .ca-modal__panel--custom .ca-modal__actions .ca-btn-outline{
    flex:1;
    min-width:0;
    justify-content:center;
    text-align:center;
  }
  .ca-modal__panel--strategy .ca-modal__actions .ca-btn-solid,
  .ca-modal__panel--custom .ca-modal__actions .ca-btn-solid,
  .ca-modal__panel--strategy .ca-modal__submit-btn{
    flex:2;
    min-width:0;
    justify-content:center;
    text-align:center;
    width:auto;
  }
  .ca-modal__head-with-icon{
    gap:10px;
    flex:1;
    min-width:0;
    padding-right:32px;
  }
  .ca-modal__head-icon{
    width:34px;
    height:34px;
    min-width:34px;
    flex-shrink:0;
    border-radius:8px;
  }
  .ca-modal__panel--strategy .ca-modal__step,
  .ca-modal__panel--custom .ca-modal__step{
    font-size:15px;
    line-height:1.3;
  }
  .ca-modal__panel--strategy .ca-modal__desc,
  .ca-modal__panel--custom .ca-modal__desc{
    font-size:12px;
    line-height:1.4;
    margin-top:4px;
  }
  .ca-modal__close--strategy{
    position:absolute;
    top:14px;
    right:14px;
    font-size:24px;
    padding:4px 8px;
    z-index:4;
    background:#fff;
    border-radius:8px;
  }
  .ca-modal__panel--custom .ca-modal__close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:4;
  }
  .ca-modal__duration-cards{
    grid-template-columns:1fr;
    gap:10px;
  }
  .ca-modal__duration-card-inner{
    padding:14px 16px;
  }
  .ca-modal__duration-title{
    font-size:13px;
  }
  .ca-modal__duration-desc{
    font-size:11.5px;
  }
  .ca-modal__credit-pill{
    font-size:11px;
    padding:2px 8px;
  }
  .ca-modal__form--strategy .ca-modal__form-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .ca-modal__form label{
    font-size:12.5px;
  }
  .ca-modal__form input,
  .ca-modal__form select,
  .ca-modal__form textarea{
    font-size:16px;
    padding:10px 12px;
    border-radius:8px;
  }
  .ca-modal__form textarea{
    min-height:80px;
  }
  .ca-modal__credit-cards{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .ca-modal__credit-card-inner{
    padding:10px 12px;
  }
  .ca-modal__credit-card-title{
    font-size:12px;
  }
  .ca-modal__credit-card-desc{
    font-size:11px;
  }
  .ca-modal__examples{
    font-size:11px;
  }
  .ca-modal__field-label{
    font-size:13px;
  }
  .ca-modal__field-hint{
    font-size:11px;
  }
  .ca-modal__file-input{
    font-size:12px;
    padding:8px 10px;
  }
  .ca-modal__file-input::file-selector-button{
    font-size:12px;
    padding:5px 10px;
    margin-right:8px;
  }
}
@media (max-width:480px){
  .ca-adv-body{
    padding:12px 8px 24px;
  }
  .ca-adv-header{
    margin-bottom:14px;
  }
  .ca-adv-stats{
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:14px;
  }
  .ca-adv-stat{
    padding:12px;
    border-radius:10px;
  }
  .ca-adv-stat__icon{
    width:30px;
    height:30px;
    border-radius:8px;
  }
  .ca-adv-stat__number{
    font-size:20px;
  }
  .ca-adv-stat__label{
    font-size:11px;
  }
  .ca-adv-header__title{
    font-size:17px;
  }
  .ca-adv-header__subtitle{
    font-size:12px;
  }
  .ca-adv-services{
    padding:14px 12px;
    border-radius:10px;
    margin-bottom:12px;
  }
  .ca-adv-services__head{
    gap:6px;
    margin-bottom:4px;
  }
  .ca-adv-services__title{
    font-size:14px;
  }
  .ca-adv-services__desc{
    font-size:12px;
    margin-bottom:12px;
  }
  .ca-adv-svc-card{
    padding:14px 12px;
  }
  .ca-adv-svc-card__top{
    gap:8px;
    margin-bottom:8px;
  }
  .ca-adv-svc-card__icon{
    width:32px;
    height:32px;
  }
  .ca-adv-svc-card__icon svg{
    width:15px;
    height:15px;
  }
  .ca-adv-svc-card__name{
    font-size:13px;
  }
  .ca-adv-svc-card__tagline{
    font-size:11.5px;
  }
  .ca-adv-svc-card__pricing{
    font-size:10.5px;
    margin-bottom:10px;
  }
  .ca-adv-svc-card__pricing span{
    padding:2px 8px;
    border-radius:5px;
  }
  .ca-adv-svc-card__cta{
    font-size:12.5px;
    padding:9px 14px;
    border-radius:8px;
  }
  .ca-adv-credits-info{
    padding:14px 12px;
    border-radius:10px;
    margin-bottom:12px;
  }
  .ca-adv-credits-info__head{
    gap:6px;
    margin-bottom:4px;
  }
  .ca-adv-credits-info__title{
    font-size:13px;
  }
  .ca-adv-credits-info__desc{
    font-size:12px;
    line-height:1.5;
  }
  .ca-adv-credits-info__tier{
    padding:8px 0;
  }
  .ca-adv-credits-info__amount{
    font-size:11.5px;
    min-width:58px;
  }
  .ca-adv-credits-info__label{
    font-size:12px;
  }
  .ca-adv-tracker-card{
    padding:14px 12px;
    border-radius:10px;
    margin-bottom:12px;
  }
  .ca-adv-tracker__title{
    font-size:14px;
  }
  .ca-adv-tracker__summary{
    font-size:11px;
  }
  .ca-adv-tracker__filter{
    padding:4px 8px;
    font-size:10.5px;
  }
  .ca-adv-req{
    padding:8px;
    gap:6px;
  }
  .ca-adv-req__icon{
    width:26px;
    height:26px;
    border-radius:5px;
  }
  .ca-adv-req__title{
    font-size:12.5px;
  }
  .ca-adv-req__meta{
    font-size:10.5px;
  }
  .ca-adv-req__right{
    padding-top:6px;
  }
  .ca-adv-req__status{
    font-size:10px;
  }
  .ca-mp-buy-credits{
    padding:14px 12px;
    gap:12px;
    border-radius:10px;
    margin-bottom:12px;
  }
  .ca-mp-buy-credits__title{
    font-size:14px;
  }
  .ca-mp-buy-credits__desc{
    font-size:12px;
    margin-bottom:8px;
  }
  .ca-mp-buy-credits__label{
    font-size:11px;
  }
  .ca-mp-buy-credits__select{
    font-size:12.5px;
    padding:7px 10px;
  }
  .ca-mp-buy-credits__note{
    font-size:10px;
  }
  .ca-modal__panel--strategy .ca-modal__top,
  .ca-modal__panel--custom .ca-modal__top{
    padding:12px 14px;
    padding-top:max(12px, env(safe-area-inset-top));
  }
  .ca-modal__panel--strategy .ca-modal__body,
  .ca-modal__panel--custom .ca-modal__body{
    padding:14px 14px 16px;
  }
  .ca-modal__panel--strategy .ca-modal__step,
  .ca-modal__panel--custom .ca-modal__step{
    font-size:14px;
  }
  .ca-modal__panel--strategy .ca-modal__desc,
  .ca-modal__panel--custom .ca-modal__desc{
    font-size:11px;
  }
  .ca-modal__head-icon{
    width:28px;
    height:28px;
    min-width:28px;
    border-radius:6px;
  }
  .ca-modal__head-icon svg{
    width:15px;
    height:15px;
  }
  .ca-modal__head-with-icon{
    gap:8px;
  }
  .ca-modal__close--strategy{
    top:10px;
    right:10px;
    font-size:22px;
    padding:2px 6px;
  }
  .ca-modal__panel--custom .ca-modal__close{
    top:10px;
    right:10px;
  }
  .ca-modal__duration-card-inner{
    padding:12px 14px;
  }
  .ca-modal__duration-title{
    font-size:12.5px;
  }
  .ca-modal__duration-desc{
    font-size:10.5px;
  }
  .ca-modal__credit-pill{
    font-size:10.5px;
    padding:2px 7px;
  }
  .ca-modal__form label{
    font-size:12px;
  }
  .ca-modal__credit-cards{
    grid-template-columns:1fr;
    gap:6px;
  }
  .ca-modal__credit-card-inner{
    padding:10px;
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    gap:6px 10px;
  }
  .ca-modal__credit-card-title{
    font-size:12px;
  }
  .ca-modal__credit-card-desc{
    font-size:10.5px;
    width:100%;
  }
  .ca-modal__panel--strategy .ca-modal__actions,
  .ca-modal__panel--custom .ca-modal__actions{
    bottom:-16px;
    padding:10px 0;
    padding-bottom:max(10px, env(safe-area-inset-bottom));
    flex-direction:column;
    gap:8px;
  }
  .ca-modal__panel--strategy .ca-modal__actions .ca-btn,
  .ca-modal__panel--custom .ca-modal__actions .ca-btn,
  .ca-modal__panel--strategy .ca-modal__submit-btn{
    width:100%;
    justify-content:center;
    text-align:center;
    font-size:13px;
    padding:10px 12px;
  }
  .ca-modal__examples{
    font-size:10.5px;
  }
  .ca-modal__field-label{
    font-size:12px;
  }
  .ca-modal__field-hint{
    font-size:10.5px;
  }
  .ca-modal__file-input{
    font-size:13px;
    padding:7px 8px;
  }
  .ca-modal__file-input::file-selector-button{
    font-size:12px;
    padding:4px 8px;
    margin-right:6px;
  }
  .ca-modal__panel--detail{
    position:fixed;
    inset:0;
    width:100% !important;
    height:100% !important;
    max-width:none;
    border-radius:0;
  }
  .ca-modal__view-title{
    font-size:15px;
  }
  .ca-modal__view-tag{
    font-size:11px;
    padding:3px 10px;
  }
  .ca-modal__sub{
    font-size:12px;
  }
}
@media (max-width:375px){
  .ca-adv-body{
    padding:10px 6px 20px;
  }
  .ca-adv-header__title{
    font-size:16px;
  }
  .ca-adv-header__subtitle{
    font-size:11.5px;
  }
  .ca-adv-services{
    padding:12px 10px;
  }
  .ca-adv-services__title{
    font-size:13px;
  }
  .ca-adv-services__desc{
    font-size:11.5px;
  }
  .ca-adv-svc-card{
    padding:12px 10px;
  }
  .ca-adv-svc-card__name{
    font-size:12.5px;
  }
  .ca-adv-svc-card__tagline{
    font-size:11px;
  }
  .ca-adv-svc-card__pricing{
    font-size:10px;
  }
  .ca-adv-svc-card__cta{
    font-size:12px;
    padding:8px 12px;
  }
  .ca-adv-credits-info{
    padding:12px 10px;
  }
  .ca-adv-credits-info__title{
    font-size:12.5px;
  }
  .ca-adv-credits-info__desc{
    font-size:11.5px;
  }
  .ca-adv-credits-info__amount{
    font-size:11px;
    min-width:52px;
  }
  .ca-adv-credits-info__label{
    font-size:11.5px;
  }
  .ca-adv-tracker-card{
    padding:12px 10px;
  }
  .ca-adv-tracker__title{
    font-size:13px;
  }
  .ca-adv-tracker__filter{
    padding:4px 6px;
    font-size:10px;
  }
  .ca-adv-req{
    padding:6px;
  }
  .ca-adv-req__icon{
    width:24px;
    height:24px;
  }
  .ca-adv-req__title{
    font-size:12px;
  }
  .ca-adv-req__meta{
    font-size:10px;
  }
  .ca-mp-buy-credits{
    padding:12px 10px;
  }
  .ca-mp-buy-credits__title{
    font-size:13px;
  }
  .ca-mp-buy-credits__desc{
    font-size:11.5px;
  }
  .ca-mp-buy-credits__select{
    font-size:12px;
    padding:6px 8px;
  }
  .ca-modal__panel--strategy .ca-modal__top,
  .ca-modal__panel--custom .ca-modal__top{
    padding:10px;
    padding-top:max(10px, env(safe-area-inset-top));
  }
  .ca-modal__panel--strategy .ca-modal__body,
  .ca-modal__panel--custom .ca-modal__body{
    padding:12px 10px 14px;
  }
  .ca-modal__panel--strategy .ca-modal__step,
  .ca-modal__panel--custom .ca-modal__step{
    font-size:13px;
  }
  .ca-modal__panel--strategy .ca-modal__desc,
  .ca-modal__panel--custom .ca-modal__desc{
    font-size:10.5px;
  }
  .ca-modal__head-icon{
    width:26px;
    height:26px;
    min-width:26px;
  }
  .ca-modal__head-icon svg{
    width:14px;
    height:14px;
  }
  .ca-modal__close--strategy{
    top:8px;
    right:8px;
    font-size:20px;
  }
  .ca-modal__panel--custom .ca-modal__close{
    top:8px;
    right:8px;
  }
  .ca-modal__duration-card-inner{
    padding:10px 12px;
  }
  .ca-modal__duration-title{
    font-size:12px;
  }
  .ca-modal__duration-desc{
    font-size:10px;
  }
  .ca-modal__credit-card-inner{
    padding:8px;
  }
  .ca-modal__panel--strategy .ca-modal__actions,
  .ca-modal__panel--custom .ca-modal__actions{
    bottom:-14px;
    padding:8px 0;
    padding-bottom:max(8px, env(safe-area-inset-bottom));
  }
  .ca-modal__panel--strategy .ca-modal__actions .ca-btn,
  .ca-modal__panel--custom .ca-modal__actions .ca-btn,
  .ca-modal__panel--strategy .ca-modal__submit-btn{
    font-size:12.5px;
    padding:9px 10px;
  }
}

/* ===== Agent Activation Page ===== */
.ca-aa-body{
  padding:28px 28px 40px;
}
.ca-aa-header{
  margin-bottom:20px;
}
.ca-aa-header__title{
  font-size:22px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-aa-header__subtitle{
  font-size:14px;
  color:#6b7280;
  margin:0;
}

/* Sub-heading with stats */
.ca-aa-subhead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.ca-aa-subhead__title{
  font-size:16px;
  font-weight:700;
  color:#111827;
  margin:0 0 2px;
}
.ca-aa-subhead__desc{
  font-size:13px;
  color:#6b7280;
  margin:0;
}
.ca-aa-subhead__stats{
  display:flex;
  gap:16px;
  flex-shrink:0;
}
.ca-aa-stat{
  font-size:12px;
  color:#6b7280;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.ca-aa-stat__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:50%;
  font-size:11px;
  font-weight:700;
}
.ca-aa-stat__num--muted{
  background:#f3f4f6;
  color:#6b7280;
}
.ca-aa-stat__num--blue{
  background:#dbeafe;
  color:#1d4ed8;
}

/* Section label */
.ca-aa-section-label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:600;
  color:#7c3aed;
  margin-bottom:14px;
}
.ca-aa-section-label--muted{
  color:#6b7280;
  margin-top:28px;
}

/* Agent cards – 2×2 grid */
.ca-aa-agents{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:8px;
}
.ca-aa-agent{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:22px 24px;
  display:flex;
  flex-direction:column;
}
.ca-aa-agent__head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.ca-aa-agent__avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-aa-agent__avatar--merlin{
  background:linear-gradient(135deg,#8b5cf6,#6d28d9);
}
.ca-aa-agent__avatar--captain{
  background:linear-gradient(135deg,#3b82f6,#2563eb);
}
.ca-aa-agent__avatar--coach{
  background:linear-gradient(135deg,#f59e0b,#d97706);
}
.ca-aa-agent__avatar--ranger{
  background:linear-gradient(135deg,#10b981,#059669);
}
.ca-aa-agent__name{
  font-size:16px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-aa-agent__desc{
  font-size:13px;
  color:#6b7280;
  line-height:1.6;
  margin:0 0 16px;
  flex:1;
}
.ca-aa-agent__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:10px 16px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  border:none;
  cursor:pointer;
  transition:opacity .15s;
  color:#fff;
}
.ca-aa-agent__cta:hover{
  opacity:.9;
}
.ca-aa-agent__cta--blue{
  background:linear-gradient(135deg,#3b82f6,#2563eb);
}
.ca-aa-agent__cta--orange{
  background:linear-gradient(135deg,#f97316,#ea580c);
}

/* Coming Soon – 3-column row */
.ca-aa-coming-soon{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:8px;
}
.ca-aa-soon-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:18px 20px;
  opacity:.75;
}
.ca-aa-soon-card__head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.ca-aa-soon-card__avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-aa-soon-card__name{
  font-size:14px;
  font-weight:700;
  color:#111827;
}
.ca-aa-soon-card__badge{
  display:inline-flex;
  padding:1px 8px;
  border-radius:4px;
  font-size:10px;
  font-weight:600;
  background:#f3f4f6;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.ca-aa-soon-card__desc{
  font-size:12px;
  color:#6b7280;
  line-height:1.55;
  margin:0;
}

/* How Agent Activation Works */
.ca-aa-how-it-works{
  background:#f5f3ff;
  border:1px solid #ede9fe;
  border-radius:14px;
  padding:22px 28px;
  margin-top:28px;
}
.ca-aa-how-it-works__head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
.ca-aa-how-it-works__title{
  font-size:15px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-aa-how-it-works__list{
  margin:0;
  padding-left:20px;
  font-size:13px;
  color:#374151;
  line-height:1.7;
}
.ca-aa-how-it-works__list li{
  margin-bottom:4px;
}
.ca-aa-how-it-works__list strong{
  color:#111827;
}

/* Agent Activation responsive */
@media (max-width:900px){
  .ca-aa-agents{
    grid-template-columns:1fr;
  }
  .ca-aa-coming-soon{
    grid-template-columns:1fr;
  }
  .ca-aa-subhead{
    flex-direction:column;
  }
}
@media (max-width:768px){
  .ca-aa-body{
    padding:20px 16px 32px;
  }
  .ca-aa-how-it-works{
    padding:18px 16px;
  }
}

/* ===== Product & GTM DNA Page ===== */
.ca-dna-body{
  padding:28px 28px 40px;
}

/* Header row */
.ca-dna-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px;
}
.ca-dna-header__left{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.ca-dna-header__icon{
  width:40px;
  height:40px;
  border-radius:10px;
  background:#f5f3ff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:2px;
}
.ca-dna-header__title{
  font-size:22px;
  font-weight:700;
  color:#111827;
  margin:0 0 6px;
}
.ca-dna-header__subtitle{
  font-size:13px;
  color:#6b7280;
  line-height:1.55;
  margin:0;
  max-width:640px;
}

/* Collapsible sections */
.ca-dna-section{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  margin-bottom:14px;
  overflow:hidden;
}
.ca-dna-section__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 24px;
  cursor:pointer;
}
.ca-dna-section__header-left{
  display:flex;
  align-items:center;
  gap:10px;
}
.ca-dna-section__icon{
  width:32px;
  height:32px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ca-dna-section__icon--green{ background:#f0fdf4; }
.ca-dna-section__icon--gray{  background:#f3f4f6; }
.ca-dna-section__icon--purple{ background:#f5f3ff; }
.ca-dna-section__icon--blue{  background:#eff6ff; }
.ca-dna-section__title{
  font-size:15px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-dna-section__desc{
  font-size:12px;
  color:#6b7280;
  margin:2px 0 0;
}
.ca-dna-section__header-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.ca-dna-section__toggle{
  background:none;
  border:none;
  padding:4px;
  cursor:pointer;
  color:#9ca3af;
  display:flex;
  align-items:center;
  transition:transform .2s;
}
.ca-dna-section--open .ca-dna-section__toggle{
  transform:rotate(180deg);
}

/* Badges */
.ca-dna-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.ca-dna-badge--green{
  background:#dcfce7;
  color:#15803d;
}
.ca-dna-badge--gray{
  background:#f3f4f6;
  color:#6b7280;
}
.ca-dna-badge--purple{
  background:#f5f3ff;
  color:#7c3aed;
}

/* Section body (fields) */
.ca-dna-section__body{
  padding:0 24px 24px;
  display:none;
}
.ca-dna-section--open .ca-dna-section__body{
  display:block;
}

/* Form fields */
.ca-dna-field{
  margin-bottom:18px;
}
.ca-dna-field:last-child{
  margin-bottom:0;
}
.ca-dna-field__label{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#111827;
  margin-bottom:6px;
}
.ca-dna-field__input,
.ca-dna-field__textarea{
  width:100%;
  padding:10px 14px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-size:13px;
  color:#111827;
  background:#fff;
  outline:none;
  transition:border-color .15s;
  font-family:inherit;
}
.ca-dna-field__input:focus,
.ca-dna-field__textarea:focus{
  border-color:#818cf8;
  box-shadow:0 0 0 3px rgba(129,140,248,.12);
}
.ca-dna-field__textarea{
  resize:vertical;
  min-height:64px;
}

/* Marketplace Listing Status */
.ca-dna-marketplace{
  background:#eff6ff;
  border:1px solid #dbeafe;
  border-radius:14px;
  padding:22px 24px;
  margin-top:14px;
}
.ca-dna-marketplace__head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.ca-dna-marketplace__title{
  font-size:15px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-dna-marketplace__desc{
  font-size:12px;
  color:#6b7280;
  margin:2px 0 0;
}
.ca-dna-marketplace__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:14px;
}
.ca-dna-marketplace__cell{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:14px 16px;
}
.ca-dna-marketplace__cloud{
  font-size:12px;
  color:#6b7280;
  margin-bottom:4px;
}
.ca-dna-marketplace__status{
  font-size:15px;
  font-weight:700;
  color:#111827;
}
.ca-dna-marketplace__note{
  font-size:12px;
  color:#6b7280;
  line-height:1.55;
  margin:0;
}

/* Product & GTM DNA responsive */
@media (max-width:900px){
  .ca-dna-marketplace__grid{
    grid-template-columns:1fr;
  }
  .ca-dna-header{
    flex-direction:column;
  }
}
@media (max-width:768px){
  .ca-dna-body{
    padding:20px 16px 32px;
  }
  .ca-dna-section__header{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .ca-dna-section__header-right{
    align-self:flex-end;
  }
}

/* DNA page — additional styles */
.ca-dna-field__select{
  width:100%;
  padding:10px 14px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-size:13px;
  color:#111827;
  background:#fff;
  outline:none;
  font-family:inherit;
  transition:border-color .15s;
}
.ca-dna-field__select:focus{
  border-color:#818cf8;
  box-shadow:0 0 0 3px rgba(129,140,248,.12);
}
.ca-dna-field__checks{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
}
.ca-dna-field__check{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:#374151;
  cursor:pointer;
}
.ca-dna-field__check input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:#7c3aed;
  cursor:pointer;
}
.ca-dna-field__input--mb{
  margin-bottom:6px;
}
.ca-dna-dynamic{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ca-dna-dynamic__row{
  display:flex;
  align-items:center;
  gap:8px;
}
.ca-dna-dynamic__row .ca-dna-field__input{
  flex:1;
}
.ca-dna-dynamic__remove{
  width:28px;
  height:28px;
  border:none;
  background:#f3f4f6;
  border-radius:6px;
  font-size:16px;
  color:#9ca3af;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:background .15s,color .15s;
}
.ca-dna-dynamic__remove:hover{
  background:#fef2f2;
  color:#dc2626;
}
.ca-dna-dynamic__add{
  background:none;
  border:none;
  color:#7c3aed;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  padding:4px 0;
  margin-top:4px;
  text-align:left;
  font-family:inherit;
}
.ca-dna-dynamic__add:hover{
  text-decoration:underline;
}
.ca-dna-notice{
  padding:12px 16px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  margin-bottom:16px;
  background:#f3f4f6;
  color:#374151;
}
.ca-dna-notice--success{
  background:#dcfce7;
  color:#15803d;
}
.ca-dna-notice--error{
  background:#fef2f2;
  color:#dc2626;
}
.ca-dna-uploads{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ca-dna-upload-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
}
.ca-dna-upload-item a{
  color:#2563eb;
  text-decoration:none;
}
.ca-dna-upload-item a:hover{
  text-decoration:underline;
}
.ca-dna-uploads__empty{
  font-size:13px;
  color:#9ca3af;
  margin:0;
}
.ca-dna-upload-action{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #f3f4f6;
}
.ca-dna-upload-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 16px;
  border:1px dashed #d1d5db;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  color:#7c3aed;
  cursor:pointer;
  background:#faf5ff;
  transition:background .15s,border-color .15s;
}
.ca-dna-upload-btn:hover{
  background:#f3e8ff;
  border-color:#a78bfa;
}
.ca-dna-upload-status{
  font-size:12px;
  color:#6b7280;
}
.ca-dna-upload-status--ok{
  color:#15803d;
}
.ca-dna-upload-status--err{
  color:#dc2626;
}
.ca-dna-empty{
  text-align:center;
  padding:64px 24px;
  color:#9ca3af;
}
.ca-dna-empty svg{
  margin-bottom:16px;
}
.ca-dna-empty p{
  font-size:15px;
  margin-bottom:20px;
}
#caDnaSaveBtn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  flex-shrink:0;
}

/* ===== Manage Plan Page ===== */
.ca-mp-body{
  padding:28px 28px 40px;
}

/* Buy Advisory Credits */
.ca-mp-buy-credits{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:22px 28px;
  margin-bottom:28px;
}
.ca-mp-buy-credits__title{
  font-size:17px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-mp-buy-credits__desc{
  font-size:13px;
  color:#6b7280;
  margin:0 0 12px;
}
.ca-mp-buy-credits__label{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#374151;
  margin-bottom:4px;
}
.ca-mp-buy-credits__select{
  padding:8px 12px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-size:13px;
  color:#111827;
  background:#fff;
  min-width:320px;
  cursor:pointer;
}
.ca-mp-buy-credits__note{
  font-size:11px;
  color:#9ca3af;
  margin:8px 0 0;
  line-height:1.5;
}
.ca-mp-buy-credits__right{
  flex-shrink:0;
  padding-top:4px;
}

/* ===== Pricing Section (prod design) ===== */
.ca-pricing-prod{
  width:100%;
  background:#f9fafb;
  padding:40px 0 48px;
  margin:0 -28px 32px;
  padding-left:28px;
  padding-right:28px;
}
.ca-pricing-prod__container{
  max-width:1280px;
  margin:0 auto;
}
.ca-pricing-prod__header{
  text-align:center;
  margin-bottom:48px;
}
.ca-pricing-prod__title{
  font-size:28px;
  font-weight:600;
  color:#111827;
  margin:0 0 12px;
}
.ca-pricing-prod__tagline{
  font-size:14px;
  color:#6b7280;
  margin:0 0 32px;
  opacity:.9;
}
.ca-pricing-prod__toggle-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.ca-pricing-prod__toggle-label{
  font-size:14px;
  font-weight:500;
  color:#9ca3af;
  transition:color .2s;
}
.ca-pricing-prod__toggle-label.is-active{
  color:#111827;
}
.ca-pricing-prod__toggle{
  position:relative;
  width:56px;
  height:28px;
  border-radius:999px;
  background:linear-gradient(90deg,#2563eb,#7c3aed);
  border:none;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  transition:all .3s;
}
.ca-pricing-prod__toggle-knob{
  position:absolute;
  top:2px;
  left:2px;
  width:24px;
  height:24px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 1px 3px rgba(0,0,0,.2);
  transition:transform .3s;
}
.ca-pricing-prod__toggle.is-annual .ca-pricing-prod__toggle-knob{
  transform:translateX(28px);
}
.ca-pricing-prod__save-badge{
  font-size:12px;
  font-weight:600;
  color:#16a34a;
  background:#dcfce7;
  padding:4px 8px;
  border-radius:999px;
}
.ca-pricing-prod__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:1280px;
  margin:0 auto;
  padding-top:24px;
}
.ca-pricing-prod__card{
  background:#fff;
  border-radius:16px;
  border:1px solid #e5e7eb;
  padding:24px 32px;
  display:flex;
  flex-direction:column;
  position:relative;
  min-width:0;
}
.ca-pricing-prod__card--featured{
  border:2px solid #93c5fd;
  box-shadow:0 4px 12px rgba(37,99,235,.08);
}
.ca-pricing-prod__badge{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  background:#2563eb;
  color:#fff;
  font-size:12px;
  font-weight:500;
  padding:4px 12px;
  border-radius:999px;
  white-space:nowrap;
}
.ca-pricing-prod__card-body{
  flex:0 0 auto;
}
.ca-pricing-prod__card-title{
  font-size:22px;
  font-weight:600;
  color:#111827;
  margin:0 0 8px;
}
.ca-pricing-prod__card-audience{
  font-size:14px;
  color:#6b7280;
  margin:0 0 12px;
  min-height:48px;
  line-height:1.5;
}
.ca-pricing-prod__price-wrap{
  margin-bottom:8px;
  display:flex;
  align-items:baseline;
  gap:8px;
  min-height:44px;
}
.ca-pricing-prod__price{
  font-size:36px;
  font-weight:600;
  color:#111827;
}
.ca-pricing-prod__period{
  font-size:14px;
  color:#6b7280;
  opacity:.9;
}
.ca-pricing-prod__save{
  font-size:12px;
  color:#6b7280;
  font-weight:500;
  margin-bottom:8px;
  min-height:20px;
}
.ca-pricing-prod__save--green{
  color:#16a34a;
  font-weight:600;
}
.ca-pricing-prod__trial{
  font-size:14px;
  color:#16a34a;
  font-weight:500;
  margin:0 0 8px;
}
.ca-pricing-prod__includes{
  font-size:14px;
  color:#6b7280;
  margin:0 0 4px;
  opacity:.9;
}
.ca-pricing-prod__card-desc{
  font-size:14px;
  color:#6b7280;
  margin:0 0 24px;
  line-height:1.5;
  min-height:42px;
  opacity:.85;
}
.ca-pricing-prod__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:100%;
  min-width:0;
  height:44px;
  padding:0 24px;
  border-radius:12px;
  background:linear-gradient(90deg,#2563eb,#7c3aed);
  box-sizing:border-box;
  color:#fff;
  font-weight:500;
  font-size:14px;
  text-decoration:none;
  transition:opacity .2s;
  margin-bottom:24px;
  box-shadow:0 4px 12px rgba(124,58,237,.2);
}
.ca-pricing-prod__cta:hover{
  opacity:.9;
  color:#fff;
}
.ca-pricing-prod__advisory-note{
  font-size:12px;
  color:#9ca3af;
  margin-top:4px;
}
.ca-pricing-prod__usage-link{
  display:inline-block;
  font-size:13px;
  color:#2563eb;
  text-decoration:underline;
  margin-top:4px;
}
.ca-pricing-prod__usage-link:hover{
  color:#1d4ed8;
}
.ca-pricing-prod__details{
  flex:1 1 auto;
  margin-top:0;
}
.ca-pricing-prod__detail-block{
  margin-bottom:24px;
}
.ca-pricing-prod__detail-block:last-of-type{
  margin-bottom:16px;
}
.ca-pricing-prod__detail-title{
  font-size:14px;
  font-weight:600;
  color:#6b7280;
  margin:0 0 8px;
  opacity:.9;
}
.ca-pricing-prod__detail-list{
  list-style:none;
  padding:0;
  margin:0;
  font-size:14px;
  color:#374151;
  line-height:1.6;
  opacity:.9;
}
.ca-pricing-prod__detail-list li{
  margin-bottom:6px;
  padding-left:0;
}
.ca-pricing-prod__detail-list li::before{
  content:'• ';
  color:#6b7280;
}
.ca-pricing-prod__details-btn{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:#6b7280;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px 0;
  transition:color .2s;
}
.ca-pricing-prod__details-btn:hover{
  color:#111827;
}
.ca-pricing-prod__details-btn svg{
  transition:transform .2s;
}
.ca-pricing-prod__extra-divider{
  border:none;
  border-top:1px solid #e5e7eb;
  margin:16px 0;
}
.ca-pricing-prod__extra .ca-pricing-prod__detail-block:last-child{
  margin-bottom:0;
}

/* ── Flex Execution Credits Guide ── */
.ca-credits-guide{
  margin-top:48px;
  padding:0 16px;
}
.ca-credits-guide__container{
  max-width:1024px;
  margin:0 auto;
}
.ca-credits-guide__header{
  text-align:center;
  margin-bottom:40px;
}
.ca-credits-guide__title{
  font-size:28px;
  font-weight:600;
  color:#111827;
  margin:0 0 12px;
}
.ca-credits-guide__tagline{
  font-size:14px;
  color:#6b7280;
  line-height:1.6;
  max-width:640px;
  margin:0 auto;
  opacity:.9;
}
.ca-credits-guide__costs{
  background:#fff;
  border-radius:16px;
  border:1px solid #e5e7eb;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  padding:24px;
  margin-bottom:32px;
}
.ca-credits-guide__costs-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  text-align:center;
}
@media (min-width:768px){
  .ca-credits-guide__costs-grid{
    grid-template-columns:repeat(4,1fr);
  }
}
.ca-credits-guide__cost-box{
  padding:12px;
  border-radius:12px;
}
.ca-credits-guide__cost-box--blue{
  background:#eff6ff;
}
.ca-credits-guide__cost-box--purple{
  background:#f5f3ff;
}
.ca-credits-guide__cost-value{
  font-size:28px;
  font-weight:700;
  margin-bottom:4px;
}
.ca-credits-guide__cost-box--blue .ca-credits-guide__cost-value{
  color:#2563eb;
}
.ca-credits-guide__cost-box--purple .ca-credits-guide__cost-value{
  color:#7c3aed;
}
.ca-credits-guide__cost-label{
  font-size:12px;
  color:#6b7280;
}
.ca-credits-guide__how{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #e5e7eb;
  text-align:center;
}
.ca-credits-guide__how p{
  font-size:12px;
  color:#6b7280;
  margin:0;
  opacity:.8;
}
.ca-credits-guide__tabs{
  display:flex;
  gap:8px;
  margin-bottom:24px;
}
.ca-credits-guide__tab{
  flex:1;
  padding:12px 24px;
  border-radius:12px;
  font-size:14px;
  font-weight:500;
  background:#fff;
  border:1px solid #e5e7eb;
  color:#6b7280;
  cursor:pointer;
  transition:all .2s;
}
.ca-credits-guide__tab:hover{
  border-color:#d1d5db;
}
.ca-credits-guide__tab--active{
  border:2px solid #2563eb;
  color:#2563eb;
  background:#fff;
}
.ca-credits-guide__tab[data-ca-credits-tab="execution"].ca-credits-guide__tab--active{
  border-color:#7c3aed;
  color:#7c3aed;
}
.ca-credits-guide__items{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ca-credits-guide__items[hidden]{
  display:none !important;
}
.ca-credits-guide__item{
  background:#fff;
  border-radius:12px;
  border:1px solid #e5e7eb;
  overflow:hidden;
}
.ca-credits-guide__item-trigger{
  width:100%;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  transition:background .2s;
}
.ca-credits-guide__item-trigger:hover{
  background:#f9fafb;
}
.ca-credits-guide__item-left{
  display:flex;
  align-items:center;
  gap:16px;
  flex:1;
}
.ca-credits-guide__item-credits{
  display:flex;
  align-items:baseline;
  gap:4px;
  min-width:60px;
}
.ca-credits-guide__item-num{
  font-size:28px;
  font-weight:700;
  color:#2563eb;
}
.ca-credits-guide__item-num--purple{
  color:#7c3aed;
}
.ca-credits-guide__item-unit{
  font-size:12px;
  color:#6b7280;
  opacity:.7;
}
.ca-credits-guide__item-title{
  font-size:16px;
  font-weight:600;
  color:#111827;
  margin:0 0 4px;
}
.ca-credits-guide__item-desc{
  font-size:14px;
  color:#6b7280;
  margin:0;
  opacity:.85;
}
.ca-credits-guide__item-chevron{
  width:20px;
  height:20px;
  color:#6b7280;
  flex-shrink:0;
  transition:transform .2s;
}
.ca-credits-guide__item--open .ca-credits-guide__item-chevron{
  transform:rotate(180deg);
}
.ca-credits-guide__item-body{
  display:none;
  padding:16px 20px 20px;
  margin:12px 20px 20px;
  background:#f8fafc;
  border-radius:12px;
}
.ca-credits-guide__item--open .ca-credits-guide__item-body{
  display:block;
}
.ca-credits-guide__item-body-title{
  font-size:14px;
  font-weight:600;
  color:#111827;
  margin:0 0 8px;
}
.ca-credits-guide__item-body-intro{
  font-size:14px;
  color:#374151;
  line-height:1.6;
  margin:0 0 12px;
}
.ca-credits-guide__item--execution .ca-credits-guide__item-body-intro{
  font-weight:600;
}
.ca-credits-guide__item-body-list{
  list-style:disc;
  padding-left:20px;
  margin:0 0 12px;
  font-size:14px;
  color:#374151;
  line-height:1.6;
}
.ca-credits-guide__item-body-list li{
  margin-bottom:6px;
}
.ca-credits-guide__item-body-note{
  font-size:13px;
  color:#6b7280;
  font-style:italic;
  margin:0;
  opacity:.9;
}
.ca-credits-guide__scenarios{
  margin-top:40px;
}
.ca-credits-guide__scenarios-title{
  font-size:18px;
  font-weight:600;
  color:#111827;
  margin:0 0 16px;
  text-align:center;
}
.ca-credits-guide__scenario{
  background:#fff;
  border-radius:12px;
  border:1px solid #e5e7eb;
  overflow:hidden;
  margin-bottom:8px;
}
.ca-credits-guide__scenario-trigger{
  width:100%;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  transition:background .2s;
}
.ca-credits-guide__scenario-trigger:hover{
  background:#f9fafb;
}
.ca-credits-guide__scenario-left{
  display:flex;
  align-items:center;
  gap:12px;
}
.ca-credits-guide__scenario-dot{
  width:8px;
  height:8px;
  border-radius:50%;
}
.ca-credits-guide__scenario-dot--blue{
  background:#3b82f6;
}
.ca-credits-guide__scenario-dot--green{
  background:#22c55e;
}
.ca-credits-guide__scenario-dot--purple{
  background:#a855f7;
}
.ca-credits-guide__scenario-label{
  font-size:14px;
  font-weight:500;
  color:#111827;
}
.ca-credits-guide__scenario-chevron{
  width:16px;
  height:16px;
  color:#6b7280;
  flex-shrink:0;
  transition:transform .2s;
}
.ca-credits-guide__scenario--open .ca-credits-guide__scenario-chevron{
  transform:rotate(180deg);
}
.ca-credits-guide__scenario-body{
  display:none;
  padding:0 16px 16px;
  border-top:1px solid #f3f4f6;
}
.ca-credits-guide__scenario--open .ca-credits-guide__scenario-body{
  display:block;
}
.ca-credits-guide__scenario-body p{
  font-size:12px;
  color:#6b7280;
  line-height:1.6;
  margin:12px 0 0;
  opacity:.9;
}

/* Plan CTA (for Atlas Solo) */
.ca-mp-plan__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:11px 16px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  background:linear-gradient(135deg,#7c3aed,#2563eb);
  color:#fff;
  border:none;
  cursor:pointer;
  transition:opacity .15s;
}
.ca-mp-plan__cta:hover{
  opacity:.9;
}

/* Bottom row - Atlas Solo uses these */
.ca-mp-plan__price{
  display:flex;
  align-items:baseline;
  gap:2px;
  margin-bottom:12px;
}
.ca-mp-plan__amount{
  font-size:28px;
  font-weight:800;
  color:#111827;
  line-height:1;
}
.ca-mp-plan__period{
  font-size:14px;
  color:#6b7280;
  font-weight:500;
}
.ca-mp-plan__features{
  list-style:none;
  padding:0;
  margin:0 0 20px;
}
.ca-mp-plan__features li{
  position:relative;
  padding-left:16px;
  font-size:12px;
  color:#374151;
  line-height:1.55;
  margin-bottom:8px;
}
.ca-mp-plan__features li::before{
  content:'';
  position:absolute;
  left:0;
  top:6px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#7c3aed;
}

/* Bottom row */
.ca-mp-bottom{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.ca-mp-solo{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px 22px;
  display:flex;
  flex-direction:column;
}
.ca-mp-solo__name{
  font-size:16px;
  font-weight:700;
  color:#111827;
  margin:0 0 8px;
}
.ca-mp-solo__desc{
  font-size:13px;
  color:#6b7280;
  line-height:1.55;
  margin:0 0 16px;
}
.ca-mp-solo__note{
  font-size:11px;
  color:#9ca3af;
  font-style:italic;
  margin:12px 0 0;
}

/* How credits work */
.ca-mp-credits-info{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px 22px;
}
.ca-mp-credits-info__title{
  font-size:16px;
  font-weight:700;
  color:#111827;
  margin:0 0 12px;
}
.ca-mp-credits-info__text{
  font-size:13px;
  color:#374151;
  line-height:1.6;
  margin:0 0 10px;
}
.ca-mp-credits-info__text strong{
  color:#111827;
}
.ca-mp-credits-info__tiers{
  list-style:none;
  padding:0;
  margin:14px 0 0;
}
.ca-mp-credits-info__tiers li{
  position:relative;
  padding-left:16px;
  font-size:12px;
  color:#374151;
  line-height:1.55;
  margin-bottom:6px;
}
.ca-mp-credits-info__tiers li::before{
  content:'';
  position:absolute;
  left:0;
  top:6px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#7c3aed;
}

/* Manage Plan responsive */
@media (max-width:1024px){
  .ca-pricing-prod__grid{
    grid-template-columns:1fr;
  }
  .ca-pricing-prod__card--featured{
    order:-1;
  }
  .ca-mp-bottom{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .ca-pricing-prod{
    margin-left:-16px;
    margin-right:-16px;
    padding-left:16px;
    padding-right:16px;
  }
}
@media (max-width:768px){
  .ca-mp-body{
    padding:20px 16px 32px;
  }
  .ca-mp-buy-credits{
    flex-direction:column;
    padding:18px 16px;
  }
  .ca-mp-buy-credits__select{
    min-width:0;
    width:100%;
  }
}

/* WooCommerce My Account – refined dashboard-style layout */
body.woocommerce-account{
  background:linear-gradient(160deg, #f8fafc 0%, #f1f5f9 40%, #eef2ff 100%);
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  min-height:100vh;
}
body.woocommerce-account .site-main{
  max-width:1200px;
  margin:0 auto;
  padding:32px 24px 48px;
}
body.woocommerce-account .entry-header{
  display:none;
}
body.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
body.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:12px;
  box-shadow:0 4px 6px -1px rgba(0,0,0,.05), 0 10px 20px -5px rgba(0,0,0,.06);
  position:sticky;
  top:24px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0;
  padding:0;
  list-style:none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin:0 0 4px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{
  margin-bottom:0;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block;
  padding:12px 14px;
  border-radius:10px;
  color:#64748b;
  font-weight:500;
  font-size:14px;
  text-decoration:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
  border-left:3px solid transparent;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background:#f8fafc;
  color:#4338ca;
}
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  background:linear-gradient(90deg, rgba(124,58,237,.08) 0%, transparent 100%);
  color:#6d28d9;
  border-left-color:#7c3aed;
}
body.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:20px;
  padding:32px 36px;
  box-shadow:0 4px 6px -1px rgba(0,0,0,.04), 0 14px 28px -8px rgba(0,0,0,.08);
  color:#0f172a;
  line-height:1.6;
}
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3{
  margin:0 0 16px;
  color:#0f172a;
  font-weight:600;
  font-size:1.25rem;
}
body.woocommerce-account .woocommerce p{
  color:#475569;
  margin:0 0 12px;
  font-size:15px;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button){
  color:#2563eb;
  text-decoration:none;
  font-weight:500;
  transition:color .15s ease;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover{
  color:#1d4ed8;
  text-decoration:underline;
}
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error{
  border-radius:12px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#1e40af;
  padding:14px 16px 14px 44px;
  margin:0 0 18px;
  font-size:14px;
}
body.woocommerce-account .woocommerce-error{
  border-color:#fecaca;
  background:#fef2f2;
  color:#991b1b;
}
body.woocommerce-account .woocommerce table.shop_table{
  border:1px solid #e2e8f0;
  border-radius:14px;
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
body.woocommerce-account .woocommerce table.shop_table th{
  background:#f8fafc;
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:600;
}
body.woocommerce-account .woocommerce table.shop_table th,
body.woocommerce-account .woocommerce table.shop_table td{
  border-bottom:1px solid #f1f5f9;
  padding:14px 16px;
}
body.woocommerce-account .woocommerce table.shop_table tr:last-child td{
  border-bottom:0;
}
body.woocommerce-account .woocommerce table.shop_table td{
  color:#334155;
  font-size:14px;
}
body.woocommerce-account .woocommerce form .form-row{
  margin-bottom:18px;
}
body.woocommerce-account .woocommerce form label{
  font-weight:600;
  color:#111827;
  margin-bottom:8px;
  font-size:14px;
}
body.woocommerce-account .woocommerce form input.input-text,
body.woocommerce-account .woocommerce form input[type="text"],
body.woocommerce-account .woocommerce form input[type="email"],
body.woocommerce-account .woocommerce form input[type="password"],
body.woocommerce-account .woocommerce form input[type="tel"],
body.woocommerce-account .woocommerce form textarea,
body.woocommerce-account .woocommerce form select{
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
  padding:12px 14px;
  color:#111827;
  font-size:15px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
body.woocommerce-account .woocommerce form input:focus,
body.woocommerce-account .woocommerce form textarea:focus,
body.woocommerce-account .woocommerce form select:focus{
  outline:none;
  border-color:#7c3aed;
  box-shadow:0 0 0 3px rgba(124,58,237,.15);
}
body.woocommerce-account .woocommerce a.button,
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce input.button{
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg,#6366f1,#7c3aed);
  color:#fff;
  font-weight:600;
  font-size:14px;
  padding:12px 20px;
  transition:transform .15s ease, box-shadow .15s ease;
}
body.woocommerce-account .woocommerce .button:hover{
  box-shadow:0 10px 25px -5px rgba(124,58,237,.25);
  transform:translateY(-1px);
}
body.woocommerce-account .woocommerce .addresses .title .edit{
  font-size:13px;
  color:#6366f1;
  font-weight:500;
}

/* Logged-in My Account: enforce sidebar + content two-column layout */
body.woocommerce-account.logged-in .site-main{
  max-width:1200px;
}
body.woocommerce-account.logged-in .woocommerce{
  display:grid;
  grid-template-columns:260px minmax(0, 1fr);
  gap:28px;
  align-items:start;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  float:none;
  width:auto;
  margin:0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  grid-column:1;
  width:100%;
  max-width:260px;
  align-self:start;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  grid-column:2;
  width:100%;
  min-width:0;
}
body.woocommerce-account.logged-in #page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body.woocommerce-account.logged-in #content,
body.woocommerce-account.logged-in .site-main{
  flex:1 0 auto;
}
body.woocommerce-account.logged-in footer{
  margin-top:auto;
  text-align:center;
  padding:20px 16px 24px;
}
body.woocommerce-account.logged-in footer p{
  margin:0;
  color:#374151;
  font-size:14px;
}

@media (max-width:980px){
  body.woocommerce-account .woocommerce{
    grid-template-columns:1fr;
    gap:24px;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation{
    position:static;
  }
  body.woocommerce-account .woocommerce-MyAccount-content{
    padding:24px 20px;
  }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
    grid-column:auto;
    max-width:none;
  }
}

/* WooCommerce reset-password page */
body.woocommerce-account.woocommerce-lost-password .ca-topbar__brand-img{
  width:auto;
  max-height:48px;
  height:auto;
}
body.woocommerce-account.woocommerce-lost-password .site-main{
  max-width:760px;
  margin:0 auto;
  padding:32px 20px 56px;
}
body.woocommerce-account.woocommerce-lost-password .woocommerce{
  display:block;
  width:520px;
  margin:0 auto;
  box-sizing:border-box;
}
@media (max-width:900px){
  body.woocommerce-account.woocommerce-lost-password .woocommerce{
    width:480px;
  }
  body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword,
  body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password{
    max-width:480px;
  }
}
@media (max-width:700px){
  body.woocommerce-account.woocommerce-lost-password .woocommerce{
    width:420px;
  }
  body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword,
  body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password{
    max-width:420px;
  }
}
@media (max-width:500px){
  body.woocommerce-account.woocommerce-lost-password .woocommerce{
    width:380px;
  }
  body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword,
  body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password{
    max-width:380px;
  }
}
@media (max-width:400px){
  body.woocommerce-account.woocommerce-lost-password .woocommerce{
    width:340px;
  }
  body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword,
  body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password{
    max-width:340px;
  }
}
body.woocommerce-account.woocommerce-lost-password .woocommerce .woocommerce-message,
body.woocommerce-account.woocommerce-lost-password .woocommerce .woocommerce-error,
body.woocommerce-account.woocommerce-lost-password .woocommerce .woocommerce-info{
  margin-bottom:16px;
}
body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword,
body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password{
  display:block;
  width:100%;
  max-width:520px;
  margin:0 auto;
  box-sizing:border-box;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:26px 24px 22px;
  box-shadow:0 6px 16px rgba(15, 23, 42, 0.08);
}
body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword > p:first-child,
body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password > p:first-child{
  margin:0 0 18px;
  color:#374151;
  font-size:14px;
}
body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword .form-row,
body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password .form-row{
  float:none;
  width:100%;
  margin:0 0 14px;
  padding:0;
}
body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword .form-row label,
body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password .form-row label{
  display:block;
  margin-bottom:8px;
  font-weight:600;
  color:#111827;
}
body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword .password-input,
body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password .password-input{
  width:100%;
}
body.woocommerce-account.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword .button,
body.woocommerce-account.woocommerce-lost-password .woocommerce form.lost_reset_password .button{
  margin-top:8px;
  min-width:120px;
}
body.woocommerce-account.woocommerce-lost-password #page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body.woocommerce-account.woocommerce-lost-password #content,
body.woocommerce-account.woocommerce-lost-password .site-main{
  flex:1 0 auto;
}
body.woocommerce-account.woocommerce-lost-password footer{
  margin-top:auto;
  text-align:center;
  padding:20px 16px 24px;
}
body.woocommerce-account.woocommerce-lost-password footer p{
  margin:0;
  color:#374151;
  font-size:14px;
}

/* WooCommerce My Account login page (logged out) - Figma-style minimal */
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-topbar__brand-img{
  width:36px;
  height:36px;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login){
  background:#fff;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .site-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  flex:1 1 auto;
  max-width:900px;
  margin:0 auto;
  padding:24px 20px 40px;
  background:#fff;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce{
  display:block;
  max-width:480px;
  width:100%;
  margin:0 auto;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce h2,
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) #customer_login .u-column1 h2{
  text-align:center !important;
  width:100%;
  margin:0 0 24px;
  font-size:1.5rem;
  font-weight:600;
  color:#111827;
}
/* Login title: "Sign in to" + logo on two lines */
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  width:100%;
  box-sizing:border-box;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title__text{
  font-size:1.5rem;
  font-weight:600;
  color:#111827;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title__logo{
  width:auto;
  max-height:48px;
  height:auto;
  display:block;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce .u-columns{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  width:100%;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) #customer_login .u-column1{
  float:none;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login,
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.register{
  background:#fff;
  width:79%;
  min-width:320px;
  align-self:stretch;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:28px 32px;
  box-shadow:none;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .form-row,
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.register .form-row{
  margin:0 0 18px;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .form-row label{
  display:block;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.5px;
  color:#6b7280;
  margin-bottom:6px;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login input[type="text"],
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login input[type="password"]{
  width:100%;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#fff;
  font-size:15px;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .form-row:last-of-type{
  flex-direction:column;
  align-items:stretch;
  gap:12px;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .button{
  width:100%;
  min-width:auto;
  padding:14px;
  background:#111827;
  color:#fff;
  border:0;
  border-radius:8px;
  font-weight:600;
  font-size:15px;
  order:2;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .button:hover{
  background:#1f2937;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .lost_password{
  margin:12px 0 0;
  text-align:center;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .lost_password a{
  color:#6b7280;
  font-size:14px;
  text-decoration:none;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .lost_password a:hover{
  color:#111827;
  text-decoration:underline;
}
/* Hide: Google button, single sign-on, create account */
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .u-column2,
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce-social-login,
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .wc-social-login,
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .social-login,
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) [class*="social-login"],
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce-form-login__submit + p{
  display:none !important;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) #page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:#fff;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) #content{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .site-main{
  flex:1 1 auto;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) footer{
  margin-top:auto;
  text-align:center;
  padding:20px 16px 24px;
  background:#fff;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) footer p{
  margin:0;
  color:#6b7280;
  font-size:14px;
}

/* Login form responsive */
@media (max-width:600px){
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login){
    overflow-x:hidden;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) #page{
    max-width:100vw;
    overflow-x:hidden;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .site-main{
    padding:0 0 24px;
    justify-content:flex-start;
    align-items:stretch;
    max-width:100%;
    width:100%;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce{
    display:block;
    max-width:100%;
    width:100%;
    margin:0;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce .u-columns{
    display:block;
    gap:0;
    width:100%;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) #customer_login .u-column1{
    gap:2px;
    float:none;
    width:100%;
    align-items:center;
    text-align:center;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title{
    gap:6px;
    margin:0 auto;
    padding:20px 20px 12px;
    align-items:center;
    text-align:center;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title__text{
    font-size:1.2rem;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title__logo{
    max-height:36px;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login{
    width:100%;
    min-width:0;
    max-width:100%;
    padding:16px 20px 20px;
    margin:0 auto;
    border:none;
    border-top:1px solid #e5e7eb;
    border-radius:0;
    box-shadow:none;
    align-self:stretch;
    float:none;
    text-align:left;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .form-row{
    margin:0 0 14px;
    max-width:100%;
    overflow:hidden;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login input[type="text"],
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login input[type="password"]{
    font-size:16px;
    padding:11px 12px;
    border-radius:8px;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .password-input{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login .button{
    padding:12px;
    font-size:15px;
    max-width:100%;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-topbar__brand-img{
    width:28px;
    height:28px;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) footer{
    padding:14px 16px 20px;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) footer p{
    font-size:12.5px;
  }
}
@media (max-width:375px){
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title{
    padding:12px 16px 16px;
    gap:5px;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title__text{
    font-size:1.1rem;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-title__logo{
    max-height:30px;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .woocommerce form.login{
    padding:16px 16px 20px;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-google-sso{
    padding:0 16px;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-divider{
    padding:0 16px;
  }
}

/* Google SSO button on login page */
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-google-sso{
  width:79%;
  min-width:320px;
  align-self:stretch;
  margin:0 auto;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-google-sso__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:13px 14px;
  background:#fff;
  color:#111827;
  border:1px solid #e5e7eb;
  border-radius:8px;
  font-size:15px;
  font-weight:500;
  letter-spacing:0.2px;
  text-decoration:none;
  cursor:pointer;
  transition:background 0.15s,border-color 0.15s;
  box-sizing:border-box;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-google-sso__btn:hover{
  background:#f9fafb;
  border-color:#d1d5db;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-google-sso__btn svg{
  flex-shrink:0;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-divider{
  display:flex;
  align-items:center;
  width:79%;
  min-width:320px;
  margin:12px auto;
  gap:14px;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-divider::before,
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-divider::after{
  content:'';
  flex:1;
  height:1px;
  background:#e5e7eb;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-divider span{
  font-size:13px;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:0.5px;
  font-weight:500;
  white-space:nowrap;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-error{
  width:79%;
  min-width:320px;
  margin:0 auto 16px;
  padding:12px 16px;
  border-radius:8px;
  font-size:14px;
}
@media (max-width:600px){
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-google-sso{
    width:100%;
    min-width:0;
    padding:0 20px;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-divider{
    width:100%;
    min-width:0;
    padding:0 20px;
    margin:10px auto;
    box-sizing:border-box;
  }
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-error{
    width:100%;
    min-width:0;
    padding:10px 16px;
    margin:0 auto 12px;
    box-sizing:border-box;
  }
}

/* "Don't have an account? Create one" link */
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-register{
  width:79%;
  min-width:320px;
  margin:14px auto 0;
  text-align:center;
  font-size:14px;
  color:#6b7280;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-register a{
  color:#2563eb;
  font-weight:600;
  text-decoration:none;
}
body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-register a:hover{
  text-decoration:underline;
}
@media (max-width:600px){
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-register{
    width:100%;
    min-width:0;
    padding:0 20px;
    box-sizing:border-box;
  }
}
@media (max-width:375px){
  body.woocommerce-account:not(.woocommerce-lost-password):has(#customer_login) .ca-login-register{
    padding:0 16px;
  }
}

/* Registration modal */
.ca-register-modal .ca-modal__panel.ca-register-modal__panel{
  width:min(420px, 90vw);
  max-width:420px;
  padding:32px 28px;
  border-radius:16px;
  z-index:2;
  text-align:center;
}
.ca-register-modal__close{
  position:absolute;
  top:10px;
  right:10px;
  background:none;
  border:none;
  font-size:22px;
  color:#9ca3af;
  cursor:pointer;
  line-height:1;
  padding:6px 8px;
  z-index:1;
}
.ca-register-modal__close:hover{
  color:#374151;
}
.ca-register-modal__notice{
  background:#fef3c7;
  color:#92400e;
  font-size:13px;
  padding:10px 14px;
  border-radius:8px;
  margin:0 0 16px;
  text-align:left;
}
.ca-register-modal__heading{
  font-size:1.35rem;
  font-weight:700;
  color:#111827;
  margin:0 0 8px;
}
.ca-register-modal__subtext{
  font-size:14px;
  color:#6b7280;
  margin:0 0 22px;
  line-height:1.5;
}
.ca-register-modal__label{
  display:block;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.5px;
  color:#6b7280;
  margin-bottom:6px;
  text-align:left;
}
.ca-register-modal__label .required{
  color:#ef4444;
}
.ca-register-modal__input{
  display:block;
  width:100%;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#fff;
  font-size:15px;
  color:#111827;
  box-sizing:border-box;
  transition:border-color 0.15s;
}
.ca-register-modal__input:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,0.1);
}
.ca-register-modal__error{
  display:none;
  color:#dc2626;
  font-size:13px;
  margin:8px 0 0;
  text-align:left;
}
.ca-register-modal__submit{
  display:block;
  width:100%;
  padding:14px;
  margin-top:16px;
  background:#111827;
  color:#fff;
  border:none;
  border-radius:8px;
  font-weight:600;
  font-size:15px;
  cursor:pointer;
  transition:background 0.15s;
}
.ca-register-modal__submit:hover{
  background:#1f2937;
}
.ca-register-modal__submit:disabled{
  opacity:0.6;
  cursor:not-allowed;
}
.ca-register-modal__check-icon{
  margin:0 auto 16px;
  display:flex;
  justify-content:center;
}
.ca-register-modal__success-view{
  text-align:center;
}
@media (max-width:600px){
  .ca-register-modal .ca-modal__panel.ca-register-modal__panel{
    width:calc(100vw - 32px);
    padding:28px 20px 24px;
  }
  .ca-register-modal__heading{
    padding-right:28px;
  }
}
@media (max-width:375px){
  .ca-register-modal .ca-modal__panel.ca-register-modal__panel{
    width:calc(100vw - 24px);
    padding:24px 16px 20px;
  }
}

/* Activated agents (profile/settings) */
.ca-activated-agents{
  margin-top:10px;
}
.ca-activated-agents-list{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}
.ca-activated-agent-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:10px 12px;
}
.ca-activated-agent-card__name{
  font-weight:700;
  color:#111827;
  font-size:14px;
}
.ca-activated-agent-card__desc{
  margin-top:4px;
  font-size:12px;
  color:#6b7280;
}
.ca-settings-empty{
  margin:0;
  color:#6b7280;
}

/* Agent Activation dynamic states */
.ca-aa-agent.is-active{
  border-color:#bfdbfe;
  box-shadow:0 8px 20px rgba(37, 99, 235, 0.14);
}
.ca-aa-agent.is-active .ca-aa-agent__cta{
  background:#0f172a;
}

@media (max-width:768px){
  .ca-activated-agents-list{
    grid-template-columns:1fr;
  }
}

/* Roadmap Manager */
.ca-roadmap-admin{
  display:grid;
  gap:20px;
}
.ca-roadmap-admin__header h1{
  margin:0 0 8px;
}
.ca-roadmap-admin__header p{
  margin:0;
  color:#6b7280;
}
.ca-roadmap-admin__stack{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.ca-roadmap-admin__panel{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:18px;
}
.ca-roadmap-admin__panel h2{
  margin:0 0 12px;
}
.ca-roadmap-admin__panel label{
  display:grid;
  gap:6px;
  margin-bottom:10px;
  font-weight:600;
  color:#111827;
}
.ca-roadmap-admin__panel input,
.ca-roadmap-admin__panel select{
  width:100%;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:9px 10px;
  font-weight:400;
}
.ca-roadmap-admin__dropzone{
  margin-top:8px;
  border:2px dashed #d1d5db;
  border-radius:10px;
  text-align:center;
  color:#374151;
  padding:28px 12px;
  cursor:pointer;
  position:relative;
}
.ca-roadmap-admin__dropzone input{
  display:none;
}
.ca-roadmap-admin__dropzone.is-dragover{
  border-color:#2563eb;
  background:#eff6ff;
}
.ca-roadmap-admin__panel--wide{
  grid-column:1 / -1;
}
.ca-roadmap-admin__table-wrap{
  overflow:auto;
}
.ca-roadmap-admin__table{
  width:100%;
  border-collapse:collapse;
}
.ca-roadmap-admin__table th,
.ca-roadmap-admin__table td{
  border-bottom:1px solid #e5e7eb;
  padding:10px 8px;
  text-align:left;
  font-size:14px;
}
.ca-roadmap-admin__hint{
  margin:0 0 8px;
  color:#6b7280;
  font-size:13px;
}
.ca-roadmap-admin__notice{
  margin:10px 0 0;
  color:#374151;
  font-size:13px;
}
@media (max-width:980px){
  .ca-roadmap-admin__stack{
    grid-template-columns:1fr;
  }
}

/* ── Coming Soon page & modal ────────────────────────────────── */
.ca-cs-wrapper{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:60px 24px;
  min-height:60vh;
}
.ca-cs-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:40px 36px;
  max-width:560px;
  width:100%;
  box-shadow:0 4px 24px rgba(0,0,0,.06);
  text-align:center;
}
.ca-cs-badge{
  display:inline-block;
  background:#f0f3ff;
  color:#4f46e5;
  font-size:12px;
  font-weight:600;
  padding:4px 12px;
  border-radius:20px;
  margin-bottom:16px;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.ca-cs-title{
  font-size:24px;
  font-weight:700;
  color:#111827;
  margin:0 0 12px;
  line-height:1.3;
}
.ca-cs-desc{
  font-size:15px;
  color:#6b7280;
  line-height:1.6;
  margin:0 0 28px;
}
.ca-cs-body{
  font-size:14px;
  color:#374151;
  line-height:1.6;
  margin-bottom:20px;
  text-align:left;
}
.ca-cs-bullets{
  list-style:disc;
  padding-left:20px;
  margin:0 0 24px;
  text-align:left;
  font-size:14px;
  color:#374151;
}
.ca-cs-bullets li{
  margin-bottom:6px;
}

/* Success state */
.ca-cs-success[hidden]{
  display:none !important;
}
.ca-cs-success{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#f0fdf4;
  color:#166534;
  padding:14px 20px;
  border-radius:10px;
  font-size:14px;
  font-weight:500;
  border:1px solid #bbf7d0;
}
.ca-cs-success svg{
  flex-shrink:0;
  color:#22c55e;
}

/* Form layout */
.ca-cs-form{
  text-align:left;
}
.ca-cs-form__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:20px;
}
.ca-cs-field{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.ca-cs-field__label{
  font-size:13px;
  font-weight:600;
  color:#374151;
}
.ca-cs-field__label abbr{
  color:#ef4444;
  text-decoration:none;
}
.ca-cs-field__label small{
  font-weight:400;
  color:#9ca3af;
}
.ca-cs-input{
  padding:9px 12px;
  border:1px solid #d1d5db;
  border-radius:8px;
  font-size:14px;
  color:#111827;
  background:#fff;
  transition:border-color .15s, box-shadow .15s;
  font-family:inherit;
}
.ca-cs-input:focus{
  outline:none;
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.12);
}
.ca-cs-input::placeholder{
  color:#9ca3af;
}
.ca-cs-submit{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 24px;
  font-size:14px;
  font-weight:600;
  border-radius:10px;
  cursor:pointer;
  transition:opacity .15s;
  width:100%;
  justify-content:center;
  font-family:inherit;
}
.ca-cs-submit:hover{
  opacity:.9;
}
.ca-cs-submit:disabled{
  opacity:.6;
  cursor:wait;
}

/* Modal inner */
.ca-cs-modal-inner{
  text-align:center;
}
.ca-cs-modal-inner .ca-cs-form{
  text-align:left;
}

@media (max-width:600px){
  .ca-cs-form__grid{
    grid-template-columns:1fr;
  }
  .ca-cs-card{
    padding:28px 20px;
  }
}

/* ── Coming Soon Modal Overlay ── */
.ca-cs-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ca-cs-modal.is-open{
  display:flex;
}
body.ca-cs-modal-open{
  overflow:hidden;
}
.ca-cs-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.35);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.ca-cs-modal__panel{
  position:relative;
  z-index:1;
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,0.18);
  max-width:680px;
  width:100%;
  font-family:"Albert Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
  padding:40px 40px 36px;
  animation:caCSFadeIn .2s ease;
}
@keyframes caCSFadeIn{
  from{opacity:0;transform:translateY(12px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.ca-cs-modal__close{
  position:absolute;
  top:14px;
  right:16px;
  background:none;
  border:none;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  color:#666;
  padding:4px 8px;
  border-radius:6px;
  transition:background .15s;
}
.ca-cs-modal__close:hover{
  background:#f0f0f0;
  color:#222;
}
.ca-cs-modal__title{
  font-size:22px;
  font-weight:700;
  color:#1a1a2e;
  margin:12px 0 6px;
}
.ca-cs-modal__desc{
  font-size:14px;
  color:#555;
  line-height:1.55;
  margin:0 0 20px;
}
.ca-cs-modal .ca-cs-form{
  margin-top:0;
}

@media (max-width:560px){
  .ca-cs-modal{
    padding:12px;
  }
  .ca-cs-modal__panel{
    padding:28px 20px 24px;
  }
  .ca-cs-modal .ca-cs-form__grid{
    grid-template-columns:1fr;
  }
}

/* ══════════════════════════════════════════════════════════
   Get Started – Gating Overlay, Scheduling Modal, Banner, Live Card
   ══════════════════════════════════════════════════════════ */

/* Gated content dims */
.ca-gs-gated-content{
  opacity:0.45;
  pointer-events:none;
  user-select:none;
  filter:grayscale(0.2);
}

/* Overlay */
.ca-gs-overlay{
  position:fixed;
  inset:0;
  z-index:998;
  background:rgba(0,0,0,0.35);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.ca-gs-overlay--soft{
  background:rgba(0,0,0,0.12);
  backdrop-filter:blur(1px);
  -webkit-backdrop-filter:blur(1px);
}

/* ── Scheduling gate modal ── */
.ca-gs-gate-modal{
  position:fixed;
  inset:0;
  z-index:999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ca-gs-gate-modal.is-open{
  display:flex;
}
.ca-gs-gate-modal__backdrop{
  position:absolute;
  inset:0;
  cursor:pointer;
}
.ca-gs-gate-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  background:transparent;
  font-size:28px;
  line-height:1;
  color:#6b7280;
  cursor:pointer;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .15s ease, background .15s ease;
}
.ca-gs-gate-modal__close:hover{
  color:#111827;
  background:#f3f4f6;
}
.ca-gs-gate-modal__dismiss{
  margin:16px 0 0;
  text-align:center;
}
.ca-gs-gate-modal__dismiss-btn{
  background:none;
  border:0;
  padding:0;
  font-size:14px;
  color:#6b7280;
  cursor:pointer;
  text-decoration:underline;
  transition:color .15s ease;
}
.ca-gs-gate-modal__dismiss-btn:hover{
  color:#111827;
}
.ca-gs-gate-modal__panel{
  position:relative;
  z-index:1;
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,0.2);
  max-width:620px;
  width:100%;
  padding:40px 36px 36px;
  animation:caCSFadeIn .25s ease;
  max-height:90vh;
  overflow-y:auto;
}
.ca-gs-gate-modal__badge{
  display:inline-block;
  padding:4px 14px;
  border-radius:20px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.4px;
  text-transform:uppercase;
  color:#7c3aed;
  background:#ede9fe;
  margin-bottom:8px;
}
.ca-gs-gate-modal__title{
  font-size:22px;
  font-weight:700;
  color:#1a1a2e;
  margin:8px 0 6px;
}
.ca-gs-gate-modal__desc{
  font-size:14px;
  color:#555;
  line-height:1.55;
  margin:0 0 24px;
}
.ca-gs-gate-modal__next{
  width:100%;
  margin-top:12px;
}
.ca-gs-gate-modal__hint{
  font-size:13px;
  color:#6b7280;
  text-align:center;
  margin-top:12px;
}
.ca-gs-bookme-wrap{
  min-height:300px;
}

/* Bookme booking-done step: thank you + Complete button (replaces default "New Booking") */
.ca-bookme-done{
  text-align:center;
  padding:24px 0;
}
.ca-bookme-done__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  margin:0 auto 16px;
  border-radius:50%;
  background:#dcfce7;
  color:#16a34a;
}
.ca-bookme-done__icon svg{
  display:block;
}
.ca-bookme-done__title{
  font-size:20px;
  font-weight:700;
  margin:0 0 8px;
  color:#1a1a2e;
}
.ca-bookme-done__text{
  font-size:15px;
  line-height:1.5;
  color:#4b5563;
  margin:0 auto 24px;
  max-width:360px;
  text-align:center;
}
/* Override plugin .bookme-booking-form p margin so our .ca-bookme-done__text rules apply (same as removing the plugin rule) */
.bookme-booking-form .ca-bookme-done__text{
  margin:0 auto 24px !important;
}
.ca-bookme-done__btn{
  min-width:160px;
}

.ca-gs-gate-confirm{
  text-align:center;
  padding:20px 0;
}
.ca-gs-gate-confirm svg{
  margin-bottom:16px;
}
.ca-gs-gate-confirm h3{
  font-size:20px;
  font-weight:700;
  margin:0 0 8px;
  color:#1a1a2e;
}
.ca-gs-gate-confirm p{
  font-size:14px;
  color:#555;
  margin:0 0 20px;
}

/* ── Scheduled banner ── */
.ca-gs-banner{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 20px;
  background:linear-gradient(135deg,#ede9fe 0%,#dbeafe 100%);
  border:1px solid #c4b5fd;
  border-radius:12px;
  margin-bottom:20px;
  margin-left:auto;
  margin-right:auto;
  max-width:520px;
  font-size:14px;
  color:#3730a3;
  position:relative;
  z-index:999;
}
.ca-gs-banner svg{
  flex-shrink:0;
}
.ca-gs-banner span{
  flex:1;
}
.ca-gs-banner__details{
  background:none;
  border:1px solid #7c3aed;
  color:#7c3aed;
  padding:6px 16px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s,color .15s;
}
.ca-gs-banner__details:hover{
  background:#7c3aed;
  color:#fff;
}

/* ── Reminder modal ── */
.ca-gs-reminder-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ca-gs-reminder-modal.is-open{
  display:flex;
}
.ca-gs-reminder-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.3);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.ca-gs-reminder-modal__panel{
  position:relative;
  z-index:1;
  background:#fff;
  border-radius:14px;
  box-shadow:0 16px 48px rgba(0,0,0,0.16);
  max-width:420px;
  width:100%;
  padding:32px 28px;
  text-align:center;
  animation:caCSFadeIn .2s ease;
}
.ca-gs-reminder-modal__close{
  position:absolute;
  top:12px;
  right:14px;
  background:none;
  border:none;
  font-size:20px;
  cursor:pointer;
  color:#666;
  padding:4px 8px;
  border-radius:6px;
}
.ca-gs-reminder-modal__close:hover{
  background:#f0f0f0;
}
.ca-gs-reminder-modal__panel h3{
  font-size:18px;
  font-weight:700;
  margin:0 0 10px;
}
.ca-gs-reminder-modal__panel p{
  font-size:14px;
  color:#555;
  margin:0 0 16px;
}
.ca-gs-reminder-modal__panel .ca-btn{
  margin-bottom:12px;
}
.ca-gs-reminder-modal__link{
  display:inline-block;
  font-size:13px;
  color:#7c3aed;
  margin:0 8px;
}
.ca-gs-reminder-modal__link--danger{
  color:#ef4444;
}

/* ── Live one-pager card ── */
.ca-gs-live-card{
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px 24px;
  background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);
  border:1px solid #bbf7d0;
  border-radius:14px;
  margin-bottom:24px;
}
.ca-gs-live-card__icon{
  flex-shrink:0;
  width:48px;
  height:48px;
  background:#dcfce7;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ca-gs-live-card__body{
  flex:1;
}
.ca-gs-live-card__title{
  font-size:16px;
  font-weight:700;
  color:#166534;
  margin-bottom:2px;
}
.ca-gs-live-card__desc{
  font-size:13px;
  color:#4ade80;
}
.ca-gs-live-card__btn{
  white-space:nowrap;
  background:#22c55e !important;
  border-color:#22c55e !important;
}
.ca-gs-live-card__btn:hover{
  background:#16a34a !important;
}

/* ── Responsive ── */
@media (max-width:640px){
  .ca-gs-gate-modal__panel{
    padding:28px 20px 24px;
  }
  .ca-gs-live-card{
    flex-direction:column;
    text-align:center;
  }
  .ca-gs-banner{
    flex-direction:column;
    text-align:center;
  }
}
.ca-questionnaire__info-card{
  border-radius:14px;
  padding:20px;
  margin-bottom:20px;
}
.ca-questionnaire__info-card--blue{
  background:#e0f2fe;
  border:1px solid #bae6fd;
}
.ca-questionnaire__info-card--green{
  background:#dcfce7;
  border:1px solid #bbf7d0;
}
.ca-questionnaire__info-card-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.ca-questionnaire__info-card-icon{
  width:24px;
  height:24px;
  flex-shrink:0;
}
.ca-questionnaire__info-card--blue .ca-questionnaire__info-card-icon{
  color:#2563eb;
}
.ca-questionnaire__info-card--green .ca-questionnaire__info-card-icon{
  color:#16a34a;
}
.ca-questionnaire__info-card-title{
  font-size:16px;
  font-weight:700;
  color:#111827;
  margin:0;
}
.ca-questionnaire__info-card-content{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ca-questionnaire__info-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ca-questionnaire__info-card-desc{
  font-size:14px;
  color:#374151;
  margin:0 0 12px;
  line-height:1.5;
}
.ca-questionnaire__info-checkboxes{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Advisory tracker dynamic states */
.ca-adv-tracker__loading,
.ca-adv-tracker__empty{
  text-align:center;
  padding:32px 16px;
  color:#6b7280;
  font-size:14px;
}
.ca-adv-req__status--in-progress{
  background:#fef3c7;
  color:#b45309;
}
.ca-adv-req__status--cancelled{
  background:#f3f4f6;
  color:#6b7280;
}

/* ── Subscription badges (Super Admin) ── */
.ca-badge{display:inline-block;padding:2px 10px;border-radius:4px;font-size:12px;font-weight:600;line-height:1.6;}
.ca-badge--trialing{background:#dbeafe;color:#1e40af;}
.ca-badge--active{background:#dcfce7;color:#166534;}
.ca-badge--past_due{background:#fef3c7;color:#92400e;}
.ca-badge--cancelled{background:#fee2e2;color:#991b1b;}
.ca-badge--expired{background:#f3f4f6;color:#6b7280;}
.ca-badge--po{background:#f3e8ff;color:#7c3aed;}
.ca-badge--stripe{background:#e0e7ff;color:#4338ca;}

/* ================================================================
   Revenue Management (Admin)
   ================================================================ */
.ca-rev-mgmt{
  padding:24px 32px;
}
.ca-rev-mgmt__header{
  margin-bottom:16px;
}
.ca-rev-mgmt__title{
  font-size:26px;
  font-weight:700;
  color:#111827;
  margin:0 0 4px;
}
.ca-rev-mgmt__subtitle{
  font-size:14px;
  color:#6b7280;
  margin:0;
}
.ca-rev-mgmt__banner{
  background:#eff6ff;
  border:1px solid #bfdbfe;
  border-radius:10px;
  padding:16px 20px;
  margin-bottom:20px;
  font-size:13px;
  line-height:1.6;
  color:#1e3a5f;
}
.ca-rev-mgmt__banner p{margin:0 0 4px;}
.ca-rev-mgmt__banner p:last-child{margin-bottom:0;}
.ca-rev-mgmt__banner strong{color:#1e40af;}

.ca-rev-mgmt__content[hidden]{display:none;}
.ca-rev-mgmt__placeholder{
  text-align:center;
  padding:80px 20px;
  color:#9ca3af;
}
.ca-rev-mgmt__placeholder svg{margin-bottom:12px;}

/* ── Kit list rows ── */
.ca-rev-kit-header{
  display:grid;
  grid-template-columns:1.5fr 110px 100px 1fr 150px 32px;
  align-items:center;
  gap:16px;
  padding:10px 20px;
  font-size:12px;
  font-weight:600;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:0.04em;
  border-bottom:2px solid #e5e7eb;
}
.ca-rev-kit-list{
  display:flex;
  flex-direction:column;
  gap:0;
}
.ca-rev-kit-row{
  display:grid;
  grid-template-columns:1.5fr 110px 100px 1fr 150px 32px;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-bottom:none;
  transition:background .15s;
}
.ca-rev-kit-row:last-child{
  border-bottom:1px solid #e5e7eb;
  border-radius:0 0 10px 10px;
}
.ca-rev-kit-row:only-child{
  border-radius:0 0 10px 10px;
  border-bottom:1px solid #e5e7eb;
}
.ca-rev-kit-row:hover{
  background:#f9fafb;
}
.ca-rev-kit-row__main{
  min-width:0;
}
.ca-rev-kit-row__title{
  font-size:13px;
  font-weight:400;
  color:#6b7280;
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ca-rev-kit-row__company{
  font-size:15px;
  font-weight:600;
  color:#111827;
}
.ca-rev-kit-row__type,
.ca-rev-kit-row__status{
  flex-shrink:0;
}
.ca-rev-kit-row__deal{
  font-size:13px;
  color:#374151;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ca-rev-kit-row__author{
  font-size:13px;
  color:#6b7280;
  white-space:nowrap;
}
.ca-rev-kit-row__requested-for{
  display:block;
  font-size:11px;
  color:#4f46e5;
  margin-top:2px;
}
.ca-rev-kit-row__seller{
  display:block;
  font-size:11px;
  color:#8b5cf6;
  margin-top:2px;
}
.ca-rev-kit-row__actions{
  flex-shrink:0;
}
.ca-rev-kit-row__menu{
  background:none;
  border:none;
  cursor:pointer;
  padding:4px;
  border-radius:4px;
  color:#9ca3af;
}
.ca-rev-kit-row__menu:hover{
  background:#f3f4f6;
  color:#374151;
}
.ca-rev-kit-row__menu-wrap{
  position:relative;
}
.ca-rev-kit-dropdown{
  display:none;
  position:absolute;
  top:100%;
  right:0;
  margin-top:4px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  min-width:130px;
  z-index:50;
  padding:4px 0;
}
.ca-rev-kit-dropdown.is-open{
  display:block;
}
.ca-rev-kit-dropdown__item{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  padding:8px 14px;
  border:none;
  background:none;
  font-size:13px;
  color:#374151;
  cursor:pointer;
  white-space:nowrap;
}
.ca-rev-kit-dropdown__item:hover{
  background:#f3f4f6;
}
.ca-rev-kit-dropdown__item--danger{
  color:#dc2626;
}
.ca-rev-kit-dropdown__item--danger:hover{
  background:#fef2f2;
}
.ca-rev-kit-dropdown__sep{
  height:1px;
  background:#e5e7eb;
  margin:4px 0;
}
.ca-customer-item.is-selected{
  background:#eff6ff;
  border-color:#3b82f6;
}
/* View modal content */
.ca-rm-view__meta{
  font-size:15px;
  margin-bottom:12px;
}
.ca-rm-view__status{
  font-weight:600;
}
.ca-rm-view__user{
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid #e5e7eb;
  line-height:1.5;
}
.ca-rm-view__dl{
  display:grid;
  grid-template-columns:minmax(120px,28%) 1fr;
  gap:10px 20px;
  margin:0;
  font-size:14px;
}
.ca-rm-view__dl dt{
  margin:0;
  font-weight:600;
  color:#374151;
}
.ca-rm-view__dl dd{
  margin:0;
  color:#111827;
  word-break:break-word;
  overflow-wrap:anywhere;
  min-width:0;
}
.ca-rm-view__dl dd a{
  color:#4f46e5;
  word-break:break-all;
}
.ca-rm-view__heading{
  font-weight:700;
  font-size:14px;
  border-bottom:1px solid #e5e7eb;
  padding-bottom:4px;
  margin-top:8px;
  grid-column:1/-1;
}
@media(max-width:600px){
  .ca-rm-view__dl{
    grid-template-columns:1fr;
  }
  .ca-rm-view__dl dt{
    padding-bottom:0;
  }
}
.ca-rev-kit-empty{
  text-align:center;
  padding:60px 20px;
  color:#9ca3af;
}
.ca-rev-kit-empty svg{margin-bottom:8px;}
.ca-rev-kit-empty p{margin:0;font-size:14px;}

/* ── Revenue badges ── */
.ca-rev-badge{
  display:inline-block;
  padding:3px 10px;
  border-radius:6px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
  white-space:nowrap;
}
.ca-rev-badge--orange{background:#fff7ed;color:#c2410c;}
.ca-rev-badge--blue{background:#eff6ff;color:#1d4ed8;}
.ca-rev-badge--green{background:#f0fdf4;color:#15803d;}
.ca-rev-badge--gray{background:#f3f4f6;color:#6b7280;}
.ca-rev-badge--yellow{background:#fefce8;color:#a16207;}
.ca-rev-badge--purple{background:#faf5ff;color:#7c3aed;}

/* ── Customer list (Select Customer Modal) ── */
.ca-customer-search{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  margin-bottom:14px;
  background:#fff;
}
.ca-customer-search input{
  border:none;
  outline:none;
  flex:1;
  font-size:14px;
  color:#111827;
  background:transparent;
}
.ca-customer-search input::placeholder{color:#9ca3af;}

.ca-customer-list{
  display:flex;
  flex-direction:column;
  gap:0;
  max-height:340px;
  overflow-y:auto;
  margin-bottom:14px;
}
.ca-customer-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border:1px solid #e5e7eb;
  border-bottom:none;
  background:#fff;
  cursor:pointer;
  text-align:left;
  width:100%;
  transition:background .15s;
}
.ca-customer-item:first-child{border-radius:10px 10px 0 0;}
.ca-customer-item:last-child{border-bottom:1px solid #e5e7eb;border-radius:0 0 10px 10px;}
.ca-customer-item:only-child{border-radius:10px;border-bottom:1px solid #e5e7eb;}
.ca-customer-item:hover{background:#f9fafb;}
.ca-customer-item__icon{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f0ff;
  border-radius:10px;
  color:#7c3aed;
  flex-shrink:0;
}
.ca-customer-item__info{
  flex:1;
  min-width:0;
}
.ca-customer-item__name{
  font-size:15px;
  font-weight:600;
  color:#111827;
}
.ca-customer-item__meta{
  font-size:13px;
  color:#6b7280;
  margin-top:1px;
}
.ca-customer-item__stats{
  font-size:12px;
  color:#9ca3af;
  margin-top:2px;
}
.ca-customer-item__arrow{
  flex-shrink:0;
  color:#d1d5db;
}
.ca-customer-empty{
  text-align:center;
  padding:32px 16px;
  color:#9ca3af;
  font-size:14px;
}
.ca-customer-add-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  padding:12px;
  border:1px dashed #d1d5db;
  border-radius:10px;
  background:#fff;
  color:#6b7280;
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  transition:border-color .15s,color .15s;
}
.ca-customer-add-btn:hover{
  border-color:#6366f1;
  color:#6366f1;
}

/* ── Responsive adjustments ── */
@media(max-width:1024px){
  .ca-rev-kit-header{
    display:none;
  }
  .ca-rev-kit-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .ca-rev-kit-row__deal,
  .ca-rev-kit-row__author{
    font-size:12px;
  }
}
.ca-dashboard__content .ca-rev-mgmt{
  padding:0;
}

/* Wizard loader overlay inside modal body */
.ca-rm-loader[hidden]{display:none!important;}
.ca-rm-loader{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:60px 20px;
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.92);
  z-index:5;
}
.ca-rm-loader__spinner{
  width:32px;
  height:32px;
  border:3px solid #e5e7eb;
  border-top-color:#6366f1;
  border-radius:50%;
  animation:caRmSpin .6s linear infinite;
}
@keyframes caRmSpin{to{transform:rotate(360deg)}}
.ca-rm-loader__text{
  margin-top:12px;
  font-size:13px;
  color:#6b7280;
}
.ca-modal__body{
  position:relative;
}

/* Add New Customer form */
.ca-new-customer-form{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:4px 0;
}
.ca-form-row{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.ca-form-row--split{
  flex-direction:row;
  gap:12px;
}
.ca-form-col{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.ca-form-label{
  font-size:13px;
  font-weight:600;
  color:#374151;
}
.ca-required{
  color:#ef4444;
}
.ca-form-input{
  width:100%;
  padding:9px 12px;
  font-size:14px;
  border:1px solid #d1d5db;
  border-radius:8px;
  outline:none;
  transition:border-color .15s;
  box-sizing:border-box;
}
.ca-form-input:focus{
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.12);
}

@media(max-width:640px){
  .ca-form-row--split{
    flex-direction:column;
  }
  .ca-rev-mgmt{padding:16px;}
  .ca-dashboard__content .ca-rev-mgmt{padding:0;}
  .ca-rev-mgmt__title{font-size:22px;}
  .ca-modal__panel--form{
    width:96vw !important;
    max-height:100vh; max-height:100dvh;
    padding:16px 18px;
  }
  .ca-modal__panel--form .ca-modal__actions{
    position:sticky;
    bottom:0;
    background:#fff;
    padding:12px 0 4px;
    z-index:5;
    box-shadow:0 -4px 12px rgba(0,0,0,.06);
  }
}

/* ══════════════════════════════════════════════════════════════════════
   Scheduling & One-Pager — Sub-tabs
   ══════════════════════════════════════════════════════════════════════ */
.ca-sop-tabs{
  display:flex;
  gap:0;
  border-bottom:2px solid #e5e7eb;
  margin-bottom:24px;
}
.ca-sop-tabs__btn{
  padding:10px 20px;
  font-size:14px;
  font-weight:600;
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  color:#6b7280;
  cursor:pointer;
  transition:color .2s,border-color .2s;
  white-space:nowrap;
}
.ca-sop-tabs__btn:hover{
  color:#111827;
}
.ca-sop-tabs__btn.is-active{
  color:#6366f1;
  border-bottom-color:#6366f1;
}
.ca-sop-pane{
  display:none;
}
.ca-sop-pane.is-active{
  display:block;
}

/* ── Scheduling: Leads tab (polished layout + pagination) ── */
.wrap .ca-sop-leads-panel{
  background:linear-gradient(180deg,#fafbff 0%,#fff 48px);
  border:1px solid #e5e7eb;
  border-radius:12px;
  box-shadow:0 1px 3px rgba(15,23,42,.06);
  padding:24px 28px 28px;
}
.ca-sop-leads__head{
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid #f1f5f9;
}
.ca-sop-leads__title{
  margin:0 0 6px;
  font-size:22px;
  font-weight:700;
  color:#0f172a;
  letter-spacing:-.02em;
}
.ca-sop-leads__desc{
  margin:0;
  font-size:14px;
  color:#64748b;
  line-height:1.5;
  max-width:720px;
}
.ca-sop-leads__toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:14px 20px;
  margin-bottom:20px;
  padding:16px 18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:10px;
}
.ca-sop-leads__search-wrap{
  flex:1;
  min-width:220px;
}
.ca-sop-leads__search{
  width:100%;
  max-width:400px;
  border-radius:8px;
  border:1px solid #cbd5e1;
  padding:8px 12px;
  font-size:14px;
}
.ca-sop-leads__date-wrap{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.ca-sop-leads__date-label{
  font-size:13px;
  font-weight:600;
  color:#475569;
}
.ca-sop-leads__date{
  border-radius:8px;
  border:1px solid #cbd5e1;
  padding:7px 10px;
}
.ca-sop-leads__clear-date{
  border-radius:8px;
}
.ca-sop-leads__loading{
  padding:24px;
  text-align:center;
  color:#64748b;
  font-size:14px;
}
.ca-sop-leads__table-card{
  border:1px solid #e2e8f0;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.ca-sop-leads__table-wrap{
  margin:0;
  overflow-x:auto;
  border:none;
  border-radius:0;
}
.ca-sop-leads__table thead th{
  background:#f1f5f9;
  color:#334155;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:600;
  padding:12px 14px;
  border-bottom:1px solid #e2e8f0;
}
.ca-sop-leads__table tbody td{
  padding:12px 14px;
  vertical-align:middle;
  border-bottom:1px solid #f1f5f9;
  font-size:14px;
}
.ca-sop-leads__table tbody tr:last-child td{
  border-bottom:none;
}
.ca-sop-leads__th-narrow{
  width:40px;
}
.ca-sop-leads__id{
  font-size:13px;
  background:#f1f5f9;
  padding:2px 8px;
  border-radius:6px;
  color:#475569;
}
.ca-sop-leads__name{
  font-weight:600;
  color:#0f172a;
}
.ca-sop-leads__email{
  color:#4f46e5;
  text-decoration:none;
}
.ca-sop-leads__email:hover{
  text-decoration:underline;
}
.ca-sop-leads__pill{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:9999px;
  font-size:12px;
  font-weight:600;
}
.ca-sop-leads__pill--scheduled{
  background:#dbeafe;
  color:#1d4ed8;
}
.ca-sop-leads__pill--pending{
  background:#f1f5f9;
  color:#64748b;
}
.ca-sop-pagination{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 20px;
  padding:14px 18px;
  background:#fafafa;
  border-top:1px solid #e2e8f0;
  font-size:13px;
}
.ca-sop-pagination__info{
  color:#475569;
  font-weight:500;
}
.ca-sop-pagination__controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
}
.ca-sop-pagination__per{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#64748b;
  font-size:13px;
}
.ca-sop-pagination__select{
  border-radius:8px;
  border:1px solid #cbd5e1;
  padding:6px 10px;
  min-width:72px;
  background:#fff;
}
.ca-sop-pagination__nav{
  display:flex;
  gap:8px;
}
.ca-sop-pagination__btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* ── Revenue Kit badges in admin table ── */
.ca-rev-badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:9999px;
  font-size:11px;
  font-weight:600;
  line-height:1.4;
  white-space:nowrap;
}
.ca-rev-badge--gray{background:#f3f4f6;color:#4b5563;}
.ca-rev-badge--yellow{background:#fef3c7;color:#d97706;}
.ca-rev-badge--blue{background:#dbeafe;color:#2563eb;}
.ca-rev-badge--green{background:#dcfce7;color:#16a34a;}
.ca-rev-badge--orange{background:#ffedd5;color:#ea580c;}

/* ── Advisory status badges in SOP tab ── */
.ca-adv-req__status{
  display:inline-block;
  padding:2px 8px;
  border-radius:9999px;
  font-size:11px;
  font-weight:600;
  line-height:1.4;
}
.ca-adv-req__status--pending{background:#fef3c7;color:#d97706;}
.ca-adv-req__status--in-progress{background:#dbeafe;color:#2563eb;}
.ca-adv-req__status--completed{background:#dcfce7;color:#16a34a;}
.ca-adv-req__status--cancelled{background:#fee2e2;color:#dc2626;}

/* ── Kit card: new status badge colors (client-side) ── */
.ca-lop-kit-card__badge--pending{
  background:#fef3c7;
  color:#d97706;
}
.ca-lop-kit-card__badge--in-progress{
  background:#dbeafe;
  color:#2563eb;
}
.ca-lop-kit-card__badge--completed{
  background:#dcfce7;
  color:#16a34a;
}

/* ── Kit card: result deliverable link ── */
.ca-lop-kit-card__result{
  margin:8px 0;
}
.ca-lop-kit-card__result .ca-btn--sm{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  padding:6px 14px;
  border-radius:6px;
}
.ca-lop-kit-card__result .ca-btn--sm svg{
  flex-shrink:0;
}

/* Revenue Kit Management: read-only request detail modal */
.ca-sop-rk-view{
  padding:4px 0;
}
.ca-sop-rk-view__meta{
  font-size:15px;
  margin-bottom:12px;
}
.ca-sop-rk-view__user{
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid #e5e7eb;
  line-height:1.5;
}
.ca-sop-rk-view__status{
  font-weight:600;
}
.ca-sop-rk-view__dl{
  display:grid;
  grid-template-columns:minmax(120px,28%) 1fr;
  gap:10px 20px;
  margin:0;
  font-size:14px;
}
.ca-sop-rk-view__dl dt{
  margin:0;
  font-weight:600;
  color:#374151;
}
.ca-sop-rk-view__dl dd{
  margin:0;
  color:#111827;
  word-break:break-word;
  overflow-wrap:anywhere;
  min-width:0;
}
.ca-sop-rk-view__dl dd a{
  word-break:break-all;
}
@media(max-width:600px){
  .ca-sop-rk-view__dl{
    grid-template-columns:1fr;
  }
  .ca-sop-rk-view__dl dt{
    padding-bottom:0;
  }
}

/* ═══════════════════════════════════════════════
   Company Management
   ═══════════════════════════════════════════════ */

.ca-comp-create-form,
.ca-comp-detail{
  background: var(--ca-surface, #fff);
  border: 1px solid var(--ca-border, #e2e8f0);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.ca-comp-create-form h3,
.ca-comp-detail h3{
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 600;
}

.ca-sadm-create-form__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.ca-sadm-create-form__grid label{
  display: flex;
  flex-direction: column;
  font-size: .85rem;
  font-weight: 500;
  gap: .35rem;
}
.ca-sadm-create-form__grid input,
.ca-sadm-create-form__grid select,
.ca-sadm-create-form__grid textarea{
  padding: .45rem .6rem;
  border: 1px solid var(--ca-border, #d1d5db);
  border-radius: 6px;
  font-size: .85rem;
}
.ca-sadm-create-form__full{
  grid-column: 1 / -1;
}
.ca-sadm-create-form__actions{
  display: flex;
  gap: .75rem;
  margin-top: 1rem;
  align-items: center;
}
.ca-comp-create-msg{
  font-size: .85rem;
  color: var(--ca-muted, #6b7280);
  margin: .5rem 0 0;
}

/* Detail panel */
.ca-comp-detail{
  position: relative;
}
.ca-sadm-detail__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.ca-sadm-detail__header h2{
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
}
.ca-sadm-detail__close{
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  line-height: 1;
  padding: 0 .25rem;
  color: var(--ca-muted, #6b7280);
}

.ca-comp-detail__fields{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.ca-comp-detail__fields label{
  display: flex;
  flex-direction: column;
  font-size: .85rem;
  font-weight: 500;
  gap: .35rem;
}
.ca-comp-detail__fields input,
.ca-comp-detail__fields select,
.ca-comp-detail__fields textarea{
  padding: .45rem .6rem;
  border: 1px solid var(--ca-border, #d1d5db);
  border-radius: 6px;
  font-size: .85rem;
}

.ca-comp-detail__save-row{
  display: flex;
  gap: .75rem;
  align-items: center;
  margin: 1rem 0;
}
.ca-comp-detail-msg{
  font-size: .85rem;
  color: var(--ca-muted, #6b7280);
}

.ca-btn-danger{
  background: #ef4444;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: .4rem .75rem;
  cursor: pointer;
  font-size: .82rem;
}
.ca-btn-danger:hover{
  background: #dc2626;
}

.ca-btn--xs{
  font-size: .75rem;
  padding: .25rem .5rem;
}

.ca-comp-row-delete{
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  padding: .25rem .4rem;
  border-radius: 4px;
  opacity: .45;
  transition: opacity .15s, background .15s;
}
.ca-comp-row-delete:hover{
  opacity: 1;
  background: #fef2f2;
}
.ca-comp-table th:last-child,
.ca-comp-table td:last-child{
  width: 3rem;
  text-align: center;
}

.ca-btn-danger-inline{
  color: #dc2626 !important;
  border-color: #fca5a5 !important;
  background: #fff !important;
}
.ca-btn-danger-inline:hover{
  background: #fef2f2 !important;
  border-color: #dc2626 !important;
  color: #b91c1c !important;
}

/* Members add row */
.ca-comp-members-add{
  display: flex;
  gap: .75rem;
  align-items: center;
  margin-bottom: 1rem;
}
.ca-comp-members-add input,
.ca-comp-members-add select{
  padding: .4rem .6rem;
  border: 1px solid var(--ca-border, #d1d5db);
  border-radius: 6px;
  font-size: .85rem;
}
.ca-comp-members-add__search-wrap{
  position:relative;
  flex:1;
  min-width:200px;
}
.ca-comp-members-add__search{
  width:100%;
  box-sizing:border-box;
}
.ca-comp-members-add__dropdown{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:50;
  background:#fff;
  border:1px solid #d1d5db;
  border-top:none;
  border-radius:0 0 6px 6px;
  max-height:220px;
  overflow-y:auto;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.ca-comp-members-add__dropdown[hidden]{ display:none; }
.ca-comp-members-add__dropdown-item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  cursor:pointer;
  font-size:.85rem;
  border-bottom:1px solid #f3f4f6;
}
.ca-comp-members-add__dropdown-item:last-child{ border-bottom:none; }
.ca-comp-members-add__dropdown-item:hover{
  background:#f3f4f6;
}
.ca-comp-members-add__dropdown-name{
  font-weight:600;
  color:#111827;
}
.ca-comp-members-add__dropdown-email{
  color:#6b7280;
  font-size:.8rem;
}
.ca-comp-members-add__dropdown-empty{
  padding:10px;
  color:#9ca3af;
  font-size:.85rem;
  text-align:center;
}
.ca-comp-members-add__selected{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#ede9fe;
  color:#6d28d9;
  border-radius:4px;
  padding:2px 8px;
  font-size:.8rem;
  font-weight:500;
}
.ca-comp-members-add__selected-clear{
  cursor:pointer;
  font-weight:700;
  color:#6d28d9;
  margin-left:2px;
}

.ca-comp-members-table .ca-comp-member-role{
  padding: .3rem .4rem;
  border: 1px solid var(--ca-border, #d1d5db);
  border-radius: 4px;
  font-size: .8rem;
}

@media (max-width: 768px){
  .ca-sadm-create-form__grid,
  .ca-comp-detail__fields{
    grid-template-columns: 1fr;
  }
  .ca-comp-detail__save-row{
    flex-wrap: wrap;
  }
  .ca-comp-members-add{
    flex-wrap: wrap;
  }
}

/* ──────────────────────────────────────────────────────────────────────────
 * Atlas Surfaces "Schedule a Call" — self-contained styles for /atlas-surfaces.
 * Mirrors the older .ca-gs-* gate-modal/banner/reminder styles under a new
 * .ca-as-* prefix so this flow stays independent of the deprecated /onboarding.
 * ────────────────────────────────────────────────────────────────────────── */

/* CTA row sitting just under the topbar */
.ca-as-call-cta{
  display:flex;
  justify-content:center;
  margin:-12px 0 8px;
}
.ca-as-call-cta__btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 22px;
  font-size:14px;
  font-weight:600;
  border-radius:10px;
  box-shadow:0 6px 18px rgba(124,58,237,0.18);
}

/* Scheduled banner */
.ca-as-call-banner{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 20px;
  background:linear-gradient(135deg,#ede9fe 0%,#dbeafe 100%);
  border:1px solid #c4b5fd;
  border-radius:12px;
  margin:0 auto 18px;
  max-width:680px;
  font-size:14px;
  color:#3730a3;
}
.ca-as-call-banner__icon{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:8px;
  background:#fff;
  color:#7c3aed;
}
.ca-as-call-banner__text{
  flex:1;
  line-height:1.4;
}
.ca-as-call-banner__btn{
  background:none;
  border:1px solid #7c3aed;
  color:#7c3aed;
  padding:6px 16px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s, color .15s;
}
.ca-as-call-banner__btn:hover{
  background:#7c3aed;
  color:#fff;
}

/* Overlay used while the call modal is open */
.ca-as-overlay{
  position:fixed;
  inset:0;
  z-index:998;
  background:rgba(0,0,0,0.35);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

/* Schedule call modal */
.ca-as-call-modal{
  position:fixed;
  inset:0;
  z-index:999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ca-as-call-modal.is-open{
  display:flex;
}
.ca-as-call-modal__backdrop{
  position:absolute;
  inset:0;
  cursor:pointer;
}
.ca-as-call-modal__panel{
  position:relative;
  z-index:1;
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,0.2);
  max-width:620px;
  width:100%;
  padding:40px 36px 36px;
  max-height:90vh;
  overflow-y:auto;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-as-call-modal__panel,
.ca-as-call-modal__panel *,
.ca-as-call-modal__panel input,
.ca-as-call-modal__panel select,
.ca-as-call-modal__panel textarea,
.ca-as-call-modal__panel button{
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-as-call-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  background:transparent;
  font-size:28px;
  line-height:1;
  color:#6b7280;
  cursor:pointer;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .15s ease, background .15s ease;
}
.ca-as-call-modal__close:hover{
  color:#111827;
  background:#f3f4f6;
}
.ca-as-call-modal__badge{
  display:inline-block;
  padding:4px 14px;
  border-radius:20px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.4px;
  text-transform:uppercase;
  color:#7c3aed;
  background:#ede9fe;
  margin-bottom:8px;
}
.ca-as-call-modal__title{
  font-size:22px;
  font-weight:700;
  color:#1a1a2e;
  margin:8px 0 6px;
}
.ca-as-call-modal__desc{
  font-size:14px;
  color:#555;
  line-height:1.55;
  margin:0 0 24px;
}
.ca-as-call-modal__next{
  width:100%;
  margin-top:12px;
}
.ca-as-call-modal__hint{
  font-size:13px;
  color:#6b7280;
  text-align:center;
  margin-top:12px;
}
.ca-as-call-modal__dismiss{
  margin:16px 0 0;
  text-align:center;
}
.ca-as-call-modal__dismiss-btn{
  background:none;
  border:0;
  padding:0;
  font-size:14px;
  color:#6b7280;
  cursor:pointer;
  text-decoration:underline;
  transition:color .15s ease;
}
.ca-as-call-modal__dismiss-btn:hover{
  color:#111827;
}
.ca-as-bookme-wrap{
  min-height:300px;
}
.ca-as-call-confirm{
  text-align:center;
  padding:20px 0;
}
.ca-as-call-confirm svg{
  margin-bottom:16px;
}
.ca-as-call-confirm h3{
  font-size:20px;
  font-weight:700;
  margin:0 0 8px;
  color:#1a1a2e;
}
.ca-as-call-confirm p{
  font-size:14px;
  color:#555;
  margin:0 0 20px;
}

/* Reminder modal (View Details on banner) */
.ca-as-reminder-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ca-as-reminder-modal.is-open{
  display:flex;
}
.ca-as-reminder-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.3);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.ca-as-reminder-modal__panel{
  position:relative;
  z-index:1;
  background:#fff;
  border-radius:14px;
  box-shadow:0 16px 48px rgba(0,0,0,0.16);
  max-width:420px;
  width:100%;
  padding:32px 28px;
  text-align:center;
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-as-reminder-modal__panel,
.ca-as-reminder-modal__panel *{
  font-family:"Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.ca-as-reminder-modal__close{
  position:absolute;
  top:12px;
  right:14px;
  background:none;
  border:none;
  font-size:20px;
  cursor:pointer;
  color:#666;
  padding:4px 8px;
  border-radius:6px;
}
.ca-as-reminder-modal__close:hover{
  background:#f0f0f0;
}
.ca-as-reminder-modal__panel h3{
  font-size:18px;
  font-weight:700;
  margin:0 0 10px;
}
.ca-as-reminder-modal__panel p{
  font-size:14px;
  color:#555;
  margin:0 0 16px;
}
.ca-as-reminder-modal__panel .ca-btn{
  margin-bottom:12px;
}
.ca-as-reminder-modal__hint{
  font-size:13px;
  color:#6b7280;
}

@media (max-width:640px){
  .ca-as-call-modal__panel{
    padding:28px 20px 24px;
  }
  .ca-as-call-banner{
    flex-direction:column;
    text-align:center;
  }
}

/* ───────────────────────────────────────────────────────────────
   Atlas Roles admin page (wp-admin)
   ─────────────────────────────────────────────────────────────── */
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-section{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:8px;
  padding:18px 22px;
  margin-top:20px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-section h2{
  margin-top:0;
  margin-bottom:12px;
  font-size:15px;
  color:#0f172a;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-search{
  margin-bottom:14px;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-table th,
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-table td{
  vertical-align:middle;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-row-form{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-role-select{
  min-width:180px;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-row-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:#475569;
  background:#f1f5f9;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid #e2e8f0;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-row-toggle input[type=checkbox]{
  margin:0;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-row-toggle input[type=checkbox]:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-toggle-label{
  font-weight:600;
  color:#1e293b;
}
.cloudatlas-atlas-roles-page .cloudatlas-atlas-roles-add-form{
  max-width:680px;
}
.cloudatlas-atlas-roles-page code{
  background:#f1f5f9;
  padding:2px 6px;
  border-radius:4px;
}

/* ── "Browse all surfaces" view inside the catalog modal ── */
/* Honor the [hidden] attribute even when we set display on the element. */
[data-ca-catalog-view][hidden] { display: none !important; }
.ca-surface-catalog__all-view { display:flex; flex-direction:column; gap:14px; }
.ca-surface-catalog__all-header { display:flex; flex-direction:column; gap:10px; }

/* Catalog footer cards — clean card with soft icon tile */
.ca-surface-catalog__footer-link {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:14px 16px;
  display:flex; align-items:center; gap:12px;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.ca-surface-catalog__footer-link:hover {
  border-color:#c7d2fe;
  box-shadow:0 6px 16px -8px rgba(99,102,241,.35);
  background:#fff;
}
.ca-surface-catalog__footer-link > svg:first-child {
  flex-shrink:0;
  width:38px; height:38px;
  padding:9px;
  background:#ede9fe;
  color:#7c3aed;
  border-radius:10px;
  box-sizing:border-box;
}
.ca-surface-catalog__footer-link > span {
  flex:1; min-width:0;
  font-size:12px; color:#6b7280; line-height:1.35;
}
.ca-surface-catalog__footer-link > span strong {
  display:block;
  font-size:14px; font-weight:600; color:#111827;
  margin-bottom:2px;
}
.ca-surface-catalog__footer-link .ca-surface-catalog__arrow { color:#9ca3af; flex-shrink:0; }

/* "Browse all surfaces" — primary action: subtle indigo accent on hover only */
.ca-surface-catalog__footer-link--primary > svg:first-child {
  background:#dbeafe;
  color:#2563eb;
}
.ca-surface-catalog__footer-link--primary:hover .ca-surface-catalog__arrow { color:#2563eb; }

/* "Help me decide" disabled / coming soon */
.ca-surface-catalog__footer-link--disabled {
  cursor:not-allowed;
  background:#f9fafb;
  border-color:#e5e7eb;
  opacity:.85;
}
.ca-surface-catalog__footer-link--disabled:hover {
  border-color:#e5e7eb;
  box-shadow:none;
  transform:none;
}
.ca-surface-catalog__footer-link--disabled > svg:first-child {
  background:#f3f4f6;
  color:#9ca3af;
}
.ca-surface-catalog__footer-link--disabled > span,
.ca-surface-catalog__footer-link--disabled > span strong { color:#9ca3af; }
.ca-surface-catalog__coming-soon {
  flex-shrink:0;
  background:#fff;
  color:#6b7280;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:3px 10px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ca-surface-catalog__back-link {
  align-self:flex-start;
  display:inline-flex; align-items:center; gap:6px;
  background:transparent; border:none; color:#6366f1; cursor:pointer;
  font-size:13px; font-weight:600; padding:0;
}
.ca-surface-catalog__back-link:hover { text-decoration:underline; }
.ca-surface-catalog__all-title-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.ca-surface-catalog__all-title { margin:0; font-size:18px; font-weight:700; color:#111827; }
.ca-surface-catalog__all-count { font-size:12px; color:#6b7280; }
.ca-surface-catalog__search {
  display:flex; align-items:center; gap:8px;
  border:1px solid #e5e7eb; border-radius:8px;
  padding:8px 12px; background:#f9fafb;
}
.ca-surface-catalog__search input {
  border:none; outline:none; background:transparent; flex:1;
  font-size:13px; color:#111827;
}
.ca-surface-catalog__all-list { display:flex; flex-direction:column; gap:10px; max-height:55vh; overflow-y:auto; }
.ca-surface-catalog__card--all .ca-surface-catalog__card-icon { color:#6d28d9; }
.ca-surface-catalog__card-icon--blue { color:#1d4ed8; }
.ca-surface-catalog__card-icon--green { color:#15803d; }
.ca-surface-catalog__card-icon--purple { color:#6d28d9; }
.ca-surface-catalog__card-icon--orange { color:#c2410c; }
.ca-surface-catalog__card-icon--pink { color:#db2777; }
.ca-surface-catalog__card-icon--teal { color:#0d9488; }
.ca-surface-catalog__card-icon--gray { color:#4b5563; }

.ca-surface-catalog__tag--pink { background:#fce7f3; color:#be185d; }
.ca-surface-catalog__tag--gray { background:#f3f4f6; color:#374151; }
.ca-surface-catalog__tag--teal { background:#ccfbf1; color:#0f766e; }

.ca-surface-catalog__card-cta--blue   { background:linear-gradient(135deg,#1d4ed8,#3b82f6); }
.ca-surface-catalog__card-cta--green  { background:linear-gradient(135deg,#15803d,#22c55e); }
.ca-surface-catalog__card-cta--purple { background:linear-gradient(135deg,#6d28d9,#8b5cf6); }
.ca-surface-catalog__card-cta--orange { background:linear-gradient(135deg,#c2410c,#f97316); }
.ca-surface-catalog__card-cta--pink   { background:linear-gradient(135deg,#be185d,#ec4899); }
.ca-surface-catalog__card-cta--teal   { background:linear-gradient(135deg,#0f766e,#14b8a6); }
.ca-surface-catalog__card-cta--gray   { background:linear-gradient(135deg,#374151,#6b7280); }
.ca-surface-catalog__all-empty { text-align:center; color:#6b7280; font-size:13px; padding:20px 0; }

/* ── Universal Surface Wizard (3-step) ── */
.ca-universal-wizard .ca-wizard__progress { background:#f3f4f6; }
.ca-universal-wizard .ca-wizard__progress-bar { background:linear-gradient(90deg,#6d28d9,#8b5cf6); }
.ca-universal-q { margin-bottom:18px; }
.ca-universal-q__other { margin-top:8px; }
.ca-universal-step3-status {
  margin-top:14px; padding:14px; border:1px solid #d1fae5; background:#f0fdf4;
  border-radius:10px; display:flex; gap:12px; align-items:flex-start;
}
.ca-universal-step3-status__icon { color:#15803d; flex-shrink:0; }
.ca-universal-step3-status__body { display:flex; flex-direction:column; gap:4px; font-size:13px; color:#065f46; }
.ca-universal-step3-status__body strong { font-size:14px; color:#064e3b; }
.ca-universal-step3-status__body a { color:#0d9488; text-decoration:underline; }

.ca-btn-ghost {
  background:transparent; color:#6b7280; border:1px solid #e5e7eb;
  padding:9px 18px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer;
}
.ca-btn-ghost:hover { background:#f9fafb; color:#374151; }

/* Universal wizard buttons must respect the [hidden] attribute even though
   .ca-btn sets display:inline-flex. */
.ca-universal-wizard .ca-btn[hidden],
.ca-universal-wizard button[hidden] { display: none !important; }
/* Once the booking is confirmed, hide the embedded Bookme widget so we don't
   surface its built-in "Thank you!" + "New booking" UI on top of our own
   success card. */
#caUniversalStep3.is-booked .ca-as-bookme-wrap { display: none !important; }

/* While we walk Bookme back to its calendar step (after a close / before
   a re-open), keep the wrap in the layout but invisible — otherwise the
   user briefly sees the previous request's detail/done step flash before
   it swaps back. visibility:hidden (not display:none) preserves the
   offsetParent visibility check our reset routine relies on. */
.ca-as-bookme-wrap.ca-bookme-resetting { visibility: hidden !important; }

/* Conditional reveal fields inside the universal questions */
.ca-universal-q__other[hidden],
.ca-universal-q__upload[hidden],
.ca-uni-upload__list[hidden] { display: none !important; }
.ca-universal-q__other { margin-top: 8px; }
.ca-universal-q__upload { margin-top: 10px; }

/* === Universal-wizard upload dropzone =================================== */
.ca-uni-upload { display: flex; flex-direction: column; gap: 10px; }
.ca-uni-upload__zone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 22px 18px;
  border: 1.5px dashed #c7d2fe;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8faff 0%, #f4f6ff 100%);
  color: #4b5563;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .05s ease, box-shadow .15s ease;
  outline: none;
}
.ca-uni-upload__zone:hover,
.ca-uni-upload__zone:focus-visible {
  border-color: #8b5cf6;
  background: #f5f3ff;
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.10);
}
.ca-uni-upload__zone.is-drag {
  border-color: #7c3aed;
  background: #ede9fe;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.15);
}
.ca-uni-upload__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.ca-uni-upload__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ede9fe;
  color: #7c3aed;
  margin-bottom: 2px;
}
.ca-uni-upload__title {
  font-size: 13.5px;
  color: #374151;
}
.ca-uni-upload__title strong {
  color: #6d28d9;
  font-weight: 600;
}
.ca-uni-upload__sub {
  font-size: 12px;
  color: #9ca3af;
}

/* File chip list */
.ca-uni-upload__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ca-uni-upload__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}
.ca-uni-upload__file-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #f3f4f6;
  color: #6b7280;
  flex: 0 0 auto;
}
.ca-uni-upload__file-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.ca-uni-upload__file-name {
  font-size: 13px;
  color: #111827;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ca-uni-upload__file-size {
  font-size: 11.5px;
  color: #9ca3af;
}
.ca-uni-upload__remove {
  appearance: none;
  border: none;
  background: transparent;
  color: #9ca3af;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: color .15s ease, background .15s ease;
}
.ca-uni-upload__remove:hover {
  color: #b91c1c;
  background: #fef2f2;
}

/* === Universal-wizard upload progress bar =============================== */
.ca-uni-progress[hidden] { display: none !important; }
.ca-uni-progress {
  margin: 10px 0 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ca-uni-progress__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12.5px;
  color: #4b5563;
}
.ca-uni-progress__label {
  font-weight: 500;
  color: #374151;
}
.ca-uni-progress__pct {
  font-variant-numeric: tabular-nums;
  color: #6d28d9;
  font-weight: 600;
}
.ca-uni-progress__track {
  position: relative;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #ede9fe;
  overflow: hidden;
}
.ca-uni-progress__bar {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, #8b5cf6 0%, #6d28d9 100%);
  transition: width .25s ease;
  position: relative;
  overflow: hidden;
}
/* Subtle barber-pole shimmer while uploading */
.ca-uni-progress__bar::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.18) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.18) 50%,
    rgba(255, 255, 255, 0.18) 75%,
    transparent 75%,
    transparent
  );
  background-size: 16px 16px;
  animation: ca-uni-progress-stripes 1s linear infinite;
}
.ca-uni-progress.is-success .ca-uni-progress__bar {
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
}
.ca-uni-progress.is-success .ca-uni-progress__bar::after { display: none; }
.ca-uni-progress.is-success .ca-uni-progress__pct { color: #059669; }
.ca-uni-progress.is-error .ca-uni-progress__bar {
  background: linear-gradient(90deg, #f87171 0%, #dc2626 100%);
}
.ca-uni-progress.is-error .ca-uni-progress__bar::after { display: none; }
.ca-uni-progress.is-error .ca-uni-progress__pct { color: #dc2626; }
@keyframes ca-uni-progress-stripes {
  from { background-position: 0 0; }
  to   { background-position: 16px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ca-uni-progress__bar { transition: none; }
  .ca-uni-progress__bar::after { animation: none; }
}

