:root {
  --navy: #101C44;
  --navy-10: rgba(16,28,68,0.08);
  --teal: #0097A7;
  --teal-15: rgba(0,151,167,0.15);
  --jade: #7BC8A4;
  --jade-20: rgba(123,200,164,0.2);
  --warn: #C2410C;
  --bg: #F7F8FA;
  --card: #FFFFFF;
  --line: #E5E7EB;
  --ink: #101C44;
  --muted: #6B7280;

  /* Kolbe mode colors — match original dashboard */
  --kolbe-ff: #D32F2F;  /* Fact Finder · red */
  --kolbe-ft: #1976D2;  /* Follow Thru · blue */
  --kolbe-qs: #43A047;  /* Quick Start · green */
  --kolbe-im: #FDD835;  /* Implementor · yellow */
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
html, body { margin: 0; padding: 0; min-height: 100%; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
}

/* ===== LOGIN ===== */
.login-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: linear-gradient(135deg, var(--navy) 0%, #1a2855 100%);
}
.login-card {
  background: #fff;
  border-radius: 16px;
  padding: 40px 32px;
  max-width: 420px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0,0,0,0.18);
}
.login-brand { text-align: center; margin-bottom: 28px; }
.brand-name {
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: 36px;
  letter-spacing: 0.04em;
  color: var(--navy);
}
.brand-sub {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--teal);
  margin-top: 4px;
  font-weight: 600;
}
.login-instruction {
  text-align: center;
  color: var(--muted);
  margin: 0 0 24px 0;
  font-size: 14px;
}
.login-form { display: flex; flex-direction: column; gap: 12px; }
.login-form input {
  padding: 14px 16px;
  font-size: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  outline: none;
  font-family: inherit;
  color: var(--ink);
}
.login-form input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,151,167,0.15); }
.login-form button {
  padding: 14px;
  font-size: 15px;
  font-weight: 700;
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.12s;
}
.login-form button:hover { opacity: 0.9; }
.login-form button:disabled { opacity: 0.6; cursor: default; }
.login-status {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 8px;
  font-size: 13px;
}
.login-status.ok { background: var(--jade-20); color: #15803d; }
.login-status.err { background: rgba(194,65,12,0.12); color: var(--warn); }
.login-foot {
  margin-top: 24px;
  font-size: 11px;
  color: var(--muted);
  text-align: center;
  line-height: 1.5;
}

/* ===== APP ===== */
.app { padding-bottom: 60px; }
.app-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 28px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.brand-row { display: flex; align-items: baseline; gap: 14px; }
.app-header h1 {
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: 0.04em;
  color: var(--navy);
  margin: 0;
}
.last-updated { font-size: 11px; color: var(--muted); }
.user-row { display: flex; align-items: center; gap: 12px; }
.user-email { font-size: 12px; color: var(--muted); }
.signout-btn {
  background: none;
  border: 1px solid var(--line);
  padding: 6px 12px;
  font-size: 12px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--muted);
  font-family: inherit;
}
.signout-btn:hover { background: #F0F2F5; color: var(--ink); }

nav.tabs {
  display: flex;
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 0 28px;
  overflow-x: auto;
}
nav.tabs button {
  background: none;
  border: none;
  padding: 14px 18px;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}
nav.tabs button:hover { color: var(--navy); }
nav.tabs button.active {
  color: var(--navy);
  font-weight: 700;
  border-bottom-color: var(--teal);
}

main { padding: 24px 28px; max-width: 1200px; margin: 0 auto; }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 14px;
}
.section-head h2 {
  font-size: 16px;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
  font-family: 'Outfit', sans-serif;
}
.hint { font-size: 12px; color: var(--muted); }

.placeholder-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px 28px;
}
.placeholder-card h2 {
  font-family: 'Outfit', sans-serif;
  margin: 0 0 12px 0;
  color: var(--navy);
}
.placeholder-card p { color: var(--muted); margin: 0; line-height: 1.6; }

