/* Native checkboxes retain keyboard, high-contrast and indeterminate behavior.
   Explicit geometry prevents text-input styles from stretching boolean fields. */
body main input[type="checkbox"] {
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  display:inline-block !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  max-width:20px !important;
  max-height:20px !important;
  flex:0 0 20px !important;
  padding:0 !important;
  margin:0 !important;
  vertical-align:middle;
  accent-color:#176b80;
  cursor:pointer;
  box-shadow:none;
}
body main label:has(input[type="checkbox"]), body main .checkbox-choice {
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:44px;
  box-sizing:border-box;
  max-width:100%;
  margin:0;
  line-height:1.5;
  text-align:left;
  cursor:pointer;
}
body main .checkbox-choice { width:100%; padding:8px 10px; border:1px solid #d8e3eb; border-radius:10px; background:#f8fbfc; }
body main .checkbox-choice span { min-width:0; overflow-wrap:anywhere; }
body main .checkbox-choice:has(input:checked) { border-color:#88b9c5; background:#edf7f9; }
body main .checkbox-choice:hover:not(:has(input:disabled)) { border-color:#176b80; }
body main input[type="checkbox"]:focus-visible { outline:3px solid #64b6cb; outline-offset:4px; }
body main .checkbox-choice:focus-within { outline:2px solid #64b6cb; outline-offset:2px; }
body main input[type="checkbox"]:disabled, body main label:has(input[type="checkbox"]:disabled) { cursor:not-allowed; opacity:.6; }
body main .has-error .checkbox-choice, body main .checkbox-choice:has(input[aria-invalid="true"]) { border-color:#b42318; }
@media (forced-colors:active) { body main .checkbox-choice { border-color:ButtonText; } body main input[type="checkbox"]:focus-visible { outline-color:Highlight; } }
body main label.checkbox-choice > span { color:var(--text,#17212b) !important; }
