/* Dark theme for admin.html. Charcoal values match the launcher's Tools/tokens.css
   (--bg #111112, --surface #1b1b1d, --surface-2 #161617, --surface-3 #262628). Applies only
   under [data-theme="dark"]; the page is light by default. The navy header (#1A2332) is
   unchanged in both themes. */
:root[data-theme="dark"] {
  --bg: #111112; --card: #1b1b1d; --text: #ececee; --text2: #a3a3a8; --border: #2e2e31;
  --ink: #ececee; --muted: #a3a3a8; --subtle: #8e8e94;
  --surface: #1b1b1d; --hairline: #2a2a2d; --green-dark: #8fdc4a; --green-text: #8fdc4a;
  --shadow: 0 1px 3px rgba(0,0,0,.5);
}
[data-theme="dark"] body { background: var(--bg); color: var(--text); }
/* Inline white panels, inputs and cards */
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background:#FFF"],
[data-theme="dark"] [style*="background:#FFFFFF"],
[data-theme="dark"] [style*="background: rgb(255, 255, 255)"],
[data-theme="dark"] [style*="background:rgb(255,255,255)"] { background: var(--card) !important; color: var(--text) !important; }
[data-theme="dark"] [style*="background:#FAFBF7"],
[data-theme="dark"] [style*="background: rgb(250, 251, 247)"] { background: #161617 !important; }
[data-theme="dark"] [style*="color:#333"] { color: var(--text) !important; }
[data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea {
  background: #161617 !important; color: var(--text) !important; border-color: var(--border) !important; }
/* The rule above forces the border, so focus needs its own !important to show the ring colour (#8DB3D6, 7.8:1). */
[data-theme="dark"] input:focus, [data-theme="dark"] select:focus, [data-theme="dark"] textarea:focus { border-color: var(--accent-steel-focus) !important; }
[data-theme="dark"] input::placeholder, [data-theme="dark"] textarea::placeholder { color: #8e8e94; }
[data-theme="dark"] .settings-menu, [data-theme="dark"] .pd-table th { background: var(--card); }
[data-theme="dark"] #tabUsers .pd-table tr:hover td { background: #262628; }
[data-theme="dark"] table td, [data-theme="dark"] table th { border-color: var(--border); }
/* Quill editor */
[data-theme="dark"] .ql-toolbar.ql-snow { background: #161617; border-color: var(--border); }
[data-theme="dark"] .ql-container.ql-snow { background: #161617; border-color: var(--border); }
[data-theme="dark"] .ql-editor { color: var(--text); }
[data-theme="dark"] .ql-snow .ql-stroke { stroke: #cfcfd3; }
[data-theme="dark"] .ql-snow .ql-fill { fill: #cfcfd3; }
[data-theme="dark"] .ql-snow .ql-picker { color: #cfcfd3; }
[data-theme="dark"] .ql-editor.ql-blank::before { color: #8e8e94; }
/* White on the brand green is 2.1:1; dark text on it clears 4.5:1. */
[data-theme="dark"] .btn-add { color: #111112; }
