/* Slate's product-level shell: sign-in, product chooser and organization admin.
   Recruiting keeps its own console/deciding CSS; this layer is intentionally
   separate so M&A and organization administration do not become console tabs. */

@keyframes workspace-rise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes workspace-spin { to { transform: rotate(360deg); } }

.workspace-body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 12% -8%, color-mix(in srgb, var(--teal, #18756f) 11%, transparent), transparent 30rem),
    radial-gradient(circle at 92% 6%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 27rem),
    var(--page);
  color: var(--ink);
  font-family: var(--ui);
}

.workspace-body *,
.workspace-body *::before,
.workspace-body *::after { box-sizing: border-box; }

.workspace-body a { color: inherit; }
.workspace-body button,
.workspace-body input,
.workspace-body select { font: inherit; }

.workspace-body :focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 46%, transparent);
  outline-offset: 3px;
}

.workspace-frame {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.workspace-topbar {
  min-height: 70px;
  display: flex;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid var(--hair);
}

.workspace-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--ink);
  text-decoration: none;
  font-size: 17px;
  font-weight: 650;
  letter-spacing: -0.015em;
}

.workspace-brand__mark {
  width: 31px;
  height: 31px;
  flex: 0 0 auto;
}

.workspace-topbar__spacer { flex: 1 1 auto; }

.workspace-user {
  min-width: 0;
  text-align: right;
}

.workspace-account { display: flex; align-items: center; gap: 12px; }
.workspace-account form { margin: 0; }

.workspace-user__name {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-user__detail {
  display: block;
  color: var(--ink2);
  font-family: var(--num);
  font-size: 9px;
  letter-spacing: .08em;
  line-height: 1.5;
  text-transform: uppercase;
}

.workspace-link,
.workspace-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
  background: var(--card);
  color: var(--ink);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.workspace-link:hover,
.workspace-button:hover { border-color: var(--line); background: var(--sunk); }

.workspace-link--quiet { background: transparent; }

.workspace-button--primary {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--on-accent);
}

.workspace-button--primary:hover { background: var(--accent); filter: brightness(.96); }

.workspace-button:disabled,
.workspace-button[aria-disabled="true"] {
  cursor: not-allowed;
  filter: none;
  opacity: .58;
}

