/* Shared semantic palette: retain ServerApp charcoal/orange branding in both appearances. */
:root,[data-bs-theme="light"]{
    color-scheme:light;
    --accent:var(--csiflex-secondary);--accent-dark:#c9562a;
    --ink:#1f252b;--muted:#69737d;--surface:#fff;--page:#f4f6f8;--line:#dce2e7;
    --app-danger:#dc3545;--app-success:#198754;--app-warning:#946200;--app-info:#087990;
    --app-selected-bg:#fff0e8;--app-hover-bg:#f0f3f5;--app-link:#0071c1;
    --bs-body-bg:var(--surface);--bs-body-color:var(--ink);--bs-secondary-color:var(--muted);
    --bs-tertiary-bg:var(--page);--bs-secondary-bg:#e9edf0;--bs-border-color:var(--line);
    --bs-emphasis-color:var(--ink);--bs-link-color:var(--app-link);--bs-link-hover-color:#005a99;
}
[data-bs-theme="dark"]{
    color-scheme:dark;
    --accent:var(--csiflex-secondary);--accent-dark:#e77b4e;
    --ink:#e5e9ed;--muted:#b0bac3;--surface:#20282e;--page:#151c21;--line:#46525b;
    --app-danger:#f28590;--app-success:#62cd9a;--app-warning:#e4bd62;--app-info:#76cddd;
    --app-selected-bg:#493126;--app-hover-bg:#303b43;--app-link:#79bfff;
    --bs-body-bg:var(--surface);--bs-body-color:var(--ink);--bs-body-color-rgb:229,233,237;
    --bs-body-bg-rgb:32,40,46;--bs-secondary-color:var(--muted);--bs-secondary-bg:#2b353d;
    --bs-tertiary-bg:var(--page);--bs-tertiary-color:#a9b5be;--bs-border-color:var(--line);
    --bs-emphasis-color:#f8f9fa;--bs-emphasis-color-rgb:248,249,250;
    --bs-primary:#afbec8;--bs-primary-rgb:175,190,200;
    --bs-primary-text-emphasis:#dbe4ea;--bs-primary-bg-subtle:#303b43;--bs-primary-border-subtle:#60717d;
    --bs-link-color:var(--app-link);--bs-link-hover-color:#a8d7ff;
}
html,body{background:var(--page);color:var(--ink)}
.panel,.card,.modal-content,.dropdown-menu{background-color:var(--surface);color:var(--ink);border-color:var(--line)}
a,.btn-link{color:var(--app-link)}
.form-control,.form-select{background-color:var(--surface);color:var(--ink);border-color:var(--line)}
.form-control:disabled,.form-control[readonly],.form-select:disabled{background-color:var(--bs-secondary-bg);color:var(--muted)}
.form-control::placeholder{color:var(--muted);opacity:1}
.form-label{color:var(--muted)}
.table-light{--bs-table-bg:var(--surface);--bs-table-color:var(--ink);--bs-table-border-color:var(--line)}
thead.table-light th{background:var(--surface);color:var(--ink)}
.btn-outline-primary,.btn-outline-secondary{background-color:transparent}
[data-bs-theme="dark"] .btn-inactive{color:var(--muted);border-color:var(--muted)}
[data-bs-theme="dark"] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
/* Page settings and sidebar settings share the selected appearance. */
.settings-page .settings-navigation-link,.settings-page .settings-navigation-section>h3{color:var(--ink)}
.settings-page .settings-navigation-link:hover,.settings-page .settings-navigation-link.active{color:var(--ink);background:var(--app-hover-bg)}
.appearance-preferences{width:100%;max-width:none}
#blazor-error-ui{background:var(--bs-warning-bg-subtle);color:var(--bs-warning-text-emphasis)}
.validation-message{color:var(--app-danger)}
.invalid{outline-color:var(--app-danger)}
/* Navigation and surrounding menus follow the same appearance as the page. */
.app-header,.app-sidebar,.app-sidebar.default-gradient-vertical{background:var(--surface);color:var(--ink);border-color:var(--line)}
.app-sidebar{--sb-track-color:var(--surface);--sb-thumb-color:var(--muted)}
.app-user-menu-panel,.app-switcher-panel,.app-sidebar-settings-options{background:var(--surface);color:var(--ink);border-color:var(--line)}
.app-user-menu-toggle{background:var(--bs-secondary-bg);color:var(--ink)}
.app-user-menu-toggle:hover,.app-user-menu-toggle[aria-expanded="true"]{background:var(--app-hover-bg)}
.app-user-menu-identity{border-color:var(--line)}
.app-user-menu-identity small{color:var(--muted)}
.app-user-menu-link,.app-switcher-link,.app-switcher-link:hover i{color:var(--ink)}
.app-user-menu-link:hover,.app-switcher-link:hover{background:var(--app-hover-bg);color:var(--ink)}
.app-sidebar .app-nav-summary,.app-sidebar .app-nav .app-nav-link-row>.app-nav-link{color:var(--ink);opacity:1}
.app-sidebar .app-nav-group{background:var(--bs-tertiary-bg);border-color:var(--line)}
.app-sidebar .app-nav-group.flat-style{background:transparent}
.app-sidebar .app-nav-group:hover{box-shadow:none}
.app-sidebar .app-nav .app-nav-link-row>.app-nav-link:hover,.app-sidebar .app-nav .app-nav-link-row>.app-nav-link.active{background:var(--app-selected-bg);color:var(--ink)}
.app-sidebar .app-nav-favorite{color:var(--muted)}
.app-sidebar .app-nav-favorite.is-favorite,.app-sidebar .app-nav-favorite:hover{color:var(--bs-secondary);opacity:1}
.app-sidebar-settings,.app-nav-compact>.app-nav-compact-section~.app-nav-compact-section{border-color:var(--line)}
.app-sidebar-settings-link,.app-sidebar-settings-options .settings-navigation-link,.app-sidebar-settings-options .settings-navigation-section>h3{color:var(--ink)}
.app-sidebar-settings-link:hover,.app-sidebar-settings-link:focus-visible,.app-sidebar-settings-options .settings-navigation-link:hover,.app-sidebar-settings-options .settings-navigation-link.active{background:var(--app-hover-bg);color:var(--ink)}
.app-sidebar-toggle:hover,.app-sidebar-toggle-mobile:hover{background:var(--app-hover-bg)}
