/* 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-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;margin-top:20px;align-items:start;}.cp-flow{min-width:0;}
.cp-step{position:relative;padding:0 0 22px 28px;border-left:1px solid var(--border);}.cp-step:last-of-type{padding-bottom:8px;}.cp-step-head{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px -40px;}.cp-step-head>span{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;box-shadow:0 0 0 4px var(--bg);flex:none;}.cp-step-head h2{font-family:var(--title-font);font-size:17px;line-height:1.2;margin:2px 0 2px;color:var(--text-0);}.cp-step-head p{font-size:12px;color:var(--text-3);margin:0;line-height:1.4;}
.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-report-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:4px;padding:10px 12px;border:1px solid var(--primary-border);border-radius:var(--radius);background:var(--primary-soft);color:var(--primary-hover);font:inherit;font-size:12px;font-weight:700;text-align:left;cursor:pointer;}.cp-report-link:hover{background:var(--surface-hover);}.cp-report-link span{font-size:10.5px;color:var(--text-2);font-weight:600;}
.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-booking-clinic{padding-bottom:12px;border-bottom:1px solid var(--border);}.cp-booking-clinic b{display:block;font-family:var(--title-font);font-size:18px;color:var(--text-0);}.cp-booking-clinic span{display:block;font-size:12px;color:var(--text-3);margin-top:2px;}
.cp-pricing-details{margin-top:14px;background:var(--bg);border-radius:var(--radius);}.cp-pricing-details summary{cursor:pointer;padding:10px 13px;font-size:12px;font-weight:700;color:var(--text-1);}.cp-pricing-details .cp-price{margin:0;border-radius:0 0 var(--radius) var(--radius);}
.cp-payment{margin:12px 0 14px;padding:14px;border:1px solid var(--primary-border);border-radius:var(--radius);background:var(--primary-soft);}
.cp-payment-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px;color:var(--text-0);font-size:13px;}.cp-payment-head span{font-size:11px;color:var(--text-3);}
.cp-payment-fields{display:grid;grid-template-columns:130px 1fr;gap:10px;}.cp-payment label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);}
.cp-payment input{width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:13px;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--text-0);}
.cp-payment-desc{margin-top:10px;}.cp-payment-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:11px;line-height:1.4;color:var(--text-2);}.cp-payment-footer .cp-btn{flex:none;}
.cp-payment-notice{margin-top:10px;font-size:12px;color:var(--call);font-weight:600;}.cp-payment-notice.error{color:var(--danger);}
.cp-payment-result{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:11px;border-top:1px solid var(--primary-border);font-size:12px;color:var(--text-1);}.cp-payment-result b,.cp-payment-result span{display:block;}.cp-payment-result span{font-size:11px;color:var(--text-3);margin-top:2px;}.cp-payment-actions{display:flex;gap:6px;flex:none;}.cp-payment-actions .cp-mini{text-decoration:none;display:inline-flex;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);}
.cp-live-rail{position:sticky;top:18px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;}.cp-rail-head{display:flex;align-items:center;gap:9px;padding:15px 16px;border-bottom:1px solid var(--border);}.cp-rail-head b{display:block;font-size:13px;color:var(--text-0);}.cp-rail-head span:not(.cp-rail-live){display:block;font-size:10.5px;color:var(--text-3);margin-top:1px;}.cp-rail-live{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft);}.cp-rail-section{padding:13px 16px;border-bottom:1px solid var(--border);}.cp-rail-section label,.cp-rail-next label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--text-3);margin-bottom:5px;}.cp-rail-section>b{display:block;font-size:13px;color:var(--text-0);line-height:1.35;}.cp-rail-section>span:not(.cp-status){display:block;font-size:11.5px;color:var(--text-2);line-height:1.4;margin-top:2px;}.cp-rail-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;}.cp-rail-actions a,.cp-rail-actions button{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);padding:5px 8px;font:inherit;font-size:11px;font-weight:700;color:var(--primary-hover);text-decoration:none;cursor:pointer;}.cp-rail-next{margin:12px;background:var(--primary-soft);border-radius:var(--radius);padding:11px 12px;}.cp-rail-next b{font-size:12px;line-height:1.4;color:var(--primary-hover);}.cp-rail-summary{margin:0 12px 12px;width:calc(100% - 24px);justify-content:center;}
.cp-rail-report{display:block;width:calc(100% - 24px);margin:10px 12px;padding:8px 9px;border:0;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-hover);font:inherit;font-size:11px;font-weight:700;text-align:center;cursor:pointer;}.cp-rail-report:hover{background:var(--surface-hover);}
@media (max-width:980px){.cp-workspace{grid-template-columns:1fr;}.cp-live-rail{position:static;order:-1;}.cp-rail-section{display:inline-block;vertical-align:top;width:33.333%;border-bottom:0;border-right:1px solid var(--border);}.cp-rail-next{margin-top:0;}.cp-rail-summary{margin-top:12px;}}
@media (max-width:900px){.cp-payment-fields{grid-template-columns:1fr;}.cp-payment-footer,.cp-payment-result{align-items:flex-start;flex-direction:column;}.cp-payment-actions{width:100%;}.cp-payment-actions .cp-mini{flex:1;justify-content:center;}}
@media (max-width:640px){.cp-view{padding:16px 14px 40px;}.cp-step{padding-left:20px;}.cp-step-head{margin-left:-32px;}.cp-rail-section{display:block;width:auto;border-right:0;border-bottom:1px solid var(--border);}.cp-rail-next{margin-top:12px;}}
