/* Subdivision360 operational shell convergence.
   Cross-module presentation only: no authority, routing, provider, or source behavior. */

:root{
  --s360-ops-canvas:#0f172a;
  --s360-ops-surface:#111827;
  --s360-ops-surface-raised:#172033;
  --s360-ops-surface-active:#1e293b;
  --s360-ops-border:#263449;
  --s360-ops-border-soft:#334155;
  --s360-ops-text:#e2e8f0;
  --s360-ops-muted:#94a3b8;
  --s360-ops-accent:#38bdf8;
  --s360-ops-good:#22c55e;
  --s360-ops-warn:#f59e0b;
  --s360-ops-danger:#ef4444;
}

/* Operational modules use one full-bleed workspace contract. */
.content:has(.projects-center),
.content:has(.reserve-capital-center),
.content:has(.insights-center),
.content:has(.work-asset-center),
.content:has([data-projects-center]),
.content:has([data-work-asset-center]){
  padding:0;
  overflow:hidden;
  background:var(--s360-ops-canvas);
}

/* When an operational workspace is active, the global frame adopts the same product palette. */
.app-shell:has(.projects-center),
.app-shell:has(.reserve-capital-center),
.app-shell:has(.insights-center),
.app-shell:has(.work-asset-center),
.app-shell:has([data-projects-center]),
.app-shell:has([data-work-asset-center]){
  background:var(--s360-ops-canvas);
}
.app-shell:has(.projects-center)>.sidebar,
.app-shell:has(.reserve-capital-center)>.sidebar,
.app-shell:has(.insights-center)>.sidebar,
.app-shell:has(.work-asset-center)>.sidebar,
.app-shell:has([data-projects-center])>.sidebar,
.app-shell:has([data-work-asset-center])>.sidebar{
  background:var(--s360-ops-surface);
  color:var(--s360-ops-text);
  border-right-color:var(--s360-ops-border);
}
.app-shell:has(.projects-center) .brand,
.app-shell:has(.reserve-capital-center) .brand,
.app-shell:has(.insights-center) .brand,
.app-shell:has(.work-asset-center) .brand,
.app-shell:has([data-projects-center]) .brand,
.app-shell:has([data-work-asset-center]) .brand{
  border-bottom-color:var(--s360-ops-border);
}
.app-shell:has(.projects-center) .brand strong,
.app-shell:has(.reserve-capital-center) .brand strong,
.app-shell:has(.insights-center) .brand strong,
.app-shell:has(.work-asset-center) .brand strong,
.app-shell:has([data-projects-center]) .brand strong,
.app-shell:has([data-work-asset-center]) .brand strong{color:var(--s360-ops-text)}
.app-shell:has(.projects-center) .brand span,
.app-shell:has(.reserve-capital-center) .brand span,
.app-shell:has(.insights-center) .brand span,
.app-shell:has(.work-asset-center) .brand span,
.app-shell:has([data-projects-center]) .brand span,
.app-shell:has([data-work-asset-center]) .brand span{color:var(--s360-ops-muted)}
.app-shell:has(.projects-center) .sidebar nav button,
.app-shell:has(.reserve-capital-center) .sidebar nav button,
.app-shell:has(.insights-center) .sidebar nav button,
.app-shell:has(.work-asset-center) .sidebar nav button,
.app-shell:has([data-projects-center]) .sidebar nav button,
.app-shell:has([data-work-asset-center]) .sidebar nav button{color:var(--s360-ops-muted)}
.app-shell:has(.projects-center) .sidebar nav button:hover,
.app-shell:has(.reserve-capital-center) .sidebar nav button:hover,
.app-shell:has(.insights-center) .sidebar nav button:hover,
.app-shell:has(.work-asset-center) .sidebar nav button:hover,
.app-shell:has([data-projects-center]) .sidebar nav button:hover,
.app-shell:has([data-work-asset-center]) .sidebar nav button:hover,
.app-shell:has(.projects-center) .sidebar nav button.active,
.app-shell:has(.reserve-capital-center) .sidebar nav button.active,
.app-shell:has(.insights-center) .sidebar nav button.active,
.app-shell:has(.work-asset-center) .sidebar nav button.active,
.app-shell:has([data-projects-center]) .sidebar nav button.active,
.app-shell:has([data-work-asset-center]) .sidebar nav button.active{
  background:var(--s360-ops-surface-active);
  border-color:var(--s360-ops-border-soft);
  color:var(--s360-ops-text);
  box-shadow:inset 3px 0 0 var(--s360-ops-accent);
}

