/* Congine surface hierarchy and semantic accents. Colour always accompanies text/state. */
:root {
  --tone-info:#315f9f; --tone-info-bg:#eaf1fc; --tone-info-line:#a5bddf;
  --tone-success:#24634f; --tone-success-bg:#e3f2e9; --tone-success-line:#90beaa;
  --tone-warning:#7d5418; --tone-warning-bg:#fff2d9; --tone-warning-line:#d4b47d;
  --tone-danger:#a12e41; --tone-danger-bg:#fbe9ed; --tone-danger-line:#d7a0aa;
}
html[data-theme="dark"] {
  --bg:#121418; --paper:#1b1e24; --ink:#f1f3f7; --muted:#b9c0cc;
  --line:#424955; --surface-2:#252a33; --surface-3:#303744;
  --input:#15181e; --hover:#303240; --soft-accent:#32293f;
  --studio-lilac:#32293f; --studio-lilac-ink:#dfcef5;
  --studio-mint:#18342c; --studio-mint-ink:#ade2cc;
  --studio-peach:#362c1c; --studio-peach-ink:#f2d49b;
  --detail-blue:#a6c6fa; --detail-teal:#a1dfc8; --detail-amber:#f2d49b;
  --tone-info:#a6c6fa; --tone-info-bg:#182738; --tone-info-line:#385b82;
  --tone-success:#a1dfc8; --tone-success-bg:#173129; --tone-success-line:#386c5a;
  --tone-warning:#f2d49b; --tone-warning-bg:#352b1b; --tone-warning-line:#866c3c;
  --tone-danger:#ffb4bf; --tone-danger-bg:#371f28; --tone-danger-line:#87505d;
  --success-ink:var(--tone-success); --danger-ink:var(--tone-danger);
  --studio-shadow:0 4px 18px #00000020;
}
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .topbar {background:#181b21}
html[data-theme="dark"] :is(.panel,.profile-tile,.concept-card,.task-card) {background:var(--paper)}
html[data-theme="dark"] :is(.panel,.profile-tile,.concept-card) :is(.panel,.part,.delivery) {background:var(--surface-2)}
html[data-theme="dark"] :is(dialog,.assistant-panel) {background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] :is(.assistant-panel>header,.chat-header) {background:var(--surface-2)}
html[data-theme="dark"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea) {background-color:var(--input);border-color:var(--line);color:var(--ink)}
.dash-metrics [data-dash-filter="active"] {border-top:3px solid var(--tone-success-line)}
.dash-metrics [data-dash-filter="active"] strong {color:var(--tone-success)}
.dash-metrics [data-dash-filter="shoots"] {border-top:3px solid var(--tone-info-line)}
.dash-metrics [data-dash-filter="shoots"] strong {color:var(--tone-info)}
.dash-metrics [data-dash-filter="review"] {border-top:3px solid var(--tone-warning-line)}
.dash-metrics [data-dash-filter="review"] strong {color:var(--tone-warning)}
.dash-welcome {background:var(--tone-info-bg)!important;border-left-color:var(--tone-info-line)!important}
.dash-welcome h2 {color:var(--tone-info)}
.dash-attention {background:var(--tone-warning-bg)!important;border-left-color:var(--tone-warning-line)!important}
.dash-attention h2 {color:var(--tone-warning)}
.pill.green {background:var(--tone-success-bg)!important;color:var(--tone-success)!important;border:1px solid var(--tone-success-line)}
.pill.orange {background:var(--tone-warning-bg)!important;color:var(--tone-warning)!important;border:1px solid var(--tone-warning-line)}
.error-box {background:var(--tone-danger-bg);color:var(--tone-danger);border-color:var(--tone-danger-line)}
:is(.task-late,.task-blocked,.dash-late) {color:var(--tone-danger)}
.task-column[data-drop-status="doing"] {border-top:3px solid var(--tone-info-line)}
.task-column[data-drop-status="review"] {border-top:3px solid var(--tone-warning-line)}
.task-column[data-drop-status="done"] {border-top:3px solid var(--tone-success-line)}
.task-column[data-drop-status="doing"]>h3 {color:var(--tone-info)}
.task-column[data-drop-status="review"]>h3 {color:var(--tone-warning)}
.task-column[data-drop-status="done"]>h3 {color:var(--tone-success)}
.assistant-review {border-left-color:var(--tone-success-line);background:var(--tone-success-bg);border-radius:0 8px 8px 0}
html[data-theme="dark"] .assistant-panel .assistant-status {color:var(--tone-success)}
@media(forced-colors:active){.dash-metrics button,.dash-welcome,.dash-attention,.task-column,.assistant-review{border-color:CanvasText!important}}
/* Three overview metrics share the available row; no empty fourth slot. */
.dash-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.dash-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dash-metrics button{padding:12px 10px}.dash-metrics span{font-size:13px;line-height:1.35}}
/* Keep the messenger composer unobstructed; reopen the assistant from another section. */
@media(max-width:760px){.in-chat .assistant-launcher{display:none}}
