/* Tools accompanying authored cash-credit guides. Deliberately scoped. */
.cash-guide-tool{margin:28px 0;padding:24px;border:1px solid #b8ceca;border-radius:16px;background:#f5faf8;color:#16324b;min-width:0;scroll-margin-top:100px}
.cash-guide-tool h2,.cash-guide-tool h3{color:#123049;line-height:1.3;overflow-wrap:anywhere}
.cash-guide-tool h2{margin-top:0!important}
.cash-guide-tool form,.cash-guide-tool fieldset,.cash-guide-tool div{min-width:0}
.cash-guide-tool fieldset{margin:16px 0;padding:16px;border:1px solid #c6d8d3;border-radius:10px}
.cash-guide-tool legend{padding:0 8px;font-weight:700;color:#123049;max-width:100%}
.cash-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cash-tool-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cash-tool-field label,.cash-guide-tool label{font-weight:600;font-size:15px;line-height:1.4;color:#16324b}
.cash-tool-field small,.cash-guide-tool .cash-tool-hint{font-size:13px;font-weight:400;line-height:1.5;color:#486078}
.cash-guide-tool input:not([type=checkbox]),.cash-guide-tool select{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;padding:11px 12px;border:1px solid #839f9b;border-radius:7px;background:#fff;color:#123049;font:inherit;line-height:1.3}
.cash-guide-tool input:focus-visible,.cash-guide-tool select:focus-visible,.cash-guide-tool button:focus-visible,.cash-tool-table-wrap:focus-visible{outline:3px solid #136e52;outline-offset:3px}
.cash-tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 8px}
.cash-guide-tool button{max-width:100%;border:1px solid #167452;border-radius:8px;background:#187444;color:#fff;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer;white-space:normal;line-height:1.4}
.cash-guide-tool button[type=button]{background:#fff;color:#12583f}
.cash-guide-tool button:hover{background:#115b34;color:#fff}
.cash-tool-error{margin-top:16px;padding:12px;border:1px solid #c87979;border-radius:8px;background:#fff0f0;color:#822828;font-weight:600}
.cash-guide-tool [hidden]{display:none!important}
.cash-tool-results{margin-top:24px;padding-top:20px;border-top:1px solid #b8ceca;scroll-margin-top:110px}
.cash-tool-summary{margin:16px 0}.cash-tool-summary:has(>div){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cash-tool-summary>div,.cash-tool-summary>article{padding:16px;border-radius:10px;border:1px solid #c5d9d1;background:#fff;min-width:0}
.cash-tool-summary strong,.cash-tool-summary output{display:block;font-size:clamp(18px,2vw,25px);color:#123049;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.4}
.cash-tool-summary span{font-size:14px;line-height:1.5}
.cash-tool-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:20px 0;border:1px solid #cedbd7;border-radius:8px;background:#fff;scrollbar-width:thin}
.cash-tool-table-wrap table{width:100%;margin:0;border-collapse:collapse;font-size:14px;line-height:1.5}
.cash-tool-table-wrap caption{text-align:left;padding:12px;font-weight:600;color:#123049}
.cash-tool-table-wrap th,.cash-tool-table-wrap td{padding:10px 12px;text-align:left;border-bottom:1px solid #dce5e2;vertical-align:top}
.cash-tool-table-wrap th{background:#edf5f2;color:#123049;font-weight:600}
.cash-tool-table-wrap td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap}
.cash-guide-tool .cash-tool-note{font-size:14px;line-height:1.6;color:#40566b}
.cash-guide-tool .cash-expense-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin:12px 0}
.cash-guide-tool .cash-expense-row button{padding:10px}
@media(max-width:680px){.cash-guide-tool{padding:18px 14px}.cash-tool-grid,.cash-tool-summary:has(>div){grid-template-columns:1fr}.cash-guide-tool fieldset{padding:12px}.cash-guide-tool .cash-expense-row{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:12px;border-bottom:1px solid #c6d8d3}.cash-guide-tool .cash-expense-row>:first-child{grid-column:1/-1}.cash-tool-summary strong{font-size:22px}.cash-tool-actions button{flex:1 1 180px}}
@media print{.cash-guide-tool{background:#fff;border-color:#aaa;padding:12px}.cash-tool-actions{display:none}.cash-tool-table-wrap{overflow:visible}.cash-tool-table-wrap table{font-size:10px}.cash-tool-summary:has(>div){grid-template-columns:repeat(2,minmax(0,1fr))}}

.cash-tool-error:empty{display:none}
