/* Sales-cycle tracker: school-page section and tracker board. Uses the workspace tokens. */
.cy-card { padding: var(--space-4); }
.cy-label { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-mute); }
.cy-muted { color: var(--ink-mute); font-size: 13px; margin: 4px 0 0; }
.cy-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: var(--space-3); }
.cy-head strong { font-size: 18px; color: var(--brand-navy); }

.cy-bar { list-style: none; display: flex; gap: 3px; margin: 0 0 var(--space-4); padding: 0; }
.cy-phase { flex: 1 1 0; min-width: 0; padding: 7px 6px; background: var(--paper-warm); border-bottom: 3px solid var(--rule-strong);
  font-size: 11.5px; line-height: 1.25; color: var(--ink-mute); text-align: center; }
.cy-phase.past { border-bottom-color: var(--go); color: var(--ink-soft); }
.cy-phase.here { background: var(--brand-navy); border-bottom-color: var(--brand-gold); color: var(--white); font-weight: 600; }
.cy-lost { margin: 0 0 var(--space-3); color: var(--brand-burgundy); font-weight: 600; }

.cy-ticks { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-4); margin: 0 0 var(--space-4); padding: 0; font-size: 14px; color: var(--ink-soft); }
.cy-ticks li { display: flex; align-items: center; gap: 6px; }
.cy-ticks em { font-style: normal; color: var(--ink-mute); font-size: 12.5px; }
.cy-box { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1.5px solid var(--rule-strong);
  border-radius: var(--r-sm); font-size: 12px; color: var(--white); }
.cy-ticks li.done .cy-box { background: var(--go); border-color: var(--go); }

.cy-next { background: var(--paper-warm); border-left: 4px solid var(--brand-gold); padding: var(--space-3) var(--space-4); border-radius: 0 var(--r) var(--r) 0; margin-bottom: var(--space-3); }
.cy-next-text { font-size: 16px; font-weight: 600; color: var(--ink); margin: 4px 0 8px; }
.cy-due { font-weight: 400; color: var(--ink-mute); font-size: 13px; }
.cy-next .btn { margin-top: 8px; min-height: 40px; }
.cy-other { margin-bottom: var(--space-4); font-size: 13px; }
.cy-other summary, .cy-legend summary { cursor: pointer; color: var(--ink-mute); }
.cy-other-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cy-log { list-style: none; margin: 6px 0 0; padding: 0; font-size: 14px; }
.cy-log li { padding: 6px 0; border-top: 1px solid var(--rule); }
.cy-date { font-family: var(--font-mono); font-size: 12px; color: var(--ink-mute); margin-right: 6px; }

.cy-err { color: var(--brand-burgundy); font-size: 13px; }

.cy-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--space-3); }
.cy-filter.active { background: var(--brand-navy); color: var(--white); }
.cy-filter.active .cy-count { color: inherit; }

.cy-board { display: grid; grid-template-columns: repeat(6, minmax(150px, 1fr)); gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.cy-col { background: var(--paper-warm); border-radius: var(--r); padding: 8px; min-height: 96px; }
.cy-col.closed { background: transparent; border: 1px dashed var(--rule-strong); }
.cy-col-head { font-size: 12px; font-weight: 600; color: var(--brand-navy); margin-bottom: 8px; display: flex; justify-content: space-between; gap: 6px; }
.cy-count { color: var(--ink-mute); font-weight: 500; }
.cy-chip { background: var(--white); border: 1px solid var(--rule); border-radius: var(--r-sm); padding: 8px; margin-bottom: 6px; box-shadow: var(--shadow-1); }
.cy-chip-name { font-size: 13.5px; font-weight: 600; line-height: 1.25; }
.cy-chip-name a { color: var(--brand-navy); }
.cy-dots { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0; }
.cy-dot { font-size: 10.5px; padding: 1px 6px; border-radius: 999px; border: 1px solid var(--rule-strong); color: var(--ink-mute); white-space: nowrap; }
.cy-dot.done { background: var(--go-bg); border-color: var(--go); color: var(--go); }
.cy-chip-next { font-size: 12px; color: var(--ink-soft); line-height: 1.3; }
.cy-empty { font-size: 12px; color: var(--ink-faint); }
.cy-legend { margin-top: var(--space-3); font-size: 13px; }
.cy-legend dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin: 8px 0; }
.cy-legend dt { font-weight: 600; color: var(--brand-navy); }
.cy-legend dd { margin: 0; color: var(--ink-soft); }

@media (max-width: 720px) {
  .cy-bar { flex-wrap: wrap; }
  .cy-phase { flex: 1 1 30%; }
  .cy-board { grid-template-columns: repeat(6, 78vw); }
}

/* Compact tracker list and its one expanded school. */
.cy-phase-counts { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: var(--space-4); font-size: 13px; color: var(--ink-soft); }
.cy-phase-counts strong { color: var(--brand-navy); margin-left: 4px; }
.cy-tracker-table { width: 100%; }
.cy-tracker-table td { vertical-align: top; white-space: normal; max-width: 340px; }
.cy-tracker-row { cursor: pointer; }
.cy-tracker-row:hover, .cy-tracker-row:focus-within { background: var(--paper-warm); }
.cy-school-toggle { border: 0; padding: 0; background: transparent; font: inherit; font-weight: 600; text-align: left; color: var(--brand-navy); cursor: pointer; }
.cy-school-toggle:focus-visible { outline: 2px solid var(--brand-gold); outline-offset: 4px; }
.cy-late { display: inline-block; color: var(--brand-burgundy); font-size: 12px; font-weight: 600; }
.cy-tracker-table .cy-tracker-detail td { max-width: none; padding: var(--space-4); background: var(--paper-warm); }
.cy-tracker-detail .mn-body { margin-top: var(--space-3); }

.cy-closed-lost { margin: 12px 0 24px; max-width: 420px; }
.cy-board .cy-school-toggle { width: 100%; }
.cy-chip[data-cy-card] { cursor: pointer; }
.cy-chip[data-cy-card]:hover { border-color: var(--brand-gold); }

/* Overview progress and owner rows. */
.cy-overview-kpis { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); margin-bottom: var(--space-4); }
[data-cycle-overview] .cy-phase a { display: block; color: var(--brand-navy); text-decoration: none; }
[data-cycle-overview] .cy-phase strong { display: block; margin-top: 6px; font-size: 20px; }
[data-cycle-overview] .cy-lost { font-size: 12px; font-weight: 400; }
.cy-overview-scroll { overflow-x: auto; }
.cy-overview-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.cy-overview-table th, .cy-overview-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--rule); vertical-align: top; }
.cy-overview-table thead th { font-size: 11px; color: var(--ink-mute); }
.cy-overview-table th:first-child { min-width: 110px; }
.cy-overview-table th:last-child { min-width: 210px; }
[data-overview-next] a { display: block; margin-top: 6px; }
[data-overview-next] .cy-due { display: block; margin-top: 4px; }
