/* Compact shared header; section navigation remains on the menu page. */
body .topbar.app-topbar {
  --header-bg:#fff; --header-text:#263442; --header-muted:#586b7a;
  --header-line:#d6e0e7; --header-hover:#edf3f7; --header-active:#e5eff8;
  display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto;
  align-items:center;gap:18px;padding:12px 24px;
  background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-line);box-shadow:none;
}
html body.app-theme-dark .topbar.app-topbar {
  --header-bg:var(--theme-inset);--header-text:var(--text);--header-muted:var(--muted);
  --header-line:var(--line);--header-hover:var(--theme-raised);--header-active:var(--theme-selected);
}
.app-topbar .brand-wrap {min-width:0;display:grid;gap:3px;}
.app-topbar .brand {color:var(--header-text);font-size:20px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.app-topbar .user-badge {padding:0;border:0;border-radius:0;background:none;color:var(--header-muted);font-size:11px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.app-topbar .topbar-workspace {display:flex;align-items:center;gap:18px;min-width:0;}
.app-topbar .top-search {flex:1;min-width:140px;width:auto;max-width:420px;margin:0;padding:0;border:1px solid var(--header-line);border-radius:6px;background:var(--header-bg);box-shadow:none;}
html body .app-topbar .top-search input {min-width:0;width:100%;border:0!important;border-radius:6px;background:transparent!important;color:var(--header-text)!important;box-shadow:none!important;font-size:13px;min-height:38px;padding:8px 10px;}
html body .app-topbar .top-search input::placeholder {color:var(--header-muted);opacity:1;}
.app-topbar .top-search button {background:transparent;color:var(--header-muted);border:0;width:38px;min-height:38px;padding:9px;border-radius:5px;}
.app-topbar .nav {display:flex;gap:4px;flex-wrap:nowrap;align-items:center;margin-left:auto;min-width:0;}
.app-topbar .nav :is(a,button) {display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:0;border-radius:6px;color:var(--header-text);background:transparent;font:600 13px/1.2 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap;box-shadow:none;cursor:pointer;}
.app-topbar .nav :is(a,button):hover {background:var(--header-hover);}
.app-topbar .nav [aria-current=page] {background:var(--header-active);}
.app-topbar .nav .header-hub {color:var(--header-muted);font-size:12px;font-weight:700;cursor:default;}
.header-tools {display:flex;align-items:center;gap:5px;border-left:1px solid var(--header-line);padding-left:14px;flex:0 0 auto;}
.app-topbar .header-icon-button,.header-dialog-close {display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;padding:8px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;cursor:pointer;}
.app-topbar .header-icon-button:hover {background:var(--header-hover);}
.app-topbar :is(a,button,input):focus-visible {outline:2px solid #387fb5;outline-offset:2px;}
body.app-theme-dark .app-topbar :is(a,button,input):focus-visible {outline-color:var(--theme-accent);}
[data-header-icon] {display:inline-flex;width:20px;height:20px;flex:0 0 20px;}
[data-header-icon] svg {display:block;width:100%;height:100%;}
.header-icon-button .header-theme-sun {display:none;}
body.app-theme-dark .header-icon-button .header-theme-sun {display:inline-flex;}
body.app-theme-dark .header-icon-button .header-theme-moon {display:none;}
.header-icon-button:disabled {opacity:.55;cursor:wait;}
body .header-background-dialog {position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 20px 60px #0004;overflow:hidden;}
.header-background-dialog::backdrop {background:#10182080;}
.header-background-dialog form {display:flex;flex-direction:column;margin:0;max-height:calc(100dvh - 26px);}
.header-background-dialog header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);}
.header-background-dialog h2 {font-size:18px;line-height:1.3;margin:0;color:var(--text);}
.header-background-dialog .header-dialog-close {color:var(--muted);}
.header-background-dialog .header-dialog-close:hover {background:var(--bg);}
.header-background-dialog .background-options {overflow:auto;overscroll-behavior:contain;min-height:0;max-height:none;padding:14px 16px;gap:8px;}
.header-background-dialog .background-option {display:grid;grid-template-columns:18px 48px minmax(0,1fr);align-items:center;gap:12px;min-height:64px;padding:9px;border-radius:6px;border:1px solid var(--line);background:var(--surface);cursor:pointer;}
.header-background-dialog .background-option.selected {border-color:#4983af;background:#eef5fb;}
.header-background-dialog .background-option input {position:static;opacity:1;appearance:auto;width:16px;height:16px;margin:0;pointer-events:auto;}
.header-background-dialog .background-option strong {font-size:13px;color:var(--text);}
.header-background-dialog .background-preview {border-radius:5px;box-shadow:none;}
body.app-theme-dark .header-background-dialog .background-option.selected {border-color:var(--theme-accent);background:var(--theme-selected);}
.header-background-dialog footer {display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);}
.header-appearance-error {margin:0;padding:8px 16px;color:var(--ui-danger,#ac3346);font-size:13px;line-height:1.4;}
.header-theme-error {position:fixed;z-index:12000;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:min(380px,calc(100vw - 32px));margin:0;padding:12px 16px;border:1px solid #b8727d;border-radius:6px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:13px;line-height:1.4;pointer-events:none;}
.header-theme-error[hidden],.header-appearance-error[hidden] {display:none;}
/* Background choice remains visible without changing the contrast of dark surfaces. */
body.app-theme-dark.theme-aurora {background-color:#142124;}
body.app-theme-dark.theme-graphite {background-color:#20242a;}
body.app-theme-dark.theme-prism {background-color:#1a202a;}
body.app-theme-dark.theme-copper {background-color:#24211e;}
@media (max-width:1100px) and (min-width:901px) {
  body .topbar.app-topbar {grid-template-columns:minmax(150px,185px) minmax(0,1fr) auto;gap:12px;padding-inline:16px;}
  .app-topbar .topbar-workspace {gap:10px;}
  .app-topbar .nav :is(a,button) {padding-inline:8px;}
  .header-tools {padding-left:8px;gap:2px;}
}
@media (max-width:900px) {
  html body .topbar.app-topbar {grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:max(9px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));}
  .app-topbar .header-tools {grid-column:1/-1;justify-content:flex-end;border-left:0;border-top:1px solid var(--header-line);padding:5px 0 0;margin:0;gap:8px;}
  .app-topbar .header-icon-button {width:40px;height:40px;flex-basis:40px;}
  .app-topbar .mobile-shell-action {color:var(--header-text);border-color:var(--header-line);background:var(--header-hover);}
  html[data-ui-layout=mobile] .app-topbar .topbar-workspace {display:grid;align-items:stretch;gap:12px;background:var(--header-bg);color:var(--header-text);}
  html[data-ui-layout=mobile] .app-topbar .nav {margin:0;align-items:stretch;}
  html[data-ui-layout=mobile] .app-topbar .nav :is(a,button) {justify-content:flex-start;min-height:44px;padding:10px 12px;width:100%;color:var(--header-text);background:var(--header-hover);border:1px solid var(--header-line);}
  html[data-ui-layout=mobile] .app-topbar .mobile-nav-head button {color:var(--header-text);background:var(--header-hover);border-color:var(--header-line);}
  html[data-ui-layout=mobile] .app-topbar .top-search {max-width:none;width:100%;min-width:0;background:var(--header-bg);border-color:var(--header-line);}
  html[data-ui-layout=mobile] body .app-topbar .topbar-workspace .top-search input {color:var(--header-text)!important;}
  html[data-ui-layout=mobile] body .app-topbar .topbar-workspace .top-search input::placeholder {color:var(--header-muted);}
  html[data-ui-layout=desktop] .app-topbar .topbar-workspace {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:7px;}
  html[data-ui-layout=desktop] .app-topbar .top-search {max-width:none;width:100%;}
  html[data-ui-layout=desktop] .app-topbar .nav {margin-left:0;justify-content:flex-start;overflow:visible;gap:5px;}
  html[data-ui-layout=desktop] .app-topbar .nav :is(a,button) {padding-inline:10px;}
  html[data-ui-layout=mobile] .app-topbar .user-badge {color:var(--header-muted);}
}
@media print {.header-tools,.header-background-dialog,.header-theme-error {display:none!important;}}
