/* ============================================================
   MANIFEST — Option A design tokens for Focus C&F Operations
   Load AFTER cnf-themes.css / cnf-forms.css. Overrides the legacy
   variable names in place, so every existing view re-skins at once.
   Light default · dark via [data-theme="dark"] (existing system).
   ============================================================ */
:root{
  /* Option A palette */
  --teal:#0F766E; --teal-strong:#115E59; --teal-soft:#D9EDEA; --teal-ink:#0A4F4A;
  --ink:#1B2733; --sub:#5B6472; --faint:#8B95A3;
  --fld:#A9B7C6;              /* visible field border — light */
  /* legacy bridge: app variables → Option A values */
  --ac:#0F766E;
  --primary:#0F766E;
  --primary-hover:#115E59;
  --primary-light:#D9EDEA;
  --primary-soft:rgba(15,118,110,.10);
  --primary-soft-strong:rgba(15,118,110,.18);
  --primary-contrast:#FFFFFF;
  --bg-color:#F6F8FA; --bg-surface:#FFFFFF; --bg-card:#FFFFFF; --bg-soft:#F4F7F9; --bg-elevated:#FFFFFF; --bg-inset:#EEF2F6;
  --text-main:#1B2733; --text-muted:#5B6472;
  --border-color:#E2E8F0; --border-strong:#D3DAE3;
  --hover-bg:#F4F7F9;
  --input-bg:#FFFFFF; --input-border:#A9B7C6; --input-focus:#0F766E;
  --header-bg:#FFFFFF; --header-border:#E2E8F0; --header-text:#1B2733;
  --success:#15803D; --success-bg:#DCFCE7;
  --danger:#B91C1C;  --danger-bg:#FEE2E2;
  --warning:#B45309; --warning-bg:#FEF3C7;
  --info:#0F766E;    --info-bg:#D9EDEA;
  --sidebar-bg:#FFFFFF; --sidebar-border:#E2E8F0; --sidebar-hover-bg:rgba(27,39,51,.045);
  --sidebar-active-bg:rgba(15,118,110,.10); --sidebar-text:#5B6472; --sidebar-text-active:#0A4F4A;
  --sidebar-accent:#0F766E;
  --dash-bg:#F6F8FA; --dash-surface:#FFFFFF; --dash-border:#E2E8F0; --dash-border-hover:#A9B7C6;
  --dash-text:#1B2733; --dash-text-muted:#5B6472; --dash-text-secondary:#8B95A3;
  --dash-primary:#0F766E; --dash-primary-hover:#115E59; --dash-primary-light:#D9EDEA; --dash-primary-glow:rgba(15,118,110,.25);
  --dash-info:#0F766E; --dash-info-light:#D9EDEA; --dash-cyan:#0E7490; --dash-cyan-light:#D5EEF5;
  --dash-violet:#6D28D9; --dash-violet-light:#EDE6FB;
  --dash-success:#15803D; --dash-success-light:#DCFCE7;
  --dash-warning:#B45309; --dash-warning-light:#FEF3C7;
  --dash-danger:#B91C1C; --dash-danger-light:#FEE2E2;
  --focus-ring:0 0 0 3px rgba(15,118,110,.18);
}
[data-theme="dark"]{
  --teal:#2DD4BF; --teal-strong:#5EEAD4; --teal-soft:#10312E; --teal-ink:#7CF0E0;
  --ink:#E6EDF3; --sub:#A8BACB; --faint:#66798C;
  --fld:#46586B;              /* visible field border — dark */
  --ac:#2DD4BF;
  --primary:#2DD4BF; --primary-hover:#5EEAD4; --primary-light:#10312E;
  --primary-soft:rgba(45,212,191,.12); --primary-soft-strong:rgba(45,212,191,.22);
  --primary-contrast:#06211E;
  --bg-color:#0E141B; --bg-surface:#161E27; --bg-card:#161E27; --bg-soft:#141C25; --bg-elevated:#1B2530; --bg-inset:#1B2530;
  --text-main:#E6EDF3; --text-muted:#A8BACB;
  --border-color:#243040; --border-strong:#2E3C4D;
  --hover-bg:#1B2530;
  --input-bg:#10161D; --input-border:#46586B; --input-focus:#2DD4BF;
  --header-bg:#161E27; --header-border:#243040; --header-text:#E6EDF3;
  --success:#4ADE80; --success-bg:#0E3320;
  --danger:#F87171;  --danger-bg:#3A1212;
  --warning:#FBBF24; --warning-bg:#372311;
  --info:#2DD4BF;    --info-bg:#10312E;
  --sidebar-bg:#10161D; --sidebar-border:#243040; --sidebar-hover-bg:rgba(255,255,255,.04);
  --sidebar-active-bg:rgba(45,212,191,.12); --sidebar-text:#A8BACB; --sidebar-text-active:#7CF0E0;
  --sidebar-accent:#2DD4BF;
  --dash-bg:#0E141B; --dash-surface:#161E27; --dash-border:#243040; --dash-border-hover:#46586B;
  --dash-text:#E6EDF3; --dash-text-muted:#A8BACB; --dash-text-secondary:#66798C;
  --dash-primary:#2DD4BF; --dash-primary-hover:#5EEAD4; --dash-primary-light:#10312E; --dash-primary-glow:rgba(45,212,191,.3);
  --dash-info:#2DD4BF; --dash-info-light:#10312E; --dash-cyan:#22D3EE; --dash-cyan-light:#0E3A46;
  --dash-violet:#A78BFA; --dash-violet-light:#2A2153;
  --dash-success:#4ADE80; --dash-success-light:#0E3320;
  --dash-warning:#FBBF24; --dash-warning-light:#372311;
  --dash-danger:#F87171; --dash-danger-light:#3A1212;
}
/* ---------- visible field borders (the spec) ---------- */
.form-control, .form-select, .form-check-input, input[type=text]:not(.form-control):not([type=checkbox]),
input[type=email]:not(.form-control), input[type=password]:not(.form-control), input[type=number]:not(.form-control),
input[type=date]:not(.form-control), textarea, select{
  border:1px solid var(--fld) !important; background:var(--input-bg); color:var(--text-main); border-radius:7px;
}
.form-control:focus, .form-select:focus, textarea:focus, select:focus{
  outline:none; border-color:var(--input-focus) !important; box-shadow:var(--focus-ring);
}
.form-control::placeholder, textarea::placeholder{ color:var(--faint); }
.form-label, label{ color:var(--text-muted); }
/* ---------- buttons ---------- */
.btn-primary{
  --bs-btn-bg:var(--primary); --bs-btn-border-color:var(--primary);
  --bs-btn-hover-bg:var(--primary-hover); --bs-btn-hover-border-color:var(--primary-hover);
  --bs-btn-active-bg:var(--primary-hover); --bs-btn-color:var(--primary-contrast); --bs-btn-hover-color:var(--primary-contrast);
}
.btn-outline-primary{ --bs-btn-color:var(--teal); --bs-btn-border-color:var(--fld); --bs-btn-hover-bg:var(--primary-light); --bs-btn-hover-color:var(--teal-ink); --bs-btn-hover-border-color:var(--teal); }
.btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible{ outline:2px solid var(--teal); outline-offset:2px; box-shadow:none; }
/* ---------- cards / tables ---------- */
.card{ border:1px solid var(--border-color); border-radius:14px; box-shadow:0 1px 2px rgba(27,39,51,.06); background:var(--bg-surface); color:var(--text-main); }
.table{ --bs-table-color:var(--text-main); }
.table thead th{ color:var(--text-muted); text-transform:uppercase; font-size:11px; letter-spacing:.07em; background:var(--bg-soft); }
.table td, .table th{ border-color:var(--border-color); }
.table tbody tr:hover{ background:var(--hover-bg); }
.mono, .file-no{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; color:var(--teal-ink); }
[data-theme="dark"] .mono, [data-theme="dark"] .file-no{ color:var(--teal); }
/* ---------- focus logo helper (dark uses white knockout) ---------- */
.brand-logo-day, .brand-logo-night{ object-fit:contain; }
[data-theme="dark"] .brand-logo-day{ display:none; }
[data-theme="light"] .brand-logo-night{ display:none; }

