/* High-contrast dark palette for the shared dashboard shell. Load last. */
:root {
  color-scheme: dark;
  --yellow: #ffd51c;
  --yellow-dark: #e5b900;
  --ink: #f5f7fb;
  --dark: #050607;
  --muted: #b9c2ce;
  --paper: #171b20;
  --canvas: #080a0d;
  --line: #5d6978;
  --soft: #222934;
  --white: #f5f7fb;
  --danger: #ff8999;
  --green: #65e4a0;
  --text: #f5f7fb;
  --surface: #171b20;
  --border: #5d6978;
  --panel: #171b20;
  --accent: #ffd51c;
  --control-surface: #252d38;
  --control-hover: #364354;
  --control-selected: #3b3211;
  --control-border: #7c8da2;
  --control-text: #f5f7fb;
  --contrast-focus: #ffe45c;
}

html, body, .workspace, .app-shell, .main-content {
  background-color: var(--canvas);
  color: var(--ink);
}
.boot-screen, .access-page {
  background-color: #10151c;
  color: #f5f7fb;
}
.skip-link, .brand-mark, .boot-mark {
  color: #10120a;
}
.toast {
  background-color: #212832;
  color: #f5f7fb;
  border-color: #718096;
}
.dialog :is(.field input:not([type=checkbox]):not([type=radio]), .field select, .field textarea, .filter-input),
.access-page :is(.field input:not([type=checkbox]):not([type=radio]), .field select, .field textarea) {
  color: #f5f7fb;
  background-color: #0d1117;
  border-color: #8395ab;
}
.dialog :is(input, select, textarea)::placeholder,
.access-page :is(input, select, textarea)::placeholder {
  color: #b6c3d1;
  opacity: 1;
}
.dialog .button.primary, .access-page .button.primary {
  color: #10120a;
  background-color: var(--yellow);
  border-color: #ffe45c;
}
.dialog .alert {
  color: #ffc1cb;
  background-color: #391923;
  border-color: #c85d70;
}
.dialog .notice {
  color: #ffe49d;
  background-color: #302709;
  border-color: #b48e23;
}

.app-shell .sidebar {
  background: #050607;
  border-color: #39414b;
}
.app-shell .sidebar :is(a, button, .sidebar-label, .sidebar-foot, .sidebar-foot p) {
  color: #cbd3dc;
}
.app-shell .sidebar .side-nav :is(a[aria-current=page], button[aria-current=page]) {
  color: #ffe45c;
  background: #29250f;
  box-shadow: inset 3px 0 0 var(--yellow);
}
.workspace .app-topbar {
  background: #11151bec;
  border-color: var(--line);
  color: var(--ink);
}
.workspace .app-topbar :is(.breadcrumb, .topbar-tools, .topbar-tools .icon-button) {
  color: #d4dbe4;
}

.main-content :is(.panel, .activity-card, .resource-card, .kpi, .card, .metric-card, .widget, .dialog) {
  background-color: var(--paper);
  border-color: var(--line);
  color: var(--ink);
  box-shadow: 0 7px 24px #0008;
}
.main-content :is(.panel-head, .dialog-head) {
  background-color: #202630;
  border-color: var(--line);
}
.main-content :is(.panel-body, .dialog-body) { background-color: var(--paper); }
.main-content :is(.panel-foot, .dialog-foot) {
  background-color: #13171d;
  border-color: var(--line);
}
.main-content .page-heading { border-color: var(--line); }
.main-content .page-heading .eyebrow,
.main-content .eyebrow { color: #ffe45c; }
.main-content .page-heading p:not(.eyebrow),
.main-content :is(.muted, small) { color: var(--muted); }
.main-content :is(h1, h2, h3, h4, strong, b) { color: var(--ink); }

.main-content :is(input:not([type=checkbox]):not([type=radio]), select, textarea, .filter-input, .search-wrap input) {
  color: #f5f7fb;
  border-color: #697484;
  background-color: #0d1117;
}
.main-content :is(input, select, textarea)::placeholder {
  color: #aeb9c7;
  opacity: 1;
}
.main-content :is(input, select, textarea):hover { border-color: #aab7c5; }
.main-content :is(input, select, textarea):focus-visible { border-color: var(--contrast-focus); }
.main-content :is(.button, .icon-button) {
  color: #f5f7fb;
  background-color: #252d38;
  border-color: #7c8da2;
}
.main-content :is(.button, .icon-button):not(:disabled):hover {
  color: #fff;
  background-color: #364354;
  border-color: #c5d0de;
}
.main-content .button.primary {
  color: #10120a;
  background-color: var(--yellow);
  border-color: #ffe45c;
  box-shadow: 0 2px 0 #a38400;
}
.main-content .button.primary:not(:disabled):hover {
  color: #080a0d;
  background-color: #ffe45c;
  border-color: #fff0a1;
}
.main-content .button.danger {
  color: #ffb0bc;
  background-color: #3b1924;
  border-color: #c45668;
}

.main-content :is(.filter-chip, .status, .count-pill) {
  color: #e4eaf3;
  background-color: #29323e;
  border-color: #8494a8;
}
.main-content .filter-chip:has(input:checked),
.main-content .filter-chip[aria-pressed=true] {
  color: #ffe45c;
  background-color: #3b3211;
  border-color: #ffd51c;
}
.main-content :is(.status.good, .status.success) {
  color: #84f5b5;
  background-color: #103826;
  border-color: #32b978;
}
.main-content :is(.status.warn, .status.warning) {
  color: #ffe080;
  background-color: #44320c;
  border-color: #dea526;
}
.main-content :is(.status.bad, .status.error, .status.danger) {
  color: #ffabb8;
  background-color: #461a27;
  border-color: #dc6077;
}
.main-content .status.neutral {
  color: #d4b7ff;
  background-color: #322344;
  border-color: #a67dd9;
}
.main-content .notice {
  color: #ffe49d;
  background-color: #302709;
  border-color: #b48e23;
}
.main-content .alert {
  color: #ffc1cb;
  background-color: #391923;
  border-color: #c85d70;
}
.main-content .data-table thead {
  color: #e8edf4;
  background-color: #222a35;
}
.main-content .data-table tbody tr:hover { background-color: #27313d; }
.main-content .team-planner-event {
  border-color: #5d6a79;
}
.main-content :is(.chart-wrap, .graph, .chart) { background-color: #11171e; }
.main-content a:not(.button) { text-decoration-color: #c0a829; }
.main-content a:not(.button):hover { color: #ffe45c; }

.app-shell :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--contrast-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px #000b;
}
@media (prefers-reduced-motion: reduce) {
  .app-shell :is(.button, .icon-button, .filter-chip) { transition: none; }
}
