/* Keep startup neutral until the domain and route have been resolved. */
body:has(#app:empty) { background: var(--console-background); }
/* Shared shell for canonical and project-bound domains. */
body:has(.shell--console) {
  background: var(--console-background);
  color: var(--console-ink);
  font-family: var(--console-font);
  font-size: 14px;
}
.shell--console {
  --spot-ink: var(--console-ink);
  --spot-muted: var(--console-muted);
  --spot-line: var(--console-line);
  --pico-primary: var(--console-accent);
  --pico-primary-background: var(--console-accent);
  --pico-primary-border: var(--console-accent);
  --pico-primary-hover-background: var(--console-accent-hover);
  --pico-primary-hover-border: var(--console-accent-hover);
  --pico-primary-focus: #176b5030;
  --pico-form-element-active-border-color: var(--console-accent);
  --pico-form-element-focus-color: #176b5020;
  --pico-border-radius: 6px;
  width: min(1180px, calc(100% - 48px));
  padding: 0 0 24px;
  line-height: 1.5;
}
.shell--console * { letter-spacing: 0; }
.shell--console .topbar { min-height: 80px; margin: 0 0 32px; border-bottom: 1px solid var(--spot-line); }
.shell--console .brand { font-family: inherit; font-size: 20px; font-weight: 750; }
.shell--console .topbar-tagline { display: none; }
.shell--console .nav-link { border-radius: 5px; padding: 8px 12px; font-size: 13px; }
.shell--console .nav-link[aria-current="page"] { background: var(--console-selected); border-color: transparent; color: #165a44; font-weight: 600; }
.shell--console .user-pill { background: transparent; border: 0; border-radius: 6px; box-shadow: none; }
.shell--console .user-pill__avatar { background: #e5e9ee; color: #495560; font-size: 11px; }
.shell--console .user-pill__label { font-size: 12px; }
.shell--console .page-chrome:empty { display: none; }
.shell--console .page-chrome { margin: 0; padding: 0; }
.shell--console .app-footer { margin-top: 40px; padding-top: 20px; font-size: 12px; }
.shell--console .banner { box-shadow: none; border-radius: 6px; font-size: 13px; }
body:has(.shell--console) .scroll-to-top-button { background: #fff; color: #495560; border-color: #d4dbe1; border-radius: 6px; box-shadow: 0 2px 8px #15202b12; }
.shell--console a { color: var(--console-accent); }
.shell--console a:hover { color: var(--console-accent-hover); }
@media (max-width: 800px) {
  .shell--console .topbar { flex-wrap: wrap; gap: 12px; padding: 16px 0; }
  .shell--console .topbar .nav { gap: 4px; }
  .shell--console .topbar .user-pill__label { max-width: 160px; }
}
@media (max-width: 600px) {
  .shell--console { width: calc(100% - 32px); }
  .shell--console .topbar { margin-bottom: 24px; }
  .shell--console .nav-link { padding: 7px 9px; font-size: 12px; }
}
