/* Navy palette shared by both themes. Layout stays in style.css. */
:root {
  color-scheme: light;
  --accent: #234f9d; --green: var(--accent); --ink: #0c1c3a;
  --page: #edf2fa; --surface: #ffffff; --surface-soft: #f6f8fd;
  --text: #192d4d; --muted: #586b88; --line: #d7e0ef;
  --soft-blue: #e5edfc; --soft-text: #234d90;
  --accent-panel: #dce8fc; --accent-border: #c8d9f5;
  --field: #ffffff; --field-border: #b9c9e1;
  --warning-bg: #fff2d6; --warning-text: #785510;
  --success-bg: #e3f1ec; --success-text: #25634e;
  --danger-bg: #fbe8e8; --danger-text: #9c333e;
  --repair-bg: #e4edff; --repair-text: #2c5598;
  --closed-bg: #e8edf5; --closed-text: #53657e;
  --shadow: 0 8px 26px #12305a1a;
  background: var(--page); color: var(--text);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --accent: #88b4ff; --green: var(--accent);
  --page: #0b1629; --surface: #122139; --surface-soft: #172a45;
  --text: #e4edfc; --muted: #a3b4cf; --line: #2a3d5b;
  --soft-blue: #213a60; --soft-text: #c0d7ff;
  --accent-panel: #1b3559; --accent-border: #365781;
  --field: #0e1c32; --field-border: #405879;
  --warning-bg: #3c321c; --warning-text: #f1d28e;
  --success-bg: #183c37; --success-text: #9addc3;
  --danger-bg: #452637; --danger-text: #ffb6c0;
  --repair-bg: #243b63; --repair-text: #b2d0ff;
  --closed-bg: #29384e; --closed-text: #b9c7da;
  --shadow: 0 8px 26px #0005;
}
body { background: var(--page); color: var(--text); }
button,.button { background: #285bb2; color: #fff; }
button:hover,.button:hover { filter: brightness(1.1); }
.secondary,.catalog-list button { background: var(--soft-blue); color: var(--soft-text); }
.quiet { background: transparent; color: var(--muted); }
.danger { background: var(--danger-bg); color: var(--danger-text); }
.sidebar,.login-story { background: #0c1c3a; color: #bfcee8; }
.sidebar { border-right: 1px solid #263b60; }
.brand span { color: #9ebff7; }
.brand-sub { color: #a1b5d5; }
.sidebar nav a { color: #b9cceb; }
.sidebar nav a.active { background: #244575; color: #fff; box-shadow: inset 3px 0 #83b2ff; }
.sidebar nav a:hover { background: #1b355b; }
.eyebrow { color: var(--soft-text); }
.login-story .eyebrow { color: #a6c8ff; }
.login-story p,.login-story .muted { color: #b5c8e6; }
.topbar,.panel,.metric { background: var(--surface); }
.metric .label { color: var(--muted); }
.metric.accent { background: var(--accent-panel); border-color: var(--accent-border); }
.tabs a,.tabs button { color: var(--muted); background: transparent; }
.tabs .active { background: var(--soft-blue); color: var(--soft-text); }
input,select,textarea { background: var(--field); color: var(--text); border-color: var(--field-border); }
input::placeholder,textarea::placeholder { color: var(--muted); opacity: 1; }
input:focus,select:focus,textarea:focus { border-color: var(--accent); outline: 2px solid var(--accent-border); }
input[type="checkbox"] { accent-color: #477fe0; }
label,td strong { color: var(--text); }
th { background: var(--surface-soft); color: var(--muted); }
td { border-color: var(--line); }
.waiting,.notice { background: var(--warning-bg); color: var(--warning-text); }
.repair { background: var(--repair-bg); color: var(--repair-text); }
.ready,.success { background: var(--success-bg); color: var(--success-text); }
.closed { background: var(--closed-bg); color: var(--closed-text); }
.empty .symbol { color: var(--accent); }
.empty h3 { color: var(--text); }
.step { border-color: var(--line); }
.step.done { border-color: #6599f1; color: var(--soft-text); }
.error { color: var(--danger-text); }
.status-dot { background: #8bb7ff; }
.board-shell { background: var(--page); color: var(--text); }
.board-shell h1 { color: var(--text); }
.board-shell .muted,.board-shell .metric .label { color: var(--muted); }
.board-column,.board-shell .metric { background: var(--surface); border-color: var(--line); }
.board-card { background: var(--surface-soft); }
.board-card p { color: var(--text); }
.stock-row { border-color: var(--line); }
.low,.board-shell .low { color: var(--warning-text); }
dialog { background: var(--surface); color: var(--text); border-color: var(--line); box-shadow: var(--shadow); }
dialog::backdrop { background: #071329ab; }
#toast { background: #254c83; color: #fff; bottom: 86px; }
.qr-label { background: #fff; color: #111; border-color: #9caec7; color-scheme: light; }
.qr-label img { background: #fff; }
hr { border: 0; border-top: 1px solid var(--line); margin: 22px 0; }
.theme-toggle { position: fixed; right: 20px; bottom: max(18px, env(safe-area-inset-bottom)); z-index: 50; border: 1px solid var(--accent-border); border-radius: 24px; background: var(--surface); color: var(--text); box-shadow: var(--shadow); font-size: 13px; padding: 10px 16px; }
.content,.board-shell { padding-bottom: 90px; }
.login-card { padding-bottom: 60px; }
@media(max-width:720px) { .theme-toggle { right: 14px; min-height: 44px; } .sidebar nav { scrollbar-width: thin; scrollbar-color: #5274a7 #0c1c3a; } }
@media print {
  :root[data-theme] { color-scheme: light; --page: #fff; --surface: #fff; --surface-soft: #f5f5f5; --text: #111; --muted: #444; --line: #ccc; --accent: #153563; --soft-text: #153563; --soft-blue: #edf2fa; --accent-panel: #edf2fa; }
  body,.board-shell,.board-column,.board-card,.panel,.metric { background: #fff !important; color: #111 !important; }
  .theme-toggle { display: none !important; }
  .content,.board-shell { padding-bottom: 0; }
}
