/* ────────────────────────────────────────────────────────────────────
 * Spartan CRM — Weekly Target Console V2.1 (WIP-SCHED-V2.1-INTEGRATION-01)
 * Companion to modules/36-weekly-target-console.js.
 * Mirrors docs/mockups/spartan-weekly-target-console-v2.1.html.
 * Scoped under .wtc-page to avoid leaking onto other pages.
 * ──────────────────────────────────────────────────────────────────── */

.wtc-page {
  --wtc-red:        #C41230;
  --wtc-red-dark:   #A50E27;
  --wtc-red-soft:   #FBF3F4;
  --wtc-ink:        #0A0A0A;
  --wtc-s50:        #FAFAF9;
  --wtc-s100:       #F5F5F4;
  --wtc-s200:       #E7E5E4;
  --wtc-s300:       #D6D3D1;
  --wtc-s400:       #A8A29E;
  --wtc-s500:       #78716C;
  --wtc-s600:       #57534E;
  --wtc-s700:       #44403C;
  --wtc-s800:       #292524;
  --wtc-s900:       #1C1917;
  --wtc-ok-bg:      #DCFCE7;
  --wtc-ok-fg:      #15803D;
  --wtc-ok-light:   #22C55E;
  --wtc-due-bg:     #FEE2E2;
  --wtc-due-fg:     #DC2626;
  --wtc-due-light:  #EF4444;
  --wtc-due-deep:   #991B1B;
  --wtc-pending-bg: #FEF3C7;
  --wtc-pending-fg: #D97706;
  --wtc-pending-light: #F59E0B;
  --wtc-pending-deep:  #92400E;
  --wtc-info-bg:    #DBEAFE;
  --wtc-info-fg:    #1D4ED8;
  --wtc-purple:     #7C3AED;
  --wtc-shadow-rest: 0 1px 2px rgba(10,10,10,.03), 0 1px 1px rgba(10,10,10,.02);
  --wtc-shadow-hover:0 1px 2px rgba(10,10,10,.04), 0 12px 28px -12px rgba(10,10,10,.18);
  --wtc-ease:cubic-bezier(.4,0,.2,1);
  --wtc-t:180ms var(--wtc-ease);
  font-family:'Archivo',system-ui,sans-serif;
  color:var(--wtc-ink);
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:0;
}

@keyframes wtc-pulse-ai {
  0%,100% { box-shadow:0 0 0 0 rgba(124,58,237,.4); }
  50%     { box-shadow:0 0 0 7px rgba(124,58,237,0); }
}
@keyframes wtc-pulse-banner-critical {
  0%,100% { box-shadow:0 0 0 0 rgba(220,38,38,.35), inset 0 0 0 1.5px rgba(220,38,38,.6); }
  50%     { box-shadow:0 0 0 6px rgba(220,38,38,0),   inset 0 0 0 2px   rgba(220,38,38,.9); }
}
@media (prefers-reduced-motion: reduce) {
  .wtc-page .pulse-ai,
  .wtc-page .wtc-hiring-banner.critical,
  .wtc-page .wtc-headline-eyebrow .dot { animation:none !important; }
}

.wtc-eyebrow {
  font-family:'Archivo Narrow',system-ui,sans-serif;
  font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--wtc-s500);
}
.wtc-page svg { width:14px; height:14px; flex-shrink:0; }

.wtc-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.wtc-hero-l { display:flex; flex-direction:column; gap:4px; }
.wtc-hero-title { font-size:32px; font-weight:900; letter-spacing:-.025em; line-height:1.05; }
.wtc-hero-sub { font-size:13px; color:var(--wtc-s500); font-weight:500; }
.wtc-hero-sub b { color:var(--wtc-ink); font-weight:700; }
.wtc-hero-r { display:flex; gap:10px; }

