/* PTO calculator (/pto-calculator/). Builds on .hmbd-tool in hmbd.css. */
.hmbd-pto-fields { margin: 0 0 1em; border: 0; padding: 0; min-width: 0; }
.hmbd-pto-fields legend { font-weight: 700; padding: 0; margin: 0 0 0.6em; }
.hmbd-pto-grid { display: grid; align-items: end; grid-template-columns: repeat(auto-fit, minmax(11.5em, 1fr)); gap: 0.75em 1em; }
.hmbd-pto-field { display: flex; flex-direction: column; gap: 0.3em; min-width: 0; }
.hmbd-pto-field[hidden] { display: none; }
.hmbd-pto-fields label { font-weight: 600; font-size: 0.9em; }
.hmbd-tool .hmbd-pto-fields input, .hmbd-tool .hmbd-pto-fields select { flex: 0 0 auto; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.hmbd-pto-hint { font-size: 0.82em; color: var(--ast-global-color-3); font-weight: 400; }
/* Reserve the height of the script's default results (accrual + balance; leave + holidays +
   projected balance) so nothing shifts when they replace the server text. Root is 14.6px below 922px. */
#pto-result { min-height: 7rem; }
#pto-leave-result { min-height: 8.75rem; }
@media (max-width: 1023px) { #pto-result { min-height: 8.75rem; } #pto-leave-result { min-height: 9.5rem; } }
@media (max-width: 767px) { #pto-result { min-height: 10.5rem; } #pto-leave-result { min-height: 12rem; } }
@media (max-width: 599px) { #pto-result { min-height: 12.1rem; } #pto-leave-result { min-height: 13.75rem; } }
@media (max-width: 480px) { #pto-result { min-height: 13.75rem; } #pto-leave-result { min-height: 15.4rem; } }
@media (max-width: 389px) { #pto-leave-result { min-height: 18.5rem; } }
@media (max-width: 359px) { #pto-result { min-height: 17rem; } #pto-leave-result { min-height: 20.25rem; } }
#pto-result p, #pto-leave-result p { margin: 0 0 0.5em; }
#pto-result p:last-child, #pto-leave-result p:last-child { margin-bottom: 0; }
.hmbd-pto-leave { margin-top: 1.4em; padding-top: 1.1em; border-top: 2px solid var(--ast-global-color-6); }
