/* AGS tools-b: extras for the ten tools in tools-b.js. Uses tokens from site.css. */
.tb [hidden]{display:none!important}
.tb-res{display:flex;flex-direction:column;gap:16px;min-width:0}
.tb .tw-actions{margin-top:2px}
.tb h4.tb-h{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-3);margin:6px 0 -6px}
.tb h4.tb-h2{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-3);margin:16px 0 8px}
.tb-printhead{display:none}
.tb .kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tb .kpi b{font-size:26px;overflow-wrap:anywhere}
.tb .tw-in{max-height:none}
.tb-sl-val{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.tb .field > label{align-items:baseline}
.tb-seg{flex-wrap:wrap}
.tb-seg button{flex:1 1 auto}
.tb-grp{display:flex;flex-direction:column;gap:14px}
.tb-grp h4,.tb-grp .fine{margin-bottom:0}
.tb .tabs-ul{overflow-x:auto;margin-bottom:16px;white-space:nowrap}
.tb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.tb-chips .chip{height:auto;min-height:36px;padding:6px 14px;line-height:1.3}

/* sortable tables */
.tb .tbl{font-size:13.5px}
.tb .tbl th,.tb .tbl td{padding:9px 8px}
.tb .tbl th{white-space:nowrap}
.tb .tbl td{vertical-align:middle}
.tb-th{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;display:inline-flex;gap:2px;align-items:center;padding:4px 0;min-height:32px;cursor:pointer}
.tb-th:hover,.tb-th:focus-visible{color:var(--ink)}
.tb th[aria-sort="ascending"] .tb-th,.tb th[aria-sort="descending"] .tb-th{color:var(--ink)}
.tb-pick{white-space:nowrap;font:inherit;font-weight:600;color:var(--ink);text-align:left;padding:6px 0;min-height:32px;border-bottom:1px dotted var(--gold-3)}
.tb-pick:hover{color:var(--gold-3)}
.tb-pick[aria-pressed="true"]{color:var(--navy);font-weight:800;border-bottom-style:solid}
.tbl tr.tb-hl td{background:rgba(201,169,110,.2)}
.tbl tr.tb-hl td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.tbl tr.tb-st-green td:first-child{box-shadow:inset 3px 0 0 var(--ok)}
.tbl tr.tb-st-amber td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.tbl tr.tb-st-gray td:first-child{box-shadow:inset 3px 0 0 var(--ivory-3)}
.tbl tr.tb-st-gray td{color:var(--ink-2)}
.tag.tag-gray{background:var(--ivory-3);color:var(--ink-2)}
.tbl-wrap .tbl td .tag{white-space:nowrap}
.tbl tr.total td{background:var(--ivory-2)}

/* where-afford groups */
.tb-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tb-group{border:1px solid var(--ivory-3);border-radius:var(--r);background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:2px;border-top-width:4px}
.tb-group b{font:600 18px/1.2 var(--serif)}
.tb-group span{font-size:13px;font-weight:700;color:var(--ink-2)}
.tb-group small{font-size:12px;color:var(--ink-3);line-height:1.4}
.tb-green{border-top-color:var(--ok)} .tb-amber{border-top-color:var(--warn)} .tb-gray{border-top-color:var(--ivory-3)}
@media (max-width:640px){.tb-groups{grid-template-columns:1fr}}

/* definition grids */
.tb-dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:7px 14px;margin:0;font-size:14px}
.tb-dl dt{color:var(--ink-3);font-size:13px}
.tb-dl dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.tb-dl a,.srcs a,.fine a,.note a,.tb-list a{color:var(--gold-3);text-decoration:underline}
@media (max-width:480px){.tb-dl{grid-template-columns:1fr;gap:0}.tb-dl dd{margin-bottom:8px}}

