:root {
  color-scheme: light;
  --page: #f5f6f2;
  --surface: #f0f3ed;
  --primary: #446b4e;
  --primary-hover: #375b40;
  --focus: #be8135;
  --selection: #d2e4ca;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --page: #151d19;
  --paper: #202b25;
  --surface: #2a3930;
  --ink: #dce5df;
  --muted: #a0ada5;
  --line: #3b4b40;
  --green: #9dcca8;
  --primary: #426e50;
  --primary-hover: #4b7b59;
  --nav: #17221b;
  --focus: #e5a44d;
  --selection: #3b5841;
}
input, select { color: var(--ink); }
input::placeholder { color: var(--muted); opacity: 1; }
dialog { background: var(--paper); }
.toggle-track i { background: #fff; }
::selection { color: var(--ink); background: var(--selection); }
button:focus-visible, a:focus-visible { outline-color: var(--focus); }
.field input:focus, .field select:focus { outline-color: var(--focus); }

.theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 10px 12px; border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 13px; white-space: nowrap; }
.theme-toggle svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.theme-dark { display: none; }
[data-theme="dark"] .theme-light { display: none; }
[data-theme="dark"] .theme-dark { display: inline; }
.nav .theme-toggle { justify-content: flex-start; padding: 13px 15px; color: #aab8ad; background: none; text-align: left; font-size: 14px; }
.nav .theme-toggle:hover { background: #29382d; color: #fff; }
.auth-main { position: relative; }
.auth-main > .theme-toggle { position: absolute; top: 20px; right: 24px; }

[data-theme="dark"] .btn:hover,
[data-theme="dark"] .icon-btn:hover { background: var(--surface); }
[data-theme="dark"] .btn.primary:hover { background: var(--primary-hover); }
[data-theme="dark"] .btn.soft,
[data-theme="dark"] .stat-icon,
[data-theme="dark"] .session-icon { background: var(--surface); color: var(--green); border-color: var(--line); }
[data-theme="dark"] .btn.danger { color: #f1a99c; border-color: #80564b; }
[data-theme="dark"] .session-order-controls .danger { color: #f1a99c; }
[data-theme="dark"] .icon-btn,
[data-theme="dark"] .field small,
[data-theme="dark"] .card-title small,
[data-theme="dark"] .card-foot,
[data-theme="dark"] .back,
[data-theme="dark"] .log-line time { color: var(--muted); }
[data-theme="dark"] .tag { background: #303c33; color: #bcc8bb; }
[data-theme="dark"] .tag.green { background: #2d4530; color: #b5d6ae; }
[data-theme="dark"] .tag.amber { background: #463b26; color: #e7c18a; }
[data-theme="dark"] .card-line strong,
[data-theme="dark"] .log-line p { color: var(--green); }
[data-theme="dark"] th,
[data-theme="dark"] .card-foot { background: #1b251f; color: var(--muted); }
[data-theme="dark"] td,
[data-theme="dark"] .card-foot,
[data-theme="dark"] .log-line { border-color: var(--line); }
[data-theme="dark"] .notice,
[data-theme="dark"] .code { background: #26352b; border-color: var(--line); color: #bacbb9; }
[data-theme="dark"] .empty { background: #1b251f; border-color: var(--line); }
[data-theme="dark"] .empty-symbol { border-color: var(--line); color: var(--green); box-shadow: 0 0 0 10px #26352b; }
[data-theme="dark"] .form-error { background: #382821; color: #f0ab98; }
[data-theme="dark"] dialog::backdrop { background: #07110bd1; }
[data-theme="dark"] .field input,
[data-theme="dark"] .field select,
[data-theme="dark"] .search input,
[data-theme="dark"] .audit-filter input,
[data-theme="dark"] .audit-filter select,
[data-theme="dark"] .chat-composer input { background: #1b251f; border-color: var(--line); }
[data-theme="dark"] .chat-scroll { background: #121b16; }
[data-theme="dark"] .chat-message.incoming { background: #24332a; }
[data-theme="dark"] .chat-message.outgoing { background: #324e39; }
[data-theme="dark"] .chat-message footer { color: #b2c2b2; }
[data-theme="dark"] .keyboard-row button { background: #29392e; border-color: var(--line); }
[data-theme="dark"] .keyboard-row button:hover:not(:disabled),
[data-theme="dark"] .session-option:hover,
[data-theme="dark"] .session-option[aria-selected="true"] { background: #354b3a; }
[data-theme="dark"] .toggle-track { background: #4f5e52; }
[data-theme="dark"] .media-box { background: #1b271f; }
[data-theme="dark"] .energy-point { --energy-track: #29312b; --energy-fill: #76613c; border-color: #5d674e; background: var(--energy-track); }
[data-theme="dark"] .energy-point.available { color: #b3d5ad; background: #2d4732; border-color: #4d6e4e; }
[data-theme="dark"] .energy-point.unknown { color: #a8b6a6; background: #29312b; border-color: #4c5a4c; }

@media (max-width: 700px) {
  .nav { flex-wrap: wrap; }
  .nav .theme-toggle { padding: 9px 12px; font-size: 12px; }
  .auth-main { padding-top: 76px; }
  .auth-main > .theme-toggle { top: 16px; right: 20px; }
}
