/* Shared by the bakkie, its dialogs and Systeembeheer. Keep focus inside
   controls so overflow-clipped panels cannot cut off the keyboard indicator. */
:root { --wazel-focus-color:#d4dde2; --wazel-focus-width:2px; }
html[data-focus-input="pointer"] { --wazel-focus-width:0px; }
:where(button, input, select, textarea, a[href], summary, [tabindex], label) { -webkit-tap-highlight-color:transparent; }

:focus,
.rotary-knob input:focus + :is(.rotary-face, .vox-delay-face),
.switch-control input:focus + i,
.push-setting input:focus + i,
.modulation-control:focus-within i,
.qsl-file-label:focus-within,
[data-focus-proxy]:focus-within { outline:none !important; }

:focus-visible,
html[data-focus-input="keyboard"] :focus,
.rotary-knob input:focus-visible + :is(.rotary-face, .vox-delay-face),
.switch-control input:focus-visible + i,
.push-setting input:focus-visible + i,
.modulation-control:has(select:focus-visible) i,
.qsl-file-label:has(input:focus-visible),
[data-focus-proxy]:has(:focus-visible),
.ptt-mode-setting label:has(input:focus-visible),
html[data-focus-input="keyboard"] .rotary-knob input:focus + :is(.rotary-face, .vox-delay-face),
html[data-focus-input="keyboard"] .switch-control input:focus + i,
html[data-focus-input="keyboard"] .push-setting input:focus + i,
html[data-focus-input="keyboard"] .modulation-control:focus-within i,
html[data-focus-input="keyboard"] .qsl-file-label:focus-within,
html[data-focus-input="keyboard"] [data-focus-proxy]:focus-within,
html[data-focus-input="keyboard"] .ptt-mode-setting label:focus-within {
  outline:var(--wazel-focus-width) solid var(--wazel-focus-color) !important;
  outline-offset:-3px !important;
}

/* These controls previously changed their border as well as their outline. */
.callsign-field input:focus { border-color:#666851; }
.report-form :is(select, textarea):focus { border-color:#4d5042; }
.online-count-button:focus-visible { border-color:transparent; }
#bronzeNewsRadio[data-holding="true"] {
  outline:var(--wazel-focus-width) solid var(--wazel-focus-color) !important;
  outline-offset:-3px !important;
  background:#29382c;
}

/* Dark neutral focus on the few light surfaces; preserve all active states. */
.scribble-note,
.radio-dial-presets button,
.ptt-mode-setting label:has(input:checked),
.station-ranking-row:is([value="1"], [value="2"], [value="3"]) { --wazel-focus-color:#28383f; }
.radio-dial-presets button[aria-pressed="true"] { --wazel-focus-color:#d4dde2; }
@media (forced-colors:active) { :root, body * { --wazel-focus-color:CanvasText; } }
