/* SBA acquisition loan tool. Loads after /styles.css and reuses its variables, nav and footer. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sba{font-variant-numeric:tabular-nums}
.sba-head{padding:var(--s-top) 0 var(--s-card)}
.sba h1{font-size:clamp(40px,5.6vw,68px)}
.sba .lede{margin:12px 0 0;max-width:none}

/* State selection */
.picker{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,640px);gap:var(--s-card) var(--s-col);align-items:start;margin-top:var(--s-card)}
.picker-side{display:flex;flex-direction:column;gap:14px;padding-top:8px}
.picker .place{font-size:clamp(28px,3vw,36px);line-height:1.1;margin:0}
.us-map{display:block;width:100%;height:auto}
.us-map [data-state]{-webkit-tap-highlight-color:transparent;fill:var(--line);stroke:var(--paper);stroke-width:1;cursor:pointer;outline:none;transition:fill .15s ease}
.us-map [data-state]:hover,.us-map [data-state]:focus-visible{fill:#9fb6d1}
.us-map [data-state][aria-pressed="true"]{fill:var(--accent)}
.us-map [aria-disabled="true"]{fill:#efece5;cursor:default}
.us-map .sep{fill:none;stroke:#c9c4b8;stroke-width:1.5}
.us-map .ring{fill:none;stroke:var(--ink);stroke-width:2.5;pointer-events:none}

/* KPI cards */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:var(--s-card)}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px}
.kpi-label{font-size:14px;font-weight:500;color:var(--muted);line-height:1.3}
.kpi-value{font:600 clamp(28px,3vw,36px)/1.1 var(--sans);letter-spacing:-.02em;color:var(--ink)}

/* panels */
.sba section.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px 24px 20px;margin-bottom:var(--s-card)}
.panel h2{font-size:clamp(26px,2.8vw,34px);line-height:1.15;margin-bottom:16px}
.tables{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s-card);align-items:start}
.tables section.panel{margin-bottom:0;min-width:0}
.tables{margin-bottom:var(--s-card)}