.workspace-eyebrow {
  margin: 0 0 10px;
  color: var(--ink2);
  font-family: var(--num);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.workspace-main { padding: 64px 0 88px; }

.workspace-hero {
  max-width: 780px;
  margin-bottom: 42px;
  animation: workspace-rise 380ms cubic-bezier(.16, 1, .3, 1) both;
}

.workspace-hero h1 {
  max-width: 740px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 600;
  letter-spacing: -.042em;
  line-height: .98;
}

.workspace-hero p:not(.workspace-eyebrow) {
  max-width: 630px;
  margin: 20px 0 0;
  color: var(--ink2);
  font-size: 16px;
  line-height: 1.6;
}

.workspace-context {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
}

.workspace-context label {
  color: var(--ink2);
  font-family: var(--num);
  font-size: 10px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.workspace-select,
.workspace-field {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
  background: var(--card);
  color: var(--ink);
}

select.workspace-select {
  appearance: none;
  padding-right: 34px;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink2) 50%), linear-gradient(135deg, var(--ink2) 50%, transparent 50%);
  background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.workspace-context .workspace-select { width: auto; min-width: 190px; }

.product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.product-card {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 28px;
  border: 1px solid var(--hair);
  border-radius: 18px;
  background: color-mix(in srgb, var(--card) 94%, transparent);
  box-shadow: 0 18px 45px rgba(21, 37, 31, .05);
  animation: workspace-rise 420ms cubic-bezier(.16, 1, .3, 1) both;
}

.product-card:nth-child(2) { animation-delay: 60ms; }
.product-card--locked { box-shadow: none; }

.product-card__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.product-card__icon {
  width: 44px;
  height: 44px;
  display: grid;
  flex: 0 0 44px;
  place-items: center;
  border-radius: 12px;
  background: var(--accent-wash);
  color: var(--accent);
}

.product-card--ma .product-card__icon { background: var(--plum-wash); color: var(--plum); }
.product-card__icon svg { width: 22px; height: 22px; }

.product-card__label { flex: 1 1 auto; min-width: 0; }
.product-card h2 { margin: 1px 0 3px; font-size: 24px; font-weight: 600; letter-spacing: -.025em; }

.product-card__access {
  color: var(--ink2);
  font-family: var(--num);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.product-card__description {
  max-width: 470px;
  margin: 26px 0 28px;
  color: var(--ink2);
  font-size: 15px;
  line-height: 1.58;
}

.product-card__footer {
  min-height: 41px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

.product-card__open {
  min-height: 41px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 16px;
  border-radius: var(--r-sm);
  background: var(--ink);
  color: var(--page);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.workspace-body .product-card__open { color: var(--page); }
.product-card--ma .product-card__open { background: var(--plum); color: var(--card); }
.product-card__open:hover { filter: brightness(1.12); }

.product-card__reason {
  margin: 0;
  color: var(--ink2);
  font-size: 13px;
  line-height: 1.45;
}

.workspace-empty,
.workspace-error,
.workspace-loading {
  min-height: 210px;
  display: grid;
  place-items: center;
  padding: 36px;
  border: 1px dashed var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--card) 84%, transparent);
  color: var(--ink2);
  text-align: center;
}

.workspace-empty__inner,
.workspace-error__inner { max-width: 520px; }
.workspace-empty h2,
.workspace-error h2 { margin: 0; color: var(--ink); font-size: 22px; font-weight: 600; }
.workspace-empty p,
.workspace-error p { margin: 9px 0 0; line-height: 1.55; }

.workspace-spinner {
  width: 22px;
  height: 22px;
  margin: 0 auto 12px;
  border: 2px solid var(--hair);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: workspace-spin 750ms linear infinite;
}

/* Sign-in is deliberately a product entrance rather than a recruiting report. */
.login-main {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
}

.login-story {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(34px, 6vw, 76px);
  border-right: 1px solid var(--hair);
}

.login-story__copy { max-width: 650px; margin: auto 0; padding: 70px 0; }
.login-story h1 {
  margin: 0;
  font-size: clamp(45px, 7vw, 88px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .91;
}
.login-story h1 span { color: var(--accent); }
.login-story__copy > p {
  max-width: 540px;
  margin: 26px 0 0;
  color: var(--ink2);
  font-size: 17px;
  line-height: 1.6;
}
.login-story__foot { color: var(--ink2); font-family: var(--num); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

.login-panel {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 40px;
  background: color-mix(in srgb, var(--card) 68%, transparent);
}

.login-card { width: min(400px, 100%); animation: workspace-rise 420ms cubic-bezier(.16, 1, .3, 1) both; }
.login-card h2 { margin: 0; font-size: 29px; font-weight: 600; letter-spacing: -.03em; }
.login-card__intro { margin: 9px 0 26px; color: var(--ink2); font-size: 14px; line-height: 1.5; }

.google-button {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
  background: var(--card);
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}
.google-button svg { width: 18px; height: 18px; }
.google-button:disabled { cursor: not-allowed; opacity: .58; }

.login-sso-state {
  margin: 9px 0 0;
  color: var(--ink2);
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}

.login-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  margin: 24px 0;
  color: var(--ink2);
  font-family: var(--num);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.login-divider::before,
.login-divider::after { height: 1px; content: ""; background: var(--hair); }

.workspace-label { display: block; margin: 0 0 7px; color: var(--ink); font-size: 13px; font-weight: 600; }
.login-password { position: relative; }
.login-password .workspace-field { padding-right: 64px; }
.login-reveal {
  position: absolute;
  top: 50%;
  right: 7px;
  min-height: 30px;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: var(--ink2);
  cursor: pointer;
  font-family: var(--num);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
  transform: translateY(-50%);
}
.login-submit { width: 100%; margin-top: 14px; }
.login-error {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid var(--accent);
  border-radius: var(--r-sm);
  background: var(--accent-wash);
  color: var(--ink);
  font-size: 13px;
}
.login-local-note { margin: 12px 0 0; color: var(--ink2); font-size: 11px; line-height: 1.5; text-align: center; }

/* Organization administration */
.org-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 36px; }
.org-nav { align-self: start; position: sticky; top: 28px; }
.org-nav h2 { margin: 0 0 5px; font-size: 17px; font-weight: 600; }
.org-nav p { margin: 0 0 22px; color: var(--ink2); font-size: 12px; line-height: 1.45; }
.org-nav a {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 3px 0;
  padding: 9px 10px;
  border-radius: var(--r-sm);
  color: var(--ink2);
  font-size: 13px;
  text-decoration: none;
}
.org-nav a[aria-current="page"] { background: var(--sunk); color: var(--ink); font-weight: 600; }

.org-content h1 { margin: 0; font-size: 38px; font-weight: 600; letter-spacing: -.04em; }
.org-content__intro { max-width: 690px; margin: 10px 0 30px; color: var(--ink2); line-height: 1.55; }

.org-section {
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid var(--hair);
  border-radius: 14px;
  background: var(--card);
}
.org-section__head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 19px 20px;
  border-bottom: 1px solid var(--hair);
}
.org-section__head > div:first-child { flex: 1 1 auto; }
.org-section__head h2 { margin: 0; font-size: 17px; font-weight: 600; }
.org-section__head p { margin: 4px 0 0; color: var(--ink2); font-size: 12px; }

.org-table-wrap { overflow-x: auto; }
.org-table { width: 100%; border-collapse: collapse; }
.org-table th {
  padding: 10px 14px;
  border-bottom: 1px solid var(--hair);
  color: var(--ink2);
  font-family: var(--num);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
}
.org-table td { padding: 13px 14px; border-bottom: 1px solid var(--hair); vertical-align: middle; }
.org-table tbody tr:last-child td { border-bottom: 0; }
.org-person { display: flex; align-items: center; gap: 10px; min-width: 180px; }
.org-avatar {
  width: 34px;
  height: 34px;
  display: grid;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--sunk);
  color: var(--ink);
  font-family: var(--num);
  font-size: 10px;
  font-weight: 500;
}
.org-person__name { display: block; color: var(--ink); font-size: 13px; font-weight: 600; }
.org-person__email { display: block; max-width: 210px; overflow: hidden; color: var(--ink2); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.org-remove {
  margin-top: 8px; padding: 0; border: 0; background: transparent;
  color: var(--ink2); font: 600 10px/1 var(--num); letter-spacing: .06em;
  text-transform: uppercase; cursor: pointer;
}
.org-remove:hover { color: var(--danger, #a33c34); }
.org-role { color: var(--ink2); font-size: 12px; text-transform: capitalize; }
.org-product { min-width: 150px; }
.org-product__status { display: block; margin-top: 4px; color: var(--ink2); font-size: 10px; }
.org-product .workspace-select { min-height: 34px; padding: 5px 8px; font-size: 12px; }
.org-product .slate-choice + .slate-choice,
.org-product .slate-choice + .org-role-assignments { margin-top: 7px; }

.slate-choice { position: relative; min-width: 132px; }
.slate-choice__button {
  width: 100%; min-height: 36px; padding: 7px 30px 7px 10px;
  border: 1px solid var(--hair); border-radius: var(--r-sm);
  background: var(--card); color: var(--ink); font: inherit; font-size: 12px;
  text-align: left; cursor: pointer; position: relative;
}
.slate-choice__button::after {
  content: ""; position: absolute; right: 11px; top: 50%; width: 6px; height: 6px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
}
.slate-choice__button:hover:not(:disabled) { border-color: var(--accent); }
.slate-choice__button:disabled { opacity: .52; cursor: not-allowed; }
.slate-choice__menu {
  position: absolute; z-index: 40; top: calc(100% + 5px); left: 0; min-width: 100%;
  padding: 5px; border: 1px solid var(--hair); border-radius: var(--r-md);
  background: var(--card); box-shadow: 0 18px 50px rgba(20, 25, 32, .16);
}
.slate-choice__menu[hidden] { display: none; }
.slate-choice__option {
  display: block; width: 100%; padding: 8px 9px; border: 0; border-radius: 7px;
  background: transparent; color: var(--ink); font: inherit; font-size: 12px;
  text-align: left; white-space: nowrap; cursor: pointer;
}
.slate-choice__option:hover,
.slate-choice__option.is-selected { background: var(--accent-wash); color: var(--accent); }

.org-role-assignments {
  min-width: 0; max-height: 132px; margin-inline: 0; padding: 7px;
  overflow: auto; border: 1px solid var(--hair); border-radius: var(--r-sm);
  background: var(--page);
}
.org-role-assignments[disabled] { opacity: .5; }
.org-role-assignment {
  display: flex; gap: 7px; align-items: flex-start; padding: 5px 4px;
  color: var(--ink); font-size: 11px; line-height: 1.3;
}
.org-role-assignment input { accent-color: var(--accent); }
.org-role-assignment__empty { display: block; padding: 4px; color: var(--ink2); font-size: 11px; }

.org-invite {
  display: grid;
  grid-template-columns: 1fr 1.2fr .8fr;
  gap: 14px;
  padding: 20px;
}
.org-invite__products { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.org-product-grant { padding: 13px; border: 1px solid var(--hair); border-radius: var(--r-sm); background: var(--page); }
.org-product-grant__toggle { display: flex; align-items: center; gap: 9px; color: var(--ink); font-size: 13px; font-weight: 600; }
.org-product-grant .workspace-select { margin-top: 10px; }
.org-invite__actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.org-notice { margin: 0; padding: 12px 20px; border-top: 1px solid var(--hair); color: var(--ink2); font-size: 12px; }
.org-notice[data-tone="error"] { background: var(--accent-wash); color: var(--ink); }
.org-notice[data-tone="success"] { background: var(--moss-wash); color: var(--ink); }

/* M&A intelligence is its own product shell and data namespace. */
.ma-shell {
  min-height: calc(100vh - 71px);
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
}

.ma-sidebar {
  min-height: calc(100vh - 71px);
  padding: 25px 18px 40px max(18px, calc((100vw - 1180px) / 2));
  border-right: 1px solid var(--hair);
  background: color-mix(in srgb, var(--card) 64%, transparent);
}
.ma-sidebar__head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.ma-sidebar__head h1 { flex: 1 1 auto; margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.025em; }
.ma-sidebar__add { width: 34px; min-height: 34px; padding: 0; font-size: 19px; }
.ma-search { margin-bottom: 14px; }
.ma-company-list { display: grid; gap: 4px; }
.ma-company-row {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 12px;
  padding: 11px 10px;
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}
.ma-company-row:hover { background: var(--sunk); }
.ma-company-row[aria-current="true"] { border-color: var(--hair); background: var(--card); }
.ma-company-row__name { overflow: hidden; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ma-company-row__meta { grid-column: 1; color: var(--ink2); font-size: 10px; }
.ma-company-row__score { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--plum); font-family: var(--num); font-size: 16px; }
.ma-sidebar-empty { padding: 18px 10px; color: var(--ink2); font-size: 12px; line-height: 1.5; }

.ma-main { min-width: 0; padding: 40px max(24px, calc((100vw - 1180px) / 2)) 80px 40px; }
.ma-welcome { max-width: 720px; padding-top: 54px; }
.ma-welcome h2 { margin: 0; font-size: 44px; font-weight: 600; letter-spacing: -.045em; line-height: 1; }
.ma-welcome p:not(.workspace-eyebrow) { max-width: 580px; margin: 18px 0 0; color: var(--ink2); font-size: 15px; line-height: 1.6; }
.ma-detail__head { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 28px; }
.ma-detail__identity { flex: 1 1 auto; min-width: 0; }
.ma-detail__identity h1 { margin: 0; font-size: 38px; font-weight: 600; letter-spacing: -.04em; }
.ma-detail__identity p { margin: 7px 0 0; color: var(--ink2); font-size: 13px; }
.ma-detail__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.ma-pill { display: inline-flex; align-items: center; min-height: 24px; margin-left: 8px; padding: 0 8px; border-radius: 99px; background: var(--plum-wash); color: var(--plum); font-family: var(--num); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }

.ma-score-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
.ma-score { min-height: 124px; padding: 17px; border: 1px solid var(--hair); border-radius: 12px; background: var(--card); }
.ma-score__label { color: var(--ink2); font-family: var(--num); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.ma-score__value { display: block; margin: 15px 0 5px; color: var(--ink); font-family: var(--num); font-size: 31px; line-height: 1; }
.ma-score__note { color: var(--ink2); font-size: 11px; line-height: 1.4; }
.ma-score--transaction .ma-score__value { color: var(--plum); }
.ma-score--recruiting .ma-score__value { color: var(--teal, #18756f); }
.ma-score--contact .ma-score__value { color: var(--moss); }

.ma-tabs { display: flex; gap: 4px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--hair); }
.ma-tab { min-height: 34px; padding: 0 11px; border: 0; border-radius: var(--r-sm); background: transparent; color: var(--ink2); cursor: pointer; font-size: 12px; }
.ma-tab[aria-selected="true"] { background: var(--sunk); color: var(--ink); font-weight: 600; }
.ma-panel-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 16px; }
.ma-stack { display: grid; gap: 10px; padding: 16px; }
.ma-record { padding: 13px; border: 1px solid var(--hair); border-radius: var(--r-sm); background: var(--page); }
.ma-record__head { display: flex; gap: 9px; align-items: flex-start; }
.ma-record__head strong { flex: 1 1 auto; font-size: 13px; }
.ma-record__kind { color: var(--plum); font-family: var(--num); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.ma-record p { margin: 6px 0 0; color: var(--ink2); font-size: 11px; line-height: 1.45; }
.ma-record a { color: var(--plum); }
.ma-form { display: grid; gap: 12px; padding: 17px; }
.ma-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ma-form textarea.workspace-field { min-height: 78px; resize: vertical; }
.ma-form__actions { display: flex; justify-content: flex-end; gap: 8px; }
.ma-form-note { margin: 0; color: var(--ink2); font-size: 11px; line-height: 1.45; }
.ma-inline-empty { padding: 25px 16px; color: var(--ink2); font-size: 12px; text-align: center; }
.ma-dialog-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(12, 21, 17, .5); }
.ma-dialog { width: min(520px, 100%); max-height: calc(100vh - 40px); overflow: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--card); box-shadow: 0 30px 80px rgba(0,0,0,.24); }
.ma-dialog__head { display: flex; align-items: center; gap: 12px; padding: 18px; border-bottom: 1px solid var(--hair); }
.ma-dialog__head h2 { flex: 1 1 auto; margin: 0; font-size: 19px; font-weight: 600; }

@media (max-width: 920px) {
  .ma-shell { grid-template-columns: 240px minmax(0, 1fr); }
  .ma-sidebar { padding-left: 14px; }
  .ma-main { padding-left: 26px; }
  .ma-panel-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .workspace-frame { width: min(100% - 28px, 1180px); }
  .workspace-main { padding: 42px 0 64px; }
  .product-grid { grid-template-columns: 1fr; }
  .login-main { grid-template-columns: 1fr; }
  .login-story { min-height: auto; padding: 34px 28px; border-right: 0; border-bottom: 1px solid var(--hair); }
  .login-story__copy { padding: 70px 0 24px; }
  .login-story__foot { display: none; }
  .login-panel { min-height: auto; padding: 54px 24px 70px; }
  .org-layout { grid-template-columns: 1fr; }
  .org-nav { position: static; }
  .org-invite { grid-template-columns: 1fr; }
  .org-invite__products,
  .org-invite__actions { grid-column: 1; }
  .ma-shell { display: block; }
  .ma-sidebar { min-height: 0; padding: 18px 16px; border-right: 0; border-bottom: 1px solid var(--hair); }
  .ma-company-list { display: flex; overflow-x: auto; }
  .ma-company-row { min-width: 210px; }
  .ma-main { padding: 32px 20px 64px; }
}

@media (max-width: 560px) {
  .workspace-topbar { flex-wrap: wrap; padding: 14px 0; }
  .workspace-user { order: 3; width: 100%; text-align: left; }
  .workspace-account { flex: 1 1 100%; justify-content: space-between; }
  .workspace-hero h1 { font-size: 39px; }
  .workspace-context { align-items: flex-start; flex-direction: column; }
  .workspace-context .workspace-select { width: 100%; }
  .product-card { min-height: 285px; padding: 22px; }
  .org-invite__products { grid-template-columns: 1fr; }
  .ma-score-grid,
  .ma-form-row { grid-template-columns: 1fr; }
  .ma-detail__head { display: block; }
  .ma-detail__actions { justify-content: flex-start; margin-top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-hero,
  .product-card,
  .login-card,
  .workspace-spinner { animation: none; }
}

/* -------------------------------------------------------------------------
   Customer-facing product shell

   The product chooser, M&A and team administration share this chrome. The
   recruiting workspaces keep their denser operating layout, but link back to
   this same Slate home. These overrides intentionally sit last: they are the
   commercial shell, not another prototype theme layered underneath it.
   ------------------------------------------------------------------------- */
.workspace-body {
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--teal, #18756f) 7%, transparent), transparent 30rem),
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--accent) 7%, transparent), transparent 30rem),
    var(--page);
}

.workspace-frame { width: min(1440px, calc(100% - 48px)); }
.workspace-topbar {
  min-height: 76px;
  position: relative;
  z-index: 60;
  gap: 28px;
}
.workspace-brand { gap: 10px; font-size: 18px; }
.workspace-brand__mark { width: 32px; height: 32px; }
.workspace-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid color-mix(in srgb, var(--hair) 84%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--card) 76%, transparent);
}
.workspace-nav a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border-radius: 8px;
  color: var(--ink2);
  font-size: 13px;
  font-weight: 560;
  text-decoration: none;
}
.workspace-nav a:hover { color: var(--ink); background: var(--sunk); }
.workspace-nav a[aria-current="page"] {
  background: var(--card);
  box-shadow: 0 1px 2px rgba(16, 24, 20, .08);
  color: var(--ink);
}
.workspace-account { gap: 10px; }
.workspace-account__avatar {
  width: 34px;
  height: 34px;
  display: grid;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid var(--hair);
  border-radius: 50%;
  background: var(--card);
  color: var(--ink);
  font: 500 11px/1 var(--num);
}

