/* Critical Mass Consulting brand styles */

:root {
  --cmc-magenta: #7c2855;
  --cmc-magenta-dark: #671f46;
  --cmc-mauve: #a9738f;
  --cmc-pink: #dcc7d3;
  --cmc-gold: #c9a227;
  --cmc-offwhite: #faf9f7;
  --cmc-charcoal: #2d2d2d;
  --cmc-radius: 8px;
}

body {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  background-color: var(--cmc-offwhite);
  color: var(--cmc-charcoal);
}

h1,
h2,
h3,
.font-heading {
  font-family: "Montserrat", ui-sans-serif, sans-serif;
}

.btn-cmc {
  background-color: var(--cmc-magenta);
  color: #fff;
  border-radius: var(--cmc-radius);
  transition: background-color 0.15s ease;
}

.btn-cmc:hover {
  background-color: var(--cmc-magenta-dark);
}

.btn-cmc-gold {
  background-color: var(--cmc-gold);
  color: var(--cmc-charcoal);
  border-radius: var(--cmc-radius);
  transition: filter 0.15s ease;
}

.btn-cmc-gold:hover {
  filter: brightness(0.95);
}

.btn-cmc-mauve {
  background-color: var(--cmc-mauve);
  color: #fff;
  border-radius: var(--cmc-radius);
  transition: background-color 0.15s ease;
}

.btn-cmc-mauve:hover {
  background-color: #946b82;
}

.cmc-card {
  background: #fff;
  border: 1px solid rgb(220 199 211 / 0.45);
  border-radius: var(--cmc-radius);
  box-shadow: 0 1px 3px rgb(124 40 85 / 0.06);
}

.cmc-alert-success {
  background: rgb(220 199 211 / 0.25);
  border: 1px solid rgb(169 115 143 / 0.35);
  color: var(--cmc-magenta-dark);
}

.cmc-alert-info {
  background: rgb(220 199 211 / 0.15);
  border: 1px solid rgb(169 115 143 / 0.25);
  color: var(--cmc-charcoal);
}

.cmc-alert-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.cmc-alert-warning {
  background: rgb(201 162 39 / 0.12);
  border: 1px solid rgb(201 162 39 / 0.35);
  color: #5c4810;
}

.cmc-table-head {
  background: rgb(220 199 211 / 0.2);
  color: var(--cmc-charcoal);
}

.cmc-nav-link {
  color: rgb(255 255 255 / 0.85);
  transition: color 0.15s ease;
}

.cmc-nav-link:hover {
  color: var(--cmc-pink);
}

.cmc-nav-link.is-active {
  color: var(--cmc-pink);
  font-weight: 500;
}

.cmc-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.375rem;
  background: #fff;
  border: 1px solid rgb(220 199 211 / 0.55);
  border-radius: var(--cmc-radius);
  box-shadow: 0 1px 3px rgb(124 40 85 / 0.06);
}

.cmc-tab {
  appearance: none;
  background: rgb(220 199 211 / 0.15);
  border: 1px solid rgb(220 199 211 / 0.45);
  border-radius: calc(var(--cmc-radius) - 2px);
  color: var(--cmc-charcoal);
  cursor: pointer;
  font-family: "Montserrat", ui-sans-serif, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.625rem 1.25rem;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.cmc-tab:hover {
  background: rgb(220 199 211 / 0.28);
  border-color: rgb(169 115 143 / 0.45);
  color: var(--cmc-magenta);
}

.cmc-tab.is-active {
  background: var(--cmc-magenta);
  border-color: var(--cmc-magenta);
  box-shadow: 0 1px 2px rgb(124 40 85 / 0.2);
  color: #fff;
}

.cmc-tab.is-active:hover {
  background: var(--cmc-magenta-dark);
  border-color: var(--cmc-magenta-dark);
  color: #fff;
}

.cmc-tab-panel.hidden {
  display: none;
}

.cmc-subtabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding: 0.25rem;
  background: rgb(220 199 211 / 0.12);
  border: 1px solid rgb(220 199 211 / 0.45);
  border-radius: calc(var(--cmc-radius) - 2px);
}

