/* Free tools — /tools/ and the three calculators. Built from the anchor's components:
   .tool cards, .pnl statement card, .rform/.field inputs (pages/review.css). Scoped to .tools-* classes. */
.tools-hero{padding-bottom:40px}
.tools-hero .fine{margin-top:16px}
.tools-calc{padding-top:24px}
.tools-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.tools-form input[inputmode]{font-family:var(--mono)}
.tools-form input[aria-invalid=true]{border-color:var(--olive);background:var(--lime-soft)}
.tools-form .tools-fees{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:14px}
.tools-form .tools-fees legend{padding:0 6px;margin-bottom:0}
.tools-reset{justify-content:center;white-space:normal;text-align:center}
.tools-out{position:sticky;top:94px;min-width:0}
.tools-out .pnl output{font:inherit;color:inherit}
.tools-out .pnl tbody+tbody tr:first-child th,.tools-out .pnl tbody+tbody tr:first-child td{border-top:1px solid var(--line)}
.tools-live{font:500 12.5px/1.6 var(--text);color:var(--muted);margin-top:14px;font-variant-numeric:tabular-nums}
.tools-noscript{margin-top:10px;font-size:15px;background:var(--lime-soft);border:1px solid #DCEFAE;border-radius:12px;padding:12px 14px;color:var(--ink)}

/* How it's worked out */
.tools-col{max-width:760px}
.tools-how h2{margin-bottom:18px}
.tools-how p+p{margin-top:16px}
.tools-formula{font:500 14.5px/1.7 var(--mono);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 18px;overflow-wrap:anywhere}
.tools-how strong{color:var(--ink)}
a.tools-link,.tools-pair a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--olive)}

/* Paired answer + CTA */
.tools-next .tools-answer{margin-top:44px;text-align:left}

/* /tools/ index: card + its paired answer line */
.tools-index .tools-cards{margin-top:0}
.tools-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.tools-card .tool{flex:1}
.tools-pair{font-size:15px;padding:0 6px}
.tools-pair span{display:block;font:600 13.5px var(--text);color:var(--olive);margin-bottom:2px}