.workspace-main { max-width: 1280px; padding: 58px 0 84px; }
.workspace-hero--dashboard {
  max-width: none;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 34px;
}
.workspace-hero--dashboard h1 { max-width: 780px; font-size: clamp(44px, 5vw, 66px); }
.workspace-hero--dashboard > div:first-child > p:last-child {
  margin: 14px 0 0;
  color: var(--ink2);
  font-size: 17px;
}
.workspace-hero__seat {
  min-width: 142px;
  padding: 15px 17px;
  border: 1px solid var(--hair);
  border-radius: 12px;
  background: color-mix(in srgb, var(--card) 82%, transparent);
  text-align: right;
}
.workspace-hero__seat strong { display: block; font: 500 20px/1.2 var(--num); }
.workspace-hero__seat span { display: block; margin-top: 3px; color: var(--ink2); font-size: 11px; }

.product-grid { gap: 20px; }
.product-card {
  min-height: 390px;
  padding: 30px;
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(21, 37, 31, .065);
}
.product-card::before {
  width: 44px;
  height: 3px;
  margin: -30px 0 27px;
  border-radius: 0 0 4px 4px;
  background: var(--accent);
  content: "";
}
.product-card--ma::before { background: var(--plum); }
.product-card h2 { font-size: 27px; }
.product-card__description { min-height: 48px; margin: 24px 0; font-size: 15px; }
.product-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 30px;
  border-block: 1px solid var(--hair);
}
.product-card__metric { min-width: 0; padding: 18px 12px 18px 0; }
.product-card__metric + .product-card__metric { padding-left: 18px; border-left: 1px solid var(--hair); }
.product-card__metric strong { display: block; font: 500 25px/1.1 var(--num); color: var(--ink); }
.product-card__metric span { display: block; margin-top: 6px; color: var(--ink2); font-size: 11px; }
.product-card__open { min-height: 44px; padding: 0 18px; border-radius: 10px; }
.product-card__open::after { content: "→"; margin-left: 14px; }
.workspace-admin-strip {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 20px;
  padding: 22px 24px;
  border: 1px solid var(--hair);
  border-radius: 16px;
  background: color-mix(in srgb, var(--card) 72%, transparent);
}
.workspace-admin-strip > div { flex: 1 1 auto; }
.workspace-admin-strip .workspace-eyebrow { margin-bottom: 5px; }
.workspace-admin-strip strong { display: block; font-size: 15px; }
.workspace-admin-strip p { margin: 4px 0 0; color: var(--ink2); font-size: 12px; }

