:root {
  color-scheme: dark;
  --bg: #151718;
  --bg-2: #111314;
  --surface: #1b1d1e;
  --surface-soft: #202324;
  --surface-muted: #26292a;
  --panel: #1b1d1e;
  --panel-strong: #151718;
  --line: #303638;
  --line-strong: #3a4245;
  --ink: #e4e1dd;
  --text: #e4e1dd;
  --muted: #a49f98;
  --brand: #49c6ba;
  --brand-strong: #8ce5dc;
  --teal: #49c6ba;
  --teal-dark: #2b9f95;
  --focus-ring: rgba(73, 198, 186, 0.22);
  --shadow: none;
  --shadow-soft: none;
  --radius: 10px;
}

html,
body {
  background: #151718;
}

body[data-view] {
  min-height: 100vh;
  padding: 0 26px 26px;
  background: #151718;
  color: var(--ink);
}

body[data-view="time-graph"] {
  padding: 0;
}

body[data-background="default"],
body[data-background="space"],
body[data-view="map"] {
  background: #151718;
}

body[data-background="space"]::before,
body[data-background="space"]::after,
body[data-view="map"]::before,
body[data-view="map"]::after {
  content: none;
}

/* Shared application header: one flat composition, not a card inside the page. */
.workspace-strip-shell {
  width: calc(100% + 52px);
  margin: 0 -26px 20px;
  padding: 0;
  border-bottom: 1px solid #242a2d;
  background: #070b10;
}