/* chart */
.chart{position:relative;width:100%;min-height:340px}
.chart svg{display:block;width:100%;height:340px;overflow:visible}
.chart .bar{fill:var(--accent)}
.chart .bar.partial{fill:#9fb6d1}
.chart .base{stroke:var(--line);stroke-width:1}
.chart .val{fill:var(--ink);font:600 14px var(--sans);text-anchor:middle}
.chart .tick{fill:var(--muted);font:500 13px var(--sans);text-anchor:middle}
.chart .col{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.chart .hit{fill:transparent}
.chart .col:hover .bar,.chart .col.active .bar{fill:#1c3352}
.chart .col:hover .bar.partial,.chart .col.active .bar.partial{fill:#7f9cc0}
.chart .col:focus-visible .hit{stroke:var(--accent);stroke-width:2}
.tip{position:absolute;z-index:2;width:max-content;max-width:min(300px,100%);padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(31,36,40,.12);font-size:13px;line-height:1.35;pointer-events:none}
.tip strong{display:block;font-weight:600;margin-bottom:6px}
.tip dl{margin:0;display:grid;gap:4px}
.tip dl div{display:flex;justify-content:space-between;gap:16px}
.tip dt{flex:none;color:var(--muted);white-space:nowrap}
.tip dd{margin:0;font-weight:600;text-align:right}

/* tables */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:0 -6px;padding:0 6px}
.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
table.data{width:100%;border-collapse:collapse;font-size:15px;line-height:1.4}
table.data.wide{min-width:540px}
table.data th{font:600 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 10px 12px 0;border-bottom:1px solid var(--ink);vertical-align:bottom}
table.data td{padding:12px 10px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
table.data tr:last-child td{border-bottom:0}
table.data .num{text-align:right;white-space:nowrap;padding-right:0;padding-left:12px}
table.data td.empty{color:var(--muted)}

/* about */
.about ul{margin:0;padding:0 0 0 1.1em;color:#3f454a;font-size:15px;line-height:1.6}
.about li{margin-bottom:8px}
.about a{color:var(--accent);font-weight:600}

/* CTA band */
.sba .cta-band{background:var(--slate);color:#f3f1ec;padding:var(--s-section) 0;margin-top:var(--s-block)}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta-band h2{font-size:clamp(32px,4vw,48px)}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.cta-band .btn{min-height:48px;background:#fffdf9;color:var(--ink)}
.cta-band .btn:hover{background:#9fb6d1}
.cta-band .btn.ghost{background:transparent;color:#fff;border:1px solid #c9ced3}
.cta-band .btn.ghost:hover{background:#fffdf9;color:var(--ink)}
footer a[aria-current="page"]{text-decoration:none}

@media (max-width:1000px){
 .picker{grid-template-columns:minmax(0,1fr);gap:16px}
 .picker-side{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:0}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tables{grid-template-columns:minmax(0,1fr)}
}
/* phone: 44px tap targets in the nav */
@media (max-width:820px){
 .nav-book,.nav-inner .btn.small{min-height:44px}
 .nav-tel{min-height:44px}
 .nav-links{padding:0 14px}
 .nav-links a{min-height:44px}
}
@media (max-width:520px){
 .nav-tel{width:44px;height:44px}
 .kpis{gap:10px}
 .kpi{padding:16px}
 .sba section.panel{padding:22px 18px 18px;border-radius:18px}
 .chart,.chart svg{min-height:220px;height:220px}
}

/* v3 mock additions: chips, clear, tooltip breakdown */
.picker-side{gap:12px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{display:inline-flex;align-items:center;gap:2px;min-height:36px;padding:0 4px 0 14px;background:var(--accent-soft);color:var(--accent);border:1px solid #cdd8e5;border-radius:999px;font:600 14px/1 var(--sans)}
.chips button{display:inline-grid;place-items:center;width:32px;height:32px;border:0;background:transparent;color:var(--accent);border-radius:50%;cursor:pointer}
.chips button:hover{background:#d5dfeb}
.clear{align-self:flex-start;min-height:36px;padding:0 4px;border:0;background:none;color:var(--muted);font:600 14px/1 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.us-map [data-state][aria-pressed="true"]{fill:var(--accent)}
.tip{width:370px;max-width:min(370px,100%);padding:14px 16px 16px}
.tip .head{margin:0}
.tip-sep{height:1px;background:var(--line);margin:12px 0 10px}
.tip-h{display:block;font:600 12px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.stack{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;margin-bottom:10px}
.stack i{display:block;min-width:4px;border-radius:2px}
.mix{margin:0;display:grid;gap:5px}
.mix div{display:flex;justify-content:space-between;gap:12px;align-items:center}
.mix dt{display:flex;align-items:center;gap:8px;color:var(--ink);white-space:nowrap}
.mix dd{margin:0;font-weight:600;display:flex;gap:10px}
.mix .pct{min-width:34px;text-align:right;color:var(--muted);font-weight:500}
.sw{width:10px;height:10px;border-radius:3px;flex:none}
.tip.dock{position:static;width:auto;max-width:none;margin-top:14px;box-shadow:none;background:#faf8f3}
.tip.dock .head dd{max-width:60%}
@media (max-width:520px){.chips li{min-height:44px}.chips button{width:40px;height:40px}.clear{min-height:44px}}

.clear[hidden]{display:none}
.chips button:focus-visible,.clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.territories{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.territories:focus-within{position:static;width:auto;height:auto;padding:8px 12px;margin:0;overflow:visible;clip:auto;white-space:normal;border:1px solid var(--line);border-radius:10px;font-size:13px}
.territories label{display:flex;align-items:center;gap:6px;min-height:32px;color:var(--ink);font-size:13px}
.territories legend{color:var(--muted);padding:0 4px}
.territories input{width:auto}
.tip{box-sizing:border-box}
.tip .mix dt{color:var(--ink)}
@media (max-width:1000px){.picker-side .chips{flex-basis:100%}}
@media (max-width:520px){
 .chips button{width:44px;height:44px}
 .chart{height:auto;min-height:220px}
 .tip{position:static;width:100%;max-width:100%;margin-top:14px;box-shadow:none;background:#faf8f3}
 .tip .head dd{max-width:60%;overflow-wrap:anywhere}
 .tip dl div{gap:10px}
 .territories label{min-height:44px}
}
