/* California cash-pay primary care: article-scoped modules. Shell styles come from the blog. */
.cpc .mr-toc ol{list-style:decimal}
.cpc .cpc-pending{font-size:12px;color:#7a4c12;background:#f6ead8;padding:1px 6px;white-space:nowrap}
.cpc .cpc-module{background:#fff;border:1px solid var(--border);border-top:3px solid var(--navy);padding:20px 22px;margin:22px 0}
.cpc .cpc-module > h3:first-child{margin-top:0}
.cpc .cpc-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ad681b;margin-bottom:4px}
/* Map */
.cpc .cpc-map-controls{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end;margin:6px 0 14px}
.cpc .cpc-map-controls label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.cpc select,.cpc input{font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--border);background:#faf7f2;color:var(--navy);border-radius:0;max-width:100%}
.cpc .cpc-search{display:flex;gap:6px}
.cpc button.cpc-btn,.cpc .cpc-actions button{font:inherit;font-size:13.5px;font-weight:700;background:#d4842a;color:#11233c;border:0;padding:10px 16px;cursor:pointer}
.cpc .cpc-actions button[type=reset]{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.cpc .cpc-map-stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start;scroll-margin-top:90px}
.cpc .cpc-svgwrap{background:#eef2f6;border:1px solid var(--border);padding:8px}
.cpc svg.cpc-svg{display:block;width:100%;height:auto;max-height:640px}
.cpc .cpc-county{stroke:#fff;stroke-width:.6;cursor:pointer;transition:opacity .15s}
.cpc .cpc-county:hover{opacity:.82}
.cpc .cpc-county:focus{outline:none;stroke:#11233c;stroke-width:2}
.cpc .cpc-county.is-sel{stroke:#11233c;stroke-width:2.2}
.cpc .cpc-legend ul{list-style:none;padding:0;margin:6px 0;display:grid;gap:4px;font-size:13px}
.cpc .cpc-legend li{display:flex;gap:8px;align-items:center}
.cpc .cpc-legend .sw{width:22px;height:14px;flex:none;border:1px solid #c9c2b5}
.cpc .sw-hatch{background:repeating-linear-gradient(45deg,#e6e1d8 0 3px,#fff 3px 6px)}
.cpc .cpc-legend-h{font-weight:700;color:var(--navy);margin:8px 0 0!important;font-size:13.5px}
.cpc .cpc-legend-n,.cpc .cpc-fine{font-size:12.5px;color:#5a6474;margin:6px 0!important}
.cpc .cpc-panel{background:#faf7f2;border:1px solid var(--border);padding:16px 18px;max-height:720px;overflow-y:auto}
.cpc .cpc-panel h3{margin-top:0!important}
.cpc .cpc-panel h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px}
.cpc .cpc-class{font-weight:700;color:#7a4c12;margin:4px 0 10px!important}
.cpc .cpc-dl{margin:0;display:grid;gap:0}
.cpc .cpc-dl > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;border-top:1px solid var(--border);padding:7px 0;font-size:13.5px;line-height:1.45}
.cpc .cpc-dl dt{color:var(--slate)}
.cpc .cpc-dl dd{margin:0}
.cpc .cpc-dl .v{display:block;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.cpc .cpc-dl .v.na{color:#8a6b4a;font-weight:600;font-style:italic}
.cpc .cpc-dl .src{display:block;font-size:11.5px;color:#5a6474;overflow-wrap:anywhere}
.cpc .cpc-linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--navy);text-decoration:underline;cursor:pointer;text-align:left}
.cpc .cpc-map-failed .cpc-map-stage,.cpc .cpc-map-failed .cpc-map-controls{display:none}
.cpc [data-map-status]{font-size:13px;color:#5a6474}
/* Tables */
.cpc .cpc-table{border:1px solid var(--border);background:#fff;margin:12px 0;overflow-x:auto;max-width:100%}
.cpc .cpc-tall{max-height:520px;overflow:auto}
.cpc .cpc-table table,.cpc table.cpc-t{border-collapse:collapse;width:100%;font-size:13.5px}
.cpc .cpc-table caption{text-align:left;font-size:12.5px;font-weight:700;color:#7a4c12;padding:9px 12px}
.cpc .cpc-table th,.cpc .cpc-table td{border-top:1px solid var(--border);padding:7px 12px;text-align:left;vertical-align:top}
.cpc .cpc-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cpc .cpc-table thead th{background:var(--navy);color:#fff;font-weight:600;position:sticky;top:0}
.cpc .cpc-table tbody th{font-weight:600;color:var(--navy)}
.cpc .cpc-table tr.tot th,.cpc .cpc-table tr.tot td{background:#f6f1e8;font-weight:700}
.cpc .cpc-table tr.neg td{color:#9b2c1a}
.cpc .cpc-table.cpc-text td{text-align:left;white-space:normal}
/* Calculators */
.cpc .cpc-group{border:1px solid var(--border);background:#fff;margin:8px 0}
.cpc .cpc-group > summary{cursor:pointer;padding:10px 14px;font-weight:700;color:var(--navy);font-size:14px}
.cpc .cpc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;padding:4px 14px 14px}
.cpc .cpc-f label{display:block;font-size:12.5px;font-weight:600;color:var(--slate);line-height:1.35;margin-bottom:4px}
.cpc .cpc-f input{width:100%}
.cpc .cpc-f input[aria-invalid=true]{border-color:#9b2c1a;background:#fbefec}
.cpc .cpc-hint{display:block;font-size:11.5px;color:#5a6474;line-height:1.35;margin-top:3px}
.cpc .cpc-err{display:block;font-size:12px;color:#9b2c1a;font-weight:600}
.cpc .cpc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.cpc .cpc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin:12px 0}
.cpc .cpc-kpis div{background:#fff;padding:10px 12px}
.cpc .cpc-kpis span{display:block;font-size:11.5px;color:#5a6474;line-height:1.35}
.cpc .cpc-kpis b{font-family:"DM Serif Display",serif;font-weight:400;font-size:21px;color:var(--navy);font-variant-numeric:tabular-nums}
.cpc .cpc-flags{background:#fbefe2;border-left:3px solid #d4842a;padding:10px 14px 10px 30px;font-size:13.5px}
.cpc .cpc-warn{color:#9b2c1a;font-weight:600}
.cpc .cpc-ok{color:#2f5d3a;font-weight:600}
.cpc .cpc-interp{font-size:13.5px;background:#eee8de;padding:10px 14px}
.cpc .cpc-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:12px 0}
.cpc .cpc-classes div{background:#fff;border:1px solid var(--border);border-left:3px solid var(--navy);padding:10px 14px;font-size:13.5px}
.cpc .cpc-classes b{display:block;color:var(--navy)}
@media(max-width:980px){.cpc .cpc-map-stage{grid-template-columns:minmax(0,1fr)}.cpc .cpc-panel{max-height:none}}
@media(max-width:680px){.cpc .cpc-module{padding:14px}.cpc .cpc-dl > div{grid-template-columns:minmax(0,1fr)}.cpc .cpc-table{display:block}}
@media print{.cpc form,.cpc .cpc-map-controls,.cpc .cpc-svgwrap{display:none}}
.cpc .cpc-map-controls > div{min-width:0;max-width:100%}.cpc #pj-scenario{width:100%}