/* Team administration: summary first, detail on demand. */
.org-layout { display: block; }
.org-content h1 { font-size: 46px; }
.org-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.org-content__intro { margin-bottom: 0; font-size: 15px; }
.org-seat-card {
  width: 190px;
  padding: 17px 18px;
  border: 1px solid var(--hair);
  border-radius: 14px;
  background: var(--card);
}
.org-seat-card strong { display: block; font: 500 24px/1.1 var(--num); }
.org-seat-card > span { display: block; margin-top: 4px; color: var(--ink2); font-size: 11px; }
.org-seat-meter { height: 4px; overflow: hidden; margin-top: 13px; border-radius: 99px; background: var(--sunk); }
.org-seat-meter span { height: 100%; display: block; border-radius: inherit; background: var(--accent); }
.org-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, .72fr);
  align-items: start;
  gap: 20px;
  margin-top: 34px;
}
.org-dashboard > .org-section { margin-top: 0; }
.org-dashboard > .org-section#invite { position: sticky; top: 96px; }
.org-section { border-radius: 16px; box-shadow: 0 10px 32px rgba(21, 37, 31, .035); }
.org-section__head { padding: 20px 22px; }
.org-member-list { display: grid; }
.org-member { border-bottom: 1px solid var(--hair); }
.org-member:last-child { border-bottom: 0; }
.org-member__summary {
  min-height: 92px;
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1.5fr) auto;
  align-items: center;
  gap: 20px;
  padding: 18px 22px;
}
.org-member__access { min-width: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.org-access-pill {
  min-width: 105px;
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid var(--hair);
  border-radius: 10px;
  background: var(--page);
}
.org-access-pill strong { font-size: 11px; font-weight: 650; }
.org-access-pill span { color: var(--ink2); font-size: 9px; }
.org-access-pill--recruiting { border-color: color-mix(in srgb, var(--accent) 25%, var(--hair)); background: var(--accent-wash); }
.org-access-pill--ma { border-color: color-mix(in srgb, var(--plum) 25%, var(--hair)); background: var(--plum-wash); }
.org-access-pill--muted { opacity: .62; }
.org-member__edit { min-width: 94px; }
.org-member__editor { padding: 0 22px 22px; }
.org-member__editor[hidden] { display: none; }
.org-member__editor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--hair);
  border-radius: 14px;
  background: var(--page);
}
.org-permission-block { min-width: 0; padding: 13px; border-radius: 10px; background: var(--card); }
.org-permission-block .workspace-eyebrow { margin-bottom: 12px; }
.org-permission-block label + label,
.org-permission-block .slate-choice + .org-role-assignments { display: block; margin-top: 11px; }
.org-permission-block p { margin: 10px 0 0; color: var(--ink2); font-size: 10px; line-height: 1.45; }
.org-member__editor-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.org-member__remove { margin-right: auto; color: var(--danger, #a33c34); }
.org-invite { grid-template-columns: 1fr; gap: 14px; padding: 22px; }
.org-invite__products,
.org-invite__actions { grid-column: 1; }
.org-invite__products { grid-template-columns: 1fr; }
.org-invite__actions .workspace-button { width: 100%; }
.org-product-grant { background: var(--page); }
.slate-choice__button { min-height: 40px; border-radius: 9px; background: var(--page); }
.slate-choice__menu { padding: 6px; border-radius: 11px; }

/* M&A: center the whole product instead of spending the sidebar width on the
   page's outer margin. This was the large-screen clipping defect. */
.ma-shell {
  width: min(1440px, calc(100% - 48px));
  min-height: calc(100vh - 77px);
  margin: 0 auto;
  grid-template-columns: 320px minmax(0, 1fr);
  border-inline: 1px solid var(--hair);
}
.ma-sidebar {
  min-height: calc(100vh - 77px);
  padding: 28px 22px 40px;
  background: color-mix(in srgb, var(--card) 72%, transparent);
}
.ma-sidebar__head { align-items: flex-end; margin-bottom: 20px; }
.ma-sidebar__head > div { flex: 1 1 auto; }
.ma-sidebar__head .workspace-eyebrow { margin-bottom: 4px; }
.ma-sidebar__head h1 { font-size: 23px; }
.ma-sidebar__add { border-radius: 10px; }
.ma-search { width: 100%; min-height: 42px; margin-bottom: 16px; border-radius: 10px; background: var(--page); }
.ma-main { padding: 48px 48px 90px; }
.ma-welcome { max-width: 860px; padding-top: 38px; }
.ma-welcome__mark {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 34px;
  border-radius: 16px;
  background: var(--plum-wash);
  color: var(--plum);
  font: 500 13px/1 var(--num);
  letter-spacing: .05em;
}
.ma-welcome h2 { max-width: 820px; font-size: clamp(42px, 4.2vw, 64px); }
.ma-welcome p:not(.workspace-eyebrow) { max-width: 700px; font-size: 16px; }
.ma-welcome__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 34px;
}
.ma-welcome__steps > div {
  min-height: 108px;
  display: flex;
  gap: 13px;
  padding: 16px;
  border: 1px solid var(--hair);
  border-radius: 12px;
  background: var(--card);
}
.ma-welcome__steps strong { color: var(--plum); font: 500 10px/1.4 var(--num); }
.ma-welcome__steps span { color: var(--ink2); font-size: 11px; line-height: 1.45; }
.ma-welcome__steps b { display: block; margin-bottom: 5px; color: var(--ink); font-size: 12px; }
.ma-shell .workspace-button--primary { border-color: var(--plum); background: var(--plum); color: var(--card); }
.ma-dialog__error { margin: 0; padding: 11px 13px; border-radius: 9px; background: var(--accent-wash); color: var(--ink); font-size: 12px; }

@media (max-width: 1100px) {
  .workspace-frame,
  .ma-shell { width: min(100% - 32px, 1440px); }
  .workspace-nav { gap: 2px; }
  .workspace-nav a { padding-inline: 10px; }
  .org-dashboard { grid-template-columns: 1fr; }
  .org-dashboard > .org-section#invite { position: static; }
  .ma-shell { grid-template-columns: 280px minmax(0, 1fr); }
  .ma-main { padding: 38px 30px 70px; }
}

@media (max-width: 820px) {
  .workspace-topbar { gap: 14px; }
  .workspace-nav { order: 3; width: 100%; overflow-x: auto; }
  .workspace-topbar { flex-wrap: wrap; padding: 12px 0; }
  .workspace-nav a { flex: 1 0 auto; justify-content: center; }
  .workspace-main { padding-top: 42px; }
  .workspace-hero--dashboard { align-items: flex-start; flex-direction: column; }
  .workspace-hero__seat { text-align: left; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { min-height: 350px; }
  .org-page-head { align-items: flex-start; flex-direction: column; }
  .org-member__summary { grid-template-columns: minmax(170px, 1fr) auto; }
  .org-member__access { grid-column: 1 / -1; grid-row: 2; }
  .org-member__edit { grid-column: 2; grid-row: 1; }
  .org-member__editor-grid { grid-template-columns: 1fr; }
  .ma-shell { width: 100%; display: block; border-inline: 0; }
  .ma-sidebar { min-height: 0; padding: 22px 20px; }
  .ma-company-list { display: flex; }
  .ma-main { padding: 36px 22px 64px; }
  .ma-welcome__steps { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .workspace-account .workspace-user { display: none; }
  .workspace-account form { display: none; }
  .workspace-hero--dashboard h1 { font-size: 40px; }
  .product-card { min-height: 0; padding: 22px; }
  .product-card::before { margin: -22px 0 23px; }
  .product-card__metrics { grid-template-columns: 1fr; }
  .product-card__metric + .product-card__metric { padding-left: 0; border-left: 0; border-top: 1px solid var(--hair); }
  .workspace-admin-strip { align-items: flex-start; flex-direction: column; }
  .org-member__summary { display: flex; align-items: flex-start; flex-wrap: wrap; }
  .org-member__access { order: 3; width: 100%; }
  .org-member__edit { margin-left: auto; }
}

/* -------------------------------------------------------------------------
   Lane F: the invitation acceptance page and the delivery state on the team
   screen. Appended as its own section; nothing above is edited. The page
   reuses the sign-in frame (.login-main, .login-card, .workspace-field) so an
   invited person meets the same paper, type and hairlines they will meet
   every morning afterwards. State is a server-set attribute on <body>, not a
   script: static/invite.html carries no JavaScript, because the one thing it
   must do -- accept a form -- a form already does.
   ------------------------------------------------------------------------- */
/* Every selector below is scoped to the invite page's own body attribute:
   the team screen already has a form marked [data-invite-form], and an
   unscoped rule here hid it. */
body[data-invite-state] [data-invite-refusal],
body[data-invite-state] [data-invite-facts],
body[data-invite-state] [data-invite-form],
body[data-invite-state] [data-invite-sso] { display: none; }
body[data-invite-state="pending"] [data-invite-facts] { display: grid; }
body[data-invite-state="pending"] [data-invite-form] { display: block; }
body[data-invite-state="pending"][data-invite-mode="supabase"] [data-invite-form] { display: none; }
body[data-invite-state="pending"][data-invite-mode="supabase"] [data-invite-sso] { display: block; }
body[data-invite-state]:not([data-invite-state="pending"]) [data-invite-refusal] { display: block; }

.invite-facts {
  display: grid;
  gap: 10px;
  margin: 18px 0 22px;
  padding: 16px 18px;
  border: 1px solid var(--hair);
  border-radius: 12px;
  background: var(--sunk);
}
.invite-facts > div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.invite-facts dt { margin: 0; color: var(--ink2); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.invite-facts dd { margin: 0; color: var(--ink); font-size: 13px; text-align: right; }
.invite-facts__mono { font-family: var(--num); font-size: 12px; }
.invite-refusal__sentence { margin: 0 0 14px; color: var(--ink); font-size: 14px; line-height: 1.5; }
.invite-sso { margin: 0 0 6px; color: var(--ink2); font-size: 13px; line-height: 1.5; }
.invite-error:empty { display: none; }
/* The sign-in form has one field; this one has two, so the second label needs
   the air the shared rule does not give it. */
body[data-invite-state] [data-invite-form] .workspace-label + .workspace-field { margin-bottom: 16px; }
body[data-invite-state] [data-invite-form] .workspace-label + .workspace-field:last-of-type { margin-bottom: 0; }

/* Pending invitations on the team screen carry a delivery state, because
   "invited" and "the mail left the building" are different facts and only one
   of them is a reason to wait for a reply. */
.org-invite-state { display: inline-flex; align-items: center; gap: 8px; }
/* The surrounding cell capitalises its words, which is right for "Pending"
   and wrong for a sentence about time. */
.org-invite-expiry { display: block; margin-top: 4px; color: var(--ink2); font-size: 11px; text-transform: none; }
.org-invite-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.org-delivery {
  display: inline-block;
  padding: 2px 8px;
  border: 1px solid var(--hair);
  border-radius: 99px;
  font-family: var(--num);
  font-size: 10px;
  letter-spacing: .04em;
  color: var(--ink2);
  text-transform: uppercase;
  white-space: nowrap;
}
.org-delivery[data-delivery="sent"] { border-color: var(--moss); color: var(--ink); }
.org-invite-link {
  width: 100%;
  margin-top: 8px;
  font-family: var(--num);
  font-size: 11px;
}

/* =========================================================================
   SETTINGS PAGE — lane D. Appended, per docs/BUILD_PLAN.md 3.2: nothing above
   this line is edited. Every value is a token from product.css or console.css;
   there are no new colours, no new radii and no new type scale here.

   The three attribute rules at the end are not decoration for this page. They
   are what makes "Compact rows", "Figures" and "Reduce motion" real: the
   settings page stamps data-density / data-figures / data-motion on <html>
   from localStorage before first paint, and every workspace shell honours
   them from here.
   ========================================================================= */

/* The rail and the content column.
   NOT .org-layout: that class is turned off (`display: block`, line 857) for
   the Team page, which has no rail, and this page does. Borrowing it here put
   the rail full-width above the content on every viewport -- the two-column
   rule higher up the file never survived to this page. Its own class, so
   neither page has to care what the other one does. */
.settings-layout {
  width: calc(100% - 48px);
  max-width: none;
  display: block;
}

.settings-layout .org-content { width: 100%; }

.settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: clamp(18px, 2vw, 32px);
  align-items: start;
  margin-top: 20px;
}
.settings-grid > .org-section { margin-top: 0; }

.settings-eyebrow {
  margin: 0 0 5px;
  color: var(--accent);
  font-family: var(--num);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.settings-section[data-tier="installation"] { border-color: var(--accent); }

.settings-body { padding: 4px 20px 18px; }
.settings-field {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--hair);
}
.settings-body > .settings-field:last-of-type { border-bottom: 0; }
.settings-field__text { flex: 1 1 auto; min-width: 0; }
.settings-field__label { display: block; color: var(--ink); font-size: 13px; font-weight: 600; }
.settings-field__why { margin: 4px 0 0; color: var(--ink2); font-size: 12px; line-height: 1.5; }
.settings-field__control { flex: 0 0 auto; padding-top: 2px; }
.settings-number { width: 108px; }

.settings-toggle { display: inline-flex; align-items: center; cursor: pointer; }
.settings-toggle__input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.settings-toggle__track {
  width: 38px;
  height: 22px;
  display: block;
  position: relative;
  border: 1px solid var(--hair);
  border-radius: 999px;
  background: var(--sunk);
}
.settings-toggle__track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--card);
  box-shadow: 0 1px 3px rgba(20, 25, 32, .22);
  transition: transform .16s ease;
}
.settings-toggle__input:checked + .settings-toggle__track { border-color: var(--accent); background: var(--accent); }
.settings-toggle__input:checked + .settings-toggle__track::after { transform: translateX(16px); }
.settings-toggle__input:focus-visible + .settings-toggle__track { outline: 2px solid var(--accent); outline-offset: 2px; }

.settings-readout {
  display: flex;
  gap: 18px;
  align-items: baseline;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--hair);
}
.settings-readout:last-child { border-bottom: 0; }
.settings-readout__label { color: var(--ink); font-size: 13px; font-weight: 600; }
.settings-readout__value { color: var(--ink2); font-size: 12px; text-align: right; }

