.tool-app{margin-block:2rem}.tool-app form{padding:clamp(1rem,3vw,2rem);background:#f1f2ec;border:1px solid #d1d7cb;border-radius:8px}.tool-grid,.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.quote-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.tool-field{display:grid;gap:.4rem;margin-block:0 1rem;font-weight:600;color:#243b32}.tool-field input,.tool-field select{width:100%;min-height:48px;padding:.65rem .75rem;border:1px solid #7e8b82;border-radius:4px;background:#fff;color:#1e3128;font:inherit;box-sizing:border-box}.tool-app input:focus-visible,.tool-app select:focus-visible,.tool-app button:focus-visible,.tool-app a:focus-visible,.table-scroll:focus-visible{outline:3px solid #9b5e17;outline-offset:3px}.tool-check{display:flex;align-items:flex-start;gap:.5rem;margin-block:.7rem;line-height:1.5}.tool-check input{width:20px;height:20px;flex:0 0 20px;accent-color:#294c3c;margin-top:.2rem}.tool-app button{min-height:48px;border:0;border-radius:4px;padding:.75rem 1.2rem;background:#294c3c;color:white;font:inherit;font-weight:600;cursor:pointer;margin-top:1rem}.tool-app button:hover{background:#1e392d}.tool-app fieldset{margin:0;padding:1rem;border:1px solid #aeb9ad;min-width:0}.tool-app legend{padding:0 .4rem;font-weight:700}.tool-result{margin-top:2rem;padding:clamp(1rem,3vw,2rem);border:2px solid #667d62;border-radius:8px;background:#fff}.fit-result{padding-block:1rem;border-bottom:1px solid #d7ded2}.fit-result h4{margin-bottom:.5rem}.tool-error{color:#8f241e;font-weight:600}.table-scroll{overflow-x:auto;margin-block:1rem}.tool-app table{border-collapse:collapse;min-width:100%;font-size:.95rem}.tool-app th,.tool-app td{padding:.8rem;border-bottom:1px solid #d1d7cb;text-align:left;vertical-align:top}.tool-app thead th{background:#e7ecdf}.tool-app tbody th{font-weight:600;min-width:180px}.tool-app td{min-width:115px}.tool-app .callout{margin-top:1.25rem;padding:1rem 1.25rem;border-left:4px solid #98702c;background:#fff6df}.tool-app .planning{border-color:#526c4b;background:#edf0e7}@media(max-width:580px){.tool-grid{grid-template-columns:1fr}.tool-app form{padding:1rem}.tool-result{padding:1rem}.tool-field{margin-bottom:.5rem}}@media print{.tool-app form,.tool-app>label,.tool-app button{display:none}.tool-result{border:0;padding:0}.table-scroll{overflow:visible}.tool-app table{font-size:9pt}.tool-app th,.tool-app td{min-width:0;padding:.3rem}.tool-app a{color:inherit}.fit-result{break-inside:avoid}}
