/* Shared surfaces and controls for every page, including all account flows. */
html[data-theme] body.app-theme {
  --ink: #f1e4cc; --muted: #ab9d85; --paper: #0d0c0b;
  --surface: #211b12; --input: #171410; --line: #453823;
  --accent: #f2b33d; --accent-ink: #2c1d07; --link: #efc36d;
  --green: var(--accent); --yellow: #bf7c2a; --red: #d68b7b;
  background: var(--paper); color: var(--ink);
}
html[data-theme=light] body.app-theme {
  --ink: #3f3020; --muted: #7c694b; --paper: #f6efdf;
  --surface: #fffaf0; --input: #f1e7d3; --line: #ddcfb5;
  --accent: #e8ac32; --link: #85530c; --red: #a14635;
}
html[data-theme] .app-theme main,
html[data-theme] .app-theme .site-header { background: var(--paper); }
html[data-theme] .app-theme .site-header { border-color: var(--line); }
html[data-theme] .app-theme .brand small { display: none; }
html[data-theme] .app-theme .brand svg { stroke: var(--accent); }
html[data-theme] .app-theme .primary-nav,
html[data-theme] .app-theme .header-login { color: var(--ink); }
html[data-theme] .app-theme .site-header .header-search,
html[data-theme] .app-theme .theme-toggle,
html[data-theme] .app-theme .account-trigger {
  background: var(--input); border-color: var(--line); color: var(--ink);
}
html[data-theme] .app-theme .header-search input { color: var(--ink); }
html[data-theme] .app-theme .header-search input::placeholder { color: var(--muted); }
html[data-theme] .app-theme .button,
html[data-theme] .app-theme .account-controls .header-signup {
  background: var(--accent); border-color: var(--accent); color: var(--accent-ink); box-shadow: none;
}
html[data-theme] .app-theme .button:hover { background: #f5c96f; }
html[data-theme] .app-theme .button.secondary {
  background: transparent; border-color: var(--line); color: var(--ink);
}
html[data-theme] .app-theme .button.secondary:hover { background: var(--input); }
html[data-theme] .app-theme .segmented a { color: var(--ink); border-color: var(--line); }
html[data-theme] .app-theme .segmented a.selected { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
html[data-theme] .app-theme .auth-context,
html[data-theme] .app-theme .auth-card,
html[data-theme] .app-theme .group-card,
html[data-theme] .app-theme .account-dropdown {
  background: var(--surface); border-color: var(--line); color: var(--ink);
}
html[data-theme] .app-theme .auth-context { background: linear-gradient(145deg, var(--surface), var(--input)); }
html[data-theme] .app-theme .auth-context::after { border-color: var(--line); }
html[data-theme] .app-theme .auth-card::before { background: var(--accent); }
html[data-theme] .app-theme .auth-context h1,
html[data-theme] .app-theme .auth-field label,
html[data-theme] .app-theme .auth-label-row label { color: var(--ink); }
html[data-theme] .app-theme .auth-eyebrow,
html[data-theme] .app-theme .auth-switch a,
html[data-theme] .app-theme .auth-label-row a,
html[data-theme] .app-theme .auth-back,
html[data-theme] .app-theme .text-link { color: var(--link); }
html[data-theme] .app-theme .auth-context-copy,
html[data-theme] .app-theme .auth-description,
html[data-theme] .app-theme .auth-switch,
html[data-theme] .app-theme .remember-label,
html[data-theme] .app-theme .auth-field > small,
html[data-theme] .app-theme .password-toggle { color: var(--muted); }
html[data-theme] .app-theme .auth-perks li,
html[data-theme] .app-theme .account-identity,
html[data-theme] .app-theme .account-menu-footer { border-color: var(--line); }
html[data-theme] .app-theme .auth-perks span,
html[data-theme] .app-theme .account-avatar { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
html[data-theme] .app-theme input:not([type=submit],[type=checkbox],[type=hidden]),
html[data-theme] .app-theme select { background: var(--input); border-color: var(--line); color: var(--ink); }
html[data-theme] .app-theme input::placeholder { color: var(--muted); }
html[data-theme] .app-theme input:focus-visible,
html[data-theme] .app-theme select:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
html[data-theme] .app-theme input[type=checkbox] { accent-color: #b77928; }
html[data-theme] .app-theme .password-toggle:hover,
html[data-theme] .app-theme .account-dropdown > a:hover,
html[data-theme] .app-theme .account-dropdown > a:focus-visible { background: var(--input); color: var(--link); }
html[data-theme] .app-theme .account-dropdown > a { color: var(--ink); }
html[data-theme] .app-theme .account-identity small,
html[data-theme] .app-theme .quiet-button { color: var(--muted); }
html[data-theme] .app-theme .list-row,
html[data-theme] .app-theme .panel-actions { border-color: var(--line); }
html[data-theme] .app-theme .flash { background: var(--input); border: 1px solid var(--line); color: var(--ink); }
html[data-theme] .app-theme .flash.alert,
html[data-theme] .app-theme .auth-errors { background: color-mix(in srgb, var(--red) 12%, var(--surface)); border-color: var(--red); color: var(--ink); }
html[data-theme] .app-theme .danger,
html[data-theme] .app-theme .logout-button { color: var(--red); }
html[data-theme] .app-theme .field-status,
html[data-theme] .app-theme .field-status > span:first-child,
html[data-theme] .app-theme .close-button { color: var(--muted); }
html[data-theme] .app-theme .classification.green { background: var(--input); color: var(--link); }
html[data-theme] .app-theme .classification.yellow { background: var(--input); color: var(--link); }
html[data-theme] .app-theme .empty-diamond { background: #bf7c2a; border-color: #f2b33d; box-shadow: none; }
html[data-theme=light] .app-theme .bee-loading { background: #f6efdfb8; }
html[data-theme=light] .app-theme .bee-loading-card { background: var(--surface); color: var(--ink); border-color: var(--line); }
html[data-theme=light] .app-theme .bee-loading-card > span:not(.bee-loading-bee):not(.bee-loading-dots) { color: var(--muted); }
