/* Общий вид выбора: контурные иконки вместо системной заливки чекбокса.
   Сам input сохраняет checked, indeterminate, формы, события и клавиатуру. */
:root {
  --check-empty: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%223%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
  --check-on: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%223%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22m8%2012%202.5%202.5%205.5-5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --check-mixed: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%223%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2012h8%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
input[type="checkbox"]:not(.switch input):not([role="switch"]) {
  appearance:none; -webkit-appearance:none;
  width:20px !important; height:20px !important; min-width:20px; flex:none;
  padding:0 !important; border:0 !important; border-radius:3px; box-shadow:none !important;
  background:transparent !important; color:var(--text-2,#6b7280); vertical-align:middle; cursor:pointer;
}
input[type="checkbox"]:not(.switch input):not([role="switch"])::before {
  content:""; display:block; width:20px; height:20px; background:currentColor;
  mask:var(--check-empty) center / contain no-repeat;
}
input[type="checkbox"]:checked:not(.switch input):not([role="switch"])::before { mask-image:var(--check-on); }
input[type="checkbox"]:indeterminate:not(.switch input):not([role="switch"])::before { mask-image:var(--check-mixed); }
input[type="checkbox"]:not(.switch input):not([role="switch"]):hover:not(:disabled) { color:var(--brand-soft-text,#2f4fd6); }
input[type="checkbox"]:not(.switch input):not([role="switch"]):focus-visible { outline:2px solid var(--brand,#4c6fff); outline-offset:2px; }
input[type="checkbox"]:disabled:not(.switch input):not([role="switch"]) { opacity:.45; cursor:default; }
label:has(> input[type="checkbox"]):not(.switch) { cursor:pointer; }
label:has(> input[type="checkbox"]:not(:disabled)):not(.switch):hover { color:var(--brand-soft-text,#2f4fd6); }
label:has(> input[type="checkbox"]:not(:disabled)):not(.switch):hover > input { color:inherit; }
.sh-pick-row { display:flex; align-items:stretch; border-radius:var(--radius-sm,8px); background:var(--surface-2,#f8f9fc); }
.sh-pick-row:hover:not(:has(.sh-pick:hover)) { background:var(--surface-hover,#f1f3f9); }
.sh-pick { display:inline-flex; align-items:center; gap:8px; border:0; padding:12px; background:transparent; color:var(--text,#161a2e); font:inherit; font-weight:600; text-align:left; cursor:pointer; }
.sh-pick > i { flex:none; font-size:20px; }
.sh-pick:hover:not(:disabled), .sh-pick:focus-visible { color:var(--brand-soft-text,#2f4fd6); }
.sh-pick:focus-visible { outline:2px solid var(--brand,#4c6fff); outline-offset:-2px; border-radius:var(--radius-sm,8px); }
.sh-pick:disabled { opacity:.45; cursor:default; }
.sh-pick-row__open { display:flex; flex:1; align-items:center; justify-content:flex-end; gap:8px; min-width:36px; border:0; padding:12px; background:transparent; color:var(--text-2,#5b6178); font:inherit; cursor:pointer; }
@media (forced-colors:active) {
  input[type="checkbox"]:not(.switch input):not([role="switch"]) { appearance:auto; }
  input[type="checkbox"]:not(.switch input):not([role="switch"])::before { content:none; }
}

/* Тот же скруглённый контур у кнопок с Boxicons во всех разделах. */
.bx.bx-checkbox, .bx.bx-checkbox-checked, .bx.bx-checkbox-minus { display:inline-block; width:1em; height:1em; }
.bx.bx-checkbox::before, .bx.bx-checkbox-checked::before, .bx.bx-checkbox-minus::before { content:""; display:block; width:1em; height:1em; background:currentColor; mask:var(--check-empty) center / contain no-repeat; }
.bx.bx-checkbox-checked::before { mask-image:var(--check-on); }
.bx.bx-checkbox-minus::before { mask-image:var(--check-mixed); }