.workspace-strip {
  min-height: 118px;
  padding: 20px 26px 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body[data-view="time-graph"] .workspace-strip-shell {
  width: 100%;
  margin: 0;
}

.workspace-wordmark {
  color: #e4edf5;
  font-size: 1.08rem;
  letter-spacing: 0.01em;
}

.workspace-context-trail,
.workspace-scope-label,
.workspace-meta-label {
  color: #91a3b3;
}

.workspace-scope-select,
.workspace-status-pill,
.auth-session-pill,
.auth-settings-btn,
.auth-logout-btn,
.workspace-command-key {
  border-color: #1e252b;
  background: #0b1016;
  box-shadow: none;
}

.workspace-scope-select:hover,
.auth-session-pill:hover,
.auth-settings-btn:hover,
.auth-logout-btn:hover,
.workspace-command-key:hover {
  border-color: #354148;
  background: #111820;
}

.workspace-surface-link {
  color: #94989a;
}

.workspace-surface-link:hover {
  color: #d5d6d5;
}

.workspace-surface-link.is-active {
  color: #8ce5dc;
  text-shadow: none;
}

.workspace-surface-link.is-active::after {
  background: #49c6ba;
  box-shadow: none;
}

.workspace-status-pill[data-state="ready"],
.workspace-status-pill[data-state="online"],
.workspace-status-pill[data-state="live"] {
  border-color: rgba(73, 198, 186, 0.18);
  background: rgba(73, 198, 186, 0.08);
  color: #d6efed;
}

.workspace-status-pill[data-state="ready"] .workspace-status-dot,
.workspace-status-pill[data-state="online"] .workspace-status-dot,
.workspace-status-pill[data-state="live"] .workspace-status-dot {
  background: #49c6ba;
  box-shadow: 0 0 0 4px rgba(73, 198, 186, 0.1);
}

/* Flat native-dark surface language shared by Board, Notes, Inventory and setup. */
.card,
body[data-background="space"] .card,
body[data-background="space"] .brand,
body[data-background="space"] .page-nav,
body[data-background="space"] .lane,
body[data-background="space"] .ticket-drawer-panel,
.canvas-panel,
.detail-card,
.topbar-actions {
  border-color: var(--line);
  background: #1b1d1e;
  box-shadow: none;
  backdrop-filter: none;
}

.card,
.lane,
.canvas-panel,
.detail-card {
  border-radius: 9px;
}

.board-command-card,
.inventory-command-card,
.workspace-toolbar,
.settings-page-head,
.topbar-actions {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.board-command-card,
.inventory-command-card {
  padding: 4px 0 18px;
}

body[data-view="board"] .board-command-card.card,
body[data-view="inventory"] .inventory-command-card.card {
  padding: 4px 0 18px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.workspace-toolbar {
  padding: 4px 0 16px;
}

.board-command-card h1,
.inventory-command-card h1,
.workspace-toolbar h2,
.settings-page-head h1 {
  color: #e7e4e0;
  letter-spacing: -0.025em;
}

.eyebrow,
.board-stat-label,
.board-filter-control-label,
.board-done-filter-label,
.workspace-pill-label {
  color: #a9a49d;
}

.board-stat,
.workspace-pill,
.meta-chip,
.pill,
.chip,
.count-pill {
  border-color: var(--line);
  background: #202223;
  box-shadow: none;
}

.btn,
body[data-background="space"] .btn,
input,
select,
textarea,
body[data-background="space"] input,
body[data-background="space"] select,
body[data-background="space"] textarea,
.icon-btn {
  border-color: #3a4143;
  border-radius: 8px;
  background: #1a1c1d;
  color: var(--ink);
  box-shadow: none;
}

.btn:hover,
body[data-background="space"] .btn:hover,
.icon-btn:hover {
  transform: none;
  border-color: #525b5e;
  background: #232627;
  box-shadow: none;
}

.btn-primary,
body[data-background="space"] .btn-primary {
  border-color: #258f86;
  background: rgba(73, 198, 186, 0.12);
  color: #83ded5;
}

.btn-primary:hover,
body[data-background="space"] .btn-primary:hover {
  border-color: #49c6ba;
  background: rgba(73, 198, 186, 0.18);
  color: #a5eee7;
}

.continuum-shell,
.board-desktop-shell,
.inventory-shell,
.settings-shell,
.access-shell {
  margin-top: 0;
}

.shell-rail,
.settings-sidebar,
.access-rail {
  border-radius: 9px;
  background: #111415;
  box-shadow: none;
}

.shell-main,
.settings-main,
.access-workspace {
  min-width: 0;
}

.lane {
  background: #191b1c;
}

.lane-header {
  border-bottom: 1px solid var(--line);
}

.card-item {
  box-shadow: none;
}

/* Semantic card colours remain authoritative. */
.card-item,
.card-item.is-nested-card,
.card-item.is-lane-context-card {
  border-color: color-mix(in srgb, var(--card-type-accent) 38%, var(--line));
}

.card-item:hover {
  border-color: color-mix(in srgb, var(--card-type-accent) 66%, #5b6467);
}

.notes-surface,
.notes-inspector,
.notes-preview,
.inventory-panel,
.settings-card,
.access-detail,
.workspace-toolbar.card {
  background: #1b1d1e;
  box-shadow: none;
}

.notes-toolbar-shell {
  background: transparent;
}

/* Notebook colour is structural information, not decoration: preserve it. */
body[data-view="notes"] .notes-tree-notebook-header,
body[data-view="notes"] .notes-tree-item--notebook,
.notebook-switcher-card {
  border-left-color: var(--notebook-accent, var(--brand));
}

body[data-view="notes"] .notes-tree-notebook-header {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--notebook-accent, var(--brand)) 18%, transparent), transparent 68%),
    #202223;
  box-shadow:
    inset 7px 0 0 var(--notebook-accent, var(--brand)),
    inset 12px 0 18px color-mix(in srgb, var(--notebook-accent, var(--brand)) 18%, transparent);
}

body[data-view="notes"] .notes-tree-item--notebook {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--notebook-accent, var(--brand)) 13%, transparent), transparent 62%),
    #1c1f20;
}

/* Relationship Map uses the same shell and surface contrast without losing entity colours. */
body[data-view="map"] .app-shell {
  padding: 0;
}

body[data-view="map"] .topbar {
  margin: 0 0 12px;
}

body[data-view="map"] .topbar-actions {
  padding: 0 0 12px;
}

body[data-view="map"] .canvas-panel,
body[data-view="map"] .detail-card {
  background: #191b1c;
}

/* Gantt / Time Graph: the reference language, now natively dark. */
body[data-view="time-graph"] {
  --bg: #151718;
  --surface: #1b1d1e;
  --surface-soft: #202324;
  --line: #303a3e;
  --line-strong: #3a474c;
  --text: #dedbd7;
  --ink: #dedbd7;
  --muted: #aaa49c;
  --rail: #070b10;
  --rail-soft: #141b20;
  color-scheme: dark;
  background: #151718;
  color: var(--text);
}

