/* Shared structural fixes; scrollable data tables retain their own scroll area. */
*, *::before, *::after { box-sizing: border-box; }
.page > *, .calc > *, .calc-grid > *, .fields > *, .hd-footer-grid > * { min-width: 0; }
.hd-footer-grid { grid-template-columns: minmax(0,1.4fr) repeat(3,minmax(0,1fr)); }
.hd-footer a, .hd-footer-copy { overflow-wrap: anywhere; }
.input-wrap select { min-width: 0; width: 100%; height: 100%; font: inherit; padding: 0 8px; border: 0; background: var(--input,white); color: var(--text,#102033); }
.hd-input-error { grid-column: 1 / -1; color: var(--text,#102033); border-left: 3px solid #b42318; padding: 8px 12px; background: var(--surface-2,#edf2f5); margin: 8px 0; }
.hd-input-error:empty { display: none; }
[aria-invalid="true"] { outline: 2px solid #b42318; outline-offset: -2px; }
.hd-empty-result { padding: 18px; }
button:disabled { opacity: .55; cursor: not-allowed; }
.result { flex-wrap: wrap; }
.result strong { overflow-wrap: anywhere; white-space: normal; max-width: 100%; }
.hd-calculator .field:last-child:nth-child(odd) { max-width: 100%; }
.hd-calculator .bar span { font-size: .8rem; white-space: normal; overflow-wrap: anywhere; width: 84px; max-width: 84px; text-align: center; }
@media(max-width:900px) { .hd-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .hd-footer-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width:390px) { .hd-calculator .fields { grid-template-columns: minmax(0,1fr); } .hd-calculator .field:last-child:nth-child(odd) { grid-column: auto; } }
