#bmi-calculator { color:#182b45; }
.bmi-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }
.bmi-card { min-width:0; padding:20px; background:#f5f9fe; border:1px solid #dce4ed; border-radius:12px; }
.bmi-card h2 { margin:0 0 16px; font-size:20px; color:#163b68; }
.bmi-card label { display:block; font-weight:700; font-size:14px; margin-bottom:6px; }
.bmi-card input,.bmi-card select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid #bdcad9; border-radius:8px; background:#fff; color:#182b45; font:inherit; font-size:16px; }
.bmi-height input { max-width:320px; }
.bmi-note { color:#52657d; font-size:13px; line-height:1.7; }
.bmi-result { margin-top:18px; padding:18px; border:1px solid #c9ddfa; border-radius:9px; background:#eaf2ff; color:#095ac7; overflow-wrap:anywhere; }
.bmi-result:has(output:empty) { display:none; }
.bmi-result output { font-weight:700; font-size:32px; }
.bmi-result p { margin:8px 0 0; }
#bmi-tool input[aria-invalid="true"] { border-color:#b42318; }
.bmi-note[data-error="true"] { color:#b42318; }
#bmi-tool :is(input,select,button,a):focus-visible { outline:3px solid #8ab0f8; outline-offset:3px; }
.bmi-table-wrap { margin-top:16px; }
.bmi-table-wrap table { border-collapse:collapse; width:100%; font-size:14px; overflow-wrap:anywhere; }
.bmi-table-wrap caption { text-align:start; color:#163b68; font-weight:700; padding-bottom:10px; }
.bmi-table-wrap th,.bmi-table-wrap td { padding:12px; border-bottom:1px solid #dce4ed; text-align:start; }
.bmi-table-wrap thead { background:#f5f9fe; }
.bmi-table-wrap tr.is-current { background:#e6f0ff; border-inline-start:4px solid #1769e0; font-weight:700; }
.bmi-current { color:#095ac7; }
@media(max-width:640px) { .bmi-grid { grid-template-columns:1fr; } .bmi-card { padding:17px; } .bmi-table-wrap th,.bmi-table-wrap td { padding:10px 6px; } }