.cmc-subtab {
  appearance: none;
  background: transparent;
  border: 1px solid transparent;
  border-radius: calc(var(--cmc-radius) - 3px);
  color: var(--cmc-charcoal);
  cursor: pointer;
  font-family: "Montserrat", ui-sans-serif, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.4rem 0.85rem;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.cmc-subtab:hover {
  background: rgb(220 199 211 / 0.25);
  color: var(--cmc-magenta);
}

.cmc-subtab.is-active {
  background: #fff;
  border-color: rgb(169 115 143 / 0.45);
  color: var(--cmc-magenta);
  box-shadow: 0 1px 2px rgb(124 40 85 / 0.08);
}

.harvest-view-panel.hidden {
  display: none;
}

.cmc-forecast-section .cmc-forecast-section-head {
  padding: 0.625rem 1rem;
}

.cmc-forecast-section .cmc-forecast-section-head h2 {
  font-size: 1rem;
  line-height: 1.35;
}

.cmc-forecast-section .cmc-forecast-section-head p {
  font-size: 0.75rem;
  line-height: 1.4;
  margin-top: 0.25rem;
}

.cmc-forecast-table {
  font-size: 0.75rem;
  line-height: 1.3;
}

.cmc-forecast-table thead th {
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  padding: 0.375rem 0.5rem;
  white-space: nowrap;
}

.cmc-forecast-table tbody td {
  padding: 0.25rem 0.5rem;
  vertical-align: middle;
}

.cmc-forecast-table tbody td.align-top {
  vertical-align: top;
}

.cmc-forecast-table .cmc-forecast-subtitle {
  font-size: inherit;
  line-height: 1.25;
  margin-top: 0.125rem;
}

.cmc-forecast-table .cmc-forecast-field,
.cmc-forecast-table select,
.cmc-forecast-table input[type="number"],
.cmc-forecast-table input[type="date"],
.cmc-forecast-table input[type="text"] {
  font-size: inherit;
  line-height: 1.25;
  padding: 0.125rem 0.375rem;
  border-radius: 0.375rem;
}

.cmc-forecast-table select:not(.cmc-forecast-consultant-select),
.cmc-forecast-table input[type="text"]:not(.cmc-forecast-deal-input) {
  max-width: 9rem;
}

.cmc-forecast-table .cmc-forecast-deal-col select,
.cmc-forecast-table .cmc-forecast-deal-col input[type="text"],
.cmc-forecast-table .cmc-forecast-deal-input {
  max-width: none;
  width: 100%;
}

.cmc-forecast-table input[type="number"] {
  width: 4rem;
}

.cmc-forecast-table .cmc-forecast-util-select {
  width: 4.5rem;
}

.cmc-forecast-table .cmc-forecast-budget-input {
  width: 5.5rem;
}

.cmc-forecast-table input[type="date"] {
  width: 7.25rem;
}

.cmc-forecast-table .cmc-forecast-deal-col {
  min-width: 22rem;
  width: 28%;
  max-width: none;
}

.cmc-forecast-table .cmc-forecast-deal-input {
  min-width: 0;
}

.cmc-forecast-table .cmc-forecast-consultant-col {
  min-width: 13.5rem;
  width: 13.5rem;
  max-width: none;
}

.cmc-forecast-table .cmc-forecast-consultant-select {
  box-sizing: border-box;
  max-width: none;
  min-width: 13rem;
  width: 100%;
}

.cmc-forecast-section .cmc-forecast-footer {
  padding: 0.625rem 1rem;
}

.cmc-forecast-section .cmc-forecast-footer .btn-cmc,
.cmc-forecast-section .cmc-forecast-footer .btn-cmc-mauve {
  font-size: 0.8125rem;
  padding: 0.375rem 0.875rem;
}

/* White logo on magenta nav — black pixels blend away */
.cmc-logo-nav {
  mix-blend-mode: screen;
}