/* ===== CAPTURE LIST ===== */
.capture-list {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 16px;
  overflow: hidden;
}
.cap-item {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}
.cap-item:last-child { border-bottom: none; }
.cap-item.is-done { opacity: 0.5; }
.cap-item.is-done .cap-text { text-decoration: line-through; }
.cap-item.is-deleted { opacity: 0.35; }
.cap-item.is-deleted .cap-text { text-decoration: line-through; }
.cap-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.cap-body { flex: 1; min-width: 240px; }
.cap-text { font-size: 14px; color: var(--ink); line-height: 1.4; }
.cap-text strong { color: var(--navy); }
.cap-meta {
  font-size: 11px;
  color: var(--muted);
  margin-top: 4px;
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

/* Status column groups status select + delegate + schedule */
.status-col {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  margin-top: 1px;
  width: 320px;          /* fixed total width — keeps everything to its right (priority, body) aligned */
  box-sizing: border-box;
}

/* Wrappers that hold a control + clear button */
.select-wrap, .date-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.clear-btn {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border: none;
  background: rgba(0,0,0,0.18);
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-family: inherit;
  z-index: 2;
}
.clear-btn:hover { background: var(--warn); }
.clear-btn:active { transform: translateY(-50%) scale(0.95); }
/* Make room for clear button on the right side of the input */
.select-wrap .status-select { padding-right: 28px; }
.date-wrap .schedule-date { padding-right: 28px; }

/* Status dropdown */
.status-select {
  height: 26px;
  width: 105px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 700;
  font-family: inherit;
  color: var(--muted);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 5px;
  outline: none;
  cursor: pointer;
  -webkit-appearance: menulist;
  appearance: menulist;
}
.status-select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,151,167,0.15); }
.status-select.s-done { background: var(--jade); color: var(--navy); border-color: var(--jade); }
.status-select.s-forwarded { background: var(--teal); color: #fff; border-color: var(--teal); }
.status-select.s-deleted { background: var(--warn); color: #fff; border-color: var(--warn); }
.status-select.s-in-progress { background: #fff; color: var(--navy); border-color: var(--navy); border-width: 2px; }

/* Delegate input wrapper (shows circled-check icon when populated, sparkle when "C") */
.delegate-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 0 4px;
  height: 26px;
  width: 70px;          /* fixed — keeps priority column aligned regardless of populated state */
  flex-shrink: 0;
  box-sizing: border-box;
}
.delegate-wrap.populated { background: var(--navy-10); border-color: var(--navy); }
.delegate-wrap.is-claude { background: rgba(0,151,167,0.12); border-color: var(--teal); }
.delegate-wrap.is-claude::after {
  content: "✨";
  font-size: 10px;
  margin-left: 2px;
}
.delegate-icon {
  display: none;
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}
.delegate-wrap.populated .delegate-icon { display: inline-flex; color: var(--navy); }
.delegate-wrap.is-claude .delegate-icon { color: var(--teal); }
.delegate-input {
  width: 24px;
  padding: 0;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  border: none;
  outline: none;
  background: transparent;
  color: var(--navy);
  letter-spacing: 0.04em;
}
.delegate-input::placeholder {
  color: #C5C8D0;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0;
}
.delegate-wrap.is-claude .delegate-input { color: var(--teal); }

/* Schedule date */
.schedule-date {
  height: 26px;
  width: 132px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 600;
  font-family: inherit;
  color: var(--muted);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 5px;
  outline: none;
  cursor: pointer;
}
.schedule-date:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,151,167,0.15); }
.schedule-date.has-date {
  color: var(--teal);
  border-color: var(--teal);
  background: rgba(0,151,167,0.08);
  font-weight: 700;
}
.schedule-date.is-today {
  color: #fff; background: var(--warn); border-color: var(--warn); font-weight: 800;
}
.schedule-date.is-tomorrow {
  color: var(--warn); background: rgba(194,65,12,0.10); border-color: var(--warn); font-weight: 700;
}