body[data-view="time-graph"] .planning-header,
body[data-view="time-graph"] .workbench-header,
body[data-view="time-graph"] .toolbar,
body[data-view="time-graph"] .left-header,
body[data-view="time-graph"] .time-header,
body[data-view="time-graph"] .sticky-chart-header,
body[data-view="time-graph"] .gantt-scroll,
body[data-view="time-graph"] .left-cell {
  background: #1b1d1e;
  box-shadow: none;
}

body[data-view="time-graph"] .planning-header {
  border-bottom: 1px solid var(--line-strong);
}

body[data-view="time-graph"] .workbench-header {
  border-bottom-color: var(--line);
}

body[data-view="time-graph"] .toolbar {
  background: #191b1c;
}

body[data-view="time-graph"] .control-button,
body[data-view="time-graph"] .icon-button,
body[data-view="time-graph"] .segmented-control button,
body[data-view="time-graph"] .search-control,
body[data-view="time-graph"] .select-control,
body[data-view="time-graph"] .toggle-control,
body[data-view="time-graph"] .segmented-control {
  border-color: #3b4549;
  background: #1a1c1d;
  color: #d4d1cd;
  box-shadow: none;
}

body[data-view="time-graph"] .control-button:hover,
body[data-view="time-graph"] .icon-button:hover,
body[data-view="time-graph"] .segmented-control button:hover {
  border-color: #596568;
  background: #232627;
}

body[data-view="time-graph"] .control-button.primary {
  border-color: #258f86;
  background: rgba(73, 198, 186, 0.12);
  color: #7cdacf;
}

body[data-view="time-graph"] .segmented-control {
  background: #151718;
}

body[data-view="time-graph"] .segmented-control button {
  border: 0;
  background: transparent;
}

body[data-view="time-graph"] .segmented-control button.is-active {
  background: #232627;
  color: #f0eeeb;
}

body[data-view="time-graph"] .search-control input,
body[data-view="time-graph"] .select-control select {
  color: var(--text);
}

body[data-view="time-graph"] .gantt-card {
  border-color: var(--line-strong);
  background: #191b1c;
  box-shadow: none;
}

body[data-view="time-graph"] .left-header span,
body[data-view="time-graph"] .time-range-label,
body[data-view="time-graph"] .calendar-band-tick,
body[data-view="time-graph"] .tick {
  color: #aaa49c;
}

body[data-view="time-graph"] .time-cell {
  background-color: #151718;
  background-image: linear-gradient(to right, rgba(72, 84, 88, 0.34) 1px, transparent 1px);
}

body[data-view="time-graph"] .time-cell.is-weekend {
  background-color: #17191a;
}

body[data-view="time-graph"] .phase-left,
body[data-view="time-graph"] .phase-time {
  background: #202324;
}

body[data-view="time-graph"] .left-cell.is-selected,
body[data-view="time-graph"] .time-cell.is-selected {
  background-color: #1d292b;
}

body[data-view="time-graph"] .task-select:hover {
  color: #7cdacf;
}

body[data-view="time-graph"] .disclosure,
body[data-view="time-graph"] .row-move {
  color: #8f9696;
}

body[data-view="time-graph"] .disclosure:hover,
body[data-view="time-graph"] .row-move:hover {
  background: #272a2b;
  color: #e4e1dd;
}

body[data-view="time-graph"] .gantt-scroll {
  scrollbar-color: #5a6264 #202324;
}

body[data-view="time-graph"] .gantt-scroll::-webkit-scrollbar-track {
  background: #202324;
}

body[data-view="time-graph"] .gantt-scroll::-webkit-scrollbar-thumb {
  border-color: #202324;
  background: #5a6264;
}

body[data-view="time-graph"] .column-divider span,
body[data-view="time-graph"] .add-left,
body[data-view="time-graph"] .add-time {
  border-color: var(--line-strong);
  background: #191b1c;
  box-shadow: none;
}

body[data-view="time-graph"] .gantt-grid[data-zoom="day"] .tick.is-weekend {
  background: rgba(103, 112, 114, 0.11);
}

body[data-view="time-graph"] .gantt-grid[data-zoom="day"] .tick.is-today {
  background: rgba(73, 198, 186, 0.12);
  color: #8ce5dc;
}

body[data-view="time-graph"] .add-task-btn,
body[data-view="time-graph"] .queue-kicker,
body[data-view="time-graph"] .queue-rank,
body[data-view="time-graph"] .drawer-kicker {
  color: #67d5ca;
}

