/* RooferRate's calling workspace. Keep every rule scoped to this screen. */
.ct-calling { --ct-ink:#2d2927; --ct-muted:#716a64; --ct-line:#e5e1da; --ct-rust:#a94b31; max-width:1320px; margin:0 auto; color:var(--ct-ink); font:14px/1.55 "Inter",sans-serif; }
.ct-calling * { box-sizing:border-box; }
.ct-calling h1,.ct-calling h2,.ct-calling h3 { font-family:"Space Grotesk",sans-serif; font-weight:600; line-height:1.2; }
.ct-calling h1 { font-size:30px; letter-spacing:-1px; }
.ct-calling h2 { font-size:19px; letter-spacing:-.4px; }
.ct-calling h3 { font-size:15px; }
.ct-calling p { margin:0; }
.ct-calling .ct-muted { color:var(--ct-muted); }
.ct-calling .ct-eyebrow { margin-bottom:7px; color:var(--ct-rust); font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.ct-page-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:22px; }
.ct-page-heading h1 { margin:0 0 6px; }
.ct-filter-bar { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; padding:18px 22px; margin-bottom:22px; border:1px solid var(--ct-line); border-radius:12px; background:#fff; }
.ct-filter-form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; flex:1; }
.ct-filter-form .ct-field { width:175px; }
.ct-filter-form .ct-text-link { padding:10px 2px; }
.ct-queue-count { padding-left:24px; border-left:1px solid var(--ct-line); font-size:13px; font-weight:600; }
.ct-queue-count span { display:block; margin-top:3px; color:var(--ct-muted); font-size:11px; font-weight:400; }
.ct-filter-note { flex-basis:100%; color:var(--ct-muted); font-size:12px; }
.ct-panel { min-width:0; border:1px solid var(--ct-line); border-radius:12px; background:#fff; box-shadow:0 2px 4px #2d292704; }
.ct-lead { margin-bottom:22px; }
.ct-lead-main { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px; }
.ct-lead-name { min-width:0; }
.ct-lead-name h1,.ct-lead-name h2 { margin:0 0 10px; font-size:27px; letter-spacing:-.8px; overflow-wrap:anywhere; }
.ct-lead-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; color:var(--ct-muted); font-size:13px; }
.ct-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border:1px solid var(--ct-line); border-radius:6px; background:#faf9f6; color:#625a53; font-size:11px; font-weight:500; white-space:nowrap; }
.ct-badge-rust { border-color:#eedbd2; background:#fbf2ed; color:var(--ct-rust); }
.ct-lead-phone { flex-shrink:0; text-align:right; }
.ct-lead-phone .ct-eyebrow { color:var(--ct-muted); }
.ct-phone-number { font-family:"Space Grotesk",sans-serif; font-size:24px; font-weight:600; letter-spacing:-.7px; }
.ct-lead-phone .ct-text-link { display:inline-block; margin-top:5px; font-size:12px; }
.ct-website { display:block; max-width:340px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ct-lead-footer { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; padding:13px 24px; border-top:1px solid var(--ct-line); border-radius:0 0 12px 12px; background:#fbfaf8; font-size:12px; color:var(--ct-muted); }
.ct-restriction { display:inline-flex; align-items:center; gap:7px; color:#875d22; font-weight:500; }
.ct-restriction::before { content:""; width:6px; height:6px; flex-shrink:0; border-radius:50%; background:currentColor; }
.ct-restriction-reviewed { color:#3e7c5a; }
.ct-restriction-blocked { color:#a13f35; }
.ct-workspace-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:22px; }
.ct-workspace-nav { display:none; }
.ct-workspace-grid > section { scroll-margin-top:90px; }
.ct-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 22px; border-bottom:1px solid var(--ct-line); }
.ct-panel-heading h2 { margin:0; }
.ct-panel-heading p { margin-top:5px; color:var(--ct-muted); font-size:12px; }
.ct-script-intro { padding:18px 22px; background:#fbfaf8; border-bottom:1px solid var(--ct-line); }
.ct-script-intro strong { display:block; margin-bottom:5px; font-size:13px; font-weight:600; }
.ct-script-intro p { color:var(--ct-muted); font-size:12px; line-height:1.6; }
.ct-script-step { display:grid; grid-template-columns:25px minmax(0,1fr); gap:12px; padding:22px; border-bottom:1px solid var(--ct-line); }
.ct-step-number { display:flex; align-items:center; justify-content:center; width:25px; height:25px; border-radius:50%; background:#f4e9e2; color:var(--ct-rust); font-size:11px; font-weight:600; }
.ct-script-step h3 { margin:3px 0 10px; }
.ct-script-copy { white-space:pre-wrap; overflow-wrap:anywhere; color:#49433e; line-height:1.75; }
.ct-script-scope { padding:14px 22px; background:#fbfaf8; border-radius:0 0 12px 12px; color:var(--ct-muted); font-size:11px; }
.ct-call-actions { padding:20px 22px; border-bottom:1px solid var(--ct-line); background:#fbfaf8; }
.ct-button-row { display:flex; flex-wrap:wrap; gap:9px; }
.ct-calling .ct-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:42px; padding:10px 16px; border:1px solid transparent; border-radius:7px; font:600 12px/1.5 "Inter",sans-serif; text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s; }
.ct-button-primary { background:var(--ct-ink); color:#fff; }
.ct-button-primary:hover:not(:disabled) { background:#433c36; }
.ct-calling .ct-button-secondary { border-color:#d9d2c9; background:#fff; color:var(--ct-ink); }
.ct-button-secondary:hover:not(:disabled) { background:#f5f3ef; border-color:#afa49a; }
.ct-button-save { background:#3e7c5a; color:#fff; }
.ct-button-save:hover:not(:disabled) { background:#306448; }
.ct-calling .ct-button:disabled { background:#e9e6e1; border-color:#e9e6e1; color:#8b837b; cursor:not-allowed; }
.ct-calling :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--ct-rust); outline-offset:3px; }
.ct-call-status { margin-top:12px !important; font-size:12px; color:var(--ct-muted); }
.ct-form-section { min-width:0; padding:22px; border-bottom:1px solid var(--ct-line); }
.ct-form-section > h3 { margin:0 0 16px; }
.ct-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 14px; }
.ct-field { min-width:0; }
.ct-field-wide { grid-column:1 / -1; }
.ct-field label { display:block; margin-bottom:6px; font-size:12px; font-weight:500; color:#4d453e; }
.ct-calling .ct-input { display:block; width:100%; min-width:0; min-height:42px; padding:10px 11px; border:1px solid #dcd6ce; border-radius:7px; background:#fff; color:var(--ct-ink); font:13px/1.5 "Inter",sans-serif; }
.ct-calling textarea.ct-input { resize:vertical; min-height:105px; }
.ct-input::placeholder { color:#a09890; }
.ct-help { margin-top:6px !important; color:var(--ct-muted); font-size:11px; line-height:1.65; }
.ct-opt-out { margin-top:16px; padding:13px; border:1px solid #eee7df; border-radius:7px; background:#fbfaf8; }
.ct-checkbox-row { display:flex; align-items:flex-start; gap:9px; font-size:12px; }
.ct-checkbox-row input { margin-top:3px; accent-color:var(--ct-rust); flex-shrink:0; }
.ct-opt-out .ct-help { padding-left:22px; }
.ct-disclosure { border-bottom:1px solid var(--ct-line); }
.ct-disclosure summary { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:19px 22px; cursor:pointer; list-style:none; font-weight:600; font-size:13px; }
.ct-disclosure summary::-webkit-details-marker { display:none; }
.ct-disclosure summary::after { content:"+"; color:var(--ct-muted); font-size:20px; font-weight:400; }
.ct-disclosure[open] summary::after { content:"−"; }
.ct-disclosure summary span { display:block; color:var(--ct-muted); font-size:11px; font-weight:400; margin-top:3px; }
.ct-disclosure-content { padding:0 22px 22px; }
.ct-handoff-field { margin-top:14px; }
.ct-save-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; }
.ct-save-bar p { max-width:220px; color:var(--ct-muted); font-size:11px; }
.ct-text-link { color:var(--ct-rust); font-size:12px; font-weight:600; text-decoration:none; }
.ct-text-link:hover { text-decoration:underline; }
.ct-back-link { display:inline-block; margin-bottom:20px; }
.ct-notice { padding:18px 20px; margin-bottom:20px; border:1px solid; border-radius:10px; font-size:13px; }
.ct-notice h2 { font-size:16px; margin:0 0 6px; }
.ct-notice-warning { border-color:#e6d5ad; background:#fff9eb; color:#78591e; }
.ct-notice-error { border-color:#edc9c4; background:#fdf1ef; color:#963d32; }
.ct-notice ul { margin:8px 0 0; padding-left:20px; list-style:disc; }
.ct-open-attempts { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.ct-open-attempt { display:block; padding:10px 13px; background:#fff; border:1px solid #e6d5ad; border-radius:6px; }
.ct-open-attempt strong,.ct-open-attempt span { display:block; }
.ct-open-attempt span { margin-top:3px; font-size:11px; }
.ct-activity { margin-top:22px; }
.ct-activity .ct-panel-heading { padding:17px 22px; }
.ct-activity-item { padding:18px 22px; border-bottom:1px solid var(--ct-line); overflow-wrap:anywhere; }
.ct-activity-item:last-child { border-bottom:0; }
.ct-activity-meta { color:var(--ct-muted); font-size:11px; margin-bottom:7px !important; }
.ct-activity-notes { white-space:pre-wrap; margin-top:6px !important; }
.ct-empty-activity { padding:20px 22px; color:var(--ct-muted); font-size:12px; }
.ct-empty-state { padding:44px 24px; text-align:center; }
.ct-empty-state h2 { margin:14px 0 8px; }
.ct-empty-state p { max-width:440px; margin:0 auto 20px; color:var(--ct-muted); }
.ct-empty-icon { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#ebf3ee; color:#3e7c5a; font-size:20px; }
@media (max-width:1279px) { .ct-workspace-grid { grid-template-columns:minmax(0,1fr); } .ct-workspace-nav { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; } .ct-queue-count { flex-basis:100%; padding-left:0; border:0; } }
@media (max-width:639px) {
  .ct-page-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  .ct-calling h1 { font-size:26px; }
  .ct-filter-bar { padding:16px; }
  .ct-filter-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex:1 0 100%; width:100%; }
  .ct-filter-form .ct-field { width:auto; }
  .ct-lead-main { padding:18px; flex-direction:column; align-items:flex-start; gap:18px; }
  .ct-lead-name h1,.ct-lead-name h2 { font-size:24px; }
  .ct-lead-phone { text-align:left; }
  .ct-lead-footer { padding:13px 18px; }
  .ct-panel-heading,.ct-form-section,.ct-call-actions,.ct-script-step { padding:18px; }
  .ct-script-intro,.ct-script-scope { padding:16px 18px; }
  .ct-disclosure summary { padding:18px; }
  .ct-disclosure-content { padding:0 18px 18px; }
  .ct-fields { grid-template-columns:minmax(0,1fr); }
  .ct-save-bar { padding:18px; flex-direction:column-reverse; align-items:stretch; }
  .ct-save-bar p { max-width:none; text-align:center; }
  .ct-website { max-width:230px; }
}