.settings-note {
  margin: 12px 0 0;
  padding: 11px 12px;
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
  background: var(--sunk);
  color: var(--ink2);
  font-size: 12px;
  line-height: 1.55;
}

.settings-actions { display: flex; gap: 10px; align-items: center; padding: 14px 20px 18px; }
.settings-body .settings-actions { padding-inline: 0; }
.settings-actions--save { border-top: 1px solid var(--hair); justify-content: flex-end; }
.settings-dirty {
  color: var(--amber, var(--ink2));
  font-family: var(--num);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.settings-section[data-dirty] { border-color: var(--amber, var(--accent)); }

.settings-subcard {
  margin-top: 16px;
  padding: 14px 15px;
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
  background: var(--sunk);
}
.settings-subcard h3 { margin: 0 0 8px; font-size: 14px; font-weight: 600; }
.settings-subcard .settings-readout { border-bottom-color: var(--line, var(--hair)); }
.settings-prices td, .settings-prices th { font-family: var(--num); font-size: 11px; }

.settings-danger {
  margin-top: 14px;
  padding: 14px 15px;
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
}
.settings-danger h3 { margin: 0 0 6px; font-size: 14px; font-weight: 600; }
.settings-danger .workspace-button { margin-top: 10px; }

.settings-aside { position: sticky; top: 28px; display: grid; gap: 12px; }
.settings-card {
  padding: 13px 14px;
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
  background: var(--card);
}
.settings-card__title {
  margin: 0 0 7px;
  color: var(--ink2);
  font-family: var(--num);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.settings-card__body { margin: 0; color: var(--ink2); font-size: 12px; line-height: 1.5; }
.settings-card__list { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; margin: 0; }
.settings-card__list dt { color: var(--ink2); font-size: 11px; }
.settings-card__list dd { margin: 0; color: var(--ink); font-family: var(--num); font-size: 11px; text-align: right; }

/* Each product owns the viewport; M&A navigation stays beside its work. */
.ma-console { background: var(--page); }
.ma-console .ma-shell { width: 100%; margin: 0; border: 0; min-height: 100dvh; grid-template-columns: 280px minmax(0, 1fr); }
.ma-console .ma-sidebar {
  position: sticky; top: 0; height: 100dvh; min-height: 0; overflow-y: auto;
  display: flex; flex-direction: column; padding: 22px 18px;
  background: var(--rail-bg); color: var(--rail-ink); border-color: var(--rail-divider);
}
.ma-console .ma-sidebar .workspace-brand { color: var(--rail-ink); margin-bottom: 30px; }
.ma-console .ma-sidebar .workspace-eyebrow,
.ma-console .ma-sidebar-empty,
.ma-console .ma-company-row__meta { color: var(--rail-muted); }
.ma-console .ma-sidebar h1 { color: var(--rail-ink); }
.ma-console .ma-sidebar .workspace-field,
.ma-console .ma-sidebar__add { background: var(--rail-hover); color: var(--rail-ink); border-color: var(--rail-divider); }
.ma-console .ma-sidebar .workspace-field::placeholder { color: var(--rail-muted); }
.ma-console .ma-screen-nav__item,
.ma-console .ma-company-row { color: var(--rail-ink); }
.ma-console .ma-screen-nav__item:hover,
.ma-console .ma-company-row:hover { background: var(--rail-hover); }
.ma-console .ma-screen-nav__item[aria-current="page"],
.ma-console .ma-company-row[aria-current="true"] { background: var(--rail-selected); color: var(--rail-selected-ink); border-color: var(--rail-divider); }
.ma-console .ma-company-row[aria-current="true"] .ma-company-row__meta { color: var(--rail-selected-muted); }
.ma-console .ma-company-row__score { color: var(--rail-accent); }
.ma-console .ma-main { padding: 38px clamp(22px, 3vw, 60px) 72px; }
.ma-console .ma-detail__actions { flex-shrink: 0; }
.ma-console .ma-detail__actions .workspace-button { white-space: nowrap; }
.ma-console__account { margin-top: auto; padding-top: 28px; }
.ma-console__account .workspace-account__button { color: var(--rail-ink); width: 100%; justify-content: flex-start; }
.ma-console__account .workspace-user__detail { color: var(--rail-muted); }
.ma-console__account .workspace-user__name { color: var(--rail-ink); }
.ma-console__account .workspace-menu { top: auto; bottom: calc(100% + 10px); left: 0; right: auto; width: 242px; color: var(--ink); }
.ma-console__skip { position: fixed; left: 18px; top: 12px; z-index: 100; transform: translateY(-160%); padding: 10px 14px; background: var(--card); }
.ma-console__skip:focus { transform: none; }
.workspace-download-status {
  position: fixed; z-index: 1000; right: 24px; bottom: 24px;
  max-width: min(440px, calc(100vw - 48px)); padding: 16px 20px;
  border: 1px solid var(--hair); border-radius: var(--r-sm);
  background: var(--card); color: var(--ink); box-shadow: 0 8px 32px #0002;
  font: 14px/1.5 var(--ui);
}
.workspace-download-status[hidden] { display: none; }
.workspace-download-status button { margin-left: 12px; padding: 4px 8px; background: var(--sunk); color: var(--ink); border: 1px solid var(--hair); border-radius: 4px; cursor: pointer; }
@media (max-width: 820px) {
  .ma-console .ma-shell { display: block; }
  .ma-console .ma-sidebar { position: relative; height: auto; padding: 18px; }
  .ma-console .ma-sidebar .workspace-brand { margin-bottom: 20px; }
  .ma-console .ma-screen-nav { display: flex; gap: 6px; overflow-x: auto; }
  .ma-console .ma-screen-nav__item { flex: 0 0 auto; width: auto; padding: 8px 12px; }
  .ma-console .ma-company-list { max-height: 180px; overflow: auto; }
  .ma-console__account { position: absolute; top: 14px; right: 18px; padding: 0; }
  .ma-console__account .workspace-user { display: none; }
  .ma-console__account .workspace-menu { top: calc(100% + 8px); bottom: auto; right: 0; left: auto; }
  .ma-console__account .workspace-account form { display: block; }
}

/* The three appearance preferences that need a reader, given one. */
[data-density="compact"] .workspace-body .org-table td { padding-block: 8px; }
[data-density="compact"] .workspace-body .settings-field { padding-block: 9px; }
[data-figures="off"] .workspace-body img[data-figure] { display: none; }
[data-motion="reduced"] .workspace-body *,
[data-motion="reduced"] .workspace-body *::before,
[data-motion="reduced"] .workspace-body *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
}

@media (max-width: 1080px) {
  .settings-grid { grid-template-columns: minmax(0, 1fr); }
  .settings-aside { position: static; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .settings-aside { grid-template-columns: 1fr; }
  .settings-field { align-items: flex-start; flex-direction: column; gap: 10px; }
}

/* ===========================================================================
   Lane E (M&A): lead inbox, universes, outcomes.
   Appended section owned by lane E. It adds only new .ma-* classes and edits
   no rule above; the existing .ma-* vocabulary (shell, sidebar, score, tab,
   record, form, dialog) is consumed unchanged. Uses only the tokens declared
   in product.css and console.css.
   ======================================================================== */

.ma-screen-nav { display: grid; gap: 2px; margin-bottom: 20px; }
.ma-screen-nav__item {
  min-height: 30px; padding: 0 9px; border: 0; border-radius: var(--r-sm);
  background: transparent; color: var(--ink2); cursor: pointer;
  font-family: inherit; font-size: 12px; text-align: left;
}
.ma-screen-nav__item:hover { background: var(--sunk); color: var(--ink); }
.ma-screen-nav__item[aria-current="page"] { background: var(--sunk); color: var(--ink); font-weight: 600; }
.ma-sidebar__eyebrow { margin: 0 0 8px; }

.ma-strip {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px;
  margin-bottom: 18px; overflow: hidden; border: 1px solid var(--hair);
  border-radius: 12px; background: var(--hair);
}
.ma-strip__item { display: grid; gap: 5px; padding: 14px 15px; background: var(--card); }
.ma-strip__value { color: var(--ink); font-family: var(--num); font-size: 23px; line-height: 1; }
/* A cell whose value is a sentence ("No history yet") wraps to three lines
   in the number face; it is still the fifth number's slot, so it keeps the
   cell and loses the display size. */
.ma-strip__value[data-kind="text"] { font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.3; }
.ma-strip__label { color: var(--ink2); font-size: 10px; line-height: 1.35; }

.ma-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.ma-chip {
  min-height: 28px; padding: 0 11px; border: 1px solid var(--hair);
  border-radius: 99px; background: var(--card); color: var(--ink2);
  cursor: pointer; font-family: inherit; font-size: 11px;
}
.ma-chip:hover { color: var(--ink); }
.ma-chip[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-wash); color: var(--accent); font-weight: 600; }
.ma-chip--quiet { border-style: dashed; }

.ma-toolbar { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 14px; margin-bottom: 14px; }
.ma-toolbar .ma-chips { margin-bottom: 0; }

.ma-bulkbar {
  display: flex; align-items: center; gap: 10px; margin-bottom: 14px;
  padding: 10px 14px; border: 1px solid var(--accent); border-radius: 12px;
  background: var(--accent-wash); color: var(--accent); font-size: 12px;
}
/* The class rule above out-specifies the user agent's [hidden] { display: none },
   so the attribute has to be honoured explicitly or an empty selection still
   paints a bar. */
.ma-bulkbar[hidden] { display: none; }

.ma-lead-list { display: grid; gap: 10px; }
.ma-lead { padding: 15px 16px; border: 1px solid var(--hair); border-radius: 12px; background: var(--card); }
.ma-lead__head { display: flex; align-items: flex-start; gap: 12px; }
.ma-lead__select { margin-top: 3px; }
.ma-lead__identity { flex: 1 1 auto; min-width: 0; }
.ma-lead__name {
  padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer;
  font-family: inherit; font-size: 15px; font-weight: 600; letter-spacing: -.015em;
}
.ma-lead__name:hover { color: var(--accent); }
.ma-lead__meta { margin: 4px 0 0; color: var(--ink2); font-size: 11px; }
.ma-lead__marks { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.ma-lead__score { min-width: 92px; text-align: right; }
.ma-lead__score strong { display: block; color: var(--plum); font-family: var(--num); font-size: 25px; line-height: 1; }
.ma-lead__delta { display: block; margin-top: 4px; color: var(--ink2); font-family: var(--num); font-size: 9px; }
.ma-lead__delta[data-direction="up"] { color: var(--moss); }
.ma-lead__delta--new { color: var(--ink2); }
.ma-lead__owner { align-self: center; color: var(--ink2); font-size: 11px; }
.ma-lead__signals, .ma-timeline { display: grid; gap: 7px; margin: 13px 0 0; padding: 0; list-style: none; }
.ma-lead__actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }

.ma-evidence {
  display: grid; gap: 3px; padding: 9px 11px; border-left: 2px solid var(--hair);
  border-radius: 0 var(--r-sm) var(--r-sm) 0; background: var(--sunk);
}
.ma-evidence__meta { color: var(--ink2); font-family: var(--num); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.ma-evidence__title { color: var(--ink); font-size: 12px; line-height: 1.4; }
.ma-evidence__link { justify-self: start; color: var(--plum); font-size: 11px; }
.ma-timeline .ma-evidence { border-left-color: var(--plum); }

.ma-badge {
  display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px;
  border-radius: 99px; background: var(--sunk); color: var(--ink2);
  font-family: var(--num); font-size: 9px; letter-spacing: .06em; text-transform: uppercase;
}
.ma-badge--target { background: var(--plum-wash); color: var(--plum); }
.ma-badge--acquirer { background: var(--teal-wash, var(--sunk)); color: var(--teal, var(--ink2)); }
.ma-pill--claimed, .ma-pill--contacted, .ma-pill--meeting { background: var(--accent-wash); color: var(--accent); }
.ma-pill--engaged { background: var(--moss-wash); color: var(--moss); }
.ma-pill--lost, .ma-pill--dismissed { background: var(--sunk); color: var(--ink2); }

.ma-pipeline { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 20px; }
.ma-pipeline__step {
  min-height: 30px; padding: 0 12px; border: 1px solid var(--hair);
  border-radius: 99px; background: var(--card); color: var(--ink2);
  cursor: pointer; font-family: inherit; font-size: 11px;
}
.ma-pipeline__step:hover { color: var(--ink); }
.ma-pipeline__step[aria-pressed="true"] { border-color: var(--accent); background: var(--accent); color: var(--on-accent); font-weight: 600; }
.ma-detail__owner { margin-top: 6px; color: var(--ink2); font-size: 11px; }
.ma-record__provenance { color: var(--ink2); font-size: 10px; }

@media (max-width: 1080px) {
  .ma-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ma-lead__head { flex-wrap: wrap; }
  .ma-lead__score { text-align: left; }
}

/* ------------------------------------------------------------------------
   Overview (lane B). The account menu, the headline, the five-number strip
   and the role list. Tokens only -- nothing below defines a colour of its
   own, and the two responsive blocks at the end of this file already carry
   the narrow-viewport rules for everything above.
   ------------------------------------------------------------------------ */

/* gateNav hides an ungranted product tab by setting `hidden`, and the UA rule
   that makes that mean anything is `[hidden] { display: none }` -- which
   `.workspace-nav a { display: inline-flex }` above has been overriding since
   the masthead was written, so every tab a member was not granted stayed on
   screen and 403'd when clicked. Specificity is the whole fix. */
.workspace-nav a[hidden] { display: none; }

.workspace-account { position: relative; }
.workspace-account__button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 8px 4px 4px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: none;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}
.workspace-account__button:hover { border-color: var(--hair); background: var(--sunk); }
.workspace-account__button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.workspace-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 40;
  width: 252px;
  overflow: hidden;
  padding: 5px;
  border: 1px solid var(--hair);
  border-radius: 12px;
  background: var(--card);
  box-shadow: 0 16px 40px rgba(16, 24, 20, .16);
}
.workspace-menu[hidden] { display: none; }
.workspace-menu__signout { margin: 5px 0 0; padding-top: 5px; border-top: 1px solid var(--hair); }
.workspace-menu__item {
  width: 100%;
  display: block;
  padding: 9px 11px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: var(--ink);
  cursor: pointer;
  font: 560 13px/1.35 var(--ui);
  text-align: left;
  text-decoration: none;
}
.workspace-menu__item:hover,
.workspace-menu__item:focus-visible { background: var(--sunk); outline: none; }
.workspace-menu__detail {
  display: block;
  overflow: hidden;
  margin-top: 2px;
  color: var(--ink2);
  font: 400 11px/1.4 var(--num);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.overview-hero { max-width: none; margin-bottom: 26px; }
.overview-hero h1 {
  max-width: 900px;
  font-size: clamp(40px, 5vw, 64px);
  letter-spacing: -.045em;
  line-height: 1.02;
}
.overview-hero__sub { margin: 14px 0 0; color: var(--ink2); font-size: 17px; }

.overview-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 34px;
  border: 1px solid var(--hair);
  border-radius: 16px;
  background: color-mix(in srgb, var(--card) 82%, transparent);
}
.overview-figure { min-width: 0; padding: 20px 22px; }
.overview-figure + .overview-figure { border-left: 1px solid var(--hair); }
.overview-figure strong { display: block; font: 500 32px/1.05 var(--num); color: var(--ink); }
.overview-figure strong.is-absent { color: var(--ink2); }
.overview-figure__label {
  display: block;
  margin-top: 9px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
}
.overview-figure__note {
  display: block;
  margin-top: 3px;
  color: var(--ink2);
  font-size: 11px;
  line-height: 1.45;
}