/* ============================================================
   SPACING FIX — pull the main window up (Inbox + app pages)
   Legacy .sto-main centering/min-height pushed content down,
   leaving a large dead zone under the header/filter bar.
   ============================================================ */
.sto-main{
  padding-top:18px !important;
  justify-content:flex-start !important;
  align-content:flex-start !important;
  min-height:auto !important;
}
/* Inbox page rhythm: tighter gap, detail pane sticks right under the header */
.ibx-page{ gap:14px !important; }
.ibx-detail{ top:86px !important; }

/* ============================================================
   INBOX (current view) — retire hardcoded indigo #4F46E5
   until the Manifest inbox redesign lands.
   ============================================================ */
.ibx-stat.is-active{ border-color:var(--teal) !important; box-shadow:inset 0 0 0 1px var(--teal) !important; }
.ibx-stat.week .n{ color:var(--teal) !important; }
.ibx-band.week .dot{ background:var(--teal) !important; }
.ibx-band.week .cnt{ background:var(--teal) !important; }
.ibx-search input{ background:var(--input-bg) !important; border:1px solid var(--fld) !important; color:var(--text-main); }
.ibx-search input:focus{ border-color:var(--teal) !important; box-shadow:var(--focus-ring) !important; }
.ibx-chip{ background:var(--bg-surface) !important; border:1px solid var(--fld) !important; color:var(--text-main) !important; }
.ibx-chip:hover{ border-color:var(--teal) !important; color:var(--teal) !important; }
.ibx-chip.on{ background:var(--teal) !important; border-color:var(--teal) !important; color:var(--on-teal) !important; }
.ibx-chip.on .c{ background:rgba(255,255,255,.35) !important; color:inherit !important; }
.ibx-chip:not(.on) .c{ background:rgba(15,23,42,.07) !important; color:var(--text-muted) !important; }
[data-theme="dark"] .ibx-chip:not(.on) .c{ background:rgba(255,255,255,.08) !important; color:var(--text-muted) !important; }
.ibx-task:hover{ background:var(--hover-bg) !important; }
.ibx-task.is-selected{ background:var(--teal-soft) !important; box-shadow:inset 3px 0 0 var(--teal) !important; }
.ibx-task.is-selected .t1{ color:var(--text-main) !important; }
[data-theme="dark"] .ibx-task.is-selected .t1{ color:var(--teal-ink) !important; }
.ibx-detail .stage-name{ background:var(--teal-soft) !important; color:var(--teal-ink) !important; }
[data-theme="dark"] .ibx-detail .stage-name{ color:var(--teal) !important; }

/* ============================================================
   INBOX LAYOUT — narrower list, wider detail pane
   ============================================================ */
.ibx-body{ grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr) !important; }
@media (max-width:1100px){ .ibx-body{ grid-template-columns:1fr !important; } }
/* ============================================================
   STAGE PILLS/ICONS — removed everywhere until the redesign
   (filter-bar chips, row stage pill, detail stage badge)
   ============================================================ */
.ibx-filter .ibx-chips, .ibx-filter .ibx-clear{ display:none !important; }
.ibx-task .ibx-stage{ display:none !important; }
.ibx-detail .stage-name{ display:none !important; }