.wtc-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:9px 14px; font-size:13px; font-weight:600; border-radius:9px;
  cursor:pointer; transition:all var(--wtc-t); border:1px solid transparent;
  white-space:nowrap; font-family:inherit;
}
.wtc-btn-w { background:#fff; color:var(--wtc-s700); border-color:var(--wtc-s200); box-shadow:var(--wtc-shadow-rest); }
.wtc-btn-w:hover { border-color:var(--wtc-ink); color:var(--wtc-ink); }
.wtc-btn-d { background:var(--wtc-ink); color:#fff; border-color:var(--wtc-ink); }
.wtc-btn-d:hover { background:var(--wtc-s900); }
.wtc-btn-sm { padding:6px 11px; font-size:12px; border-radius:8px; }

/* Hiring banner */
.wtc-hiring-banner {
  background:linear-gradient(135deg,#FEF3C7 0%,#FDE68A 100%);
  border:1.5px solid var(--wtc-pending-fg);
  border-radius:14px; padding:16px 20px;
  display:flex; align-items:center; gap:16px;
  position:relative; overflow:hidden;
}
.wtc-hiring-banner.critical {
  background:linear-gradient(135deg,#FEE2E2 0%,#FECACA 100%);
  border-color:var(--wtc-due-fg);
  animation:wtc-pulse-banner-critical 2.4s ease-in-out infinite;
}
.wtc-hiring-banner::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:var(--wtc-pending-fg);
}
.wtc-hiring-banner.critical::before { background:var(--wtc-due-fg); }
.wtc-hiring-icon {
  width:40px; height:40px; border-radius:10px;
  background:var(--wtc-pending-fg); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  box-shadow:0 4px 12px -4px rgba(217,119,6,.5);
}
.wtc-hiring-banner.critical .wtc-hiring-icon {
  background:var(--wtc-due-fg);
  box-shadow:0 4px 12px -4px rgba(220,38,38,.5);
}
.wtc-hiring-icon svg { width:20px; height:20px; stroke-width:2.2; }
.wtc-hiring-body { flex:1; display:flex; flex-direction:column; gap:3px; }
.wtc-hiring-title { font-size:14.5px; font-weight:800; color:var(--wtc-pending-deep); letter-spacing:-.005em; }
.wtc-hiring-banner.critical .wtc-hiring-title { color:var(--wtc-due-deep); }
.wtc-hiring-text { font-size:12.5px; line-height:1.45; color:var(--wtc-s800); }
.wtc-hiring-text b { color:var(--wtc-ink); font-weight:700; }
.wtc-hiring-actions { display:flex; gap:7px; flex-shrink:0; }
.wtc-hiring-action {
  padding:7px 12px; font-family:'Archivo Narrow'; font-size:11px; font-weight:700;
  background:#fff; border:1px solid var(--wtc-pending-fg); border-radius:7px;
  color:var(--wtc-pending-deep); cursor:pointer;
  letter-spacing:.04em; text-transform:uppercase;
  display:flex; align-items:center; gap:5px;
}
.wtc-hiring-banner.critical .wtc-hiring-action { border-color:var(--wtc-due-fg); color:var(--wtc-due-deep); }
.wtc-hiring-action:hover { background:var(--wtc-ink); color:#fff; border-color:var(--wtc-ink); }
.wtc-hiring-action.primary { background:var(--wtc-pending-fg); color:#fff; }
.wtc-hiring-banner.critical .wtc-hiring-action.primary { background:var(--wtc-due-fg); }
.wtc-hiring-action.primary:hover { background:var(--wtc-pending-deep); }
.wtc-hiring-banner.critical .wtc-hiring-action.primary:hover { background:var(--wtc-due-deep); }

/* Cluster pill on date options */
.wtc-cluster-pill {
  display:inline-flex; align-items:center; gap:5px;
  font-family:'Archivo Narrow'; font-size:10px; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase;
  background:rgba(14,165,233,.12); color:#0369A1;
  border:1px solid rgba(14,165,233,.3);
  padding:2px 7px; border-radius:5px;
  align-self:flex-start; margin-top:2px;
}
.wtc-cluster-pill svg { width:11px; height:11px; stroke-width:2.2; }

/* Headline */
.wtc-headline {
  background:linear-gradient(135deg,#0A0A0A 0%,#1C1917 100%);
  color:#fff; border-radius:18px; padding:28px 32px 26px;
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:1.4fr 1fr; gap:36px;
}
.wtc-headline::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:5px;
  background:linear-gradient(180deg,var(--wtc-red) 0%,var(--wtc-pending-fg) 50%,var(--wtc-purple) 100%);
}
.wtc-headline::after {
  content:''; position:absolute; right:-80px; top:-80px; width:340px; height:340px;
  background:radial-gradient(circle,rgba(196,18,48,.15) 0%,transparent 70%);
  pointer-events:none;
}
.wtc-headline-l { display:flex; flex-direction:column; gap:14px; position:relative; z-index:1; }
.wtc-headline-eyebrow {
  display:flex; align-items:center; gap:10px;
  font-family:'Archivo Narrow'; font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:var(--wtc-s400);
}
.wtc-headline-eyebrow .dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--wtc-ok-light); box-shadow:0 0 12px var(--wtc-ok-light);
}
.wtc-headline-row { display:flex; align-items:baseline; gap:16px; }
.wtc-headline-amount { font-size:64px; font-weight:900; letter-spacing:-.035em; line-height:.95; }
.wtc-headline-amount .currency { font-size:34px; font-weight:600; color:var(--wtc-s400); vertical-align:top; margin-right:4px; }
.wtc-headline-target-of { display:flex; flex-direction:column; gap:2px; }
.wtc-headline-target-label { font-family:'Archivo Narrow'; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--wtc-s500); }
.wtc-headline-target-amount { font-size:18px; font-weight:700; color:var(--wtc-s300); }
.wtc-headline-bar {
  margin-top:6px; height:18px;
  background:rgba(255,255,255,.06); border-radius:10px;
  position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.04);
}
.wtc-bar-segment {
  position:absolute; top:0; bottom:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo Narrow'; font-size:9.5px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; color:#fff;
}
.wtc-bar-locked { left:0; background:var(--wtc-red); }
.wtc-bar-proposed { background:repeating-linear-gradient(45deg,var(--wtc-pending-fg) 0,var(--wtc-pending-fg) 4px,var(--wtc-pending-light) 4px,var(--wtc-pending-light) 8px); }
.wtc-bar-target-marker { position:absolute; top:-3px; bottom:-3px; width:2px; background:#fff; box-shadow:0 0 8px rgba(255,255,255,.6); }
.wtc-headline-states { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:4px; }
.wtc-state-stat { display:flex; flex-direction:column; gap:3px; }
.wtc-state-stat-label {
  display:flex; align-items:center; gap:7px;
  font-family:'Archivo Narrow'; font-size:10px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--wtc-s400);
}
.wtc-state-stat-swatch { width:14px; height:10px; border-radius:2px; }
.wtc-state-stat-swatch.locked { background:var(--wtc-red); }
.wtc-state-stat-swatch.proposed { background:repeating-linear-gradient(45deg,var(--wtc-pending-fg) 0,var(--wtc-pending-fg) 2.5px,var(--wtc-pending-light) 2.5px,var(--wtc-pending-light) 5px); }
.wtc-state-stat-swatch.unsched { background:transparent; border:1.5px dashed var(--wtc-s500); }
.wtc-state-stat-value { font-size:22px; font-weight:800; letter-spacing:-.02em; }
.wtc-state-stat-sub { font-size:11px; color:var(--wtc-s500); font-weight:500; }

.wtc-headline-r { display:flex; flex-direction:column; gap:14px; justify-content:space-between; position:relative; z-index:1; }
.wtc-gap-card {
  background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.3);
  border-radius:12px; padding:18px 20px;
  display:flex; flex-direction:column; gap:8px;
}
.wtc-gap-card-label { font-family:'Archivo Narrow'; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--wtc-ok-light); }
.wtc-gap-card-amount { font-size:36px; font-weight:900; color:var(--wtc-ok-light); letter-spacing:-.02em; line-height:1; }
.wtc-gap-card-text { font-size:12px; color:var(--wtc-s300); font-weight:500; line-height:1.4; }
.wtc-gap-card-text b { color:#fff; font-weight:700; }
.wtc-headline-actions { display:flex; gap:8px; }
.wtc-headline-action {
  flex:1; padding:11px 14px; font-family:'Archivo Narrow'; font-size:11px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  border-radius:9px; color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:6px;
}
.wtc-headline-action:hover { background:rgba(255,255,255,.12); }
.wtc-headline-action.primary { background:var(--wtc-red); border-color:var(--wtc-red); }
.wtc-headline-action.primary:hover { background:var(--wtc-red-dark); }

/* Week picker — 14-week (quarter) horizon, wraps responsively */
.wtc-week-picker {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(116px, 1fr)); gap:8px;
  background:#fff; border:1px solid var(--wtc-s200);
  border-radius:12px; padding:10px;
  box-shadow:var(--wtc-shadow-rest);
}
.wtc-wp-card {
  padding:9px 11px; border-radius:9px; cursor:pointer;
  display:flex; flex-direction:column; gap:4px;
  border:1.5px solid transparent; background:var(--wtc-s50);
}
.wtc-wp-card.on { background:var(--wtc-ink); color:#fff; border-color:var(--wtc-ink); }
.wtc-wp-card:hover:not(.on) { border-color:var(--wtc-s300); background:#fff; }
.wtc-wp-label { font-family:'Archivo Narrow'; font-size:9.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--wtc-s500); white-space:nowrap; }
.wtc-wp-card.on .wtc-wp-label { color:var(--wtc-s400); }
.wtc-wp-range { font-size:12.5px; font-weight:700; color:var(--wtc-ink); letter-spacing:-.005em; white-space:nowrap; }
.wtc-wp-card.on .wtc-wp-range { color:#fff; }
.wtc-wp-mini-bar {
  height:5px; background:var(--wtc-s200);
  border-radius:3px; overflow:hidden; display:flex; margin-top:3px;
}
.wtc-wp-card.on .wtc-wp-mini-bar { background:rgba(255,255,255,.1); }
.wtc-wp-mini-locked { background:var(--wtc-red); }
.wtc-wp-mini-proposed { background:var(--wtc-pending-fg); }
.wtc-wp-mini-text { font-family:'Archivo Narrow'; font-size:10px; font-weight:700; color:var(--wtc-s600); letter-spacing:.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wtc-wp-card.on .wtc-wp-mini-text { color:var(--wtc-s300); }
.wtc-wp-mini-text b { color:var(--wtc-ink); }
.wtc-wp-card.on .wtc-wp-mini-text b { color:#fff; }

/* Section + shortlist */
.wtc-section { background:#fff; border:1px solid var(--wtc-s200); border-radius:14px; box-shadow:var(--wtc-shadow-rest); overflow:hidden; }
.wtc-section-h {
  padding:16px 22px;
  display:flex; justify-content:space-between; align-items:center;
  border-bottom:1px solid var(--wtc-s200);
  background:linear-gradient(180deg,var(--wtc-s50) 0%,transparent 100%);
}
.wtc-section-h-l { display:flex; flex-direction:column; gap:2px; }
.wtc-section-title { font-weight:800; font-size:16px; letter-spacing:-.01em; display:flex; align-items:center; gap:9px; }
.wtc-section-title svg { color:var(--wtc-red); }
.wtc-section-sub { font-size:11.5px; color:var(--wtc-s500); font-weight:500; }

.wtc-shortlist-body { padding:20px 22px; display:grid; grid-template-columns:280px 1fr; gap:24px; }
.wtc-shortlist-job { padding:14px; background:var(--wtc-s50); border:1px solid var(--wtc-s200); border-radius:11px; display:flex; flex-direction:column; gap:10px; }
.wtc-sl-job-num { font-family:'Archivo Narrow'; font-size:11px; font-weight:800; color:var(--wtc-s700); letter-spacing:.04em; }
.wtc-sl-customer { font-size:18px; font-weight:800; letter-spacing:-.01em; line-height:1.1; }
.wtc-sl-customer-sub { font-size:11px; color:var(--wtc-s500); font-weight:500; }
.wtc-sl-meta-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:8px 14px;
  margin-top:4px; padding-top:10px; border-top:1px dashed var(--wtc-s300);
}
.wtc-sl-meta { display:flex; flex-direction:column; gap:1px; }
.wtc-sl-meta-label { font-family:'Archivo Narrow'; font-size:9.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--wtc-s500); }
.wtc-sl-meta-val { font-size:12px; font-weight:700; color:var(--wtc-ink); }

.wtc-dates-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.wtc-date-opt {
  padding:14px; border:1.5px solid var(--wtc-s200); border-radius:11px;
  background:#fff; cursor:pointer; transition:all var(--wtc-t);
  display:flex; flex-direction:column; gap:8px; position:relative;
}
.wtc-date-opt:hover { border-color:var(--wtc-ink); transform:translateY(-1px); box-shadow:var(--wtc-shadow-hover); }
.wtc-date-opt.best { border-color:var(--wtc-red); background:linear-gradient(180deg,var(--wtc-red-soft) 0%,#fff 70%); }
.wtc-date-opt.best::before {
  content:'BEST FIT'; position:absolute; top:-7px; left:14px;
  background:var(--wtc-red); color:#fff;
  font-family:'Archivo Narrow'; font-size:9px; font-weight:800; letter-spacing:.12em;
  padding:2px 7px; border-radius:4px;
}
.wtc-date-opt-h { display:flex; justify-content:space-between; align-items:flex-start; }
.wtc-date-day { font-family:'Archivo Narrow'; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--wtc-s500); }
.wtc-date-num { font-size:26px; font-weight:900; letter-spacing:-.02em; line-height:1; color:var(--wtc-ink); }
.wtc-date-month { font-family:'Archivo Narrow'; font-size:10.5px; font-weight:700; color:var(--wtc-s600); letter-spacing:.04em; }
.wtc-date-window {
  font-family:'Archivo Narrow'; font-size:11px; font-weight:700; color:var(--wtc-s700);
  background:var(--wtc-s100); padding:3px 7px; border-radius:5px; align-self:flex-start;
}
.wtc-date-opt.best .wtc-date-window { background:var(--wtc-red-soft); color:var(--wtc-red-dark); }
.wtc-date-fit { display:flex; flex-direction:column; gap:3px; padding-top:8px; border-top:1px dashed var(--wtc-s300); }
.wtc-date-fit-row { display:flex; justify-content:space-between; font-family:'Archivo Narrow'; font-size:10.5px; color:var(--wtc-s600); font-weight:600; letter-spacing:.02em; }
.wtc-date-fit-row b { color:var(--wtc-ink); font-weight:700; }
.wtc-date-fit-row.target b { color:var(--wtc-red); font-weight:800; }
.wtc-date-crew {
  display:flex; align-items:center; gap:5px;
  font-family:'Archivo Narrow'; font-size:10px; font-weight:700;
  color:var(--wtc-s600); letter-spacing:.02em; text-transform:uppercase;
}
.wtc-crew-dot {
  width:14px; height:14px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:800; color:#fff;
}
.wtc-crew-dot.a { background:#DC2626; }
.wtc-crew-dot.b { background:#F59E0B; }
.wtc-crew-dot.c { background:#16A34A; }

/* AI Self-Diagnostic */
.wtc-diag {
  background:linear-gradient(135deg,#0A0A0A 0%,#1C1917 100%);
  color:#fff; border-radius:14px; overflow:hidden; position:relative;
}
.wtc-diag::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg,var(--wtc-purple) 0%,#5B21B6 100%);
}
.wtc-diag-h {
  padding:16px 22px;
  display:flex; justify-content:space-between; align-items:center;
  border-bottom:1px solid var(--wtc-s900);
}
.wtc-diag-h-l { display:flex; align-items:center; gap:12px; }
.wtc-ai-spark {
  width:36px; height:36px; border-radius:9px;
  background:rgba(124,58,237,.18);
  display:flex; align-items:center; justify-content:center;
  color:#A78BFA; border:1px solid rgba(124,58,237,.35);
}
.wtc-ai-spark.pulse-ai { animation:wtc-pulse-ai 2.5s ease-in-out infinite; }
.wtc-ai-spark svg { width:18px; height:18px; }
.wtc-diag-h-text { display:flex; flex-direction:column; gap:1px; }
.wtc-diag-title { font-size:14px; font-weight:800; letter-spacing:-.005em; }
.wtc-diag-meta { font-family:'Archivo Narrow'; font-size:11px; font-weight:600; color:var(--wtc-s400); letter-spacing:.02em; }
.wtc-diag-meta b { color:#A78BFA; font-weight:700; }
.wtc-diag-h-r { display:flex; gap:8px; }
.wtc-diag-btn {
  padding:6px 11px; font-family:'Archivo Narrow'; font-size:11px; font-weight:700;
  background:rgba(255,255,255,.06); border:1px solid var(--wtc-s700);
  border-radius:7px; color:#fff; cursor:pointer;
  display:flex; align-items:center; gap:5px;
  letter-spacing:.04em; text-transform:uppercase;
}
.wtc-diag-btn:hover { background:rgba(255,255,255,.12); }
.wtc-diag-btn.primary { background:rgba(124,58,237,.18); border-color:rgba(124,58,237,.4); color:#A78BFA; }
.wtc-diag-grid { padding:18px 22px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.wtc-diag-fn {
  background:rgba(255,255,255,.025); border:1px solid var(--wtc-s800);
  border-radius:10px; padding:12px 14px;
  display:flex; flex-direction:column; gap:6px;
  position:relative; overflow:hidden;
}
.wtc-diag-fn::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
.wtc-diag-fn.healthy::before { background:var(--wtc-ok-light); }
.wtc-diag-fn.watch::before { background:var(--wtc-pending-light); }
.wtc-diag-fn.degraded::before { background:#FB923C; }
.wtc-diag-fn.failing::before { background:var(--wtc-due-light); }
.wtc-diag-fn-h { display:flex; justify-content:space-between; align-items:center; }
.wtc-diag-fn-name { font-family:'Archivo Narrow'; font-size:11.5px; font-weight:700; letter-spacing:.02em; }
.wtc-diag-status {
  display:inline-flex; align-items:center; gap:4px;
  font-family:'Archivo Narrow'; font-size:9.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  padding:2px 6px; border-radius:4px;
}
.wtc-diag-status.healthy { background:rgba(34,197,94,.15); color:var(--wtc-ok-light); }
.wtc-diag-status.watch { background:rgba(245,158,11,.15); color:var(--wtc-pending-light); }
.wtc-diag-status.degraded { background:rgba(251,146,60,.15); color:#FB923C; }
.wtc-diag-status.failing { background:rgba(239,68,68,.15); color:var(--wtc-due-light); }
.wtc-diag-stat-row { display:flex; justify-content:space-between; font-family:'Archivo Narrow'; font-size:10.5px; color:var(--wtc-s400); font-weight:600; letter-spacing:.02em; }
.wtc-diag-stat-row b { color:#fff; font-weight:700; }
.wtc-diag-spark { height:18px; display:flex; align-items:flex-end; gap:1px; margin-top:4px; }
.wtc-diag-spark-bar { flex:1; background:var(--wtc-s700); border-radius:1px; min-height:2px; }
.wtc-diag-spark-bar.healthy { background:var(--wtc-ok-light); }
.wtc-diag-spark-bar.watch { background:var(--wtc-pending-light); }
.wtc-diag-spark-bar.degraded { background:#FB923C; }
.wtc-diag-verdict {
  padding:14px 22px 18px;
  border-top:1px solid var(--wtc-s900);
  display:flex; align-items:flex-start; gap:14px;
}
.wtc-verdict-icon {
  width:32px; height:32px; border-radius:8px;
  background:rgba(245,158,11,.15); color:var(--wtc-pending-light);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; border:1px solid rgba(245,158,11,.3);
}
.wtc-verdict-text { font-size:13px; line-height:1.5; color:var(--wtc-s200); flex:1; }
.wtc-verdict-text b { color:#fff; font-weight:700; background:rgba(124,58,237,.15); padding:1px 5px; border-radius:3px; }
.wtc-verdict-actions { display:flex; gap:6px; flex-shrink:0; }

/* ────────────────────────────────────────────────────────────────────
 * Behind-target flags, this-week install board, recommended actions
 * (rebuild — replaces the old single-job shortlist preview).
 * ──────────────────────────────────────────────────────────────────── */

@keyframes wtc-pulse-flag {
  0%,100% { box-shadow:0 0 0 0 rgba(220,38,38,.55); }
  50%     { box-shadow:0 0 0 6px rgba(220,38,38,0); }
}

/* Gap card centres now that the two action buttons are gone */
.wtc-page .wtc-headline-r { justify-content:center; }

/* Week-picker: pulsing red flag on weeks behind target */
.wtc-wp-card { position:relative; }
.wtc-wp-card.behind { border-color:rgba(220,38,38,.4); }
.wtc-wp-flag {
  position:absolute; top:8px; right:8px;
  width:9px; height:9px; border-radius:50%;
  background:var(--wtc-due-light);
  animation:wtc-pulse-flag 1.8s ease-in-out infinite;
}

/* This week's installs — one card per job, Mon → Sat */
.wtc-board-wrap { padding:16px 18px 18px; overflow-x:auto; }
.wtc-board-none { padding:40px 22px; text-align:center; color:var(--wtc-s500); font-size:13px; }

/* Shared Mon→Sat header + per-job day strip (aligned, fixed width) */
.wtc-board-head { display:flex; align-items:flex-end; gap:14px; padding:0 2px 8px; }
.wtc-strip { width:168px; flex-shrink:0; display:grid; grid-template-columns:repeat(6,1fr); gap:4px; }
.wtc-board-head .wtc-strip-cell { display:flex; flex-direction:column; align-items:center; gap:1px; height:auto; background:none; border:none; }
.wtc-board-head .wtc-strip-cell .d { font-family:'Archivo Narrow'; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--wtc-s500); }
.wtc-board-head .wtc-strip-cell .n { font-size:11px; font-weight:700; color:var(--wtc-s700); }
.wtc-board-head-label { font-family:'Archivo Narrow'; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--wtc-s400); }

.wtc-board-list { display:flex; flex-direction:column; gap:10px; }
.wtc-jobrow {
  display:flex; align-items:flex-start; gap:14px;
  background:#fff; border:1px solid var(--wtc-s200); border-radius:11px;
  padding:12px 14px; cursor:pointer; transition:all var(--wtc-t);
}
.wtc-jobrow:hover { border-color:var(--wtc-ink); transform:translateY(-1px); box-shadow:var(--wtc-shadow-hover); }
.wtc-jobrow-strip { width:168px; flex-shrink:0; display:grid; grid-template-columns:repeat(6,1fr); gap:4px; padding-top:2px; }
.wtc-strip-cell { height:30px; border-radius:5px; background:var(--wtc-s100); border:1px solid var(--wtc-s200); }
.wtc-jobrow-strip .wtc-strip-cell.on.locked { background:var(--wtc-red); border-color:var(--wtc-red); }
.wtc-jobrow-strip .wtc-strip-cell.on.proposed { background:repeating-linear-gradient(45deg,var(--wtc-pending-fg) 0,var(--wtc-pending-fg) 3px,var(--wtc-pending-light) 3px,var(--wtc-pending-light) 6px); border-color:var(--wtc-pending-fg); }

.wtc-jobrow-main { flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.wtc-jobrow-top { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.wtc-state-pill { font-family:'Archivo Narrow'; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:2px 6px; border-radius:4px; }
.wtc-state-pill.locked { background:var(--wtc-red-soft); color:var(--wtc-red-dark); border:1px solid rgba(196,18,48,.25); }
.wtc-state-pill.proposed { background:var(--wtc-pending-bg); color:var(--wtc-pending-deep); border:1px solid rgba(217,119,6,.3); }
.wtc-jobrow-id { font-family:'Archivo Narrow'; font-size:11px; font-weight:700; color:var(--wtc-s600); letter-spacing:.02em; }
.wtc-jobrow-days { font-family:'Archivo Narrow'; font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--wtc-s600); background:var(--wtc-s100); padding:2px 7px; border-radius:5px; }
.wtc-jobrow-val { margin-left:auto; font-size:16px; font-weight:800; letter-spacing:-.01em; color:var(--wtc-ink); }
.wtc-jobrow-cust { font-size:15px; font-weight:800; letter-spacing:-.01em; line-height:1.1; }
.wtc-jobrow-line { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.wtc-jobrow-lbl { font-family:'Archivo Narrow'; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--wtc-s400); flex-shrink:0; min-width:62px; }
.wtc-jobrow-crew { display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; font-size:12px; font-weight:700; color:var(--wtc-s700); }
.wtc-jobrow-equip { display:flex; flex-wrap:wrap; gap:5px; }
.wtc-equip-chip { font-family:'Archivo Narrow'; font-size:10.5px; font-weight:700; letter-spacing:.02em; color:var(--wtc-s700); background:var(--wtc-s100); border:1px solid var(--wtc-s200); padding:2px 8px; border-radius:6px; }
.wtc-equip-chip.more { color:var(--wtc-s500); }
.wtc-equip-none { font-size:11px; color:var(--wtc-s400); font-style:italic; }
.wtc-job-reason { font-size:11.5px; line-height:1.4; color:var(--wtc-s600); font-style:italic; }
.wtc-ai-badge { font-size:8.5px; font-weight:800; letter-spacing:.06em; color:var(--wtc-purple); background:rgba(124,58,237,.12); padding:1px 5px; border-radius:8px; }
.wtc-review-badge { font-size:8.5px; font-weight:800; letter-spacing:.06em; color:var(--wtc-pending-deep); background:var(--wtc-pending-bg); padding:1px 5px; border-radius:8px; }

/* Legend in the board header */
.wtc-legend-dot { display:inline-flex; align-items:center; gap:5px; font-family:'Archivo Narrow'; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--wtc-s600); }
.wtc-sw { width:12px; height:9px; border-radius:2px; }
.wtc-sw.locked { background:var(--wtc-red); }
.wtc-sw.proposed { background:repeating-linear-gradient(45deg,var(--wtc-pending-fg) 0,var(--wtc-pending-fg) 2.5px,var(--wtc-pending-light) 2.5px,var(--wtc-pending-light) 5px); }

/* Recommended actions panel */
.wtc-rec { border-radius:14px; padding:16px 18px; display:flex; flex-direction:column; gap:12px; position:relative; overflow:hidden; }
.wtc-rec.ok { background:linear-gradient(135deg,#F0FDF4 0%,#DCFCE7 100%); border:1px solid rgba(34,197,94,.35); flex-direction:row; align-items:flex-start; gap:14px; }
.wtc-rec.critical { background:linear-gradient(135deg,#FEF2F2 0%,#FEE2E2 100%); border:1.5px solid var(--wtc-due-fg); animation:wtc-pulse-banner-critical 2.4s ease-in-out infinite; }
.wtc-rec.critical::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--wtc-due-fg); }
.wtc-rec-h { display:flex; align-items:center; gap:12px; }
.wtc-rec-flag { width:14px; height:14px; border-radius:50%; background:var(--wtc-due-fg); flex-shrink:0; animation:wtc-pulse-flag 1.8s ease-in-out infinite; }
.wtc-rec-h-text { display:flex; flex-direction:column; gap:2px; }
.wtc-rec-title { font-size:15px; font-weight:800; color:var(--wtc-due-deep); letter-spacing:-.01em; }
.wtc-rec-title.ok { color:var(--wtc-ok-fg); }
.wtc-rec-text { font-size:12px; color:var(--wtc-s700); font-weight:500; line-height:1.4; }
.wtc-rec-icon { width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.wtc-rec-icon.ok { background:var(--wtc-ok-light); color:#fff; }
.wtc-rec-icon svg { width:18px; height:18px; }
.wtc-rec-body { display:flex; flex-direction:column; gap:2px; }
.wtc-rec-actions { display:flex; flex-direction:column; gap:8px; }
.wtc-rec-action { display:flex; align-items:center; gap:11px; background:rgba(255,255,255,.7); border:1px solid rgba(220,38,38,.18); border-radius:10px; padding:10px 12px; }
.wtc-rec-action-ico { width:28px; height:28px; border-radius:8px; background:var(--wtc-due-bg); color:var(--wtc-due-fg); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.wtc-rec-action-ico svg { width:15px; height:15px; }
.wtc-rec-action-text { flex:1; font-size:12.5px; font-weight:600; color:var(--wtc-s800); line-height:1.4; }
.wtc-rec-action-btn { flex-shrink:0; padding:7px 13px; font-family:'Archivo Narrow'; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; background:var(--wtc-ink); color:#fff; border:1px solid var(--wtc-ink); border-radius:8px; cursor:pointer; white-space:nowrap; }
.wtc-rec-action-btn:hover { background:var(--wtc-red); border-color:var(--wtc-red); }

@media (prefers-reduced-motion: reduce) {
  .wtc-page .wtc-rec.critical,
  .wtc-page .wtc-rec-flag,
  .wtc-page .wtc-wp-flag { animation:none !important; }
}