body[data-view="time-graph"] .bar-toolbar {
  border-color: #465155;
  background: #202324;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

body[data-view="time-graph"] .bar-toolbar button {
  color: #c9c6c1;
}

body[data-view="time-graph"] .bar-toolbar button:hover {
  background: #2b2f30;
  color: #8ce5dc;
}

body[data-view="time-graph"] .avatar {
  border-color: #151718;
  background: #24433f;
  color: #9ae7df;
}

body[data-view="time-graph"] .resize-handle {
  border-color: #647174;
  background: #2b3031;
}

body[data-view="time-graph"] .phase-bar {
  border-color: #3d8f87;
  background: #213d3a;
  color: #a2e5de;
}

body[data-view="time-graph"] .phase-bar.is-tone-1 {
  border-color: #4c7295;
  background: #243442;
  color: #bad8f1;
}

body[data-view="time-graph"] .phase-bar.is-tone-2 {
  border-color: #856b38;
  background: #3b3221;
  color: #ead39d;
}

body[data-view="time-graph"] .phase-bar.is-tone-3 {
  border-color: #6f5688;
  background: #352b40;
  color: #d8c4ec;
}

body[data-view="time-graph"] .unscheduled-tray {
  border-color: #735d2e;
  background: #292419;
}

body[data-view="time-graph"] .unscheduled-summary,
body[data-view="time-graph"] .unscheduled-chip {
  color: #e3c982;
}

body[data-view="time-graph"] .unscheduled-summary strong,
body[data-view="time-graph"] .unscheduled-chip {
  border-color: #735d2e;
  background: #332c1d;
}

body[data-view="time-graph"] .ranked-queue-head > strong {
  background: #24413e;
  color: #91e0d7;
}

body[data-view="time-graph"] .ranked-queue-item {
  background: #1b1d1e;
}

body[data-view="time-graph"] .ranked-queue-item:hover {
  background: #202425;
}

body[data-view="time-graph"] .queue-badge {
  background: #292c2d;
  color: #b8b3ad;
}

body[data-view="time-graph"] .queue-badge.is-critical,
body[data-view="time-graph"] .queue-badge.is-high {
  background: #412226;
  color: #ff9aa3;
}

body[data-view="time-graph"] .queue-badge.is-actor {
  background: #223345;
  color: #a9cff1;
}

body[data-view="time-graph"] .queue-badge.is-plan {
  background: #203c38;
  color: #91dfd5;
}

body[data-view="time-graph"] .detail-drawer {
  border-color: #465155;
  background: #1b1d1e;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.48);
}

body[data-view="time-graph"] .field input,
body[data-view="time-graph"] .field select {
  border-color: #3f494c;
  background: #17191a;
  color: #e4e1dd;
}

body[data-view="time-graph"] .field input:focus,
body[data-view="time-graph"] .field select:focus {
  border-color: #49c6ba;
  outline: 3px solid rgba(73, 198, 186, 0.14);
}

body[data-view="time-graph"] .effort-summary > div,
body[data-view="time-graph"] .effort-execution {
  border-color: #343c3e;
  background: #202324;
}

body[data-view="time-graph"] .effort-execution {
  border-left-color: #4d82b8;
}

@media (max-width: 980px) {
  body[data-view]:not([data-view="time-graph"]) {
    padding: 0 16px 20px;
  }

  body[data-view]:not([data-view="time-graph"]) .workspace-strip-shell {
    width: calc(100% + 32px);
    margin-right: -16px;
    margin-left: -16px;
  }

  .workspace-strip {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media (max-width: 760px) {
  body[data-view]:not([data-view="time-graph"]) {
    padding: 0 10px calc(92px + env(safe-area-inset-bottom, 0px));
  }

  body[data-view]:not([data-view="time-graph"]) .workspace-strip-shell {
    width: calc(100% + 20px);
    margin: 0 -10px 12px;
  }

  .workspace-strip {
    min-height: 0;
    padding: 10px;
  }

  .workspace-scope-select {
    background: #0b1016;
  }

  .board-command-card,
  .inventory-command-card,
  .workspace-toolbar {
    padding-top: 2px;
  }

  body[data-view="map"] .app-shell {
    padding: 0;
  }
}
