/* OneProp evening workbench. Load after the shared and module stylesheets.
   Only colour and surface treatment change; the existing geometry stays intact. */
[data-theme="dark"] {
  color-scheme: dark;
  --canvas: #102a38;
  --nav: #102735;
  --ink: #e5eff3;
  --muted: #a9c3ce;
  --teal: #59c5b1;
  --teal-soft: #16443f;
  --teal-ink: #8bddc6;
  --teal-action: #197a6f;
  --coral: #efa398;
  --coral-soft: #472f36;
  --line: #355868;
  --white: #193b4b;
  --surface: #143342;
  --dark-panel: #193b4b;
  --dark-raised: #214657;
  --dark-input: #102e3d;
  --dark-control-line: #62818e;
  --dark-focus: #86dbc8;
  --dark-blue-soft: #203e57;
  --dark-blue-ink: #bad5ee;
  color: var(--ink);
  background: var(--canvas);
  scrollbar-color: #527789 var(--canvas);
}

[data-theme="dark"] body,
[data-theme="dark"] .app-layout,
[data-theme="dark"] .workspace,
[data-theme="dark"] .auth-root {
  background: var(--canvas);
  color: var(--ink);
}

[data-theme="dark"] ::selection { background: #2b665f; color: #f2fffb; }
[data-theme="dark"] :focus-visible { outline-color: var(--dark-focus); }
[data-theme="dark"] a { color: var(--teal-ink); }
[data-theme="dark"] :is(a, .text-link):hover { color: #b0f0db; }

/* Shell: the sidebar stays darker than the working surface. */
[data-theme="dark"] .sidebar { background: var(--nav); color: #dceaf0; }
[data-theme="dark"] .brand { color: #43bead; }
[data-theme="dark"] .brand span:nth-child(2),
[data-theme="dark"] .mobile-brand b { color: #ec8c81; }
[data-theme="dark"] .mobile-brand { color: #43bead; }
[data-theme="dark"] :is(.brand-caption, .sidebar-bottom, .person-id) { color: #a9c3ce; }
[data-theme="dark"] .person-name { color: var(--ink); }
[data-theme="dark"] .sidebar-person { border-color: var(--line); }
[data-theme="dark"] .nav-button { color: #bed3dd; }
[data-theme="dark"] .nav-button:hover { color: #ecf7f8; background: #204453; }
[data-theme="dark"] .nav-button.active { color: #ecf7f8; background: #2a5261; }
[data-theme="dark"] .nav-button.active .icon { color: #82d8c5; }
[data-theme="dark"] :is(.topbar, .auth-mobile-profile, .bottom-nav) {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .bottom-nav .nav-button { color: #b3cbd6; }
[data-theme="dark"] .bottom-nav .nav-button.active {
  color: var(--teal-ink);
  background: var(--teal-soft);
}
[data-theme="dark"] .bottom-nav .nav-button.active .icon { color: var(--teal-ink); }
[data-theme="dark"] .demo-badge {
  background: #1b3e4e;
  border-color: #4a6d7b;
  color: #bfd5df;
}
[data-theme="dark"] .phone-preview-link { color: #b4cfda; }
[data-theme="dark"] .context-copy { color: var(--muted); }
[data-theme="dark"] body > header { background: var(--surface); border-color: var(--line); }
[data-theme="dark"] body > header p,
[data-theme="dark"] .caption { color: var(--muted); }
[data-theme="dark"] .preview-brand { color: #43bead; }
[data-theme="dark"] .preview-brand span:last-child { color: #ec8c81; }

/* Quiet panels and actionable controls. */
[data-theme="dark"] :is(.panel, .auth-card, .dialog-header, .academy-tabs, .oneprop-tour-card) {
  background: var(--dark-panel);
  color: var(--ink);
  border-color: var(--line);
}
[data-theme="dark"] .auth-card { box-shadow: 0 12px 42px #071c241a; }
[data-theme="dark"] :is(.button.secondary, .filter-button, .horizontal-scroll-button,
  .language-button, .role-control select, .theme-toggle, .theme-button, .theme-switch) {
  background: var(--dark-input);
  color: #d9e8ee;
  border-color: var(--dark-control-line);
}
[data-theme="dark"] :is(.button.secondary, .filter-button, .horizontal-scroll-button,
  .language-button, .theme-toggle, .theme-button, .theme-switch):hover:not(:disabled) {
  background: var(--dark-raised);
  border-color: #85a5b2;
}
[data-theme="dark"] .button.primary { background: var(--teal-action); color: #f4fffc; }
[data-theme="dark"] .button.primary:hover:not(:disabled) { background: #1b8375; }
[data-theme="dark"] .button.quiet { background: #244858; color: #c8e0e8; }
[data-theme="dark"] .button.danger {
  color: var(--coral);
  background: var(--coral-soft);
  border-color: #95616a;
}
[data-theme="dark"] .button.danger:hover:not(:disabled) { background: #55363e; }
[data-theme="dark"] :is(.filter-button.active, .academy-tab.active) {
  color: var(--teal-ink);
  background: var(--teal-soft);
  border-color: #59b7a6;
}
[data-theme="dark"] .horizontal-scroll-button:disabled {
  color: #7997a6;
  background: #173746;
  border-color: var(--line);
}
[data-theme="dark"] :is(.path-count, .focus-number) { color: var(--teal-ink); }
[data-theme="dark"] .lesson-step-circle { background: var(--dark-panel); border-color: #648490; }
[data-theme="dark"] .lesson-step.done .lesson-step-circle {
  background: var(--teal);
  border-color: var(--teal);
  color: #102a38;
}
[data-theme="dark"] .lesson-step.current .lesson-step-circle {
  color: var(--teal-ink);
  border-color: #75d1bd;
  box-shadow: 0 0 0 4px #234f50;
}
[data-theme="dark"] .practice-goal { color: #bad2dc; }
[data-theme="dark"] :is(.illustration-chart, .message-footer, .journal-row, .review-item,
  .task-item, .metric-line, .auth-person-row) { border-color: var(--line); }
[data-theme="dark"] .message-body { color: #c7dce4; }
[data-theme="dark"] .routine-item:hover { background: #204352; }
[data-theme="dark"] .routine-icon { background: #254957; color: #b9d4df; }
[data-theme="dark"] .routine-title { color: var(--teal-ink); }
[data-theme="dark"] .routine-arrow { color: #a1bdca; }
[data-theme="dark"] :is(.journal-row:hover, .data-table tbody tr:hover) { background: #214555; }
[data-theme="dark"] .avatar { background: #2b5060; color: #d0e5ed; }
[data-theme="dark"] .avatar.teal { background: var(--teal-soft); color: var(--teal-ink); }

/* Semantic colour remains consistent across outcomes, tags and assessment. */
[data-theme="dark"] .pill { background: #294c5b; color: #c7dce6; }
[data-theme="dark"] .pill.teal { background: var(--teal-soft); color: var(--teal-ink); }
[data-theme="dark"] .pill.coral { background: var(--coral-soft); color: var(--coral); }
[data-theme="dark"] .pill.blue { background: var(--dark-blue-soft); color: var(--dark-blue-ink); }
[data-theme="dark"] .positive { color: #83dbc4; }
[data-theme="dark"] .negative { color: #f0a59b; }
[data-theme="dark"] .notice { background: #1b424c; color: #c6dfe7; border-color: #6caaa9; }
[data-theme="dark"] .notice.coral { background: var(--coral-soft); color: #efb7aa; border-color: var(--coral); }
[data-theme="dark"] :is(.inline-error, .error-panel) {
  background: #442d36;
  color: #f1b5aa;
  border-color: #8b5a65;
}
[data-theme="dark"] .empty-state { border-color: #5b7d8b; }
[data-theme="dark"] .loading-placeholder { background: #1c3f4e; color: #b2ccd8; }

/* Form fields use native dark date/select controls and a visible field boundary. */
[data-theme="dark"] .form-field { color: #c1d8e2; }
[data-theme="dark"] :is(.form-field input, .form-field select, .form-field textarea,
  .search-input, .trading-period select, .auth-invite-result input) {
  color: var(--ink);
  background: var(--dark-input);
  border-color: var(--dark-control-line);
  caret-color: var(--teal-ink);
}
[data-theme="dark"] :is(input, textarea)::placeholder { color: #a4bcc8; opacity: 1; }
[data-theme="dark"] :is(.form-field input, .form-field select, .form-field textarea):disabled {
  background: #24414e;
  color: #a5bac5;
  border-color: #476575;
}
[data-theme="dark"] :is(input, textarea, select):autofill {
  box-shadow: 0 0 0 1000px var(--dark-input) inset;
  -webkit-text-fill-color: var(--ink);
  caret-color: var(--teal-ink);
}
[data-theme="dark"] option { background: var(--dark-input); color: var(--ink); }
[data-theme="dark"] input:is([type="checkbox"], [type="radio"]) { accent-color: #59c5b1; }
[data-theme="dark"] .upload-area { background: #153644; border-color: #648792; }
[data-theme="dark"] .upload-area input::file-selector-button {
  color: var(--ink);
  background: #244858;
  border-color: var(--dark-control-line);
}
[data-theme="dark"] :is(.check-item, .state-choice) {
  background: #173746;
  color: var(--ink);
  border-color: #537785;
}
[data-theme="dark"] :is(.check-item, .state-choice):has(input:checked) {
  background: #173f3e;
  border-color: #62b8a7;
}
[data-theme="dark"] .note-block { background: #1a3d4b; border-color: #6b9eae; }
[data-theme="dark"] .mentor-task-summary { background: #1c424b; }

/* Sheets and reading keep their hierarchy without a bright modal header. */
[data-theme="dark"] :is(.detail-dialog, .membership-dialog, .auth-confirm-dialog) {
  background: var(--canvas);
  color: var(--ink);
  border-color: #456879;
  box-shadow: 0 24px 80px #04141c80;
}
[data-theme="dark"] :is(.detail-dialog, .membership-dialog, .auth-confirm-dialog)::backdrop {
  background: #061722b3;
}
[data-theme="dark"] :is(.close-button, .oneprop-tour-close) { background: #2b4d5c; color: #d4e8ef; }
[data-theme="dark"] :is(.close-button, .oneprop-tour-close):hover { background: #355f70; }
[data-theme="dark"] .detail-metric { background: #1b4050; }
[data-theme="dark"] .lesson-card-art { background: #204655; }
[data-theme="dark"] .lesson-card-art .lesson-no { color: #9cc4d2; }
[data-theme="dark"] .lesson-card-art svg { color: #81afbf; }
[data-theme="dark"] .lesson-card-art.done { background: #1a4543; }
[data-theme="dark"] .lesson-card-art.done .lesson-no { color: #83cdbb; }
[data-theme="dark"] .lesson-card-art.current { background: #102f3e; }
[data-theme="dark"] .lesson-card-art.current .lesson-no { color: #7dd7c2; }
[data-theme="dark"] .academy-tab:hover { background: #264b5b; }
[data-theme="dark"] .academy-tab.active:hover { background: #1b514b; }
[data-theme="dark"] .academy-practice { background: #193f43; }
[data-theme="dark"] :is(.academy-option, .academy-answer-option) {
  color: var(--ink);
  background: #173746;
  border-color: #537785;
}
[data-theme="dark"] .academy-option:hover { border-color: #84c9bb; }
[data-theme="dark"] .academy-option:has(input:checked) {
  background: #19483f;
  border-color: #6ac9af;
}
[data-theme="dark"] :is(.academy-result, .academy-answer-option.correct) {
  background: #1b443d;
  border-color: #548a7b;
  color: #dcf0e6;
}
[data-theme="dark"] :is(.academy-result.repeat, .academy-answer-option.chosen:not(.correct)) {
  background: #46313a;
  border-color: #95616b;
  color: #f0d9d4;
}
[data-theme="dark"] .academy-explanation { color: #bed8e1; }
[data-theme="dark"] .academy-progress-title::after { color: #a9cbd8; }
[data-theme="dark"] .academy-progress-detail { background: #1a3d4d; }
[data-theme="dark"] .academy-figure img { border-color: #466879; }

/* Actual recorded-trade curves inherit the same semantic colours as the figures. */
[data-theme="dark"] .trading-curve { background: #12313f; border-color: var(--line); }
[data-theme="dark"] .trading-selected-point { stroke: #12313f; }
[data-theme="dark"] :is(.trading-observation, .trading-fill, .trading-finalize) {
  background: #193b4b;
  border-color: #456879;
}
[data-theme="dark"] .trading-form { background: #153544; border-color: #456879; }
[data-theme="dark"] .trading-ledger-summary { background: #19413f; }
[data-theme="dark"] .trading-feedback { color: var(--teal-ink); }
[data-theme="dark"] .illustration-chart svg [stroke="#e4edf1"] { stroke: var(--line); }
[data-theme="dark"] .illustration-chart svg [fill="white"] { fill: var(--dark-panel); }
[data-theme="dark"] .illustration-chart svg [fill="#168c80"] { fill: #80d3bd; }
[data-theme="dark"] .illustration-chart svg [fill="#b26159"] { fill: #efa398; }
[data-theme="dark"] .illustration-chart svg [fill="#6b8795"] { fill: #b1cbd7; }
[data-theme="dark"] .illustration-chart svg [stroke="#7298a8"] { stroke: #a9c5d0; }

/* Management, access and coach marks use the same surfaces as the trader view. */
[data-theme="dark"] .data-table th { color: #bad1dd; border-color: var(--line); }
[data-theme="dark"] .data-table td { border-color: var(--line); }
[data-theme="dark"] .micro-progress { background: #345a69; }
[data-theme="dark"] .role-disclaimer { background: #1f4253; color: #bfd5df; }
[data-theme="dark"] .summary-column { border-color: #456878; }
[data-theme="dark"] .toast { background: #2a5365; color: #eef7fa; box-shadow: 0 8px 30px #061a2440; }
[data-theme="dark"] .toast.error { background: #713e45; color: #ffefeb; }
[data-theme="dark"] :is(.auth-story>p:not(.auth-story-kicker), .auth-story-kicker,
  .auth-person-meta, .auth-access-hint) { color: var(--muted); }
[data-theme="dark"] .auth-path span { background: #193b4b; color: #bed6e1; border-color: #527787; }
[data-theme="dark"] .auth-path span:first-child { background: #197a6f; color: #f4fffc; border-color: #59b7a6; }
[data-theme="dark"] .auth-id { color: var(--teal-ink); }
[data-theme="dark"] .auth-invite-result { background: #19433f; }
[data-theme="dark"] .oneprop-tour-highlight { border-color: #72d0b9; box-shadow: 0 0 0 9999px #061a24b8; }
[data-theme="dark"] .oneprop-tour-card { box-shadow: 0 12px 48px #04172266; }
