/* Shared control policy. Keep geometry, card artwork and non-text controls intact. */
:root {
    --control-surface: #111c34;
    --control-text: #f8fafc;
    --control-placeholder: #a8b6cc;
    --control-border: #64748b;
    --control-hover: #243653;
    --control-focus: #7dd3fc;
}
html:root body :is(
    input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="button"], [type="submit"], [type="reset"], [type="image"]),
    select, textarea, [role="combobox"], [contenteditable="true"], .fi-select-input-btn
) {
    background-color: var(--control-surface) !important;
    color: var(--control-text) !important;
    -webkit-text-fill-color: var(--control-text) !important;
    caret-color: var(--control-text);
    color-scheme: dark;
    border-color: var(--control-border);
}
html:root body :is(input, textarea)::placeholder {
    color: var(--control-placeholder) !important;
    -webkit-text-fill-color: var(--control-placeholder) !important;
    opacity: 1;
}
html:root body :is(select, select option, select optgroup) {
    background-color: var(--control-surface) !important;
    color: var(--control-text) !important;
    -webkit-text-fill-color: var(--control-text) !important;
    color-scheme: dark;
}
html:root body select { appearance: auto !important; background-image: none !important; }
html:root body :is(input, select, textarea, [role="combobox"], [contenteditable="true"], .fi-select-input-btn):focus-visible {
    outline: 3px solid var(--control-focus) !important;
    outline-offset: 2px;
}
html:root body :is(input:not([type="hidden"], [type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="button"], [type="submit"], [type="reset"], [type="image"]), select, textarea):disabled {
    background-color: #1e293b !important;
    color: #cbd5e1 !important;
    -webkit-text-fill-color: #cbd5e1 !important;
    opacity: 1;
}
html:root body input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--control-surface) inset !important;
    -webkit-text-fill-color: var(--control-text) !important;
    caret-color: var(--control-text);
}
html:root body input::file-selector-button {
    background-color: var(--control-hover);
    color: var(--control-text);
    border: 1px solid var(--control-border);
}
html:root body :is(
    [role="menu"], [role="listbox"], .wp-remind-menu, .child-switch-menu,
    .dp-dropdown-menu, .editor-dropdown-menu, .fi-dropdown-panel, .fi-select-input-options-ctn,
    .fi-input-wrp:has(input, select, textarea, .fi-select-input), .fi-select-input-value-ctn,
    .fi-select-input-search-ctn, .kd-notifications-panel .kd-notif-header,
    .kd-notifications-panel .kd-notif-footer, .kd-notifications-panel .kd-notif-item
) {
    background-color: var(--control-surface) !important;
    color: var(--control-text) !important;
    color-scheme: dark;
}
html:root body :is(
    [role="option"], [role="menuitem"], .wp-remind-menu button, .wp-remind-menu strong,
    .child-switch-menu a, .dp-dropdown-item, .editor-dropdown-item,
    .fi-select-input-option, .fi-select-input-value-label, .fi-dropdown-list-item
) {
    background-color: var(--control-surface) !important;
    color: var(--control-text) !important;
}
html:root body :is(
    [role="option"], [role="menuitem"], .wp-remind-menu button, .child-switch-menu a,
    .dp-dropdown-item, .editor-dropdown-item, .fi-select-input-option, .fi-dropdown-list-item
):is(:hover, :focus-visible, [aria-selected="true"], .is-selected) {
    background-color: var(--control-hover) !important;
    color: var(--control-text) !important;
}
html:root body :is(.fi-select-input-placeholder, .fi-select-input-message, .fi-dropdown-header) {
    color: var(--control-placeholder) !important;
}
html:root body .kd-notifications-panel :is(.kd-notif-title, .kd-notif-msg, .kd-notif-mark-all) { color: var(--control-text) !important; }
html:root body .kd-notifications-panel :is(.kd-notif-snippet, .kd-notif-meta, .kd-notif-time) { color: var(--control-placeholder) !important; }
html:root body .kd-notifications-panel .kd-notif-priority { background-color: #4c1d35 !important; color: #fecdd3 !important; }
html:root body :is(.fi-fo-rich-editor, .fi-fo-rich-editor-toolbar, .fi-fo-rich-editor-floating-toolbar, .fi-fo-rich-editor-dropdown-tool-menu, .fi-fo-rich-editor-content) {
    background-color: var(--control-surface) !important;
    color: var(--control-text) !important;
    color-scheme: dark;
}
html:root body :is(.fi-fo-rich-editor-tool, .fi-fo-rich-editor-dropdown-tool-trigger, .fi-fo-rich-editor-dropdown-tool-option) {
    background-color: var(--control-surface) !important;
    color: var(--control-text) !important;
}
html:root body :is(.fi-fo-rich-editor-tool, .fi-fo-rich-editor-dropdown-tool-trigger, .fi-fo-rich-editor-dropdown-tool-option):is(:hover, :focus-visible, .fi-active) { background-color: var(--control-hover) !important; }
