/* RBC Lead Generation System */
:root{--lg-green:#1a4232;--lg-green2:#2d7a60;--lg-gold:#c9954a;--lg-red:#c0392b;--lg-blue:#185FA5;--lg-border:#e0e0e0;--lg-radius:10px;--lg-shadow:0 2px 14px rgba(0,0,0,.09);}

.rbc-leads-wrap{max-width:860px;}

/* ── Steps ──────────────────────── */
.rbc-leads-step{background:#fff;border:1.5px solid var(--lg-border);border-radius:var(--lg-radius);padding:1.5rem;margin-bottom:1.25rem;box-shadow:var(--lg-shadow);}
.rbc-leads-step-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap;}
.rbc-leads-step-header h3{margin:0;font-size:1.05rem;color:var(--lg-green);}
.rbc-leads-step-num{width:30px;height:30px;border-radius:50%;background:var(--lg-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0;}
.rbc-leads-back-btn{background:none;border:none;color:#888;font-size:.82rem;cursor:pointer;text-decoration:underline;padding:0;}

/* ── Category browser ───────────── */
.rbc-leads-search-wrap{margin-bottom:1rem;}
.rbc-leads-cat-group{margin-bottom:1.25rem;}
.rbc-leads-cat-group-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--lg-border);}
.rbc-leads-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem;}
.rbc-leads-cat-btn{display:flex;align-items:center;gap:.4rem;padding:.55rem .8rem;border-radius:7px;border:1.5px solid var(--lg-border);background:#fff;cursor:pointer;font-size:.82rem;font-weight:500;text-align:left;transition:all .15s;}
.rbc-leads-cat-btn:hover,.rbc-leads-cat-btn.selected{border-color:var(--lg-green2);background:#eef7f3;color:var(--lg-green);}
.rbc-leads-cat-icon{font-size:1rem;flex-shrink:0;}
.rbc-leads-cat-name{color:#333;line-height:1.2;}
.rbc-leads-selected-cat{background:#eef7f3;border-radius:6px;padding:.6rem .9rem;font-size:.875rem;font-weight:600;color:var(--lg-green);margin-bottom:1rem;}

/* ── Form fields ─────────────────── */
.rbc-leads-field{margin-bottom:.9rem;}
.rbc-leads-field label{display:block;font-size:.82rem;font-weight:600;color:#555;margin-bottom:.3rem;}
.rbc-leads-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;}
.rbc-leads-input{width:100%;padding:.6rem .85rem;border:1.5px solid var(--lg-border);border-radius:6px;font-size:.9rem;outline:none;transition:border-color .15s;font-family:inherit;box-sizing:border-box;}
.rbc-leads-input:focus{border-color:var(--lg-green2);}
textarea.rbc-leads-input{resize:vertical;}
.rbc-leads-field-hint{font-size:.75rem;color:#aaa;display:block;margin-top:.2rem;}
.rbc-leads-recommended{font-size:.72rem;background:#fff8e6;color:var(--lg-gold);padding:.1rem .4rem;border-radius:3px;font-weight:600;}

/* ── Dynamic questions ──────────── */
.rbc-leads-question{margin-bottom:.85rem;}
.rbc-leads-question label{display:block;font-size:.82rem;font-weight:600;color:#555;margin-bottom:.3rem;}

/* ── Privacy note ───────────────── */
.rbc-leads-privacy-note{background:#f0faf5;border-radius:6px;padding:.65rem .9rem;font-size:.8rem;color:var(--lg-green);margin-bottom:1rem;font-weight:500;}

/* ── Submit summary ─────────────── */
.rbc-leads-summary{background:#f8f8f8;border-radius:8px;padding:1rem;margin-bottom:1rem;font-size:.875rem;}
.rbc-leads-summary-row{display:flex;justify-content:space-between;padding:.3rem 0;border-bottom:1px solid #eee;}
.rbc-leads-summary-row:last-child{border-bottom:none;}
.rbc-leads-summary-label{color:#888;}
.rbc-leads-summary-val{font-weight:600;}

/* ── Buttons ─────────────────────── */
.rbc-leads-submit-btn{display:inline-flex;align-items:center;gap:.35rem;background:var(--lg-green2);color:#fff;border:none;padding:.75rem 1.6rem;border-radius:6px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .18s;text-decoration:none;}
.rbc-leads-submit-btn:hover{background:var(--lg-green);color:#fff;}
.rbc-leads-submit-btn:disabled{opacity:.5;cursor:not-allowed;}
.rbc-leads-final-btn{width:100%;justify-content:center;font-size:1rem;padding:.9rem;}
.rbc-leads-btn-outline{background:transparent;color:var(--lg-green2);border:1.5px solid var(--lg-green2);padding:.55rem 1.1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;text-decoration:none;}
.rbc-leads-btn-outline:hover{background:var(--lg-green2);color:#fff;}
.rbc-leads-fine-print{font-size:.75rem;color:#aaa;text-align:center;margin:.5rem 0 0;}

/* ── Success ─────────────────────── */
.rbc-leads-success{text-align:center;padding:1.5rem 1rem;}
.rbc-leads-success-icon{font-size:3rem;margin-bottom:.75rem;}
.rbc-leads-success h3{color:var(--lg-green);margin-bottom:.4rem;}
.rbc-leads-success-ref{font-family:monospace;background:#eef7f3;color:var(--lg-green);padding:.35rem .85rem;border-radius:4px;display:inline-block;margin:.5rem 0 1rem;font-weight:700;}
.rbc-leads-success-tips{background:#f8f8f8;border-radius:8px;padding:1rem 1.25rem;text-align:left;margin:1rem 0;}
.rbc-leads-success-tips h4{margin:0 0 .5rem;font-size:.9rem;}
.rbc-leads-success-tips ul{list-style:none;padding:0;margin:0;line-height:2;font-size:.85rem;}

/* ── Alerts ──────────────────────── */
.rbc-leads-error{background:#fde8e6;color:var(--lg-red);padding:.65rem .9rem;border-radius:6px;font-size:.85rem;margin-top:.75rem;}
.rbc-leads-alert-success{background:#eef7f3;border-left:4px solid var(--lg-green2);padding:.75rem 1rem;border-radius:0 6px 6px 0;color:var(--lg-green);font-weight:500;margin:.75rem 0;}
.rbc-leads-alert-warning{background:#fdf5e6;border-left:4px solid var(--lg-gold);padding:.75rem 1rem;border-radius:0 6px 6px 0;color:#7a5520;margin:.75rem 0;font-size:.875rem;}

/* ── My quotes ───────────────────── */
.rbc-leads-quote-card{display:flex;gap:1rem;align-items:flex-start;background:#fff;border-radius:10px;border:1.5px solid var(--lg-border);padding:1rem 1.25rem;margin-bottom:.75rem;box-shadow:var(--lg-shadow);}
.rbc-leads-quote-icon{font-size:2rem;flex-shrink:0;}
.rbc-leads-quote-body{flex:1;min-width:0;}
.rbc-leads-quote-cat{font-weight:700;color:var(--lg-green);font-size:.95rem;}
.rbc-leads-quote-ref{font-size:.75rem;color:#aaa;margin:.15rem 0;}
.rbc-leads-quote-desc{font-size:.82rem;color:#666;margin-top:.2rem;}
.rbc-leads-quote-status{text-align:right;flex-shrink:0;}

/* ── Value props ─────────────────── */
.rbc-leads-value-props{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem;}
@media(max-width:640px){.rbc-leads-value-props{grid-template-columns:1fr;}}
.rbc-leads-vp{display:flex;gap:.75rem;align-items:flex-start;background:#eef7f3;border-radius:8px;padding:1rem;}
.rbc-leads-vp-icon{font-size:1.5rem;flex-shrink:0;}
.rbc-leads-vp strong{display:block;font-size:.875rem;color:var(--lg-green);}
.rbc-leads-vp span{font-size:.78rem;color:#555;}

/* ── Category checklist ─────────── */
.rbc-leads-cat-checklist{max-height:360px;overflow-y:auto;border:1.5px solid var(--lg-border);border-radius:6px;padding:.75rem;}
.rbc-leads-cat-check-group{margin-bottom:.85rem;}
.rbc-leads-cat-check-group-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:.4rem;}
.rbc-leads-cat-check{display:flex;align-items:center;gap:.5rem;font-size:.82rem;cursor:pointer;padding:.2rem 0;}
.rbc-leads-cat-check input{cursor:pointer;}
.rbc-leads-cat-price{margin-left:auto;font-size:.72rem;color:var(--lg-green2);font-weight:600;}

/* ── Contractor dashboard ────────── */
.rbc-leads-dashboard{max-width:960px;}
.rbc-leads-dash-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;}
.rbc-leads-dash-header h2{margin:0 0 .3rem;}
.rbc-leads-dash-meta{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#555;flex-wrap:wrap;}
.rbc-leads-status-badge{padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;}
.rbc-leads-badge{background:var(--lg-red);color:#fff;border-radius:999px;padding:.1rem .4rem;font-size:.7rem;font-weight:700;margin-left:.25rem;}

.rbc-leads-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem;margin-bottom:1.25rem;}
@media(max-width:700px){.rbc-leads-stats-grid{grid-template-columns:repeat(3,1fr);}}
.rbc-leads-stat-card{background:#fff;border:1.5px solid var(--lg-border);border-radius:8px;padding:.8rem;text-align:center;}
.rbc-leads-stat-icon{font-size:1.2rem;margin-bottom:.15rem;}
.rbc-leads-stat-num{font-size:1.3rem;font-weight:700;color:var(--lg-green);line-height:1;}
.rbc-leads-stat-lbl{font-size:.68rem;color:#888;margin-top:.2rem;}

/* ── Tabs ────────────────────────── */
.rbc-leads-tabs{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:2px solid var(--lg-border);padding-bottom:0;}
.rbc-leads-tab{padding:.5rem 1rem;border-radius:6px 6px 0 0;font-size:.875rem;font-weight:500;color:#555;text-decoration:none;border:1.5px solid transparent;border-bottom:none;transition:all .15s;margin-bottom:-2px;}
.rbc-leads-tab.active{background:var(--lg-green);color:#fff;border-color:var(--lg-green);}
.rbc-leads-tab:hover:not(.active){background:#f5f5f5;}

/* ── Lead cards (contractor view) ── */
.rbc-leads-lead-card{background:#fff;border:1.5px solid var(--lg-border);border-radius:var(--lg-radius);margin-bottom:.85rem;box-shadow:var(--lg-shadow);}
.rbc-leads-fresh{border-color:var(--lg-green2);box-shadow:0 2px 14px rgba(45,122,96,.15);}
.rbc-leads-lead-header{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;background:#fafafa;border-bottom:1px solid var(--lg-border);border-radius:var(--lg-radius) var(--lg-radius) 0 0;}
.rbc-leads-lead-cat{font-weight:700;font-size:.875rem;color:var(--lg-green);}
.rbc-leads-new-badge{background:var(--lg-red);color:#fff;font-size:.65rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;margin-left:.4rem;vertical-align:middle;}
.rbc-leads-lead-date{font-size:.75rem;color:#aaa;}
.rbc-leads-lead-body{display:grid;grid-template-columns:220px 1fr;gap:1rem;padding:1rem;}
@media(max-width:600px){.rbc-leads-lead-body{grid-template-columns:1fr;}}
.rbc-leads-contact-name{font-weight:700;font-size:1rem;margin-bottom:.3rem;}
.rbc-leads-contact-phone{display:block;color:var(--lg-green2);font-weight:700;font-size:.9rem;text-decoration:none;margin-bottom:.2rem;}
.rbc-leads-contact-email{font-size:.82rem;color:#666;margin-bottom:.2rem;}
.rbc-leads-contact-loc{font-size:.82rem;color:#888;}
.rbc-leads-lead-desc{font-size:.85rem;color:#555;line-height:1.6;border-left:3px solid #eee;padding-left:.75rem;}
.rbc-leads-lead-footer{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-top:1px solid var(--lg-border);flex-wrap:wrap;gap:.5rem;}
.rbc-leads-outcome-btns{display:flex;gap:.3rem;flex-wrap:wrap;}
.rbc-leads-outcome-btn{padding:.3rem .65rem;border-radius:5px;border:1.5px solid var(--lg-border);background:#fff;font-size:.75rem;cursor:pointer;transition:all .15s;font-weight:500;}
.rbc-leads-outcome-btn.active{background:var(--lg-green2);color:#fff;border-color:var(--lg-green2);}
.rbc-leads-outcome-btn:hover:not(.active){border-color:#aaa;}
.rbc-leads-credit-btn{font-size:.75rem;padding:.3rem .65rem;}

/* ── Settings form ───────────────── */
.rbc-leads-settings-form{background:#fff;border:1.5px solid var(--lg-border);border-radius:var(--lg-radius);padding:1.5rem;}

/* ── Table ───────────────────────── */
.rbc-leads-table{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--lg-shadow);}
.rbc-leads-table th{background:#f5f5f5;padding:.6rem .9rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#666;border-bottom:1px solid var(--lg-border);}
.rbc-leads-table td{padding:.65rem .9rem;border-bottom:1px solid #f0f0f0;}

/* ── Top-up amounts ──────────────── */
.rbc-leads-topup-amounts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;}
.rbc-leads-topup-amt{padding:.6rem 1.25rem;border-radius:6px;border:1.5px solid var(--lg-border);background:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s;}
.rbc-leads-topup-amt.active{background:var(--lg-green2);color:#fff;border-color:var(--lg-green2);}
.rbc-leads-topup-custom{display:flex;align-items:center;gap:.5rem;font-size:.875rem;}
.rbc-leads-stripe-input{padding:.65rem .85rem;border:1.5px solid var(--lg-border);border-radius:6px;background:#fafafa;min-height:42px;}

/* ── Modal ───────────────────────── */
.rbc-leads-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;}
.rbc-leads-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.rbc-leads-modal-box{position:relative;background:#fff;border-radius:12px;padding:1.75rem;max-width:480px;width:calc(100% - 2rem);box-shadow:0 16px 48px rgba(0,0,0,.18);max-height:90vh;overflow-y:auto;}
.rbc-leads-modal-box h3{margin-top:0;}
.rbc-leads-modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.1rem;cursor:pointer;color:#888;}

/* ── Empty / error states ────────── */
.rbc-leads-empty{text-align:center;padding:3rem;background:#fff;border-radius:var(--lg-radius);border:1.5px solid var(--lg-border);}
.rbc-leads-empty h3{margin:0 0 .4rem;}
.rbc-leads-empty p{color:#888;margin:0;}

/* ── Responsive ──────────────────── */
@media(max-width:640px){
  .rbc-leads-cat-grid{grid-template-columns:repeat(2,1fr);}
  .rbc-leads-stats-grid{grid-template-columns:repeat(2,1fr);}
  .rbc-leads-lead-body{grid-template-columns:1fr;}
  .rbc-leads-quote-card{flex-direction:column;}
}
