/* callprep tab styles — split out of index.html. */
.cp-view{max-width:1180px;margin:0 auto;padding:22px 24px 60px;}
.cp-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.cp-title{font-family:var(--title-font);font-size:24px;font-weight:600;color:var(--text-0);letter-spacing:-.01em;}
.cp-head-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
.cp-btn{font-family:var(--body-font);font-size:13px;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);padding:8px 14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-1);text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.cp-btn:hover{background:var(--surface-hover);}
.cp-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);}
.cp-btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);}
.cp-btn-ghost{background:none;}
.cp-headline{font-size:13.5px;color:var(--text-1);font-weight:500;margin-top:6px;}
.cp-positioning{margin-top:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);}
.cp-positioning summary{cursor:pointer;padding:14px 18px;font-size:13px;font-weight:700;color:var(--text-0);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.cp-positioning summary::-webkit-details-marker{display:none;}
.cp-positioning summary::after{content:'+';color:var(--primary);font-size:18px;font-weight:500;line-height:1;}
.cp-positioning[open] summary::after{content:'−';}
.cp-positioning summary span{font-size:11px;font-weight:600;color:var(--text-3);margin-left:auto;}
.cp-positioning-copy{border-top:1px solid var(--border);padding:14px 18px 16px;color:var(--text-1);font-size:13.5px;line-height:1.58;}
.cp-positioning-copy p{margin:0 0 12px;}.cp-positioning-copy p:last-child{margin-bottom:0;}
.cp-status{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:700;}
.cp-status .dot{width:8px;height:8px;border-radius:50%;background:currentColor;}
.cp-status.clear{background:var(--call-soft);color:var(--call);}
.cp-status.escalate{background:var(--warn-soft);color:var(--warn);}
.cp-status.stop{background:var(--danger-soft);color:var(--danger);}
.cp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start;}
.cp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm);margin-bottom:16px;}
.cp-card h3{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:700;margin:0 0 12px;}
.cp-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}
.cp-field label{font-size:10.5px;color:var(--text-3);font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.cp-field input,.cp-field textarea,.cp-outcome select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--body-font);font-size:13.5px;color:var(--text-0);background:var(--surface);outline:none;width:100%;}
.cp-field input:focus,.cp-field textarea:focus,.cp-outcome select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.cp-field textarea{resize:vertical;}
.cp-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cp-zip-row{display:flex;gap:8px;}
.cp-zip-row input{flex:1;}
.cp-loc{font-size:13px;color:var(--text-1);margin-top:7px;min-height:18px;font-weight:500;}
.cp-muted{color:var(--text-3);} .cp-warn{color:var(--danger);}
.cp-est{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;}
/* nearest list */
.cp-near{display:flex;flex-direction:column;gap:8px;}
.cp-near-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);}
.cp-near-item.rec{border-color:var(--primary-border);background:var(--primary-soft);}
.cp-near-rank{font-size:12px;font-weight:800;color:var(--text-3);width:16px;text-align:center;flex:none;}
.cp-near-main{flex:1;min-width:0;}
.cp-near-name{font-size:14px;font-weight:600;color:var(--text-0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cp-pay-tag{font-size:10px;font-weight:700;color:var(--call);background:var(--call-soft);padding:1px 6px;border-radius:10px;vertical-align:middle;white-space:nowrap;}
.cp-near-sub{font-size:11.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cp-near-dist{font-size:12.5px;font-weight:700;color:var(--text-1);white-space:nowrap;text-align:right;}
.cp-near-btns{display:flex;gap:6px;flex:none;}
.cp-mini{font-size:12px;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text-1);font-family:var(--body-font);white-space:nowrap;}
.cp-mini:hover{background:var(--surface-hover);}
.cp-mini.rec{background:var(--primary);color:#fff;border-color:var(--primary);}
/* recommended */
.cp-reco-empty{font-size:13px;color:var(--text-3);line-height:1.5;padding:4px 0;}
.cp-reco-name{font-family:var(--title-font);font-size:19px;font-weight:600;color:var(--text-0);}
.cp-reco-sub{font-size:12.5px;color:var(--text-2);margin-top:2px;}
.cp-band{display:inline-block;margin:9px 0 3px;padding:5px 13px;border-radius:999px;font-size:13px;font-weight:700;}
.cp-band.b1{background:var(--call-soft);color:var(--call);}
.cp-band.b2{background:var(--primary-soft);color:var(--primary-hover);}
.cp-band.b3{background:var(--warn-soft);color:var(--warn);}
.cp-band.b4{background:var(--danger-soft);color:var(--danger);}
.cp-loadingdot{color:var(--text-3);animation:cpblink 1s steps(2) infinite;}
@keyframes cpblink{50%{opacity:.2}}
.cp-dl{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:13px 0;font-size:13px;}
.cp-dl dt{color:var(--text-3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding-top:2px;white-space:nowrap;}
.cp-dl dd{margin:0;color:var(--text-1);line-height:1.45;}
.cp-phon{color:var(--primary-hover);font-style:italic;font-weight:500;}
.cp-missing{color:var(--text-3);font-style:italic;font-size:12px;}
.cp-photo{width:100%;border-radius:var(--radius);margin:6px 0 10px;max-height:180px;object-fit:cover;border:1px solid var(--border);display:block;}
.cp-reco-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0;align-items:center;}
.cp-price{display:flex;gap:14px;flex-wrap:wrap;align-items:center;background:var(--bg);border-radius:var(--radius);padding:10px 13px;font-size:13px;color:var(--text-2);}
.cp-price b{color:var(--text-0);font-weight:700;}
.cp-pay{font-size:12px;font-weight:600;margin-left:auto;}
.cp-pay.on{color:var(--call);} .cp-pay.off{color:var(--text-3);}
.cp-outcome{margin-top:14px;}
.cp-outcome label{display:block;font-size:10.5px;color:var(--text-3);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.cp-appt{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-strong);}
.cp-appt input{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--body-font);font-size:13.5px;background:var(--surface);color:var(--text-0);width:100%;}
/* screening */
.cp-scr-group{margin-bottom:14px;}
.cp-scr-h{font-size:12px;font-weight:700;margin-bottom:6px;}
.cp-scr-h.excl{color:var(--danger);} .cp-scr-h.esc{color:var(--warn);}
.cp-scr-item{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--border);cursor:pointer;font-size:13px;color:var(--text-1);align-items:flex-start;}
.cp-scr-item:hover{color:var(--text-0);}
.cp-scr-box{width:17px;height:17px;border:1.5px solid var(--border-strong);border-radius:4px;flex:none;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;background:var(--surface);}
.cp-scr-item.on .cp-scr-box{background:var(--danger);border-color:var(--danger);}
.cp-scr-item.esc.on .cp-scr-box{background:var(--warn);border-color:var(--warn);}
.cp-scr-w{display:block;font-size:11px;color:var(--text-3);margin-top:1px;}
.cp-banner{border-radius:var(--radius);padding:10px 13px;font-size:12.5px;margin-bottom:12px;font-weight:600;line-height:1.4;}
.cp-banner.stop{background:var(--danger-soft);color:var(--danger);}
.cp-banner.escalate{background:var(--warn-soft);color:var(--warn);}
@media (max-width:900px){.cp-grid{grid-template-columns:1fr;}}