/* Schedule badge in meta line */
.sched-badge {
  display: inline-block;
  padding: 1px 6px;
  background: rgba(0,151,167,0.12);
  color: var(--teal);
  border-radius: 4px;
  font-weight: 700;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sched-badge.is-today { background: var(--warn); color: #fff; }
.sched-badge.is-tomorrow { background: rgba(194,65,12,0.15); color: var(--warn); }
.sched-badge.is-past { background: rgba(194,65,12,0.20); color: var(--warn); text-decoration: line-through; }

/* Priority editor */
.prio-edit {
  width: 56px;
  height: 26px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 800;
  font-family: 'Outfit', sans-serif;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  border: 1px solid var(--line);
  border-radius: 5px;
  outline: none;
  background: #F0F2F5;
  color: var(--muted);
  flex-shrink: 0;
  margin-top: 1px;
}
.prio-edit::placeholder { color: #C5C8D0; font-weight: 600; }
.prio-edit:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,151,167,0.18); background: #fff; }
.prio-edit.is-A { background: var(--navy); color: #fff; border-color: var(--navy); }
.prio-edit.is-B { background: var(--teal); color: #fff; border-color: var(--teal); }
.prio-edit.is-C { background: var(--jade); color: var(--navy); border-color: var(--jade); }

/* Notes section */
.notes-toggle {
  display: inline-block;
  margin-top: 6px;
  font-size: 10px;
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
  color: var(--muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.notes-toggle:hover { color: var(--teal); }
.notes-toggle.has-notes { color: var(--navy); }
.notes-toggle.has-claude { color: var(--teal); }
.notes-toggle.has-claude::after { content: " · 🔍 @claude"; font-size: 10px; }

.notes-section { display: none; margin-top: 6px; }
.notes-section.expanded { display: block; }
.notes-textarea {
  width: 100%;
  min-height: 56px;
  max-height: 280px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
  background: #FCFCFD;
  border: 1px solid var(--line);
  border-radius: 6px;
  resize: vertical;
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
}
.notes-textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,151,167,0.12); background: #fff; }
.notes-hint { font-size: 10px; color: var(--muted); margin-top: 4px; font-style: italic; }

/* Delete button */
.del-btn {
  background: none;
  border: 1px solid transparent;
  font-size: 18px;
  color: var(--muted);
  cursor: pointer;
  width: 28px;
  height: 28px;
  border-radius: 5px;
  font-family: inherit;
  line-height: 1;
  flex-shrink: 0;
}
.del-btn:hover { background: rgba(194,65,12,0.1); border-color: var(--warn); color: var(--warn); }

.empty-state {
  padding: 40px 24px;
  text-align: center;
  color: var(--muted);
}

.add-row {
  display: flex;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px;
}
.add-row input {
  flex: 1;
  padding: 10px 12px;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 14px;
  color: var(--ink);
  background: transparent;
}
.add-row button {
  padding: 8px 16px;
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-family: inherit;
  font-weight: 700;
}
.add-row button:hover { opacity: 0.9; }

/* ===== DIAG ===== */
.diag-list { padding-left: 20px; line-height: 1.8; color: var(--muted); }
.diag-list code {
  background: var(--navy-10);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: ui-monospace, monospace;
  font-size: 12px;
  color: var(--navy);
}

/* ===== PRIORITY BADGE (read-only display) ===== */
.prio {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 22px;
  padding: 0 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  font-family: 'Outfit', sans-serif;
  flex-shrink: 0;
}
.prio-A { background: var(--navy); color: #fff; }
.prio-B { background: var(--teal); color: #fff; }
.prio-C { background: var(--jade); color: var(--navy); }
.prio-none { background: #F0F2F5; color: var(--muted); border: 1px dashed var(--line); }

/* ===== EXEC SUMMARY ===== */
.exec-priority-lock {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--navy);
  border-radius: 12px;
  padding: 22px 26px;
  margin-bottom: 26px;
}
.epl-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
  gap: 14px;
  flex-wrap: wrap;
}
.epl-title {
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--navy);
}
.epl-day { font-size: 14px; color: var(--muted); font-weight: 500; }
.epl-empty { color: var(--muted); font-size: 13px; padding: 12px 0; }
.epl-priorities {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.epl-card {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  background: #F7F8FA;
  border: 1px solid var(--line);
  border-radius: 10px;
  align-items: flex-start;
}
.epl-card.done { opacity: 0.6; }
.epl-card.in-progress { border-left: 3px solid var(--teal); }
.epl-num {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--navy); color: #fff;
  font-size: 13px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.epl-card.done .epl-num { background: var(--jade); color: var(--navy); }
.epl-body { flex: 1; }
.epl-text { font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.35; margin-bottom: 4px; }
.epl-meta { font-size: 11px; color: var(--muted); display: flex; gap: 8px; align-items: center; }
.epl-domain {
  font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--teal);
}
.epl-card.done .epl-text { text-decoration: line-through; }
.epl-detail { font-size: 12px; color: var(--muted); margin-top: 4px; line-height: 1.4; }
.epl-note {
  font-size: 12px; color: var(--muted); font-style: italic;
  margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--line);
}

/* Scheduled item blocks */
.exec-sched-block {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 22px;
}
.exec-sched-block.warn {
  border-color: var(--warn);
  background: rgba(194,65,12,0.05);
}
.exec-sched-item {
  display: flex; gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.exec-sched-item:last-child { border-bottom: none; }
.esi-body { flex: 1; }
.esi-text { font-size: 14px; color: var(--ink); line-height: 1.4; }
.esi-meta {
  font-size: 11px; color: var(--muted); margin-top: 2px;
  text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600;
}
.esi-day-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--teal);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 8px 0 4px;
  border-bottom: 1px dashed var(--line);
  margin-top: 4px;
}
.esi-day-label:first-child { margin-top: 0; }

/* Week alerts grid */
.exec-alerts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin-bottom: 26px;
}
.exec-alert {
  background: #fff; border: 1px solid var(--line);
  border-radius: 10px; padding: 14px 16px;
}
.exec-alert.urg-high { border-left: 3px solid var(--warn); }
.exec-alert.urg-medium { border-left: 3px solid var(--teal); }
.exec-alert.urg-low { border-left: 3px solid var(--muted); }
.ea-label { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.ea-countdown {
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 6px;
}
.ea-countdown.crit { color: var(--warn); }
.ea-countdown.soon { color: var(--teal); }
.ea-countdown.ok { color: var(--muted); }
.ea-note { font-size: 11px; color: var(--muted); line-height: 1.4; }

/* Kolbe mini */
.exec-kolbe-card {
  background: #fff; border: 1px solid var(--line);
  border-radius: 12px; padding: 18px 20px;
  margin-bottom: 26px;
}
.kolbe-strip-mini {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.km-mini {
  background: #F7F8FA;
  border-radius: 10px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-left: 4px solid var(--muted);
}
.km-mini.mode-ff { border-left-color: var(--kolbe-ff); }
.km-mini.mode-ft { border-left-color: var(--kolbe-ft); }
.km-mini.mode-qs { border-left-color: var(--kolbe-qs); }
.km-mini.mode-im { border-left-color: var(--kolbe-im); }

.km-mini .km-label {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
}
.km-mini.mode-ff .km-label { color: var(--kolbe-ff); }
.km-mini.mode-ft .km-label { color: var(--kolbe-ft); }
.km-mini.mode-qs .km-label { color: var(--kolbe-qs); }
.km-mini.mode-im .km-label { color: var(--kolbe-im); }

.km-mini .km-value {
  font-family: 'Outfit', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1;
}
.km-mini.mode-ff .km-value { color: var(--kolbe-ff); }
.km-mini.mode-ft .km-value { color: var(--kolbe-ft); }
.km-mini.mode-qs .km-value { color: var(--kolbe-qs); }
.km-mini.mode-im .km-value { color: var(--kolbe-im); }

.km-mini .km-goal {
  font-size: 11px;
  color: var(--muted);
  margin-top: 2px;
}
.kolbe-summary-note {
  margin-top: 14px;
  font-size: 12px; color: var(--muted);
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

/* Capture summary block */
.exec-capture-summary {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 24px;
}
.ecs-buckets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}
.ecs-bucket {
  padding: 10px 12px;
  background: #F7F8FA;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-align: center;
}
.ecs-bucket.top { background: rgba(123,200,164,0.18); border-color: var(--jade); }
.ecs-bucket-label {
  font-size: 11px; color: var(--muted);
  text-transform: uppercase; letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.ecs-bucket-count {
  font-size: 22px; font-weight: 800;
  color: var(--navy);
  font-family: 'Outfit', sans-serif;
}
.ecs-divider { height: 1px; background: var(--line); margin: 14px 0; }
.ecs-items-title {
  font-size: 11px; font-weight: 700; color: var(--muted);
  text-transform: uppercase; letter-spacing: 0.06em;
  margin-bottom: 10px;
}
.ecs-item {
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  font-size: 13px; color: var(--ink);
  display: flex; gap: 10px; align-items: flex-start;
}
.ecs-item:last-child { border-bottom: none; }
.ecs-bucket-tag {
  font-size: 10px; color: var(--muted);
  font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em;
}

/* ===== REVENUE PIPELINE ===== */
.pattern-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}
.stat-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 16px 18px;
}
.stat-card.accent-navy { border-left: 3px solid var(--navy); }
.stat-card.accent-teal { border-left: 3px solid var(--teal); }
.stat-card.accent-jade { border-left: 3px solid var(--jade); }
.stat-card.accent-warn { border-left: 3px solid var(--warn); }
.stat-card .stat-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin-bottom: 4px;
}
.stat-card .stat-value {
  font-family: 'Outfit', sans-serif;
  font-size: 26px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.1;
  margin-bottom: 4px;
}
.stat-card .stat-sub {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.4;
}

/* Revenue Progress Bar */
.rev-progress {
  margin-bottom: 32px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 22px 24px 18px;
}
.rev-progress .rp-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 18px;
  gap: 16px;
  flex-wrap: wrap;
}
.rev-progress .rp-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.rev-progress .rp-subtitle { font-size: 12px; color: var(--muted); }
.rev-progress .rp-track-wrap { position: relative; padding-top: 28px; }
.rev-progress .rp-track {
  position: relative;
  height: 36px;
  background: #EDEFF3;
  border-radius: 6px;
  overflow: visible;
}
.rev-progress .rp-fill-estimated {
  position: absolute; left: 0; top: 0; bottom: 0;
  background: var(--jade); opacity: 0.38;
  border-radius: 6px 0 0 6px;
  z-index: 1;
  border-right: 2px dashed rgba(21, 128, 61, 0.55);
  transition: width 0.4s ease;
}
.rev-progress .rp-fill-confirmed {
  position: absolute; left: 0; top: 0; bottom: 0;
  background: var(--teal); opacity: 0.55;
  border-radius: 6px 0 0 6px;
  z-index: 2;
  transition: width 0.4s ease;
}
.rev-progress .rp-fill-received {
  position: absolute; left: 0; top: 0; bottom: 0;
  background: var(--navy);
  border-radius: 6px 0 0 6px;
  display: flex; align-items: center; justify-content: flex-end;
  padding-right: 10px;
  color: #fff; font-size: 11px; font-weight: 700;
  z-index: 3; white-space: nowrap;
  transition: width 0.4s ease;
}
.rev-progress .rp-today-line {
  position: absolute; top: -10px; bottom: -10px;
  width: 2px; background: var(--jade);
  z-index: 4;
}
.rev-progress .rp-today-label {
  position: absolute;
  font-size: 11px; font-weight: 700;
  color: #15803D; white-space: nowrap;
  transform: translateX(-50%);
  background: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--jade);
}
.rev-progress .rp-marker {
  position: absolute; top: 0; bottom: 0;
  width: 0;
  border-left: 1px dashed rgba(16, 28, 68, 0.25);
  z-index: 1;
}
.rev-progress .rp-quarter-labels {
  position: relative;
  height: 34px;
  margin-top: 8px;
}
.rev-progress .rp-q-label {
  position: absolute;
  transform: translateX(-50%);
  text-align: center;
  font-size: 10px;
  color: var(--muted);
  line-height: 1.3;
}
.rev-progress .rp-q-label strong {
  display: block;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}
