.cbc-wrap, .cbc-card, .cbc-form, .cbc-search-form { box-sizing: border-box; }
.cbc-card {
  background: #ffffff;
  border: 1px solid #e5efe7;
  border-radius: 18px;
  padding: 20px;
  margin: 0 0 20px;
  box-shadow: 0 8px 24px rgba(20, 50, 20, 0.05);
}
.cbc-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.cbc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.cbc-form label { display:block; font-weight:600; margin: 0 0 8px; color:#183222; }
.cbc-form input, .cbc-form textarea, .cbc-search-form input {
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid #d7e7da; background:#fff; margin:0 0 16px;
}
.cbc-btn, .cbc-link-btn, .cbc-delete-btn {
  display:inline-block; color:#123018 !important; border:none; border-radius:12px; padding:12px 16px;
  font-weight:700; text-decoration:none; cursor:pointer; box-shadow:none; line-height:1.1;
}
.cbc-btn, .cbc-link-btn { background:#9be38a; }
.cbc-btn:hover, .cbc-link-btn:hover { background:#89d97a; }
.cbc-delete-btn { background:#fff4f4; color:#7a1f1f !important; border:1px solid #f2cccc; }
.cbc-delete-btn:hover { background:#ffeaea; }
.cbc-top-row { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.cbc-top-row h3 { margin:0; font-size:1.15rem; color:#102917; }
.cbc-action-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.cbc-inline-form { margin:0; }
.cbc-meta { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.cbc-meta span, .cbc-badge { background:#f2fbef; color:#24552f; border-radius:999px; padding:6px 10px; font-size:.88rem; }
.cbc-contact-box { margin-top:16px; padding-top:14px; border-top:1px solid #e8f0ea; color:#21402a; }
.cbc-help { margin:4px 0 16px; color:#4b6451; }
.cbc-badge.active { background:#dff8d7; }
.cbc-badge.inactive { background:#fff4d8; color:#6a5314; }
.cbc-notice { padding:12px 14px; border-radius:12px; margin:0 0 16px; }
.cbc-notice.success { background:#e9fbe4; color:#1d4d22; }
.cbc-notice.error { background:#fde8e8; color:#7a1f1f; }
.cbc-search-form { display:flex; gap:10px; align-items:center; }
.cbc-search-form input { margin:0; }
.cbc-pagination { margin-top:18px; }
.cbc-pagination .page-numbers { display:inline-block; margin:0 6px 6px 0; padding:8px 12px; background:#fff; border:1px solid #d7e7da; border-radius:10px; text-decoration:none; }
.cbc-pagination .current { background:#9be38a; color:#123018; border-color:#9be38a; }
.cbc-opportunity-card { padding: 22px; }
.cbc-lock-copy { margin: 10px 0 12px; color:#4b6451; }
.cbc-locked-line { color:#32523a; opacity:.85; }
.cbc-unlock-btn { margin-top: 4px; }
.cbc-form-actions { display:flex; gap:10px; flex-wrap:wrap; }

.cbc-hero-card { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.cbc-eyebrow { display:inline-block; margin-bottom:10px; font-size:.82rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#2f7a3f; }
.cbc-hero-card h3 { margin:0 0 10px; font-size:1.6rem; line-height:1.2; color:#102917; }
.cbc-subcopy { margin:0; color:#4b6451; max-width:62ch; }
.cbc-hero-side { display:flex; flex-direction:column; gap:10px; align-items:flex-end; min-width:180px; }
.cbc-access-grid { margin-bottom:20px; }
.cbc-access-grid .cbc-card { margin:0; }
.cbc-price-row { display:grid; grid-template-columns:repeat(2,minmax(120px,1fr)); gap:12px; margin-top:12px; }
.cbc-price-box { border:1px solid #dceada; border-radius:16px; padding:14px; background:#fbfffa; }
.cbc-price-box span { display:block; color:#4b6451; font-size:.86rem; margin-bottom:6px; }
.cbc-price-box strong { font-size:1.3rem; color:#123018; }
.cbc-feature-list { margin:12px 0 0; padding-left:18px; color:#21402a; }
.cbc-feature-list li { margin:0 0 10px; }
.cbc-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-top:12px; }
.cbc-step { display:flex; gap:12px; align-items:flex-start; border:1px solid #e5efe7; border-radius:16px; padding:14px; background:#fbfffa; }
.cbc-step span { flex:0 0 32px; width:32px; height:32px; border-radius:999px; background:#9be38a; color:#123018; display:flex; align-items:center; justify-content:center; font-weight:700; }
.cbc-contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-top:16px; }
.cbc-contact-grid.compact { margin-top:12px; }
.cbc-contact-tile { border:1px solid #e5efe7; border-radius:16px; padding:14px; background:#fff; }
.cbc-contact-tile strong { display:block; margin-bottom:8px; color:#183222; }
.cbc-success-card { background:linear-gradient(180deg,#ffffff 0%,#f7fff4 100%); }

@media (max-width: 640px){
  .cbc-search-form { flex-direction:column; align-items:stretch; }
  .cbc-hero-card { flex-direction:column; }
  .cbc-hero-side { align-items:flex-start; min-width:0; }
  .cbc-price-row { grid-template-columns:1fr; }
  .cbc-action-row { width:100%; justify-content:flex-start; }
}


.cbc-action-row { position: relative; }
.cbc-actions-menu { position: relative; }
.cbc-actions-menu summary { list-style: none; }
.cbc-actions-menu summary::-webkit-details-marker { display:none; }
.cbc-actions-trigger {
  width: 42px; height: 42px; border-radius: 12px; border: 1px solid #d7e7da; background: #fff;
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:#1d3b22; font-size: 22px;
}
.cbc-actions-trigger span { line-height: 1; transform: translateY(-1px); }
.cbc-actions-menu[open] .cbc-actions-trigger,
.cbc-actions-trigger:hover { background:#f6fff3; border-color:#bfe4bd; }
.cbc-actions-dropdown {
  position: absolute; right: 0; top: calc(100% + 8px); min-width: 148px; z-index: 20;
  background:#fff; border:1px solid #d7e7da; border-radius: 14px; box-shadow: 0 14px 30px rgba(20,50,20,.10);
  padding: 8px;
}
.cbc-actions-item {
  display:block; width:100%; text-align:left; border:none; background:transparent; color:#17311d !important;
  text-decoration:none; padding:10px 12px; border-radius:10px; font-weight:600; cursor:pointer; font-size:.95rem;
}
.cbc-actions-item:hover { background:#f2fbef; }
.cbc-actions-delete { color:#8b2c2c !important; }
.cbc-actions-delete:hover { background:#fff3f3; }
.cbc-inline-form.cbc-actions-form { margin:0; }
.cbc-opportunity-card .cbc-top-row { align-items: flex-start; }
.cbc-opportunity-card .cbc-top-row h3 { padding-right: 8px; }