@media (max-width:980px){
  .tools-grid{grid-template-columns:minmax(0,1fr)}
  .tools-out{position:static}
}
@media (max-width:880px){
  .tools-cards{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .tools-calc .pnl{padding:20px}
  .tools-form .tools-fees{padding:12px}
  .tools-formula{padding:12px 14px;font-size:13.5px}
}

/* Marketplace calculators (queue c N1): where each pre-filled rate came from */
.tools-source{font-size:13.5px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.tools-form small a.tools-link{color:inherit}

/* Tax calculators (queue c N8): checkbox row, source list */
.tools-form .consent{font-size:15px;color:var(--ink)}
.tools-sources{margin:12px 0 0;padding-left:22px;display:grid;gap:8px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}

/* CSV cleaner (/tools/csv-cleaner/, 23 Oct 2026): drop zone, mapping, report, preview */
.csvc-privacy-line strong{color:var(--ink)}
.csvc-drop{display:grid;gap:6px;justify-items:center;text-align:center;padding:28px 18px;border:2px dashed var(--line-input);border-radius:var(--r);background:var(--lime-soft);cursor:pointer;min-width:0}
.csvc-drop.is-over,.csvc-drop:hover{border-color:var(--olive)}
.csvc-drop-t{font:600 17px var(--head);color:var(--ink);letter-spacing:-.015em}
.csvc-drop-s{font-size:13.5px;color:var(--muted)}
.csvc-drop-f{font:500 13.5px var(--mono);color:var(--ink);overflow-wrap:anywhere}
.csvc [hidden]{display:none!important}
/* The native input stays focusable and clickable through its label; the drop zone shows its focus. */
.csvc-form .field{position:relative}
.csvc-file{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden}
.csvc-form .field:has(.csvc-file:focus-visible) .csvc-drop{outline:2px solid var(--ink);outline-offset:3px}
.csvc-error{font-size:15px;color:var(--ink);background:#FFF4E5;border:1px solid #F0C98B;border-radius:12px;padding:10px 14px}
.csvc-opts{display:grid;gap:18px}
.csvc-map{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:14px}
.csvc-map legend{padding:0 6px;margin-bottom:0}
.csvc-form select{width:100%;min-width:0}
.csvc-report .note{margin-top:14px}
.csvc-issues{margin:16px 0 0;padding-left:20px;display:grid;gap:6px;font-size:14px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.csvc-preview{margin-top:18px}
.csvc-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;max-width:100%}
.csvc-table-wrap table{font:500 12.5px/1.45 var(--mono);border-collapse:collapse;width:max-content;min-width:100%}
.csvc-table-wrap th,.csvc-table-wrap td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}
.csvc-table-wrap th{font-weight:600;background:#FAFBF7;color:var(--ink)}
.csvc-download{margin-top:20px;width:100%;justify-content:center}
.csvc-download[disabled]{opacity:.45;cursor:not-allowed}
.csvc-ol{margin:8px 0 0;padding-left:22px;display:grid;gap:12px;line-height:1.65}
.csvc-ol strong{color:var(--ink)}
@media (max-width:560px){ .csvc-drop{padding:22px 14px} .csvc-map{padding:12px} }

/* V1 — calculator stack window under the /tools/ hero (each card = a tool page's default example) */
.tsk-mock{max-width:1000px}
.tsk-mock .bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tsk-mock .bar b{flex:none}
.tsk-wrap{background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;padding:24px 24px 34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.tsk-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:linear-gradient(180deg,#fff,#FAFBF7);box-shadow:var(--shadow);min-width:0;font-family:var(--text);font-variant-numeric:tabular-nums}
.tsk-card:nth-child(2){margin-top:10px}
.tsk-card:nth-child(3){margin-top:20px;background:var(--ink);border-color:var(--ink)}
.tsk-k{display:block;font:600 13.5px var(--text);color:var(--olive)}
.tsk-m{font:500 13px var(--text);color:var(--muted);margin:4px 0 10px}
.tsk-rows{list-style:none}
.tsk-rows li{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:7px 0;border-bottom:1px dashed var(--line);color:var(--body)}
.tsk-rows b{font-weight:500;color:var(--ink);white-space:nowrap}
.tsk-res{margin-top:10px;padding-top:10px;border-top:2px solid var(--ink);display:grid;gap:2px}
.tsk-res span{font-size:12px;color:var(--ink);font-weight:600}
.tsk-res strong{font-size:26px;font-weight:600;color:var(--olive);letter-spacing:-.02em}
.tsk-res em{font-style:normal;font-size:12.5px;color:var(--muted)}
.tsk-card:nth-child(3) .tsk-k{color:var(--lime)}
.tsk-card:nth-child(3) .tsk-m,.tsk-card:nth-child(3) .tsk-res em{color:#A7AD9C}
.tsk-card:nth-child(3) .tsk-rows li{color:#C9CDC0;border-color:#33372E}
.tsk-card:nth-child(3) .tsk-rows b,.tsk-card:nth-child(3) .tsk-res span{color:#fff}
.tsk-card:nth-child(3) .tsk-res{border-color:#fff}
.tsk-card:nth-child(3) .tsk-res strong{color:var(--lime)}
@media (max-width:880px){
  .tsk-wrap{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}
  .tsk-card:nth-child(n){margin-top:0}
}
@media (max-width:560px){.tsk-card{padding:14px}}

/* US state business search (/tools/us-state-business-search/, 26 Oct 2026): filter + state table.
   Under 720px each row becomes a card (cells labelled from data-label). */
.ss-official{font:500 15px/1.6 var(--text);color:var(--ink);background:var(--lime-soft);border:1px solid #DCEFAE;border-radius:12px;padding:12px 16px;margin-bottom:20px}
.ss-filter{display:grid;grid-template-columns:minmax(0,420px);gap:8px;margin-bottom:6px}
.ss-filter label{font:600 15px var(--text);color:var(--ink)}
.ss-filter input{width:100%;font:500 16px var(--text);padding:12px 14px;border:1px solid var(--line-input);border-radius:var(--r-sm);background:#fff;color:var(--ink)}
.ss-filter input:focus{outline:2px solid var(--olive);outline-offset:2px}
.ss-count{font:500 14px var(--text);color:var(--muted);margin:0 0 12px;font-variant-numeric:tabular-nums}
.ss-wrap{border:1px solid var(--line);border-radius:14px;background:#fff;overflow-x:auto;max-width:100%}
.ss-table{width:100%;border-collapse:collapse;font-size:15px}
.ss-table caption{text-align:left;font:500 13px var(--text);color:var(--muted);padding:14px 16px 4px;caption-side:top}
.ss-table th,.ss-table td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--line)}
.ss-table thead th{font:500 13px var(--text);color:var(--muted)}
.ss-table tbody th{font-weight:600;color:var(--ink);white-space:nowrap}
.ss-table tbody tr:last-child th,.ss-table tbody tr:last-child td{border-bottom:0}
.ss-table a.tools-link{overflow-wrap:anywhere}
.ss-free{font-size:14px;margin:0 0 8px;max-width:34ch}
.ss-free-btn{display:inline-flex;margin:0 0 6px;padding:8px 14px;font-size:14px}
.ss-agency{display:block;font-size:13px}
.ss-none{color:var(--muted);font-size:14px}
.ss-empty{margin-top:14px;font-size:15px;color:var(--muted)}
.ss-steps{margin:0 0 18px}
@media (max-width:720px){
  .ss-filter{grid-template-columns:minmax(0,1fr)}
  .ss-wrap{border:0;background:none;overflow:visible}
  .ss-table,.ss-table tbody,.ss-table tr,.ss-table th,.ss-table td{display:block;width:100%}
  .ss-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ss-table caption{display:block;padding:0 0 8px}
  .ss-table tbody tr{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px;padding:6px 0}
  .ss-table tbody tr[hidden]{display:none}
  .ss-table th,.ss-table td{border-bottom:0;padding:6px 14px}
  .ss-table tbody th{white-space:normal;font-size:16px}
  .ss-table td::before{content:attr(data-label);display:block;font:500 12.5px var(--text);color:var(--muted);margin-bottom:2px}
}