/* two-town */
.tb-cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:760px){.tb-cmp{grid-template-columns:1fr}}
.tb-card-hd{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.tb-card-hd h3{font-size:24px;line-height:1.1}

/* lists, steps, links */
.tb-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--ink-2);line-height:1.5}
.tb-ol{list-style:decimal}
.tb-steps li{align-items:start}
.tb-steps span{display:block;margin-top:2px;line-height:1.5}
.tb-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.tb-links .link{font-size:13px}

/* checklists */
.tb-check-hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.tb-check-hd h4{margin:0 0 6px}
.tb-prog{font-size:12.5px;font-weight:700;color:var(--ink-2)}
.tb-group-lbl{font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 4px}
.tb-item{padding:8px 0;border-bottom:1px dashed var(--ivory-3);cursor:pointer;min-height:44px;align-items:center}
.tb input[type=checkbox]{accent-color:var(--navy);width:20px;height:20px;flex:none;cursor:pointer}
.tb-items{display:flex;flex-direction:column;gap:10px}
.tb-it{display:grid;grid-template-columns:24px 1fr;gap:12px;background:#fff;border:1px solid var(--ivory-3);border-left-width:4px;border-radius:var(--r);padding:14px 14px 14px 12px}
.tb-it input{margin-top:2px}
.tb-it-applies{border-left-color:var(--ok)} .tb-it-check{border-left-color:var(--warn)} .tb-it-na{border-left-color:var(--ivory-3)}
.tb-it-hd{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between}
.tb-it-hd b{font:600 19px/1.25 var(--serif);flex:1 1 220px}
.tb-it-hd .tag{white-space:nowrap;gap:5px}
.tb-it-hd .tag svg{width:12px;height:12px;display:inline-block}
.tb-it-b{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--ink-2)}
.tb-it-b b{color:var(--ink)}
.tb-it-na .tb-it-b{color:var(--ink-3)}

/* offer worksheet */
.tb-hol{border:1px solid var(--ivory-3);border-radius:var(--r-sm);padding:8px 10px;background:var(--paper)}
.tb-hol summary{cursor:pointer;font:600 12.5px/1.2 var(--sans);color:var(--ink-2);min-height:32px;display:flex;align-items:center}
.tb-hol-i{padding:5px 0;font-size:12.5px}
.tb-hol .check{align-items:center}
.tb-summary .tb-dl{font-size:14.5px}
.tb-chart{position:relative}

/* tax relief */
.tb .prog-row{grid-template-columns:44px 1fr auto}
.tb .prog-row b{font-size:19px}
.tb-state{font-weight:700;color:var(--ink-2)!important;margin:2px 0 4px;font-size:12px!important;letter-spacing:.04em;text-transform:uppercase}
.tb .prog-row small + small{margin-top:2px}
@media (max-width:560px){.tb .prog-row{grid-template-columns:36px 1fr}.tb .prog-row .amt{grid-column:2;font-size:20px}.tb .prog-row .st{width:34px;height:34px}}

@media (max-width:900px){.tb .tw-in{padding:14px}}

/* print */
@media print{
  .tb-printhead{display:flex;flex-direction:column;gap:2px;border-bottom:2px solid #0F1F33;padding-bottom:8px;margin-bottom:6px;font-size:12px}
  .tb-printhead b{font:600 18px/1.2 var(--serif)}
  .tb.tw{display:block}
  .tb .tw-in{position:static;margin-bottom:14px;break-inside:avoid;border:1px solid #bbb}
  .tb .box,.tb .tb-it,.tb .prog-row,.tb .kpi,.tb .tb-group{break-inside:avoid}
  .tb .tbl-wrap{overflow:visible}
  .tb .tab-ul{display:none}
  .tb .btn,.tb .seg button:not([aria-pressed="true"]){display:none}
  .tb .tb-hol{display:none}
  .tb-dl a,.srcs a{color:#000}
}
.tb .tw-actions .btn{white-space:normal;text-align:left;height:auto;min-height:36px;padding-top:8px;padding-bottom:8px;line-height:1.25}
