/* GFT tools: clear inputs, inspectable workings and usable records. */
.gft-tool {padding:clamp(20px,3vw,32px);border:1px solid #DCE2DD;border-radius:16px;background:#FFFFFF;box-shadow:0 12px 32px #102a3608;margin:32px 0;color:#102A36;min-width:0;}
.gft-tool [hidden] {display:none!important;}
.gft-tool .gft-tool-heading {padding-bottom:20px;border-bottom:1px solid #DCE2DD;margin-bottom:20px;}
.gft-tool .gft-tool-heading h2 {font-size:clamp(25px,3vw,34px);line-height:1.2;margin:10px 0 14px;letter-spacing:-.025em;}
.gft-tool .eyebrow {font-size:11px;letter-spacing:.09em;color:#216647;}
.gft-tool .tool-description {font-size:17px!important;line-height:1.7;margin:0;}
.gft-tool .gft-tool-outcome {font-size:16px;line-height:1.65;margin:0 0 12px;}
.gft-tool .tool-unit-note,.gft-tool .tool-storage {font-size:14px;line-height:1.65;color:#394D54;margin:0 0 20px;}
.gft-calculator-grid {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start;margin:24px 0;}
.gft-tool .tool-fields {display:block;min-width:0;margin:0;}
.gft-tool .tool-field + .tool-field {margin-top:20px;}
.gft-tool .tool-field label {display:block;font-size:16px;font-weight:700;line-height:1.5;margin:0 0 7px;}
.gft-tool .tool-field input {width:100%;min-width:0;min-height:50px;background:#FFFFFF;border:1px solid #7D8B90;border-radius:7px;padding:11px 12px;font-size:18px;line-height:1.4;color:#102A36;font-variant-numeric:tabular-nums;}
.gft-tool .tool-field input::placeholder {color:#68777D;opacity:1;}
.gft-tool .tool-field input[aria-invalid=true] {border:2px solid #9F2525;}
.gft-tool .tool-help {font-size:14px;line-height:1.6;color:#394D54;margin:7px 0 0;}
.gft-tool .tool-field-error {font-size:14px;line-height:1.55;color:#9F2525;font-weight:650;margin:7px 0 0;}
.gft-tool .tool-results {background:#0B202A;color:#FFFFFF;padding:22px;border-radius:12px;min-width:0;margin:0;}
.gft-tool .tool-results .eyebrow {color:#B4F5CF;}
.gft-tool .tool-calc-state {font-size:14px;line-height:1.65;color:#D4E3E4;margin:9px 0 15px;}
.gft-tool .result-row {display:flex;flex-direction:column;gap:5px;align-items:flex-start;border-top:1px solid #47606A;border-bottom:0;padding:17px 0;min-width:0;}
.gft-tool .result-row span {font-size:14px;line-height:1.55;color:#D4E3E4;}
.gft-tool .result-row output {font-size:clamp(22px,3vw,30px);line-height:1.3;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%;color:#FFFFFF;}
.gft-tool .tool-result-note {font-size:13px;line-height:1.65;color:#D4E3E4;margin:10px 0 0;}
.gft-tool .tool-error {background:#FFF1E7;color:#692919;border-radius:6px;padding:10px;margin:12px 0 0;font-size:14px!important;}
.gft-tool .tool-actions {display:flex;gap:10px;flex-wrap:wrap;margin:20px 0;}
.gft-tool .button {min-height:48px;font-size:14px;line-height:1.5;white-space:normal;max-width:100%;}
.gft-tool button:disabled {opacity:.55;cursor:not-allowed;transform:none;}
.gft-tool .tool-feedback {font-size:14px;line-height:1.65;margin:0 0 12px;color:#216647;}
.gft-tool .tool-feedback:empty {display:none;}
.gft-tool .gft-tool-method {background:#F5F5F0;border:1px solid #DCE2DD;border-radius:9px;margin:20px 0;padding:0 16px;}
.gft-tool .gft-tool-method summary {min-height:48px;cursor:pointer;display:list-item;font-size:15px;font-weight:700;line-height:1.65;padding:12px 0;}
.gft-tool .gft-tool-method p {font-size:15px;line-height:1.65;margin:0 0 18px;}
.gft-tool .gft-formula {white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:#FFFFFF;color:#102A36;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;border:1px solid #DCE2DD;border-radius:6px;margin:5px 0 15px;}
.gft-tool .tool-disclaimer {font-size:14px!important;line-height:1.7;background:none;border:0;padding:0;margin:20px 0 0;color:#394D54;}
.gft-tool-next {display:flex;flex-direction:column;gap:3px;border-top:1px solid #DCE2DD;margin-top:20px;padding-top:12px;}
.gft-tool-next a {display:inline-block;min-height:44px;padding:8px 0;color:#216647;font-size:15px;line-height:1.6;text-decoration:underline;}
.gft-checklist-progress {padding:16px 18px;background:#ECEFE9;border-radius:10px;margin:22px 0;}
.gft-tool .checklist-status {font-size:16px;line-height:1.6;font-weight:650;margin:0 0 8px;}
.gft-tool progress {width:100%;height:10px;accent-color:#216647;display:block;}
.gft-checklist-group {min-width:0;padding:0;border:0;margin:24px 0;}
.gft-checklist-group legend {font-size:17px;font-weight:750;margin-bottom:7px;line-height:1.5;}
.gft-tool .tool-checklist {margin:0;padding:0;list-style:none;}
.gft-tool .tool-checklist li {margin:0;padding:0;border-bottom:1px solid #DCE2DD;}
.gft-tool .tool-checklist label {display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;padding:14px 0;min-height:48px;font-size:16px;line-height:1.65;}
.gft-tool .tool-checklist input {width:20px;height:20px;margin:3px 0 0;accent-color:#216647;}
.gft-tool a:focus-visible,.gft-tool button:focus-visible,.gft-tool input:focus-visible,.gft-tool summary:focus-visible {outline:3px solid #216647;outline-offset:4px;}
.gft-toolkit .gft-worksheet [data-gft-copy-sheet] {margin:0 0 12px;}
.gft-toolkit .gft-worksheet-text {font-size:15px;line-height:1.8;}
@media(max-width:700px){.gft-calculator-grid {grid-template-columns:1fr;gap:20px;}.gft-tool .tool-results {padding:20px;}.gft-tool .tool-description {font-size:16px!important;}.gft-tool .tool-actions {gap:8px;}.gft-tool .tool-actions .button {flex:1 1 135px;}.gft-toolkit .gft-worksheet-text {font-size:14px;}}
@media(prefers-reduced-motion:reduce){.gft-tool .button {transition:none;transform:none;}}
@media print{
  .gft-print-branch > :not(.gft-print-branch):not([data-gft-print-target]) {display:none!important;}
  .gft-print-branch {display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;position:static!important;}
  [data-gft-print-target] {display:block!important;width:100%!important;max-width:none!important;margin:0!important;box-shadow:none!important;border:0!important;padding:0!important;}
  .gft-tool {box-shadow:none;border:0;background:white;color:black;}
  .gft-tool .tool-actions,.gft-tool .tool-feedback,.gft-tool .tool-storage,.gft-tool-next {display:none!important;}
  .gft-tool .tool-results,.gft-tool .tool-results * {background:white!important;color:black!important;}
  .gft-tool .tool-results {border:1px solid #777;}
  .gft-tool .gft-calculator-grid {display:block;}
  .gft-tool .tool-field,.gft-tool .result-row,.gft-checklist-group li {break-inside:avoid;}
  .gft-tool .gft-tool-heading h2 {font-size:22pt;}
  .gft-tool .gft-tool-method {display:block;}
  .gft-tool .gft-formula {white-space:pre-wrap;}
  .gft-tool .tool-checklist input {appearance:auto;}
}