.rev-progress .rp-legend {
  display: flex; gap: 20px;
  margin-top: 12px; padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 12px; color: var(--muted);
  flex-wrap: wrap;
}
.rev-progress .rp-legend-item {
  display: flex; align-items: center; gap: 8px;
}
.rev-progress .rp-swatch {
  width: 14px; height: 14px;
  border-radius: 3px;
}
.rev-progress .rp-swatch.rec { background: var(--navy); }
.rev-progress .rp-swatch.conf { background: var(--teal); opacity: 0.55; }
.rev-progress .rp-swatch.est {
  background: var(--jade); opacity: 0.38;
  border-right: 2px dashed rgba(21, 128, 61, 0.55);
}
.rev-progress .rp-swatch.gap {
  background: #EDEFF3;
  border: 1px solid var(--line);
}
.rev-progress .rp-swatch.today { background: var(--jade); }
.rev-progress .rp-gap-callout {
  margin-top: 14px;
  padding: 12px 16px;
  background: var(--navy-10);
  border-left: 3px solid var(--navy);
  border-radius: 6px;
  font-size: 13px;
  color: var(--ink);
  line-height: 1.5;
}
.rev-progress .rp-gap-callout strong { color: var(--navy); }

/* This Week — Priority Moves */
.rev-this-week {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}
.move-row {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.move-rank {
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: 14px;
  color: var(--teal);
  width: 28px;
  flex-shrink: 0;
}
.move-body { flex: 1; }
.move-client {
  font-weight: 700;
  color: var(--navy);
  font-size: 13px;
  margin-bottom: 2px;
}
.move-action {
  font-size: 13px;
  color: var(--ink);
  line-height: 1.4;
  margin-bottom: 4px;
}
.move-meta {
  font-size: 11px;
  color: var(--muted);
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.move-why { font-style: italic; }
.move-effort { font-weight: 600; }

/* ===== TOAST ===== */
.toast {
  position: fixed;
  left: 50%;
  bottom: 32px;
  transform: translateX(-50%);
  background: var(--navy);
  color: #fff;
  padding: 12px 22px;
  border-radius: 30px;
  font-weight: 700;
  font-size: 13px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.18);
  z-index: 100;
}

@media (max-width: 700px) {
  .app-header { padding: 12px 16px; flex-wrap: wrap; gap: 8px; }
  .app-header h1 { font-size: 18px; }
  main { padding: 16px; }
  nav.tabs { padding: 0 16px; }
  .cap-item { padding: 14px 12px; }

  /* Mobile capture-row: stack inputs vertically, larger tap targets */
  .cap-row {
    flex-direction: column;
    gap: 8px;
  }
  .status-col {
    width: 100%;
    flex-wrap: wrap;
    gap: 6px;
  }
  .status-select { flex: 1; min-width: 110px; height: 36px; font-size: 13px; }
  .delegate-wrap { height: 36px; width: auto; min-width: 80px; }
  .delegate-input { font-size: 14px; width: 36px; }
  .schedule-date {
    flex: 1;
    width: auto;
    min-width: 130px;
    height: 36px;
    font-size: 13px;
  }
  .prio-edit {
    width: 100%;
    height: 42px;
    font-size: 16px;       /* 16px prevents iOS focus zoom */
    text-align: center;
  }
  .cap-body { width: 100%; min-width: 0; }
  .del-btn {
    width: 36px;
    height: 36px;
    font-size: 20px;
    margin-left: auto;
  }
  .notes-textarea { font-size: 14px; min-height: 80px; }
  .add-row input { font-size: 16px; }
}
