/* Bitumen Calculator — tool styles.
   Every value from a design token (§4.2). Scoped to .ftb-tool-bit.
   Inputs, selects, radios, buttons and messages come from core.css.
   Kept small: core.css and style.css already transfer about 11,000 of the
   12,288-byte page budget (§10). */

.ftb-tool-bit .ftb-bit-set{margin:0 0 var(--ftb-space-5);padding:var(--ftb-space-4) var(--ftb-space-5) 0;
  border:1px solid var(--ftb-border);border-radius:var(--ftb-radius);background:var(--ftb-surface);min-width:0}
.ftb-tool-bit legend{padding:0 var(--ftb-space-2);font-size:var(--ftb-text-sm);font-weight:var(--ftb-fw-bold)}
.ftb-tool-bit .ftb-bit-grid{display:grid;gap:0 var(--ftb-space-4);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.ftb-tool-bit .ftb-bit-grid > *{min-width:0}
.ftb-tool-bit .ftb-bit-grid .ftb-field{margin-bottom:var(--ftb-space-4)}
/* Number and unit side by side; the unit never squeezes the number. */
.ftb-tool-bit .ftb-bit-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(4.75rem,auto);gap:var(--ftb-space-2)}
.ftb-tool-bit .ftb-bit-pair--wide{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.ftb-tool-bit [aria-invalid=true]{border-color:var(--ftb-error)}
.ftb-tool-bit .ftb-bit-opts{margin-bottom:var(--ftb-space-3);padding-bottom:0;border-bottom:0}

.ftb-tool-bit details summary{display:flex;align-items:center;min-height:var(--ftb-tap);cursor:pointer;
  font-size:var(--ftb-text-sm);font-weight:var(--ftb-fw-semi);color:var(--ftb-primary)}
.ftb-tool-bit details summary:focus-visible{outline:2px solid var(--ftb-primary);outline-offset:2px}
.ftb-tool-bit .ftb-bit-cost{margin:0 0 var(--ftb-space-5)}
.ftb-tool-bit .ftb-bit-costbody{padding-top:var(--ftb-space-2)}

/* ---------------------------------------------------------------- results */

/* Height reserved so the first figures never shift the page (§10). */
.ftb-tool-bit .ftb-bit-results{min-height:calc(var(--ftb-space-24) + var(--ftb-space-8))}
.ftb-tool-bit .ftb-bit-reshead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:0 var(--ftb-space-4)}
.ftb-tool-bit .ftb-bit-h{margin:0 0 var(--ftb-space-3);font-size:var(--ftb-text-lg);font-weight:var(--ftb-fw-semi)}
.ftb-tool-bit .ftb-bit-h3{margin:var(--ftb-space-5) 0 var(--ftb-space-2);font-size:var(--ftb-text-base);font-weight:var(--ftb-fw-bold)}
.ftb-tool-bit .ftb-bit-tiles{display:grid;gap:var(--ftb-space-3);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr))}
.ftb-tool-bit .ftb-bit-tile{padding:var(--ftb-space-4);background:var(--ftb-surface-2);border-radius:var(--ftb-radius)}
.ftb-tool-bit .ftb-bit-tile--lead{box-shadow:inset 4px 0 0 var(--ftb-primary)}
.ftb-tool-bit .ftb-bit-k{margin:0;font-size:var(--ftb-text-sm);font-weight:var(--ftb-fw-semi)}
.ftb-tool-bit .ftb-bit-v{margin:var(--ftb-space-1) 0 0;font-size:var(--ftb-text-xl);font-weight:var(--ftb-fw-bold);
  font-variant-numeric:tabular-nums}
.ftb-tool-bit .ftb-bit-geo{margin-top:var(--ftb-space-3)}

.ftb-tool-bit .ftb-bit-table{width:100%;border-collapse:collapse;font-size:var(--ftb-text-sm);font-variant-numeric:tabular-nums}
.ftb-tool-bit .ftb-bit-table th,
.ftb-tool-bit .ftb-bit-table td{padding:var(--ftb-space-2) var(--ftb-space-3);text-align:start;vertical-align:top;
  border-bottom:1px solid var(--ftb-border)}
.ftb-tool-bit .ftb-bit-table thead th{color:var(--ftb-text-muted);background:var(--ftb-surface-2)}
.ftb-tool-bit .ftb-bit-table tbody th{white-space:nowrap;font-weight:var(--ftb-fw-semi)}
.ftb-tool-bit .ftb-bit-formula{color:var(--ftb-text-muted)}
.ftb-tool-bit .ftb-bit-work{min-width:14rem}

.ftb-tool-bit .ftb-bit-notes{margin:var(--ftb-space-4) 0 0;padding:var(--ftb-space-4) var(--ftb-space-5) var(--ftb-space-4) var(--ftb-space-8);
  background:var(--ftb-warning-soft);border-radius:var(--ftb-radius);font-size:var(--ftb-text-sm);line-height:var(--ftb-lh-snug)}
.ftb-tool-bit .ftb-bit-notes li + li{margin-top:var(--ftb-space-2)}

.ftb-tool-bit .ftb-bit-disclaimer{margin:var(--ftb-space-6) 0 0;font-size:var(--ftb-text-sm);color:var(--ftb-text-muted)}

@media (max-width:479px){
  .ftb-tool-bit .ftb-bit-set{padding:var(--ftb-space-3) var(--ftb-space-3) 0}
  .ftb-tool-bit .ftb-tool-actions .ftb-btn{flex:1 1 auto}
}