.overview-section { margin-top: 30px; }
.overview-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}
.overview-section__head h2 { margin: 0; font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
.overview-section__count {
  color: var(--ink2);
  font-family: var(--num);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.overview-empty-line {
  margin: 0;
  padding: 22px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  color: var(--ink2);
  font-size: 14px;
}

.overview-roles {
  overflow: hidden;
  border: 1px solid var(--hair);
  border-radius: 14px;
  background: var(--card);
}
.overview-role {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 92px 92px;
  align-items: center;
  gap: 18px;
  padding: 15px 20px;
  color: inherit;
  text-decoration: none;
}
.overview-role + .overview-role { border-top: 1px solid var(--hair); }
.overview-role:hover { background: var(--sunk); }
.overview-role:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.overview-role__identity { min-width: 0; }
.overview-role__identity strong {
  display: block;
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.overview-role__client { display: block; margin-top: 2px; color: var(--ink2); font-size: 12px; }
.overview-role__status {
  padding: 3px 9px;
  border: 1px solid var(--hair);
  border-radius: 999px;
  color: var(--ink2);
  font-family: var(--num);
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.overview-role__status[data-status="open"] { border-color: var(--moss); color: var(--moss); }
.overview-role__status[data-status="paused"] { border-color: var(--amber); color: var(--amber); }
.overview-role__count { text-align: right; }
.overview-role__count strong { display: block; font: 500 19px/1.1 var(--num); }
.overview-role__count span { display: block; margin-top: 2px; color: var(--ink2); font-size: 11px; }

@media (max-width: 1080px) {
  .overview-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .overview-figure:nth-child(3n + 1) { border-left: 0; }
  .overview-figure:nth-child(n + 4) { border-top: 1px solid var(--hair); }
}

@media (max-width: 640px) {
  .overview-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-figure:nth-child(3n + 1) { border-left: 1px solid var(--hair); }
  .overview-figure:nth-child(2n + 1) { border-left: 0; }
  .overview-figure:nth-child(n + 3) { border-top: 1px solid var(--hair); }
  .overview-role { grid-template-columns: minmax(0, 1fr) auto; row-gap: 10px; }
  .overview-role__count { grid-row: 2; text-align: left; }
  .workspace-menu { width: min(252px, calc(100vw - 32px)); }
  /* The narrow-viewport rule above this block hides `.workspace-account form`,
     which was written when the sign-out form sat in the masthead beside the
     name. It now lives inside the account menu, and hiding it there is the
     only way out of the product disappearing under 560px. Specificity, not
     order, is what makes this win. */
  .workspace-account .workspace-menu__signout { display: block; }
}