.app-shell:has(.projects-center) .topbar,
.app-shell:has(.reserve-capital-center) .topbar,
.app-shell:has(.insights-center) .topbar,
.app-shell:has(.work-asset-center) .topbar,
.app-shell:has([data-projects-center]) .topbar,
.app-shell:has([data-work-asset-center]) .topbar{
  background:var(--s360-ops-surface);
  border-bottom-color:var(--s360-ops-border);
}
.app-shell:has(.projects-center) .topbar h1,
.app-shell:has(.reserve-capital-center) .topbar h1,
.app-shell:has(.insights-center) .topbar h1,
.app-shell:has(.work-asset-center) .topbar h1,
.app-shell:has([data-projects-center]) .topbar h1,
.app-shell:has([data-work-asset-center]) .topbar h1,
.app-shell:has(.projects-center) .user strong,
.app-shell:has(.reserve-capital-center) .user strong,
.app-shell:has(.insights-center) .user strong,
.app-shell:has(.work-asset-center) .user strong,
.app-shell:has([data-projects-center]) .user strong,
.app-shell:has([data-work-asset-center]) .user strong{color:var(--s360-ops-text)}
.app-shell:has(.projects-center) .eyebrow,
.app-shell:has(.reserve-capital-center) .eyebrow,
.app-shell:has(.insights-center) .eyebrow,
.app-shell:has(.work-asset-center) .eyebrow,
.app-shell:has([data-projects-center]) .eyebrow,
.app-shell:has([data-work-asset-center]) .eyebrow,
.app-shell:has(.projects-center) .user span,
.app-shell:has(.reserve-capital-center) .user span,
.app-shell:has(.insights-center) .user span,
.app-shell:has(.work-asset-center) .user span,
.app-shell:has([data-projects-center]) .user span,
.app-shell:has([data-work-asset-center]) .user span{color:var(--s360-ops-muted)}

/* Reserve and Insights inherit the same operational tokens instead of maintaining a second light theme. */
.reserve-capital-center,
.insights-center{
  --color-bg:var(--s360-ops-canvas);
  --color-surface:var(--s360-ops-surface);
  --color-surface-muted:var(--s360-ops-surface-active);
  --color-border:var(--s360-ops-border);
  --color-text:var(--s360-ops-text);
  --color-text-muted:var(--s360-ops-muted);
  --color-primary:var(--s360-ops-accent);
  background:var(--s360-ops-canvas)!important;
  color:var(--s360-ops-text)!important;
  font-family:var(--ui-font-sans);
}
.reserve-capital-center :is(.rc-toolbar,.rc-tree,.rc-inspector,.rc-head,.rc-tabs,.rc-statusbar,.rc-pane-title),
.insights-center :is(.ic-toolbar,.ic-brief,.ic-inspector,.ic-head,.ic-statusbar,.ic-pane-title){
  background:var(--s360-ops-surface)!important;
  border-color:var(--s360-ops-border)!important;
  color:var(--s360-ops-text)!important;
}
.reserve-capital-center :is(.rc-button,.rc-table-wrap,.rc-empty,.rc-loading,.rc-inspector-card,.rc-metrics>div),
.insights-center :is(.ic-button,.ic-health,.ic-table-wrap,.ic-empty,.ic-loading,.ic-inspector-card,.ic-metric,.ic-action-tabs button){
  background:var(--s360-ops-surface-raised)!important;
  border-color:var(--s360-ops-border-soft)!important;
  color:var(--s360-ops-text)!important;
  border-radius:var(--ui-radius-control)!important;
  box-shadow:none!important;
}
.reserve-capital-center :is(.rc-table th,.rc-table td),
.insights-center :is(.ic-table th,.ic-table td){border-color:var(--s360-ops-border)!important}
.reserve-capital-center .rc-table th,
.insights-center .ic-table th{background:var(--s360-ops-surface-active)!important;color:var(--s360-ops-muted)!important}
.reserve-capital-center :is(.rc-scenario:hover,.rc-scenario[aria-current="true"],.rc-tabs button[aria-selected="true"]),
.insights-center :is(.ic-brief-row:hover,.ic-brief-row[aria-current="true"],.ic-action-tabs button[aria-selected="true"]){background:var(--s360-ops-surface-active)!important;color:var(--s360-ops-text)!important}
.reserve-capital-center :is(.rc-scenario small,.rc-table small,.rc-inspector-card small,.rc-inspector dt),
.insights-center :is(.ic-role,.ic-brief-meta small,.ic-brief-row small,.ic-table small,.ic-inspector-card small,.ic-metric small,.ic-inspector dt,.ic-head p){color:var(--s360-ops-muted)!important}

/* Governance/decision-support warnings stay visually distinct without turning the whole workspace into a light page. */
.reserve-capital-center .rc-boundary,
.insights-center .ic-boundary{
  background:#2a2114!important;
  border-color:#5f4922!important;
  color:#f7dca6!important;
}
.reserve-capital-center :is(.rc-warning,.rc-error),
.insights-center .ic-error{
  background:#2a171a!important;
  border-color:#6a3038!important;
  color:#fecdd3!important;
}

/* One consistent compact control language. */
.reserve-capital-center :is(.rc-button,.rc-tabs button,.rc-field input,.rc-field select,.rc-field textarea),
.insights-center :is(.ic-button,.ic-action-tabs button),
.projects-center :is(.pc-button,.pc-icon-button,.pc-select,.pc-input,.pc-textarea){
  border-radius:var(--ui-radius-control)!important;
}

/* Module-level status bars are contextual; global status remains persistent below them. */
.pc-statusbar,.rc-statusbar,.ic-statusbar{
  min-height:30px;
  background:var(--s360-ops-surface)!important;
  border-color:var(--s360-ops-border)!important;
  color:var(--s360-ops-muted)!important;
  font:10px var(--ui-font-mono);
}

@media(max-width:1000px){
  .content:has(.projects-center),
  .content:has(.reserve-capital-center),
  .content:has(.insights-center),
  .content:has(.work-asset-center),
  .content:has([data-projects-center]),
  .content:has([data-work-asset-center]){padding:0}
}
