/* Tokens — extracted to tokens.css per static-port-plan D.1. */
@import url('./tokens.css?v=20260417-tokens-01');

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

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Figtree", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background: var(--canvas);
  line-height: 1.6;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  border: 0;
  background: none;
  cursor: pointer;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(5, 150, 105, 0.22);
  outline-offset: 3px;
}

.dashboard-header {
  position: sticky;
  top: 0;
  z-index: 90;
  min-height: var(--header-height);
  background: transparent;
  border-bottom: 1px solid transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    backdrop-filter 0.2s ease,
    -webkit-backdrop-filter 0.2s ease;
}

.dashboard-header.is-scrolled {
  background: rgba(255, 254, 251, 0.92);
  border-bottom-color: rgba(1, 56, 44, 0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.dashboard-header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: var(--header-height);
  padding: 0 var(--gutter);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
  color: #004813;
  flex-shrink: 0;
}

.brand__logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.dashboard-header__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.dashboard-header__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.42);
}

.dashboard-header__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.9375rem;
  font-weight: 600;
  color: rgba(1, 56, 44, 0.88);
}

.dashboard-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.button,
.icon-button,
.segment-button,
.chip,
.surface-input,
.nav-link,
.mini-action,
.tab-button,
.view-toggle__button {
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.button--primary {
  background: var(--surface-dark);
  color: #ecfdf5;
}

.button--primary:hover {
  background: #005c47;
}

.button--accent {
  background: var(--accent);
  color: #ffffff;
}

.button--accent:hover {
  background: var(--accent-hover);
}

.button--ghost {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
}

.button--ghost:hover {
  background: rgba(131, 230, 189, 0.16);
  border-color: rgba(5, 150, 105, 0.16);
}

.button--soft {
  background: var(--surface-strong);
  color: var(--ink);
}

.button--soft:hover {
  background: #e7f5ee;
}

.button--small {
  min-height: 36px;
  padding: 0 14px;
  font-size: 0.8125rem;
}

.icon-button {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
}

.dashboard-header:not(.is-scrolled) .icon-button,
.dashboard-header:not(.is-scrolled) .avatar-pill,
.dashboard-header:not(.is-scrolled) .button--ghost {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(1, 56, 44, 0.1);
}

.icon-button:hover {
  background: rgba(131, 230, 189, 0.2);
  border-color: rgba(5, 150, 105, 0.18);
}

.header-alerts-btn {
  position: relative;
}

.header-alerts-btn__count {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  pointer-events: none;
}

.avatar-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 10px 0 6px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.avatar-pill__badge {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #0b5f4a;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
}

.avatar-pill__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.avatar-pill__name {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.1;
}

.avatar-pill__role {
  font-size: 0.6875rem;
  color: var(--ink-faint);
  line-height: 1.1;
}

.dashboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  padding: 20px var(--gutter) calc(140px + env(safe-area-inset-bottom));
}

.dashboard-sidebar,
.dashboard-rail {
  display: none;
}

.dashboard-main {
  min-width: 0;
}

@media (min-width: 1120px) {
  .dashboard-layout {
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
    align-items: start;
  }

  .dashboard-sidebar {
    display: block;
  }
}

.dashboard-sidebar__inner,
.dashboard-rail__inner {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  display: grid;
  gap: 18px;
}

.surface-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.surface-card--soft {
  background: var(--surface-muted);
}

.surface-card--dark {
  color: var(--ink);
  background: var(--surface-muted);
  border-color: rgba(5, 150, 105, 0.12);
  box-shadow: var(--shadow-soft);
}

.surface-card__body {
  padding: 22px;
}

.surface-card__body--tight {
  padding: 18px;
}

.surface-card__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.42);
}

.surface-card--dark .surface-card__eyebrow {
  color: rgba(1, 56, 44, 0.42);
}

.surface-card__title {
  margin: 8px 0 0;
  font-size: 1.125rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.surface-card__copy {
  margin: 10px 0 0;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

.surface-card--dark .surface-card__copy {
  color: var(--ink-soft);
}

.profile-card {
  overflow: hidden;
}

.profile-card__hero {
  padding: 20px;
  background: var(--surface-muted);
  border-bottom: 1px solid var(--line-soft);
}

.profile-card__row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.profile-card__avatar {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #0b5f4a;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}

.profile-card__meta {
  min-width: 0;
}

.profile-card__meta h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.1;
}

.profile-card__meta p {
  margin: 6px 0 0;
  font-size: 0.8125rem;
  color: var(--ink-soft);
}

.readiness-row {
  margin-top: 18px;
  display: grid;
  gap: 10px;
}

.readiness-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(5, 150, 105, 0.12);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink);
}

.progress-meter {
  height: 8px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.08);
  overflow: hidden;
}

.progress-meter > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #059669 0%, #7ce1bb 100%);
}

.stat-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.stat-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--line-soft);
  font-size: 0.8125rem;
}

.stat-list__item:first-child {
  border-top: 0;
  padding-top: 0;
}

.stat-list__value {
  font-weight: 700;
  color: var(--ink-strong);
}

.nav-stack {
  display: grid;
  gap: 10px;
}

.nav-group {
  display: grid;
  gap: 8px;
}

.nav-group__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.38);
}

.nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid transparent;
  color: rgba(1, 56, 44, 0.72);
  background: transparent;
}

.nav-link:hover {
  background: rgba(131, 230, 189, 0.14);
  border-color: rgba(5, 150, 105, 0.08);
  color: var(--ink);
}

.nav-link.is-active {
  color: var(--ink);
  background: rgba(131, 230, 189, 0.16);
  border-color: rgba(5, 150, 105, 0.14);
}

.nav-link__left {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.nav-link__icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(1, 56, 44, 0.06);
}

.nav-link.is-active .nav-link__icon {
  background: rgba(255, 255, 255, 0.72);
}

.nav-link__copy {
  min-width: 0;
}

.nav-link__copy strong {
  display: block;
  font-size: 0.875rem;
  line-height: 1.1;
}

.nav-link__copy span {
  display: block;
  margin-top: 4px;
  font-size: 0.75rem;
  color: var(--ink-faint);
  line-height: 1.15;
}

.nav-link__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.08);
  font-size: 0.75rem;
  font-weight: 700;
}

.nav-link.is-active .nav-link__badge {
  background: rgba(255, 255, 255, 0.78);
}

.mini-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
}

.mini-action:hover {
  color: var(--accent-hover);
}

.page-banner {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  border: 1px solid var(--line);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.page-banner::after {
  display: none;
}

.page-banner__body {
  position: relative;
  padding: 18px;
  display: grid;
  gap: 12px;
}

.page-banner__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.status-flash {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--surface-muted);
  border: 1px solid var(--line);
  font-size: 0.75rem;
  font-weight: 700;
}

.status-flash__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.12);
}

.page-banner__heading {
  display: grid;
  gap: 10px;
  max-width: 760px;
}

.page-banner__heading h1 {
  margin: 0;
  font-size: clamp(1.35rem, 1.8vw, 1.85rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--ink-strong);
}

.page-banner__heading p {
  margin: 0;
  max-width: 620px;
  font-size: 0.9rem;
  color: var(--ink-soft);
}

.page-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

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

@media (min-width: 900px) {
  .metric-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.metric-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-muted);
  padding: 14px;
  display: grid;
  gap: 8px;
}

.metric-card--dark {
  background: var(--surface-muted);
  border-color: rgba(5, 150, 105, 0.16);
  color: var(--ink);
}

.metric-card__label {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.metric-card--dark .metric-card__label {
  color: var(--ink-faint);
}

.metric-card__value {
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 700;
}

.metric-card__delta {
  font-size: 0.8125rem;
  color: var(--ink-soft);
}

.metric-card--dark .metric-card__delta {
  color: var(--ink-soft);
}

/* ── Swipable metric strip (mobile horizontal scroll) ── */

.metric-strip.metric-strip--swipable {
  margin-top: 0;
  padding: 16px 0;
  border-top: 1px solid rgba(1, 56, 44, 0.06);
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
}

body[data-page="feed"] .metric-strip.metric-strip--swipable,
body[data-page="messages"] .metric-strip.metric-strip--swipable,
body[data-dashboard="recruiter"] .metric-strip.metric-strip--swipable {
  padding-top: 0;
  border-top: none;
}

/* Match jobseeker overview parity — zero the strip container chrome on
 * recruiter pages so metric cards sit flush with the surrounding page. */
body[data-dashboard="recruiter"] .metric-strip.metric-strip--swipable {
  padding: 0;
  border: none;
}

.metric-strip.metric-strip--swipable .metric-card {
  border: 1px solid rgba(5, 150, 105, 0.1);
  border-radius: 14px;
  background: #ffffff;
  padding: 16px;
}

@media (max-width: 899px) {
  .metric-strip.metric-strip--swipable {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
    grid-template-columns: none;
  }

  .metric-strip.metric-strip--swipable::-webkit-scrollbar {
    display: none;
  }

  /* Uniform sizing for both direct cards AND cards wrapped in <a> links.
     NOTE: only the anchor gets display:block — the .metric-card itself keeps
     its grid layout (that's what stacks label/value/delta vertically). */
  .metric-strip.metric-strip--swipable > .metric-card,
  .metric-strip.metric-strip--swipable > a {
    flex: 0 0 calc((100% - 12px) / 2.5);
    min-width: 0;
    scroll-snap-align: start;
  }
  .metric-strip.metric-strip--swipable > a {
    display: block;
  }
  .metric-strip.metric-strip--swipable > a .metric-card {
    height: 100%;
    box-sizing: border-box;
  }
}

/* Desktop: anchor wrappers still need to behave as grid items */
.metric-strip > a {
  display: block;
}
.metric-strip > a .metric-card {
  height: 100%;
  box-sizing: border-box;
}

.page-grid {
  margin-top: 0;
  display: grid;
  gap: 24px;
  align-items: start;
}

.page-grid--feed {
  grid-template-columns: minmax(0, 1fr);
}

.page-grid--saved {
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.88fr);
}

.page-grid--messages {
  grid-template-columns: minmax(300px, 1.1fr) minmax(0, 1.4fr) minmax(240px, 0.7fr);
}

.page-grid--overview,
.page-grid--notifications {
  grid-template-columns: minmax(0, 1fr);
}

.page-grid--tracker {
  display: block;
}

@media (max-width: 1119px) {
  .page-grid--feed,
  .page-grid--tracker,
  .page-grid--saved,
  .page-grid--messages {
    grid-template-columns: minmax(0, 1fr);
  }

}

.section-stack {
  display: grid;
  gap: 18px;
}

.toolbar-panel {
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.toolbar-panel .surface-card__body {
  padding: 0 0 18px;
}

.section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.section-header__copy h2 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.section-header__copy p {
  margin: 8px 0 0;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

.surface-input {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.76);
}

.surface-input input,
.surface-input textarea {
  width: 100%;
  border: 0;
  background: transparent;
  outline: none;
  color: var(--ink);
}

.surface-input textarea {
  min-height: 84px;
  resize: vertical;
  padding: 14px 0;
}

.search-row {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 760px) {
  .search-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.8fr) auto;
  }
}

.chip-row,
.segment-row,
.tab-row,
.action-row,
.meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: #ffffff;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.chip:hover {
  background: rgba(131, 230, 189, 0.16);
  color: var(--ink);
}

.chip.is-active {
  background: rgba(131, 230, 189, 0.22);
  border-color: rgba(5, 150, 105, 0.18);
  color: var(--ink);
}

.chip--quiet {
  background: rgba(1, 56, 44, 0.04);
}

.view-toggle,
.tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.view-toggle__button,
.tab-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.view-toggle__button.is-active,
.tab-button.is-active {
  background: rgba(131, 230, 189, 0.24);
  color: var(--ink);
}

.feed-list,
.tracker-card-list,
.notification-list,
.saved-list,
.conversation-list {
  display: grid;
  gap: 14px;
}

.feed-card,
.tracker-card,
.notification-card,
.saved-card,
.conversation-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(1, 56, 44, 0.04);
  overflow: hidden;
}

.feed-card,
.tracker-card,
.saved-card,
.conversation-card {
  width: 100%;
  text-align: left;
  padding: 18px;
}

.feed-card:hover,
.tracker-card:hover,
.saved-card:hover,
.conversation-card:hover {
  border-color: rgba(5, 150, 105, 0.14);
  background: rgba(250, 255, 254, 0.94);
}

.feed-card.is-active,
.tracker-card.is-active,
.saved-card.is-active,
.conversation-card.is-active {
  border-color: rgba(5, 150, 105, 0.2);
  background: #f7fbf9;
}

.feed-card__top,
.saved-card__top,
.conversation-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.feed-card__role,
.tracker-card__title,
.saved-card__title,
.conversation-card__name {
  margin: 0;
  font-size: 1rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.feed-card__company,
.tracker-card__subline,
.saved-card__subline,
.conversation-card__subline {
  margin: 6px 0 0;
  font-size: 0.8125rem;
  color: var(--ink-soft);
}

.feed-card__summary,
.tracker-card__summary,
.saved-card__summary {
  margin: 14px 0 0;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

.feed-card__footer,
.saved-card__footer,
.conversation-card__footer {
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.score-badge,
.status-pill,
.mini-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
}

.score-badge {
  background: rgba(1, 56, 44, 0.06);
  color: var(--ink);
}

.status-pill {
  background: rgba(5, 150, 105, 0.14);
  color: var(--accent-hover);
}

.status-pill--reviewing {
  background: rgba(251, 191, 36, 0.16);
  color: #a16207;
}

.status-pill--interview {
  background: rgba(109, 89, 217, 0.14);
  color: #5b49b8;
}

.status-pill--offer {
  background: rgba(131, 230, 189, 0.24);
  color: #065f46;
}

.status-pill--archived {
  background: rgba(148, 163, 184, 0.16);
  color: #475569;
}

.mini-pill {
  background: rgba(1, 56, 44, 0.05);
  color: var(--ink-soft);
}

.detail-panel {
  min-height: 0;
  height: fit-content;
}

.detail-panel__shell {
  padding: 20px;
  display: grid;
  gap: 16px;
}

.detail-panel__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.detail-panel__top h2 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: -0.04em;
}

.detail-panel__top p {
  margin: 10px 0 0;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

.detail-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.detail-section {
  display: grid;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--line-soft);
}

.detail-section h3 {
  margin: 0;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.42);
}

.detail-section p,
.detail-section li {
  margin: 0;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

.detail-list {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

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

.detail-pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.detail-pill {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(131, 230, 189, 0.16);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink);
}

.sidebar-note-list,
.rail-list,
.timeline-list,
.message-meta-list,
.checklist {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.rail-item,
.timeline-item,
.checklist__item,
.message-meta-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.rail-item__dot,
.timeline-item__dot,
.checklist__dot {
  width: 10px;
  height: 10px;
  margin-top: 7px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(5, 150, 105, 0.12);
}

.timeline-item__line {
  width: 2px;
  flex: 0 0 auto;
  align-self: stretch;
  background: rgba(5, 150, 105, 0.16);
  margin-left: 4px;
}

.timeline-item {
  align-items: stretch;
}

.timeline-item__body h4,
.rail-item__body h4 {
  margin: 0;
  font-size: 0.875rem;
}

.timeline-item__body p,
.rail-item__body p,
.checklist__item p {
  margin: 4px 0 0;
  font-size: 0.8125rem;
  color: var(--ink-soft);
}

.workstream-list,
.priority-list,
.overview-signal-list {
  display: grid;
  gap: 0;
}

.workstream-row,
.priority-item,
.overview-signal-row {
  border-top: 1px solid var(--line-soft);
}

.workstream-row:first-child,
.priority-item:first-child,
.overview-signal-row:first-child {
  border-top: 0;
}

.workstream-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1.5fr) minmax(160px, 0.8fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px 0;
}

.workstream-row:hover,
.priority-item:hover,
.overview-signal-row:hover {
  margin-left: -14px;
  margin-right: -14px;
  padding-left: 14px;
  padding-right: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
}

.workstream-row__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.05);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ink-faint);
}

.workstream-row__body h3,
.priority-item h3,
.overview-signal-row h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ink-strong);
}

.workstream-row__body p,
.priority-item p,
.overview-signal-row p {
  margin: 6px 0 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--ink-soft);
}

.workstream-row__meta {
  display: grid;
  gap: 4px;
  justify-items: end;
  text-align: right;
}

.workstream-row__meta strong {
  font-size: 0.875rem;
  color: var(--ink-strong);
}

.workstream-row__meta span,
.overview-signal-row > span {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.workstream-row__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--accent-hover);
  white-space: nowrap;
}

.workstream-row__cta::after {
  content: "→";
  font-size: 0.9em;
}

.priority-item {
  display: grid;
  gap: 10px;
  padding: 18px 0;
}

.priority-item__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.priority-item__tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(131, 230, 189, 0.2);
  border: 1px solid rgba(5, 150, 105, 0.1);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--accent-hover);
}

.priority-item__time {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink-faint);
}

.overview-signal-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 18px 0;
}

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

.overview-search-card {
  display: grid;
  gap: 4px;
}

.overview-inline-list {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}

.overview-inline-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--line-soft);
  font-size: 0.875rem;
}

.overview-inline-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.overview-inline-list strong {
  color: var(--ink-strong);
  text-align: right;
}

.action-board,
.signal-feed,
.health-list {
  margin: 18px 0 0;
  padding: 0;
}

.action-board,
.signal-feed {
  display: grid;
  gap: 0;
  list-style: none;
}

.action-board li {
  list-style: none;
}

.action-item,
.signal-row {
  display: grid;
  gap: 10px;
  margin: 0 -12px;
  padding: 16px 12px;
  border-top: 1px solid var(--line-soft);
  border-radius: 14px;
  color: inherit;
  text-decoration: none;
}

.action-board li:first-child .action-item,
.signal-feed > .signal-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.action-item:hover,
.action-item:focus-visible,
.signal-row:hover,
.signal-row:focus-visible {
  background: rgba(255, 255, 255, 0.88);
  outline: none;
}

.action-item__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.action-item__tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.88);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ink-soft);
}

.action-item--urgent .action-item__tag {
  border-color: rgba(217, 119, 6, 0.18);
  background: rgba(254, 243, 199, 0.72);
  color: #92400e;
}

.action-item__time,
.signal-row__time {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink-faint);
  white-space: nowrap;
}

.action-item h3,
.signal-row h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ink-strong);
}

.action-item p,
.signal-row p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.58;
  color: var(--ink-soft);
}

.action-item__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--accent-hover);
}

.action-item__link::after {
  content: "→";
  font-size: 0.9em;
}

.signal-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.signal-row__copy {
  display: grid;
  gap: 6px;
}

.health-list {
  display: grid;
  gap: 0;
  list-style: none;
}

.health-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--line-soft);
  font-size: 0.875rem;
}

.health-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.health-list strong {
  color: var(--ink-strong);
  text-align: right;
}

.health-list--compact {
  margin-top: 16px;
}

.health-note {
  margin: 14px 0 0;
  font-size: 0.875rem;
  line-height: 1.58;
  color: var(--ink-soft);
}

.search-health-card {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}

.search-health-card p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.58;
  color: var(--ink-soft);
}

.section-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line-soft);
}

.kanban-board {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(260px, 1fr));
  overflow-x: auto;
  padding-bottom: 8px;
}

.kanban-column {
  min-width: 260px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.78);
  padding: 16px;
  display: grid;
  gap: 14px;
  align-content: start;
}

.kanban-column__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.kanban-column__top h3 {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.1;
}

.kanban-column__count {
  min-width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.06);
  font-size: 0.75rem;
  font-weight: 700;
}

.kanban-column__stack {
  display: grid;
  gap: 12px;
}

.kanban-card {
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 26px rgba(1, 56, 44, 0.05);
}

.kanban-card.is-active {
  background: #f7fbf9;
  border-color: rgba(5, 150, 105, 0.16);
}

.kanban-card__company {
  margin-top: 6px;
  font-size: 0.8125rem;
  color: var(--ink-soft);
}

.kanban-card__meta {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.table-scroll {
  overflow: auto;
}

.tracker-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.tracker-table th,
.tracker-table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--line-soft);
  text-align: left;
  font-size: 0.875rem;
}

.tracker-table th {
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.42);
}

.tracker-table tbody tr {
  cursor: pointer;
}

.tracker-table tbody tr.is-active {
  background: rgba(131, 230, 189, 0.14);
}

.notification-card {
  padding: 18px 20px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.notification-card.is-unread {
  border-color: rgba(5, 150, 105, 0.16);
  background: linear-gradient(180deg, rgba(131, 230, 189, 0.16) 0%, rgba(255, 255, 255, 0.94) 100%);
}

.notification-card.is-active {
  border-color: rgba(5, 150, 105, 0.18);
  background: rgba(255, 255, 255, 0.94);
}

.notification-card[hidden] {
  display: none;
}

.notification-card__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(131, 230, 189, 0.24);
  color: var(--accent-hover);
}

.notification-card__body {
  min-width: 0;
  flex: 1 1 auto;
}

.notification-card__meta {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.notification-card__title {
  margin: 6px 0 0;
  font-size: 1rem;
  line-height: 1.15;
}

.notification-card__copy {
  margin: 8px 0 0;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

.notification-card__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.notification-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--accent);
}

.notifications-summary {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 899px) {
  .notifications-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.messages-shell {
  display: grid;
  gap: 18px;
}

.messages-pane {
  min-height: 640px;
}

.messages-pane__body {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 640px;
}

/* ── Message context detail grid ── */

.ctx-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ctx-detail {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ctx-detail__val {
  font-size: 0.84rem;
  font-weight: 600;
  color: #01382C;
  line-height: 1.3;
}

.ctx-detail__val--green { color: #059669; }
.ctx-detail__val--purple { color: #7C3AED; }
.ctx-detail__val--cyan { color: #0891B2; }

.ctx-detail__label {
  font-size: 0.6875rem;
  color: rgba(1, 56, 44, 0.4);
  font-weight: 500;
}

.ctx-source {
  font-size: 0.72rem;
  color: rgba(1, 56, 44, 0.38);
  font-weight: 500;
}

.ctx-urgent {
  font-size: 0.78rem;
  font-weight: 600;
  color: #DC2626;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(220, 38, 38, 0.06);
  border: 1px solid rgba(220, 38, 38, 0.1);
}

.ctx-recruiter {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.ctx-recruiter__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 0.72rem;
  font-weight: 700;
  flex-shrink: 0;
}

.ctx-recruiter__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.ctx-recruiter__name {
  font-size: 0.84rem;
  font-weight: 700;
  color: #01382C;
}

.ctx-recruiter__role {
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.5);
  line-height: 1.4;
}

.ctx-recruiter__response {
  font-size: 0.72rem;
  color: #059669;
  font-weight: 600;
  margin-top: 2px;
}

.conversation-list__header,
.thread-header,
.pane-header {
  padding: 18px 20px;
  border-bottom: 1px solid var(--line-soft);
}

.thread-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.thread-header__person {
  display: flex;
  align-items: center;
  gap: 12px;
}

.thread-header__badge {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(131, 230, 189, 0.38) 0%, rgba(131, 230, 189, 0.16) 100%);
  font-size: 0.8125rem;
  font-weight: 700;
}

.thread-scroll {
  min-height: 0;
  padding: 20px;
  display: grid;
  gap: 16px;
  align-content: start;
}

.message-bubble {
  max-width: min(560px, 100%);
  padding: 14px 16px;
  border-radius: 18px;
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  box-shadow: 0 10px 22px rgba(1, 56, 44, 0.04);
}

.message-bubble--incoming {
  background: rgba(255, 255, 255, 0.92);
  justify-self: start;
  border-top-left-radius: 10px;
}

.message-bubble--outgoing {
  background: linear-gradient(180deg, rgba(131, 230, 189, 0.26) 0%, rgba(240, 253, 244, 0.96) 100%);
  justify-self: end;
  border-top-right-radius: 10px;
}

.message-bubble__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.message-bubble__copy {
  font-size: 0.875rem;
  color: var(--ink);
}

.composer {
  padding: 18px 20px;
  border-top: 1px solid var(--line-soft);
  display: grid;
  gap: 12px;
}

.composer__row {
  display: flex;
  gap: 12px;
  align-items: flex-end;
}

.composer__row .surface-input {
  flex: 1 1 auto;
  align-items: stretch;
}

.composer textarea {
  min-height: 78px;
  max-height: 180px;
}

.messages-detail {
  display: grid;
  gap: 16px;
}

.saved-tabs {
  display: grid;
  gap: 18px;
}

.saved-panel[hidden],
.tracker-view[hidden],
.conversation-thread[hidden] {
  display: none;
}

.saved-card__title-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.saved-card__metrics {
  margin-top: 16px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.saved-card__metric {
  border-radius: 14px;
  padding: 12px;
  background: rgba(1, 56, 44, 0.04);
}

.saved-card__metric span {
  display: block;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.42);
}

.saved-card__metric strong {
  display: block;
  margin-top: 8px;
  font-size: 1rem;
}

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

.overview-card {
  grid-column: span 12;
}

.overview-card--wide {
  grid-column: span 12;
}

.overview-card--medium {
  grid-column: span 12;
}

.overview-card--narrow {
  grid-column: span 12;
}

@media (min-width: 760px) {
  .overview-card--medium {
    grid-column: span 6;
  }

  .overview-card--narrow {
    grid-column: span 4;
  }
}

@media (min-width: 1100px) {
  .overview-card--wide {
    grid-column: span 8;
  }

  .overview-card--medium {
    grid-column: span 4;
  }
}

.dashboard-bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: min(calc(100vw - 28px), 720px);
  z-index: 70;
  display: grid;
  grid-template-columns: repeat(var(--bottom-nav-count, 5), minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-lifted);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.dashboard-bottom-nav a {
  display: grid;
  justify-items: center;
  gap: 5px;
  min-height: 56px;
  padding: 8px 6px;
  border-radius: 18px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--ink-faint);
  text-align: center;
}

.dashboard-bottom-nav a.is-active {
  background: rgba(131, 230, 189, 0.22);
  color: var(--ink);
}

@media (min-width: 1120px) {
  .dashboard-bottom-nav {
    display: none;
  }
}

.mobile-nav[hidden],
.mobile-sheet[hidden],
[data-sheet-backdrop][hidden] {
  display: none;
}

[data-sheet-backdrop] {
  position: fixed;
  inset: 0;
  z-index: 95;
  background: rgba(1, 34, 27, 0.34);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.mobile-nav,
.mobile-sheet {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 100;
}

.mobile-nav__panel,
.mobile-sheet__panel {
  width: min(100%, 100%);
  background: rgba(255, 254, 251, 0.98);
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  border: 1px solid var(--line);
  box-shadow: 0 -20px 54px rgba(1, 34, 27, 0.14);
  max-height: min(84vh, 860px);
  overflow: auto;
  transform: translateY(100%);
}

.mobile-nav.is-open .mobile-nav__panel,
.mobile-sheet.is-open .mobile-sheet__panel {
  transform: translateY(0);
}

.mobile-nav__panel,
.mobile-sheet__panel {
  transition: transform 0.22s ease;
}

.mobile-nav__body,
.mobile-sheet__body {
  padding: 18px 18px 32px;
  display: grid;
  gap: 18px;
  /* Contain any wide descendants (pre, long URLs, images) within the viewport.
     Without this, .mobile-sheet__body can grow wider than 100vw if inner
     content has unbreakable strings or fixed widths. */
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mobile-nav__body > *,
.mobile-sheet__body > * {
  max-width: 100%;
  min-width: 0;
}

/* The panel itself must also stay <= 100vw and must not scroll horizontally. */
.mobile-nav__panel,
.mobile-sheet__panel {
  max-width: 100vw;
  box-sizing: border-box;
  overflow-x: hidden;
}

.mobile-sheet__head,
.mobile-nav__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mobile-sheet__title,
.mobile-nav__title {
  font-size: 1.125rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
}

.mobile-sheet__copy,
.mobile-nav__copy {
  margin: 8px 0 0;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

.mobile-nav__separator {
  border-top: 1px solid rgba(1, 56, 44, 0.08);
  margin: 8px 0;
}

.nav-link--danger .nav-link__icon {
  background: rgba(220, 38, 38, 0.08);
  color: #DC2626;
}

.nav-link--danger strong {
  color: #DC2626;
}

.handle {
  width: 56px;
  height: 6px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.14);
  margin: 0 auto 12px;
}

.mobile-only {
  display: inline-flex;
}

.desktop-only {
  display: none;
}

@media (min-width: 1120px) {
  .mobile-only {
    display: none;
  }

  .desktop-only {
    display: inline-flex;
  }
}

@media (max-width: 1119px) {
  .dashboard-header__meta {
    min-width: 0;
  }

  .dashboard-header__eyebrow {
    display: none;
  }

  .dashboard-header__title {
    font-size: 0.875rem;
  }

  .dashboard-header__actions .button,
  .dashboard-header__actions .avatar-pill {
    display: none;
  }

  .page-banner__body {
    padding: 18px;
  }

  .detail-panel {
    display: none;
  }
}

@media (max-width: 759px) {
  .page-banner__heading h1 {
    font-size: 2.25rem;
  }

  .kanban-board {
    grid-template-columns: minmax(0, 1fr);
    overflow: visible;
  }

  .kanban-column {
    min-width: 0;
  }

  .metric-strip,
  .saved-card__metrics,
  .detail-split {
    grid-template-columns: minmax(0, 1fr);
  }

  .notification-card {
    flex-direction: column;
  }

  .notification-card__actions {
    width: 100%;
    justify-content: flex-start;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body {
  background-color: #fffefb;
  background-image:
    radial-gradient(120% 38% at 50% 0%, rgba(131, 230, 189, 0.14) 0%, rgba(131, 230, 189, 0.07) 22%, rgba(255, 254, 251, 0) 56%),
    linear-gradient(180deg, rgba(236, 253, 245, 0.82) 0%, rgba(255, 254, 251, 0) 260px);
  background-repeat: no-repeat;
}

.dashboard-header.is-scrolled {
  background: rgba(255, 254, 251, 0.92);
  border-bottom-color: rgba(1, 56, 44, 0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.dashboard-layout {
  gap: 28px;
  padding-top: 14px;
}

@media (min-width: 1120px) {
  .dashboard-layout {
    grid-template-columns: minmax(214px, 236px) minmax(0, 1fr);
    gap: 40px;
    padding-bottom: 40px;
  }
}

.dashboard-sidebar__inner,
.dashboard-rail__inner {
  gap: 22px;
}

.dashboard-sidebar .surface-card,
.dashboard-rail .surface-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.profile-card__hero {
  padding: 0 0 18px;
  background: transparent;
  border-bottom: 1px solid var(--line-soft);
}

.profile-card .surface-card__body {
  padding: 18px 0 0;
}

.profile-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 14px;
}

.stat-list {
  margin-top: 0;
}

.nav-group {
  gap: 3px;
}

.nav-link {
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 0;
}

.nav-link:hover {
  background: rgba(255, 255, 255, 0.74);
}

.nav-link.is-active {
  background: #f0fdf8;
}

.nav-link__icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
}

.nav-link__copy span {
  margin-top: 2px;
}

.page-banner {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-banner__body {
  padding: 8px 0 24px;
  gap: 14px;
  border-bottom: 1px solid var(--line-soft);
}

.page-banner__heading {
  max-width: 62ch;
}

.page-banner__heading h1 {
  font-size: clamp(1.35rem, 1.5vw, 1.7rem);
  line-height: 1.08;
}

.page-banner__heading p {
  font-size: 0.875rem;
  max-width: 56ch;
}

.status-flash,
.score-badge,
.status-pill,
.mini-pill {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: none;
}

.status-flash__dot {
  box-shadow: none;
}

.metric-strip,
.notifications-summary {
  gap: 22px 28px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.metric-card {
  border: 0;
  border-top: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  padding: 14px 0 0;
}

.metric-strip--swipable .metric-card {
  border: 1px solid rgba(5, 150, 105, 0.1);
  border-radius: 14px;
  background: #ffffff;
  padding: 16px;
}

.metric-card--dark {
  border-top-color: rgba(5, 150, 105, 0.18);
  background: transparent;
}

.metric-card__value {
  font-size: 1.125rem;
  letter-spacing: -0.03em;
}

.metric-card__delta {
  font-size: 0.78125rem;
  line-height: 1.5;
}

.page-grid {
  margin-top: 16px;
  gap: 26px;
}

.section-stack > .surface-card,
.saved-tabs > .surface-card,
.messages-pane,
.detail-panel {
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: none;
}

.detail-panel {
  align-self: start;
  position: sticky;
  top: calc(var(--header-height) + 18px);
}

.toolbar-panel {
  border-color: var(--line-soft);
}

.toolbar-panel .surface-card__body {
  padding-bottom: 20px;
}

.surface-input {
  min-height: 44px;
  border-radius: 10px;
  border-color: rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.84);
}

.chip {
  min-height: 34px;
  background: transparent;
}

.chip.is-active {
  background: #f0fdf8;
}

.view-toggle,
.tabs {
  gap: 6px;
  padding: 4px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}

.view-toggle__button,
.tab-button {
  min-height: 34px;
  border-radius: 10px;
}

.view-toggle__button.is-active,
.tab-button.is-active {
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(1, 56, 44, 0.08);
}

.feed-list,
.tracker-card-list,
.notification-list,
.saved-list,
.conversation-list {
  gap: 0;
}

.feed-card,
.tracker-card,
.notification-card,
.saved-card,
.conversation-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.feed-card,
.tracker-card,
.saved-card,
.conversation-card,
.notification-card {
  border-top: 1px solid var(--line-soft);
}

.feed-list > :first-child,
.tracker-card-list > :first-child,
.notification-list > :first-child,
.saved-list > :first-child,
.conversation-list > :first-child {
  border-top: 0;
}

.feed-card,
.tracker-card,
.saved-card,
.conversation-card {
  padding: 18px 0;
}

.notification-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 16px;
  padding: 20px 0;
  align-items: start;
}

.feed-card:hover,
.tracker-card:hover,
.saved-card:hover,
.conversation-card:hover,
.notification-card:hover,
.notification-card.is-active,
.feed-card.is-active,
.tracker-card.is-active,
.saved-card.is-active,
.conversation-card.is-active,
.notification-card.is-unread {
  margin-left: -14px;
  margin-right: -14px;
  padding-left: 14px;
  padding-right: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
}

.feed-card.is-active,
.tracker-card.is-active,
.saved-card.is-active,
.conversation-card.is-active {
  box-shadow:
    inset 0 0 0 1px rgba(5, 150, 105, 0.18),
    0 14px 30px -28px rgba(1, 56, 44, 0.24);
}

.notification-card.is-unread {
  border-color: transparent;
  box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.16);
}

.feed-card__summary,
.tracker-card__summary,
.saved-card__summary {
  max-width: 62ch;
}

.conversation-card__preview {
  margin: 10px 0 0;
  max-width: 44ch;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

.conversation-card__footer {
  justify-content: flex-start;
}

.saved-card__metrics {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
}

.saved-card__metric {
  padding: 0;
  background: transparent;
}

.detail-panel__shell {
  padding: 22px;
}

.detail-panel__actions {
  padding-bottom: 2px;
}

.detail-section {
  gap: 10px;
}

.detail-pill {
  background: #f0fdf8;
  border: 1px solid rgba(5, 150, 105, 0.12);
}

.kanban-column {
  border-color: var(--line-soft);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: none;
}

.kanban-card {
  border-color: rgba(1, 56, 44, 0.08);
  box-shadow: none;
}

.kanban-card.is-active {
  box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.14);
}

.table-scroll {
  border-top: 1px solid var(--line-soft);
}

.tracker-table th,
.tracker-table td {
  padding: 14px 0;
}

.tracker-table th + th,
.tracker-table td + td {
  padding-left: 16px;
}

.tracker-table tbody tr {
  outline: none;
}

.tracker-table tbody tr:hover td,
.tracker-table tbody tr.is-active td,
.tracker-table tbody tr:focus-visible td {
  background: rgba(255, 255, 255, 0.92);
}

.notification-card__icon {
  border-radius: 12px;
}

.notification-card__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.messages-pane {
  min-height: 620px;
}

.messages-pane__body {
  min-height: 620px;
}

.messages-detail {
  gap: 20px;
  align-content: start;
}

.messages-detail .surface-card {
  border: 0;
  border-top: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.messages-detail .surface-card > .surface-card__body {
  padding: 16px 0 0;
}

.thread-scroll {
  padding-top: 18px;
  padding-bottom: 18px;
}

.message-bubble {
  box-shadow: none;
}

.message-bubble--incoming {
  background: #ffffff;
}

.message-bubble--outgoing {
  background: #f0fdf8;
}

.overview-grid {
  gap: 0 24px;
}

.overview-grid > .surface-card {
  border: 0;
  border-top: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.overview-grid > .surface-card > .surface-card__body {
  padding: 18px 0 0;
}

.overview-card--wide .overview-grid {
  gap: 0 18px;
}

.overview-card--wide .overview-grid > .surface-card {
  border: 0;
  border-top: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.overview-card--wide .overview-grid > .surface-card > .surface-card__body {
  padding: 16px 0 0;
}

body[data-page="overview"] .dashboard-layout {
  gap: 24px;
}

@media (min-width: 1120px) {
  body[data-page="overview"] .dashboard-layout {
    grid-template-columns: minmax(214px, 228px) minmax(0, 1fr);
    gap: 44px;
  }
}

body[data-page="overview"] .dashboard-sidebar__inner {
  gap: 18px;
}

body[data-page="overview"] .overview-sidebar-card {
  border: 0;
  border-top: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="overview"] .overview-sidebar-card .surface-card__body {
  padding: 14px 0 0;
}

body[data-page="overview"] .overview-sidebar-card--profile {
  border-top: 0;
}

body[data-page="overview"] .overview-sidebar-card--profile .surface-card__body {
  padding-top: 18px;
}

body[data-page="overview"] .overview-sidebar-card--nav .surface-card__body {
  padding-top: 10px;
}

body[data-page="overview"] .overview-hero {
  border: 1px solid rgba(1, 56, 44, 0.08);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(167, 243, 208, 0.28), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fafdfc 100%);
  box-shadow: none;
}

body[data-page="overview"] .overview-hero .page-banner__body {
  padding: 24px 26px 22px;
  gap: 16px;
  border-bottom: 0;
}

body[data-page="overview"] .overview-hero .page-banner__heading {
  max-width: 60ch;
}

body[data-page="overview"] .overview-hero .page-banner__heading h1 {
  font-size: clamp(1.55rem, 1.9vw, 2rem);
  line-height: 1.04;
}

body[data-page="overview"] .overview-hero .page-banner__heading p {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: rgba(1, 56, 44, 0.74);
}

body[data-page="overview"] .overview-metric-strip {
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid var(--line-soft);
  gap: 16px 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 980px) {
  body[data-page="overview"] .overview-metric-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

body[data-page="overview"] .overview-metric-strip .metric-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

body[data-page="overview"] .overview-metric-strip .metric-card__value {
  font-size: 1.3rem;
}

body[data-page="overview"] .overview-grid--focused {
  gap: 28px 30px;
}

body[data-page="overview"] .overview-grid--focused > .overview-priority-panel,
body[data-page="overview"] .overview-grid--focused > .overview-aside-panel {
  border: 1px solid rgba(1, 56, 44, 0.08);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: none;
}

body[data-page="overview"] .overview-grid--focused > .overview-priority-panel {
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
}

body[data-page="overview"] .overview-grid--focused > .overview-priority-panel > .surface-card__body,
body[data-page="overview"] .overview-grid--focused > .overview-aside-panel > .surface-card__body {
  padding: 22px 24px;
}

body[data-page="overview"] .overview-grid--focused > .overview-change-panel {
  border: 0;
  border-top: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="overview"] .overview-grid--focused > .overview-change-panel > .surface-card__body {
  padding: 20px 0 0;
}

body[data-page="overview"] .overview-priority-panel .section-header__copy h2,
body[data-page="overview"] .overview-aside-panel .surface-card__title,
body[data-page="overview"] .overview-change-panel .section-header__copy h2 {
  letter-spacing: -0.03em;
}

body[data-page="overview"] .overview-priority-panel .action-board,
body[data-page="overview"] .overview-change-panel .signal-feed {
  margin-top: 20px;
}

body[data-page="overview"] .overview-priority-panel .action-item,
body[data-page="overview"] .overview-change-panel .signal-row {
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  border-radius: 0;
  background: transparent;
}

body[data-page="overview"] .overview-priority-panel .action-board li:first-child .action-item {
  padding: 18px;
  border: 1px solid rgba(5, 150, 105, 0.12);
  border-radius: 16px;
  background: #f7faf8;
}

body[data-page="overview"] .overview-priority-panel .action-board li:first-child .action-item:hover,
body[data-page="overview"] .overview-priority-panel .action-board li:first-child .action-item:focus-visible {
  background: #f0f9f5;
}

body[data-page="overview"] .overview-priority-panel .action-item__link,
body[data-page="overview"] .overview-change-panel .signal-row__time {
  margin-top: 4px;
}

body[data-page="overview"] .overview-aside-panel .health-list {
  margin-top: 18px;
}

body[data-page="overview"] .overview-aside-panel .health-list li {
  padding: 12px 0;
}

body[data-page="overview"] .overview-aside-panel .section-footer {
  margin-top: 16px;
}

body[data-page="overview"] .overview-aside-panel--search {
  background: linear-gradient(180deg, #fcfdfd 0%, #f8fbfa 100%);
}

body[data-page="overview"] .overview-aside-panel--search .search-health-card {
  margin-top: 16px;
}

.signal-row__time {
  text-align: right;
}

body[data-page="overview"] .overview-layout {
  display: block;
  padding-top: 16px;
}

body[data-page="overview"] .dashboard-main--overview {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

body[data-page="overview"] .overview-nav-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

@media (max-width: 1119px) {
  body[data-page="overview"] .overview-nav-strip {
    display: none;
  }
}

body[data-page="overview"] .overview-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.82);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink-soft);
}

body[data-page="overview"] .overview-nav-link span {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.06);
  font-size: 0.75rem;
  color: var(--ink);
}

body[data-page="overview"] .overview-nav-link.is-active {
  border-color: rgba(5, 150, 105, 0.18);
  background: #f0fdf8;
  color: var(--ink);
}

body[data-page="overview"] .overview-hero--simple {
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: none;
}

body[data-page="overview"] .overview-hero--simple .page-banner__body {
  padding: 22px 24px;
  gap: 16px;
  border-bottom: 0;
}

body[data-page="overview"] .overview-hero--simple .page-banner__heading {
  max-width: 46rem;
}

body[data-page="overview"] .overview-hero--simple .page-banner__heading h1 {
  font-size: clamp(1.55rem, 2vw, 2.1rem);
  line-height: 1.05;
}

body[data-page="overview"] .overview-hero--simple .page-banner__heading p {
  max-width: 42rem;
  font-size: 0.95rem;
  line-height: 1.65;
  color: rgba(1, 56, 44, 0.72);
}

body[data-page="overview"] .overview-metric-strip--simple {
  padding-top: 18px;
  border-top: 1px solid var(--line-soft);
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page="overview"] .overview-metric-strip--simple .metric-card {
  border: 0;
  border-radius: 12px;
  background: #f8fbfa;
  padding: 14px;
}

body[data-page="overview"] .overview-metric-strip--simple .metric-card__value {
  font-size: 1.4rem;
}

body[data-page="overview"] .page-grid--overview-simple {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

body[data-page="overview"] .overview-home-panel {
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: none;
}

body[data-page="overview"] .overview-home-panel .surface-card__body {
  padding: 22px 24px;
}

body[data-page="overview"] .overview-home-panel--actions {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
}

body[data-page="overview"] .overview-task-list,
body[data-page="overview"] .overview-update-list {
  display: grid;
  gap: 0;
  margin-top: 18px;
}

body[data-page="overview"] .overview-task,
body[data-page="overview"] .overview-update-row {
  display: grid;
  gap: 8px;
  padding: 18px 0;
  border-top: 1px solid var(--line-soft);
  color: inherit;
  text-decoration: none;
}

body[data-page="overview"] .overview-task:first-child,
body[data-page="overview"] .overview-update-row:first-child {
  padding-top: 0;
  border-top: 0;
}

body[data-page="overview"] .overview-task:hover,
body[data-page="overview"] .overview-update-row:hover,
body[data-page="overview"] .overview-task:focus-visible,
body[data-page="overview"] .overview-update-row:focus-visible {
  outline: none;
  color: inherit;
}

body[data-page="overview"] .overview-task--urgent {
  padding: 18px;
  border: 1px solid rgba(5, 150, 105, 0.12);
  border-radius: 16px;
  background: #f7faf8;
}

body[data-page="overview"] .overview-task__top,
body[data-page="overview"] .overview-update-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

body[data-page="overview"] .overview-task__top strong,
body[data-page="overview"] .overview-update-row h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--ink-strong);
}

body[data-page="overview"] .overview-task__top span,
body[data-page="overview"] .overview-update-row > span {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink-faint);
  white-space: nowrap;
}

body[data-page="overview"] .overview-task p,
body[data-page="overview"] .overview-update-row p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--ink-soft);
}

body[data-page="overview"] .overview-task__meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--accent-hover);
}

body[data-page="overview"] .overview-task__meta::after {
  content: "→";
  font-size: 0.9em;
}

body[data-page="overview"] .overview-destination-grid {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-page="overview"] .overview-destination-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid var(--line-soft);
  background: #fcfdfd;
  color: inherit;
  text-decoration: none;
}

body[data-page="overview"] .overview-destination-card:hover,
body[data-page="overview"] .overview-destination-card:focus-visible {
  border-color: rgba(5, 150, 105, 0.18);
  background: #f7faf8;
  outline: none;
}

body[data-page="overview"] .overview-destination-card__meta {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ink-faint);
}

body[data-page="overview"] .overview-destination-card h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ink-strong);
}

body[data-page="overview"] .overview-destination-card p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.58;
  color: var(--ink-soft);
}

body[data-page="overview"] .overview-layout--compressed {
  display: block;
  padding-top: 16px;
}

@media (min-width: 1120px) {
  body[data-page="overview"] .overview-layout--compressed {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
  }
}

body[data-page="overview"] .overview-layout--compressed .dashboard-main--overview {
  max-width: none;
  margin: 0;
}

body[data-page="overview"] .overview-sidebar {
  gap: 12px;
}

body[data-page="overview"] .overview-sidebar-panel {
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

body[data-page="overview"] .overview-sidebar-panel .surface-card__body {
  padding: 12px;
}

body[data-page="overview"] .overview-sidebar-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink-soft);
}

body[data-page="overview"] .overview-sidebar-link__main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

body[data-page="overview"] .overview-sidebar-link__icon {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(1, 56, 44, 0.05);
  color: rgba(1, 56, 44, 0.82);
  flex-shrink: 0;
}

body[data-page="overview"] .overview-sidebar-link__icon svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body[data-page="overview"] .overview-sidebar-link + .overview-sidebar-link {
  margin-top: 4px;
}

body[data-page="overview"] .overview-sidebar-link strong {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.06);
  font-size: 0.75rem;
  color: var(--ink);
}

body[data-page="overview"] .overview-sidebar-link:hover,
body[data-page="overview"] .overview-sidebar-link:focus-visible {
  background: rgba(255, 255, 255, 0.82);
  outline: none;
}

body[data-page="overview"] .overview-sidebar-link.is-active {
  background: #f0fdf8;
  color: var(--ink);
}

body[data-page="overview"] .overview-sidebar-link.is-active .overview-sidebar-link__icon {
  background: rgba(5, 150, 105, 0.14);
  color: var(--accent-hover);
}

body[data-page="overview"] .overview-sidebar-panel--account {
  margin-top: 12px;
}

body[data-page="overview"] .overview-hero--compact {
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: none;
}

body[data-page="overview"] .overview-hero--compact .page-banner__body {
  padding: 18px 20px;
  gap: 12px;
  border-bottom: 0;
}

body[data-page="overview"] .overview-hero--compact .page-banner__heading {
  max-width: 42rem;
}

body[data-page="overview"] .overview-hero--compact .page-banner__heading h1 {
  font-size: clamp(1.45rem, 1.8vw, 1.95rem);
  line-height: 1.06;
}

body[data-page="overview"] .overview-hero--compact .page-banner__heading p {
  font-size: 0.875rem;
  line-height: 1.55;
  color: rgba(1, 56, 44, 0.72);
}

body[data-page="overview"] .dashboard-main--overview {
  display: grid;
  gap: 16px;
}

body[data-page="overview"] .overview-compressed-grid {
  display: grid;
  gap: 16px;
}

@media (min-width: 1120px) {
  body[data-page="overview"] .overview-compressed-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.9fr);
    align-items: start;
  }
}

body[data-page="overview"] .overview-home-panel {
  border: 1px solid var(--line-soft);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: none;
}

body[data-page="overview"] .overview-home-panel .surface-card__body {
  padding: 14px 16px;
}

body[data-page="overview"] .overview-home-panel--actions {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
}

body[data-page="overview"] .overview-home-panel--snapshot {
  align-self: start;
}

body[data-page="overview"] .metric-strip.metric-strip--swipable {
  padding: 0;
  border: none;
  gap: 12px;
}

body[data-page="overview"] .metric-strip .metric-card {
  padding: 12px 14px;
  border-radius: 12px;
}

body[data-page="overview"] .overview-task-list,
body[data-page="overview"] .overview-update-list {
  margin-top: 14px;
}

body[data-page="overview"] .overview-task,
body[data-page="overview"] .overview-update-row {
  padding: 14px 0;
}

body[data-page="overview"] .overview-task--urgent {
  padding: 16px;
}

body[data-page="overview"] .overview-task__headline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

body[data-page="overview"] .overview-task__index {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(1, 56, 44, 0.08);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ink);
}

body[data-page="overview"] .overview-snapshot-list {
  display: grid;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
}

body[data-page="overview"] .overview-snapshot-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--line-soft);
  font-size: 0.875rem;
  color: var(--ink-soft);
}

body[data-page="overview"] .overview-snapshot-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

body[data-page="overview"] .overview-snapshot-list strong {
  color: var(--ink-strong);
}

body[data-page="overview"] .overview-home-panel--updates {
  margin-top: 16px;
}

body[data-page="overview"] .overview-task-list {
  gap: 12px;
}

body[data-page="overview"] .overview-task {
  padding: 16px 18px;
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  background: #fcfdfd;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    transform 0.18s ease;
}

body[data-page="overview"] .overview-task:first-child {
  padding-top: 16px;
}

body[data-page="overview"] .overview-task:hover,
body[data-page="overview"] .overview-task:focus-visible {
  border-color: rgba(5, 150, 105, 0.18);
  background: #f7faf8;
  transform: translateY(-1px);
}

body[data-page="overview"] .overview-task--urgent {
  border-color: rgba(5, 150, 105, 0.14);
  background:
    linear-gradient(180deg, #f8fbfa 0%, #f3f8f6 100%);
}

body[data-page="overview"] .overview-task__top {
  align-items: center;
}

body[data-page="overview"] .overview-task__top > span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.9);
}

body[data-page="overview"] .overview-task__headline strong {
  font-size: 1.02rem;
  line-height: 1.15;
}

body[data-page="overview"] .overview-task__index {
  background: #ffffff;
  border: 1px solid rgba(1, 56, 44, 0.08);
}

body[data-page="overview"] .overview-task p {
  margin-top: 2px;
}

body[data-page="overview"] .overview-task__meta {
  margin-top: 2px;
}

@media (max-width: 1119px) {
  body[data-page="overview"] .overview-layout--compressed {
    display: block;
    padding-bottom: calc(100px + env(safe-area-inset-bottom));
  }

  body[data-page="overview"] .dashboard-sidebar {
    display: none;
  }
}

@media (max-width: 759px) {
  body[data-page="overview"] .overview-hero--compact .page-banner__body,
  body[data-page="overview"] .overview-home-panel .surface-card__body {
    padding: 16px;
  }

  body[data-page="overview"] .overview-task__top,
  body[data-page="overview"] .overview-update-row {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="overview"] .overview-task {
    padding: 14px 15px;
  }

  body[data-page="overview"] .overview-task__top span,
  body[data-page="overview"] .overview-update-row > span {
    white-space: normal;
  }
}

.empty-state {
  display: grid;
  gap: 8px;
  padding: 22px 0 2px;
  border-top: 1px solid var(--line-soft);
}

.empty-state[hidden] {
  display: none;
}

.empty-state__title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
}

.empty-state__copy {
  margin: 0;
  max-width: 46ch;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

/* Dark brand floating bottom nav — ink-green gradient w/ mint glow, mirrors
 * the .help-hero card so mobile dashboard chrome feels like one family.
 * Applied globally since this nav is shared across jobseeker + recruiter
 * mobile pages. */
.dashboard-bottom-nav {
  background:
    radial-gradient(circle at 90% -30%, rgba(131, 230, 189, 0.22) 0%, transparent 55%),
    radial-gradient(circle at 5% 120%, rgba(217, 223, 60, 0.10) 0%, transparent 60%),
    linear-gradient(135deg, #01382C 0%, #064E3B 55%, #005C47 100%);
  border-color: rgba(131, 230, 189, 0.22);
  box-shadow: 0 18px 48px rgba(1, 34, 27, 0.35), inset 0 1px 0 rgba(255, 254, 251, 0.06);
  bottom: calc(12px + env(safe-area-inset-bottom));
  isolation: isolate;
}

.dashboard-bottom-nav a {
  color: rgba(235, 255, 249, 0.62);
}

.dashboard-bottom-nav a.is-active {
  background: rgba(131, 230, 189, 0.18);
  color: #FFFEFB;
}

.dashboard-bottom-nav a:hover {
  color: rgba(235, 255, 249, 0.9);
}

.dashboard-bottom-nav a.is-active svg {
  stroke: #FFFEFB;
  opacity: 1;
}

.mobile-nav__panel,
.mobile-sheet__panel {
  background: rgba(255, 254, 251, 0.985);
  box-shadow: 0 -16px 44px rgba(1, 34, 27, 0.12);
}

@media (max-width: 1119px) {
  .page-banner__body {
    padding: 6px 0 20px;
  }

  .messages-pane,
  .messages-pane__body {
    min-height: 0;
  }

  .messages-detail {
    display: none;
  }

  .feed-card:hover,
  .tracker-card:hover,
  .saved-card:hover,
  .conversation-card:hover,
  .notification-card:hover,
  .feed-card.is-active,
  .tracker-card.is-active,
  .saved-card.is-active,
  .conversation-card.is-active,
  .notification-card.is-unread {
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 759px) {
  .dashboard-layout {
    padding-bottom: calc(156px + env(safe-area-inset-bottom));
  }

  .page-banner__heading h1 {
    font-size: 1.45rem;
  }

  .toolbar-panel .surface-card__body {
    padding-bottom: 16px;
  }

  .notifications-summary,
  .metric-strip,
  .saved-card__metrics,
  .detail-split {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="overview"] .overview-hero {
    border-radius: 18px;
  }

  body[data-page="overview"] .overview-hero .page-banner__body,
  body[data-page="overview"] .overview-grid--focused > .overview-priority-panel > .surface-card__body,
  body[data-page="overview"] .overview-grid--focused > .overview-aside-panel > .surface-card__body {
    padding: 18px;
  }

  body[data-page="overview"] .overview-metric-strip {
    padding-top: 16px;
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="overview"] .overview-nav-strip {
    display: none;
  }

  body[data-page="overview"] .overview-hero--simple .page-banner__body,
  body[data-page="overview"] .overview-home-panel .surface-card__body {
    padding: 18px;
  }

  body[data-page="overview"] .overview-metric-strip--simple {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="overview"] .overview-task__top,
  body[data-page="overview"] .overview-update-row,
  body[data-page="overview"] .overview-destination-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="overview"] .overview-task__top span,
  body[data-page="overview"] .overview-update-row > span {
    white-space: normal;
  }

  .notification-card {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .notification-card__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    padding-left: 56px;
  }

  .conversation-card__footer {
    flex-wrap: wrap;
  }

  .workstream-row,
  .overview-signal-row,
  .overview-search-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .workstream-row {
    gap: 12px;
  }

  .workstream-row__meta,
  .overview-signal-row > span {
    justify-items: start;
    text-align: left;
  }

  .priority-item__meta,
  .action-item__meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .signal-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .signal-row__time {
    white-space: normal;
  }
}

/* ── Search strip, filters, job rows (from /jobs/) ── */

.search-strip {
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
  padding: 16px 0;
}

.search-strip-inner {
  display: flex;
  align-items: center;
  gap: 10px;
}

.search-field {
  position: relative;
  min-width: 0;
}

.search-field--keyword {
  flex: 1 1 0;
  min-width: 0;
}

.search-keyword,
.search-location-input {
  height: 42px;
  padding: 0 14px;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  font-size: 0.875rem;
  color: #01382C;
  background: #fff;
  outline: none;
  min-width: 0;
}

.search-keyword {
  width: 100%;
}

.search-location-wrap {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
}

.search-location-input {
  width: 100%;
}

.search-keyword:focus,
.search-location-input:focus {
  border-color: #059669;
}

.search-keyword::placeholder,
.search-location-input::placeholder {
  color: #9CA3AF;
}

.search-location-mobile {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #E5E7EB;
  color: #01382C;
  flex-shrink: 0;
  cursor: pointer;
}

.search-location-mobile:hover {
  border-color: rgba(1, 56, 44, 0.18);
  background: #F8FBF9;
}

.search-filters-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
  background: #fff;
  color: rgba(1, 56, 44, 0.76);
  flex-shrink: 0;
  cursor: pointer;
}

.search-filters-trigger:hover {
  border-color: rgba(1, 56, 44, 0.18);
  background: #F8FBF9;
  color: #01382C;
}

.search-location-mobile svg,
.search-filters-trigger svg,
.search-go svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.autocomplete-menu[hidden] {
  display: none;
}

.autocomplete-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 100%;
  min-width: 280px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 20px 45px rgba(1, 34, 27, 0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: grid;
  gap: 8px;
  z-index: 90;
}

.autocomplete-menu--location {
  min-width: 260px;
}

.autocomplete-menu__label {
  padding: 0 6px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.38);
}

.autocomplete-menu__options {
  display: grid;
  gap: 6px;
}

.autocomplete-menu__option {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: #01382C;
  text-align: left;
  transition: background 0.15s, border-color 0.15s, transform 0.15s;
}

.autocomplete-menu__option:hover,
.autocomplete-menu__option.is-active {
  background: #F4FBF7;
  border-color: rgba(5, 150, 105, 0.16);
  transform: translateY(-1px);
}

.autocomplete-menu__copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.autocomplete-menu__primary {
  font-size: 0.875rem;
  font-weight: 600;
  color: #01382C;
  line-height: 1.3;
}

.autocomplete-menu__secondary {
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.48);
  line-height: 1.45;
}

.autocomplete-menu__secondary:empty {
  display: none;
}

.autocomplete-menu__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(5, 150, 105, 0.1);
  color: #047857;
  font-size: 0.6875rem;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}

.autocomplete-menu__badge:empty {
  display: none;
}

.autocomplete-menu__empty {
  padding: 12px;
  border-radius: 14px;
  background: #F8FBF9;
  color: rgba(1, 56, 44, 0.5);
  font-size: 0.8125rem;
  line-height: 1.55;
}

.search-sheet {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}

.search-sheet[data-open="true"] {
  display: block;
}

.search-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 34, 27, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.search-sheet__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: #FFFEFB;
  animation: searchSheetUp 0.22s ease forwards;
}

@keyframes searchSheetUp {
  from {
    transform: translateY(12px);
    opacity: 0.7;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.search-sheet__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 22px 22px 16px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
  flex-shrink: 0;
}

.search-sheet__title {
  font-size: 1.35rem;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #01382C;
  margin: 0;
  font-weight: 600;
}

.search-sheet__close {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.06);
  color: #01382C;
  font-size: 1.25rem;
  line-height: 1;
  flex-shrink: 0;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}

.search-sheet__close:hover {
  background: rgba(1, 56, 44, 0.1);
}

.search-sheet__body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 18px 22px 24px;
}

.search-sheet__input-shell {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: #fff;
  padding: 0 10px 0 14px;
  transition: border-color 0.18s, box-shadow 0.18s;
}

.search-sheet__input-shell:focus-within {
  border-color: rgba(5, 150, 105, 0.35);
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.12);
}

.search-sheet__search-icon {
  color: rgba(1, 56, 44, 0.55);
  flex-shrink: 0;
}

.search-sheet__search-icon svg,
.search-sheet__suggestion-icon svg {
  width: 18px;
  height: 18px;
}

.search-sheet__input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 0 10px;
  border: 0;
  background: transparent;
  color: #01382C;
  font-size: 0.9375rem;
  font-weight: 500;
  outline: none;
}

.search-sheet__input::placeholder {
  color: rgba(1, 56, 44, 0.42);
}

.search-sheet__clear {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.08);
  color: #01382C;
  font-size: 1rem;
  line-height: 1;
  border: 0;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s;
}

.search-sheet__clear:hover {
  background: rgba(1, 56, 44, 0.14);
}

.search-sheet__input-shell[data-has-value="true"] .search-sheet__clear {
  display: inline-flex;
}

.search-sheet__suggestions {
  margin-top: 18px;
  display: grid;
  gap: 6px;
}

.search-sheet__suggestions-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.42);
  margin: 0 0 4px;
  padding-left: 4px;
}

.search-sheet__suggestions-list {
  display: grid;
  gap: 6px;
}

.search-sheet__suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 12px;
  background: transparent;
  border: 0;
  color: #01382C;
  font-size: 0.9375rem;
  text-align: left;
  cursor: pointer;
  transition: background 0.12s;
}

.search-sheet__suggestion:hover,
.search-sheet__suggestion:focus-visible {
  background: rgba(1, 56, 44, 0.04);
  outline: none;
}

.search-sheet__suggestion-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(5, 150, 105, 0.08);
  color: #059669;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.search-sheet__suggestion-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.search-sheet__suggestion-label {
  font-weight: 500;
  color: #01382C;
}

.search-sheet__suggestion-meta {
  color: rgba(1, 56, 44, 0.55);
  font-size: 0.8125rem;
  font-weight: 400;
}

.search-sheet__suggestion-meta:empty {
  display: none;
}

.search-sheet__empty {
  padding: 24px 16px;
  text-align: center;
  color: rgba(1, 56, 44, 0.55);
  font-size: 0.875rem;
}

.search-sheet__footer {
  display: flex;
  align-items: center;
  padding: 14px 22px calc(14px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(1, 56, 44, 0.06);
  background: rgba(255, 254, 251, 0.94);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  flex-shrink: 0;
}

.search-sheet__submit {
  flex: 1 1 0;
  min-height: 48px;
  border: 0;
  border-radius: 14px;
  background: #059669;
  color: #fff;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}

.search-sheet__submit:hover,
.search-sheet__submit:focus-visible {
  background: #047857;
  outline: none;
}

.search-sheet__submit:active {
  transform: scale(0.98);
}

.search-location-mobile.has-selection {
  border-color: rgba(5, 150, 105, 0.22);
  background: #F0FDF8;
  color: #047857;
}

@media (min-width: 768px) {
  .search-sheet {
    display: none !important;
  }
}

.search-strip button.search-go {
  height: 42px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
  background: #059669;
  color: #fff;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  flex-shrink: 0;
}

.search-strip button.search-go:hover {
  background: #047857;
}

.search-go-icon {
  display: none;
}

.filter-bar {
  position: relative;
  border-bottom: none;
  padding: 16px 0 0;
}

.filter-bar-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.filter-bar-inner::-webkit-scrollbar {
  display: none;
}

.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(1, 56, 44, 0.55);
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: #fff;
  white-space: nowrap;
  cursor: pointer;
  scroll-snap-align: start;
}

.filter-chip:hover {
  border-color: rgba(1, 56, 44, 0.25);
  color: #01382C;
}

.filter-chip.active,
.filter-chip.is-active {
  border-color: #059669;
  color: #059669;
  background: #F0FDF8;
}

.filter-chip svg {
  width: 12px;
  height: 12px;
}

/* ── View-chip: icon-only segmented toggle inside filter bar ── */

.view-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(1, 56, 44, 0.1);
  border-radius: 999px;
  background: #fff;
  padding: 2px;
  margin-left: auto;
  flex-shrink: 0;
}

.view-chip__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(1, 56, 44, 0.4);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.view-chip__btn:hover {
  color: rgba(1, 56, 44, 0.7);
  background: rgba(5, 150, 105, 0.06);
}

.view-chip__btn.is-active {
  background: #F0FDF8;
  color: #059669;
}

.view-chip__btn svg {
  width: 16px;
  height: 16px;
}

.results-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 14px 0 10px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
}

.results-mobile-intro {
  padding: 14px 0 0;
}

.results-mobile-intro h1 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ink-strong, #0f172a);
}

.results-mobile-intro p {
  margin: 6px 0 0;
  font-size: 0.875rem;
  color: rgba(1, 56, 44, 0.55);
}

.results-count {
  font-size: 0.8125rem;
  color: rgba(1, 56, 44, 0.45);
}

.results-count strong {
  color: #01382C;
  font-weight: 600;
}

.results-header__right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.results-sort {
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.4);
  display: flex;
  align-items: center;
  gap: 6px;
}

.results-sort select {
  border: none;
  background: transparent;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 500;
  color: #01382C;
  cursor: pointer;
  outline: none;
}

.job-list {
  display: flex;
  flex-direction: column;
  padding: 0 12px;
  margin: 0 -12px;
}

.job-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  text-align: left;
  padding: 16px 12px;
  border: 0;
  border-bottom: 1px solid rgba(1, 56, 44, 0.05);
  background: transparent;
  cursor: pointer;
  border-radius: 12px;
  transition: background 0.15s, box-shadow 0.15s;
}

.job-row:hover,
.job-row:focus-visible,
.job-row.is-open {
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.28), 0 8px 18px rgba(1, 56, 44, 0.04);
  border-bottom-color: transparent;
}

.job-row.is-active {
  background: #f7fbf9;
  border-radius: 12px;
  padding: 14px 12px;
  box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.12);
  border-bottom-color: transparent;
}

.job-logo {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #ffffff;
  flex-shrink: 0;
}

.job-content {
  flex: 1;
  min-width: 0;
}

.job-title {
  margin: 0 0 4px;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  color: #01382C;
}

.job-title a {
  color: inherit;
  text-decoration: none;
}

.job-meta {
  margin: 0;
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.45);
}

.job-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 10px;
}

.job-tag {
  padding: 3px 10px;
  border-radius: 4px;
  border: 1px solid transparent;
  font-size: 0.6875rem;
  font-weight: 500;
  background: #f3f4f6;
  color: rgba(1, 56, 44, 0.5);
}

.job-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  min-width: 52px;
  flex-shrink: 0;
  margin-left: auto;
}

.job-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 24px;
  padding: 0 8px;
  border-radius: 6px;
  font-size: 0.6875rem;
  font-weight: 700;
  background: #ecfdf5;
  color: #065f46;
}

.job-time {
  font-size: 0.6875rem;
  color: rgba(1, 56, 44, 0.3);
  white-space: nowrap;
}

/* Mobile search strip grid layout (matches /jobs/) */
@media (max-width: 767px) {
  .autocomplete-menu {
    display: none !important;
  }

  .search-strip-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px 44px 44px;
    align-items: center;
    gap: 8px;
  }

  /* Messages + Notifications pages have 2 icon buttons, not 3 — drop the unused 4th column */
  body[data-page="messages"] .search-strip-inner,
  body[data-page="notifications"] .search-strip-inner {
    grid-template-columns: minmax(0, 1fr) 44px 44px;
  }

  .search-strip {
    padding: 12px 0;
  }

  .search-keyword,
  .search-location-mobile,
  .search-filters-trigger,
  .search-strip button.search-go {
    height: 44px;
    border-radius: 10px;
  }

  .search-keyword {
    width: 100%;
    padding: 0 14px;
  }

  .search-field--keyword {
    grid-column: 1;
  }

  .search-location-wrap {
    flex: none;
  }

  .search-location-input {
    display: none;
  }

  .search-location-mobile {
    display: inline-flex;
  }

  .search-filters-trigger {
    display: inline-flex;
    width: 44px;
  }

  .search-strip button.search-go {
    width: 44px;
    padding: 0;
  }

  .search-go-label {
    display: none;
  }

  .search-go-icon {
    display: inline-flex;
  }

  .job-logo {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    font-size: 0.625rem;
  }

  .job-title {
    font-size: 0.875rem;
  }
}

@media (max-width: 1119px) {
  body[data-page="feed"] .page-grid--feed,
  body[data-page="tracker"] .page-grid--tracker {
    display: block;
    margin-top: 0;
  }

  body[data-page="feed"] .page-grid--feed > .detail-panel,
  body[data-page="tracker"] .page-grid--tracker > .detail-panel {
    display: none;
  }

  body[data-page="feed"] .page-banner,
  body[data-page="tracker"] .page-banner,
  body[data-page="messages"] .page-banner,
  body[data-page="saved"] .page-banner,
  body[data-page="notifications"] .page-banner {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body[data-page="feed"] .page-banner__body,
  body[data-page="tracker"] .page-banner__body,
  body[data-page="messages"] .page-banner__body,
  body[data-page="saved"] .page-banner__body,
  body[data-page="notifications"] .page-banner__body {
    padding: 0 0 6px !important;
  }

  body[data-page="feed"] .page-banner__meta,
  body[data-page="tracker"] .page-banner__meta,
  body[data-page="messages"] .page-banner__meta,
  body[data-page="saved"] .page-banner__meta,
  body[data-page="notifications"] .page-banner__meta {
    display: none;
  }

  body[data-page="feed"] .page-banner__actions,
  body[data-page="tracker"] .page-banner__actions,
  body[data-page="messages"] .page-banner__actions,
  body[data-page="saved"] .page-banner__actions,
  body[data-page="notifications"] .page-banner__actions {
    display: none;
  }

  body[data-page="feed"] .page-banner__heading h1,
  body[data-page="tracker"] .page-banner__heading h1,
  body[data-page="messages"] .page-banner__heading h1,
  body[data-page="saved"] .page-banner__heading h1,
  body[data-page="notifications"] .page-banner__heading h1 {
    font-size: 1.35rem;
  }

  body[data-page="feed"] .page-banner__heading p,
  body[data-page="tracker"] .page-banner__heading p,
  body[data-page="messages"] .page-banner__heading p,
  body[data-page="saved"] .page-banner__heading p,
  body[data-page="notifications"] .page-banner__heading p {
    font-size: 0.8125rem;
    margin-top: 4px;
  }

  body[data-page="feed"] .results-mobile-intro,
  body[data-page="tracker"] .results-mobile-intro {
    display: none;
  }

  body[data-page="feed"] .dashboard-layout,
  body[data-page="tracker"] .dashboard-layout,
  body[data-page="applications"] .dashboard-layout,
  body[data-page="messages"] .dashboard-layout,
  body[data-page="saved"] .dashboard-layout,
  body[data-page="notifications"] .dashboard-layout,
  body[data-page="recruiter-notifications"] .dashboard-layout {
    gap: 0 !important;
    padding-top: 8px !important;
    padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  }

  body[data-page="feed"] .metric-strip.metric-strip--swipable,
  body[data-page="tracker"] .metric-strip.metric-strip--swipable,
  body[data-page="applications"] .metric-strip.metric-strip--swipable,
  body[data-page="messages"] .metric-strip.metric-strip--swipable,
  body[data-page="saved"] .metric-strip.metric-strip--swipable,
  body[data-page="notifications"] .metric-strip.metric-strip--swipable {
    margin: 0 !important;
    padding: 16px 0;
  }

  body[data-page="feed"] .metric-strip.metric-strip--swipable,
  body[data-page="messages"] .metric-strip.metric-strip--swipable {
    padding-top: 0;
    border-top: none;
  }

  body[data-page="feed"] .page-grid,
  body[data-page="tracker"] .page-grid,
  body[data-page="applications"] .page-grid {
    display: block !important;
    margin-top: 0 !important;
  }

  body[data-page="feed"] .page-grid > .detail-panel,
  body[data-page="tracker"] .page-grid > .detail-panel,
  body[data-page="applications"] .page-grid > .detail-panel {
    display: none !important;
  }

  body[data-page="feed"] .section-stack,
  body[data-page="tracker"] .section-stack,
  body[data-page="applications"] .section-stack {
    display: block !important;
  }
}

/* ── Tracker: job-modal popup (mirrors /jobs/ layout) ── */

.job-modal[hidden] { display: none; }

.job-modal {
  position: fixed;
  inset: 0;
  z-index: 220;
  padding: 18px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.job-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 34, 27, 0.54);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.job-modal__dialog {
  position: relative;
  width: min(760px, 100%);
  max-height: min(88vh, 780px);
  overflow: hidden;
  border-radius: 20px;
  background: rgba(255, 254, 251, 0.98);
  box-shadow: 0 28px 70px rgba(1, 34, 27, 0.24);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid rgba(1, 56, 44, 0.08);
}

.job-modal__close {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(255, 125, 102, 0.12);
  border: 1px solid rgba(255, 125, 102, 0.18);
  color: #FF7D66;
  font-size: 1.25rem;
  line-height: 1;
  transition: background 0.15s, color 0.15s;
  flex-shrink: 0;
}

.job-modal__close:hover {
  background: rgba(255, 125, 102, 0.18);
}

.job-modal__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.job-modal__toolbar-start,
.job-modal__toolbar-end {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.job-modal__toolbar-start {
  flex: 1 1 auto;
  min-width: 0;
}

.job-modal__toolbar-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  background: rgba(1, 56, 44, 0.04);
  color: rgba(1, 56, 44, 0.58);
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}

.job-modal__toolbar-status strong {
  color: #059669;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.job-modal__toolbar-nav {
  display: grid;
  grid-auto-flow: column;
  gap: 8px;
}

.job-modal__toolbar-nav button {
  min-width: 92px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: #fff;
  color: rgba(1, 56, 44, 0.76);
  font-size: 0.8125rem;
  font-weight: 600;
}

.job-modal__toolbar-nav button:hover {
  border-color: rgba(5, 150, 105, 0.2);
  background: #F0FDF8;
  color: #03543F;
}

.job-modal__toolbar-nav button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.job-modal__detail {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
  padding: 24px 26px 28px;
  background:
    radial-gradient(100% 60% at 100% 0%, rgba(131, 230, 189, 0.16) 0%, rgba(131, 230, 189, 0) 52%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 253, 252, 0.98));
}

.job-modal__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
}

.job-modal__identity {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.job-modal__logo {
  width: 54px;
  height: 54px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
  box-shadow: inset 0 -8px 16px rgba(255, 255, 255, 0.12);
}

.job-modal__title {
  font-size: clamp(1.85rem, 2.1vw, 2.6rem);
  line-height: 1.04;
  letter-spacing: -0.03em;
  margin-bottom: 10px;
  color: #01382C;
}

.job-modal__company-line {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(1, 56, 44, 0.6);
  margin-bottom: 0;
}

/* Modal reuse of detail-panel inner styles */
.job-modal .detail-panel__top {
  display: none;
}

.job-modal .detail-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 8px;
}

.job-modal .detail-section {
  display: grid;
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid rgba(1, 56, 44, 0.08);
  margin-top: 20px;
}

.job-modal .detail-section:first-child {
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

.job-modal .detail-section h3 {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.42);
}

.job-modal .detail-section p,
.job-modal .detail-section li {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: rgba(1, 56, 44, 0.72);
  max-width: 64ch;
}

.job-modal .timeline-list {
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 0;
}

.job-modal .timeline-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.job-modal .timeline-item__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #059669;
  flex-shrink: 0;
  margin-top: 5px;
}

.job-modal .timeline-item__body h4 {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #01382C;
  line-height: 1.3;
}

.job-modal .timeline-item__body p {
  margin: 4px 0 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: rgba(1, 56, 44, 0.56);
}

.job-modal .checklist {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.job-modal .checklist__item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.job-modal .checklist__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(5, 150, 105, 0.3);
  border: 2px solid #059669;
  flex-shrink: 0;
  margin-top: 6px;
}

@media (max-width: 599px) {
  .job-modal {
    padding: 0;
    align-items: flex-end;
  }

  .job-modal__dialog {
    width: 100%;
    max-height: 94vh;
    border-radius: 20px 20px 0 0;
  }

  .job-modal__toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 12px 14px;
  }

  .job-modal__toolbar-start,
  .job-modal__toolbar-end {
    width: 100%;
  }

  .job-modal__toolbar-end {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }

  .job-modal__toolbar-nav {
    grid-auto-columns: 1fr;
  }

  .job-modal__toolbar-nav button {
    min-width: 0;
    min-height: 38px;
    font-size: 0.75rem;
  }

  .job-modal__close {
    grid-row: 1;
    grid-column: 2;
  }

  .job-modal__detail {
    padding: 18px 16px calc(24px + env(safe-area-inset-bottom, 0px));
  }

  .job-modal__logo {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    font-size: 0.75rem;
  }

  .job-modal__title {
    font-size: clamp(1.4rem, 6vw, 1.95rem);
    margin-bottom: 8px;
  }

  .job-modal__company-line {
    font-size: 0.875rem;
  }

  .job-modal__top {
    margin-bottom: 20px;
  }
}

/* ── Feed: job modal (mirrors /jobs/ job-modal) ── */

.feed-modal[hidden] { display: none; }

.feed-modal {
  position: fixed;
  inset: 0;
  z-index: 220;
  padding: 18px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.feed-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 34, 27, 0.54);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.feed-modal__dialog {
  position: relative;
  width: min(680px, 100%);
  max-height: min(88vh, 780px);
  overflow: hidden;
  border-radius: 20px;
  background: rgba(255, 254, 251, 0.98);
  box-shadow: 0 28px 70px rgba(1, 34, 27, 0.24);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  border: 1px solid rgba(1, 56, 44, 0.08);
}

.feed-modal__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.feed-modal__toolbar-start {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.feed-modal__toolbar-logo {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #ffffff;
  background: var(--accent);
  flex-shrink: 0;
}

.feed-modal__toolbar-info {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.feed-modal__toolbar-info strong {
  font-size: 0.9375rem;
  line-height: 1.2;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.feed-modal__toolbar-info span {
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.45);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.feed-modal__toolbar-end {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.feed-modal__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: #ffffff;
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(1, 56, 44, 0.72);
  cursor: pointer;
}

.feed-modal__action-btn svg {
  width: 15px;
  height: 15px;
}

.feed-modal__action-btn:hover {
  border-color: rgba(5, 150, 105, 0.2);
  background: #f0fdf8;
  color: #03543f;
}

.feed-modal__close {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(255, 125, 102, 0.12);
  border: 1px solid rgba(255, 125, 102, 0.18);
  color: #ff7d66;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}

.feed-modal__close:hover {
  background: rgba(255, 125, 102, 0.18);
}

.feed-modal__body {
  overflow-y: auto;
  padding: 22px 24px;
  display: grid;
  gap: 16px;
}

.feed-modal__body .detail-panel__top,
.job-modal__detail-content .detail-panel__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.feed-modal__body .detail-panel__top h2,
.job-modal__detail-content .detail-panel__top h2 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.feed-modal__body .detail-panel__top p,
.job-modal__detail-content .detail-panel__top p {
  margin: 6px 0 0;
  font-size: 0.8125rem;
  color: rgba(1, 56, 44, 0.55);
}

.feed-modal__body .detail-panel__actions,
.job-modal__detail-content .detail-panel__actions {
  display: none;
}

.job-modal__detail-content .detail-panel__top {
  display: none;
}

.feed-modal__body .detail-section,
.job-modal__detail-content .detail-section {
  padding-top: 16px;
  border-top: 1px solid var(--line-soft);
}

.feed-modal__body .detail-section h3,
.job-modal__detail-content .detail-section h3 {
  margin: 0 0 8px;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.42);
}

.feed-modal__body .detail-section p,
.job-modal__detail-content .detail-section p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--ink-soft);
}

.feed-modal__body .detail-pill-grid,
.job-modal__detail-content .detail-pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.feed-modal__body .detail-pill,
.job-modal__detail-content .detail-pill {
  padding: 4px 12px;
  border-radius: 6px;
  background: #f3f4f6;
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(1, 56, 44, 0.6);
}

.feed-modal__body .detail-list,
.job-modal__detail-content .detail-list {
  margin: 0;
  padding: 0 0 0 18px;
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--ink-soft);
}

.feed-modal__body .detail-split,
.job-modal__detail-content .detail-split {
  display: grid;
  gap: 14px;
}

@media (min-width: 600px) {
  .feed-modal__body .detail-split,
  .job-modal__detail-content .detail-split {
    grid-template-columns: 1fr 1fr;
  }
}

.feed-modal__footer {
  display: flex;
  gap: 10px;
  padding: 14px 18px;
  border-top: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.92);
}

@media (max-width: 599px) {
  .feed-modal {
    padding: 0;
    align-items: flex-end;
  }

  .feed-modal__dialog {
    width: 100%;
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
  }

  .feed-modal__toolbar {
    padding: 12px 16px;
  }

  .feed-modal__body {
    padding: 18px 16px;
  }

  .feed-modal__action-btn span {
    display: none;
  }

  .feed-modal__action-btn {
    padding: 0;
    width: 36px;
    justify-content: center;
  }
}

/* ── Job modal: dashboard context panel (replaces rail) ── */

.job-modal__context-panel .ctx-panel__body {
  overflow-y: auto;
  padding: 16px;
  display: grid;
  gap: 20px;
  align-content: start;
}

/* ── Skills Match Widget ── */

.ctx-panel__match-count {
  font-weight: 600;
  color: var(--accent);
  text-transform: none;
  letter-spacing: 0;
}

.ctx-panel__skills-grid {
  display: grid;
  gap: 4px;
}

.ctx-panel__skill {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 0.8125rem;
  font-weight: 500;
}

.ctx-panel__skill.is-matched {
  color: #059669;
  background: rgba(5, 150, 105, 0.06);
}

.ctx-panel__skill.is-missing {
  color: rgba(1, 56, 44, 0.38);
  background: rgba(1, 56, 44, 0.03);
}

.ctx-panel__skill svg {
  flex-shrink: 0;
}

/* ── Salary Range Widget ── */

.ctx-panel__salary-bar {
  display: grid;
  gap: 4px;
}

.ctx-panel__salary-track {
  position: relative;
  height: 8px;
  border-radius: 4px;
  background: rgba(1, 56, 44, 0.06);
}

.ctx-panel__salary-job {
  position: absolute;
  top: 0;
  height: 8px;
  border-radius: 4px;
  background: var(--accent);
  opacity: 0.7;
}

.ctx-panel__salary-you {
  position: absolute;
  top: 0;
  height: 8px;
  border-radius: 4px;
  border: 2px solid var(--ink);
  background: transparent;
}

.ctx-panel__salary-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.6875rem;
  color: var(--ink-faint);
}

.ctx-panel__salary-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: 0.75rem;
  color: var(--ink-soft);
}

.ctx-panel__salary-legend {
  display: flex;
  align-items: center;
  gap: 6px;
}

.ctx-panel__salary-legend-job {
  width: 10px;
  height: 6px;
  border-radius: 3px;
  background: var(--accent);
  opacity: 0.7;
}

.ctx-panel__salary-legend-you {
  width: 10px;
  height: 6px;
  border-radius: 3px;
  border: 2px solid var(--ink);
}

.ctx-panel__salary-verdict {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  justify-self: start;
}

.ctx-panel__salary-verdict.is-good {
  background: rgba(5, 150, 105, 0.08);
  color: #059669;
}

.ctx-panel__salary-verdict.is-above {
  background: rgba(245, 158, 11, 0.08);
  color: #D97706;
}

.ctx-panel__salary-verdict.is-below {
  background: rgba(220, 38, 38, 0.08);
  color: #DC2626;
}

/* ── Requirements Checklist Widget ── */

.ctx-panel__checklist {
  display: grid;
  gap: 4px;
}

.ctx-panel__check {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 0.8125rem;
}

.ctx-panel__check span {
  font-weight: 500;
  color: var(--ink);
}

.ctx-panel__check em {
  font-style: normal;
  font-size: 0.6875rem;
  color: var(--ink-faint);
  margin-left: auto;
  white-space: nowrap;
}

.ctx-panel__check.is-pass {
  color: #059669;
  background: rgba(5, 150, 105, 0.06);
}

.ctx-panel__check.is-fail {
  color: #DC2626;
  background: rgba(220, 38, 38, 0.04);
}

.ctx-panel__check.is-na {
  color: rgba(1, 56, 44, 0.32);
  background: rgba(1, 56, 44, 0.02);
}

.ctx-panel__check svg {
  flex-shrink: 0;
}

/* ── Job Stats Widget ── */

.ctx-panel__stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}

.ctx-panel__stat {
  display: grid;
  gap: 2px;
  text-align: center;
  padding: 8px 4px;
  border-radius: 8px;
  background: rgba(1, 56, 44, 0.03);
}

.ctx-panel__stat strong {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--ink);
}

.ctx-panel__stat span {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
}

/* ── Apply Method Preview Widget ── */

.ctx-panel__apply-preview {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(5, 150, 105, 0.04);
  border: 1px solid rgba(5, 150, 105, 0.1);
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

.ctx-panel__apply-preview svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--accent);
}

/* ── Days Counter Widget (Tracker) ── */

.ctx-panel__days-counter {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(1, 56, 44, 0.03);
}

.ctx-panel__days-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1;
}

.ctx-panel__days-label {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.ctx-panel__days-viewed {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--accent);
  margin-top: 2px;
}

.ctx-panel__days-nudge {
  font-size: 0.75rem;
  font-weight: 600;
  color: #D97706;
  margin-top: 2px;
}

/* ── Pipeline Summary Widget (Tracker) ── */

.ctx-panel__pipeline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ctx-panel__pipeline-item {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(1, 56, 44, 0.04);
  color: var(--ink-soft);
}

.ctx-panel__pipeline-item.is-current {
  background: rgba(5, 150, 105, 0.1);
  color: #059669;
}

.ctx-panel__pipeline-item strong {
  font-weight: 700;
}

/* ── Follow-up Info Widget (Tracker) ── */

.ctx-panel__followup {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(1, 56, 44, 0.03);
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

.ctx-panel__followup svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--ink-faint);
}

.ctx-panel__followup a {
  color: var(--accent);
  text-decoration: underline;
}

/* Sections */
.ctx-panel__section {
  display: grid;
  gap: 8px;
}

.ctx-panel__section-title {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(1, 56, 44, 0.38);
}

.ctx-panel__section-copy {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--ink-soft);
}

/* List */
.ctx-panel__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 6px;
}

.ctx-panel__list li {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--ink-soft);
  padding-left: 12px;
  position: relative;
}

.ctx-panel__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(5, 150, 105, 0.4);
}

.ctx-panel__list li strong {
  font-weight: 600;
  color: var(--ink);
}

/* Actions */
.ctx-panel__actions {
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line-soft);
}

.ctx-panel__apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: var(--accent);
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}

.ctx-panel__apply-btn:hover {
  background: var(--accent-hover);
}

.ctx-panel__save-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.ctx-panel__save-btn:hover {
  background: rgba(131, 230, 189, 0.16);
  border-color: rgba(5, 150, 105, 0.16);
}

/* ── Tracker context panel variant ── */

.job-modal__context-panel[data-panel-variant="tracker"] .ctx-panel__body {
  gap: 16px;
}

.ctx-panel__status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
}

.ctx-panel__status-badge[data-status="saved"] {
  background: rgba(99, 102, 241, 0.08);
  color: #6366F1;
}

.ctx-panel__status-badge[data-status="applied"] {
  background: rgba(5, 150, 105, 0.08);
  color: #059669;
}

.ctx-panel__status-badge[data-status="reviewing"] {
  background: rgba(245, 158, 11, 0.08);
  color: #D97706;
}

.ctx-panel__status-badge[data-status="interview"] {
  background: rgba(59, 130, 246, 0.08);
  color: #3B82F6;
}

.ctx-panel__status-badge[data-status="offer"] {
  background: rgba(16, 185, 129, 0.08);
  color: #10B981;
}

.ctx-panel__status-badge[data-status="archived"] {
  background: rgba(107, 114, 128, 0.08);
  color: #6B7280;
}

/* Timeline */
.ctx-panel__timeline {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}

.ctx-panel__timeline-item {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  padding-bottom: 14px;
  position: relative;
}

.ctx-panel__timeline-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 20px;
  bottom: 0;
  width: 2px;
  background: var(--line-soft);
}

.ctx-panel__timeline-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--line-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

.ctx-panel__timeline-dot.is-current {
  background: var(--accent);
}

.ctx-panel__timeline-dot.is-current::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffffff;
}

.ctx-panel__timeline-dot.is-done {
  background: rgba(5, 150, 105, 0.12);
  color: var(--accent);
}

.ctx-panel__timeline-text {
  display: grid;
  gap: 1px;
}

.ctx-panel__timeline-text strong {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
}

.ctx-panel__timeline-text span {
  font-size: 0.6875rem;
  color: var(--ink-faint);
}

/* Notes */
.ctx-panel__note {
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(244, 247, 245, 0.68);
  border: 1px solid var(--line-soft);
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

.ctx-panel__note-label {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--ink-faint);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
}

/* ── Tracker panel: status row + add note ── */

.ctx-panel__status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.ctx-panel__status-change {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: none;
  background: none;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--accent);
  cursor: pointer;
}

.ctx-panel__status-change:hover {
  color: var(--accent-hover);
}

.ctx-panel__add-note {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px dashed var(--line);
  background: none;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink-faint);
  cursor: pointer;
  width: 100%;
  justify-content: center;
}

.ctx-panel__add-note:hover {
  border-color: rgba(5, 150, 105, 0.2);
  color: var(--accent);
  background: rgba(5, 150, 105, 0.03);
}

/* ── Polished overview: entrance animations ── */

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.anim-fade-in {
  animation: fadeInUp 0.44s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.anim-delay-1 { animation-delay: 0.08s; }
.anim-delay-2 { animation-delay: 0.14s; }
.anim-delay-3 { animation-delay: 0.20s; }

/* ── Polished overview: dark hero ── */

body[data-page="overview"] .overview-hero--dark {
  border: 0;
  border-radius: 22px;
  background:
    radial-gradient(ellipse 60% 55% at 85% 15%, rgba(131, 230, 189, 0.18), transparent),
    radial-gradient(ellipse 40% 50% at 10% 90%, rgba(109, 89, 217, 0.12), transparent),
    linear-gradient(160deg, #01382c 0%, #052b22 55%, #01382c 100%);
  color: #dcf6ec;
  box-shadow:
    0 8px 32px rgba(1, 56, 44, 0.22),
    inset 0 1px 0 rgba(131, 230, 189, 0.08);
  overflow: hidden;
  position: relative;
}

body[data-page="overview"] .overview-hero--dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle 280px at 90% 20%, rgba(131, 230, 189, 0.06), transparent),
    radial-gradient(circle 200px at 70% 80%, rgba(217, 223, 60, 0.04), transparent);
  pointer-events: none;
}

body[data-page="overview"] .overview-hero--dark .page-banner__body {
  position: relative;
  padding: 28px 28px 24px;
  gap: 16px;
  overflow: hidden;
}

body[data-page="overview"] .overview-hero--dark .page-banner__heading h1 {
  font-size: clamp(1.55rem, 2vw, 2.1rem);
  line-height: 1.06;
  color: #ffffff;
  letter-spacing: -0.03em;
}

body[data-page="overview"] .overview-hero--dark .page-banner__heading p {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: rgba(220, 246, 236, 0.72);
  max-width: 54ch;
}

/* dark hero: status flash */
.status-flash--dark {
  background: rgba(131, 230, 189, 0.1);
  border-color: rgba(131, 230, 189, 0.14);
  color: #a7f3d0;
}

.status-flash--dark .status-flash__dot {
  background: #83e6bd;
  box-shadow: 0 0 0 4px rgba(131, 230, 189, 0.18);
}

@keyframes statusPulseDark {
  0%, 100% { box-shadow: 0 0 0 4px rgba(131, 230, 189, 0.18); }
  50%      { box-shadow: 0 0 0 8px rgba(131, 230, 189, 0.06); }
}

.status-flash--dark.status-flash--pulse .status-flash__dot {
  animation: statusPulseDark 2.4s ease-in-out infinite;
}

/* dark hero: mini pill */
.mini-pill--dark-accent {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(167, 243, 208, 0.08);
  color: #a7f3d0;
  border: 1px solid rgba(167, 243, 208, 0.12);
}

.mini-pill--dark-accent svg {
  flex-shrink: 0;
}

/* dark hero: buttons */
.button--highlight {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 12px;
  border: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  background: var(--highlight);
  color: #01382c;
}

.button--highlight:hover {
  background: #cbd432;
}

.button--ghost-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  border: 1px solid rgba(167, 243, 208, 0.2);
  background: rgba(167, 243, 208, 0.06);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  color: #dcf6ec;
}

.button--ghost-dark:hover {
  background: rgba(167, 243, 208, 0.12);
  border-color: rgba(167, 243, 208, 0.28);
}

/* ── Polished overview: dark snapshot card ── */

body[data-page="overview"] .overview-home-panel--snapshot-dark {
  background:
    radial-gradient(ellipse 70% 60% at 80% 10%, rgba(131, 230, 189, 0.1), transparent),
    linear-gradient(165deg, #01382c 0%, #052b22 100%);
  border-color: rgba(131, 230, 189, 0.08);
  color: #dcf6ec;
  box-shadow: 0 6px 24px rgba(1, 56, 44, 0.16);
}

body[data-page="overview"] .overview-home-panel--snapshot-dark .surface-card__eyebrow {
  color: rgba(167, 243, 208, 0.52);
}

body[data-page="overview"] .overview-home-panel--snapshot-dark .surface-card__title {
  color: #ffffff;
}

body[data-page="overview"] .overview-home-panel--snapshot-dark .overview-snapshot-list li {
  border-top-color: rgba(167, 243, 208, 0.08);
  color: rgba(220, 246, 236, 0.68);
}

body[data-page="overview"] .overview-home-panel--snapshot-dark .overview-snapshot-list strong {
  color: #ffffff;
  font-size: 1.2rem;
}

/* dark snapshot: dot colors on dark bg */
.overview-snapshot-dot--mint     { background: #83e6bd; }
.overview-snapshot-dot--amber    { background: #fbbf24; }
.overview-snapshot-dot--lavender { background: #a78bfa; }
.overview-snapshot-dot--slate    { background: rgba(220, 246, 236, 0.36); }

/* ── Polished overview: page canvas tint ── */

body[data-page="overview"],
body[data-page="feed"],
body[data-page="tracker"],
body[data-page="applications"],
body[data-page="messages"],
body[data-page="saved"],
body[data-page="notifications"],
body[data-page="settings"],
body[data-page="profile"],
body[data-page="referrals"] {
  background: linear-gradient(180deg, #eef2f0 0%, var(--canvas) 320px);
}

/* ── Polished overview: pulsing status dot ── */

@keyframes statusPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.12); }
  50%      { box-shadow: 0 0 0 7px rgba(5, 150, 105, 0.06); }
}

.status-flash--pulse .status-flash__dot {
  animation: statusPulse 2.4s ease-in-out infinite;
}

/* ── Polished overview: mini-pill with icon ── */

body[data-page="overview"] .mini-pill--accent {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(109, 89, 217, 0.08);
  color: #5b49b8;
}

body[data-page="overview"] .mini-pill--accent svg {
  flex-shrink: 0;
}

/* ── Polished overview: task due badges ── */

body[data-page="overview"] .overview-task__due {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink-faint);
  white-space: nowrap;
}

body[data-page="overview"] .overview-task__due--today {
  background: rgba(249, 115, 22, 0.08);
  border-color: rgba(249, 115, 22, 0.14);
  color: #c2410c;
}

/* ── Polished overview: task card hover shadow ── */

body[data-page="overview"] .overview-task:hover,
body[data-page="overview"] .overview-task:focus-visible {
  box-shadow: 0 4px 16px rgba(5, 150, 105, 0.06);
}

/* ── Polished overview: snapshot dots ── */

.overview-snapshot-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.overview-snapshot-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex-shrink: 0;
}

.overview-snapshot-dot--accent  { background: var(--accent); }
.overview-snapshot-dot--warning { background: var(--warning); }
.overview-snapshot-dot--violet  { background: var(--violet); }
.overview-snapshot-dot--soft    { background: rgba(1, 56, 44, 0.22); }

/* ── Polished overview: update rows with icons ── */

body[data-page="overview"] .overview-update-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-top: 1px solid var(--line-soft);
}

body[data-page="overview"] .overview-update-row:first-child {
  border-top: 0;
  padding-top: 0;
}

body[data-page="overview"] .overview-update-row:hover {
  background: transparent;
}

body[data-page="overview"] .overview-update-row:hover h3 {
  color: var(--accent-hover);
}

.overview-update-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  flex-shrink: 0;
}

.overview-update-icon svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.overview-update-icon--progress {
  background: rgba(251, 191, 36, 0.12);
  color: #a16207;
}

.overview-update-icon--new {
  background: rgba(5, 150, 105, 0.1);
  color: #047857;
}

.overview-update-icon--reminder {
  background: rgba(109, 89, 217, 0.1);
  color: #5b49b8;
}

.overview-update-tag {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink-faint);
  white-space: nowrap;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.04);
}

.overview-update-tag--new {
  background: rgba(5, 150, 105, 0.08);
  color: #047857;
}

/* ── Polished overview: bottom nav icons ── */

.dashboard-bottom-nav svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.72;
}

.dashboard-bottom-nav a.is-active svg {
  opacity: 1;
  stroke: #FFFEFB;
}

/* ── Polished overview: sidebar link hover lift ── */

body[data-page="overview"] .overview-sidebar-link:hover .overview-sidebar-link__icon,
body[data-page="overview"] .overview-sidebar-link:focus-visible .overview-sidebar-link__icon {
  background: rgba(5, 150, 105, 0.08);
  color: var(--accent-hover);
}

/* ── Polished overview: section header subtle underline ── */

body[data-page="overview"] .overview-home-panel .section-header {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line-soft);
}

/* ── Polished overview: snapshot strong values ── */

body[data-page="overview"] .overview-snapshot-list strong {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* ── Mobile responsive for update icons and dark hero ── */

@media (max-width: 759px) {
  /* 3-column layout matches the desktop pattern so the mini-pill sits to the
     right of the content block instead of falling into the 32px icon column
     (which would vertically compress "Update" / "New jobs" labels). */
  body[data-page="overview"] .overview-update-row {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
  }
  body[data-page="overview"] .overview-update-row > .mini-pill {
    white-space: nowrap;
    align-self: start;
  }

  .overview-update-icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
  }

  .overview-update-icon svg {
    width: 14px;
    height: 14px;
  }

  body[data-page="overview"] .overview-update-row .overview-update-tag {
    grid-column: 2;
    justify-self: start;
  }

  body[data-page="overview"] .overview-hero--dark {
    border-radius: 18px;
    margin-left: -2px;
    margin-right: -2px;
  }

  body[data-page="overview"] .overview-hero--dark .page-banner__body {
    padding: 20px 18px;
  }

  body[data-page="overview"] .overview-hero--dark .page-banner__meta {
    gap: 8px;
  }

  body[data-page="overview"] .overview-hero--dark .page-banner__heading h1 {
    font-size: 1.4rem;
    word-break: break-word;
  }

  body[data-page="overview"] .overview-hero--dark .page-banner__heading p {
    font-size: 0.875rem;
  }
}

/* Overview update-row badges — make them prominent (was too light on mobile) */
body[data-page="overview"] .overview-update-row > .mini-pill {
  background: rgba(1, 56, 44, 0.1);
  color: #01382C;
  border: 1px solid rgba(1, 56, 44, 0.18);
  font-weight: 700;
  min-height: 26px;
  padding: 3px 10px;
}
body[data-page="overview"] .overview-update-row > .mini-pill--new {
  background: #d1fae5;
  color: #065f46;
  border-color: rgba(5, 150, 105, 0.4);
}
body[data-page="overview"] .overview-update-row > .mini-pill:not(.mini-pill--new):not(.mini-pill--dark-accent):not(.mini-pill--accent) {
  background: #eff6ff;
  color: #1e3a8a;
  border-color: rgba(37, 99, 235, 0.3);
}

/* ── Filters panel (from /jobs/) ── */

.filters-panel[hidden] { display: none; }

.filters-panel {
  position: fixed;
  inset: 0;
  z-index: 180;
  display: flex;
  justify-content: flex-end;
}

.filters-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 34, 27, 0.3);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: panel-fade-in 0.18s ease;
}

.filters-panel__panel {
  position: relative;
  width: min(420px, 100vw);
  height: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 252, 249, 0.98) 100%);
  border-left: 1px solid rgba(1, 56, 44, 0.08);
  box-shadow: -22px 0 56px rgba(1, 34, 27, 0.14);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  animation: panel-slide-in 0.22s ease;
}

.filters-panel__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 22px 22px 16px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
}

.filters-panel__title {
  font-size: 1.35rem;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #01382C;
}

.filters-panel__close {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.06);
  color: #01382C;
  font-size: 1.125rem;
  line-height: 1;
  flex-shrink: 0;
  cursor: pointer;
  border: 0;
}

.filters-panel__close:hover {
  background: rgba(1, 56, 44, 0.1);
}

.filters-panel__overview {
  display: grid;
  gap: 8px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
  background: linear-gradient(180deg, rgba(240, 253, 248, 0.82), rgba(255, 255, 255, 0));
}

.filters-panel__selection {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(1, 56, 44, 0.08);
  color: rgba(1, 56, 44, 0.68);
  font-size: 0.75rem;
  font-weight: 700;
}

.filters-panel__summary {
  font-size: 0.8125rem;
  line-height: 1.6;
  color: rgba(1, 56, 44, 0.54);
  max-width: 38ch;
}

.filters-panel__sections {
  overflow-y: auto;
  padding: 18px 22px 24px;
}

.filters-panel__section + .filters-panel__section {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(1, 56, 44, 0.06);
}

.filters-panel__section-meta {
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.42);
  white-space: nowrap;
}

.filters-panel .sidebar-title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ink);
}

.filters-panel .filter-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 8px;
}

.filters-panel .filter-summary {
  margin: 0 0 12px;
  font-size: 0.8125rem;
  color: rgba(1, 56, 44, 0.54);
  max-width: 34ch;
}

.filters-panel__search-shell {
  display: flex;
  align-items: center;
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: #fff;
}

.filters-panel__search-shell:focus-within {
  border-color: rgba(5, 150, 105, 0.34);
  background: #F8FFFC;
  box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.08);
}

.filters-panel__search-icon {
  width: 16px;
  height: 16px;
  margin-left: 14px;
  color: rgba(1, 56, 44, 0.42);
  flex-shrink: 0;
}

.filters-panel__search-input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 0 14px 0 10px;
  border: 0;
  background: transparent;
  color: #01382C;
  font-size: 0.9375rem;
  font-weight: 500;
  outline: none;
}

.filters-panel__search-input::placeholder {
  color: rgba(1, 56, 44, 0.38);
}

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

.filters-panel__field {
  display: grid;
  gap: 8px;
}

.filters-panel__field-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(1, 56, 44, 0.48);
}

.filters-panel__input-shell {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 14px;
  border-radius: 16px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: #fff;
}

.filters-panel__input-shell:focus-within {
  border-color: rgba(5, 150, 105, 0.34);
  background: #F8FFFC;
  box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.08);
}

.filters-panel__input-prefix {
  color: rgba(1, 56, 44, 0.48);
  font-size: 0.9375rem;
  font-weight: 700;
  flex-shrink: 0;
}

.filters-panel__number-input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 0 0 0 10px;
  border: 0;
  background: transparent;
  color: #01382C;
  font-size: 0.9375rem;
  font-weight: 500;
  appearance: textfield;
  -moz-appearance: textfield;
  outline: none;
}

.filters-panel__number-input::-webkit-outer-spin-button,
.filters-panel__number-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.filters-panel__number-input::placeholder {
  color: rgba(1, 56, 44, 0.38);
}

.filters-panel__section-note {
  margin-top: 10px;
  font-size: 0.75rem;
  line-height: 1.5;
  color: rgba(1, 56, 44, 0.42);
}

.filters-panel .filter-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.filters-panel .filter-option {
  display: flex;
  min-height: 50px;
  padding: 11px 12px;
  align-items: flex-start;
  flex-direction: column;
  border-radius: 12px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
}

.filters-panel .filter-option span:last-child {
  margin-top: 4px;
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(1, 56, 44, 0.42);
}

.filters-panel .filter-option:hover {
  border-color: rgba(5, 150, 105, 0.2);
  background: #f8fffc;
}

.filters-panel .filter-option.is-active {
  border-color: rgba(5, 150, 105, 0.3);
  background: #f0fdf8;
  color: #03543f;
}

.filters-panel__footer {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
  padding: 18px 22px calc(18px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(1, 56, 44, 0.06);
  background: rgba(255, 254, 251, 0.94);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.filters-panel__footer .button {
  flex: 1 1 0;
  min-height: 44px;
}

@keyframes panel-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes panel-slide-in {
  from { transform: translateX(24px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

/* ── Persona system ── */

.persona-view { display: none; }
.persona-view.is-visible { display: grid; }

.filters-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: rgba(1, 56, 44, 0.54);
}

.persona-name-field {
  display: grid;
  gap: 8px;
  width: 100%;
}

/* ── Persona card in list view ── */

.persona-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 14px;
  padding: 16px;
  border-radius: 14px;
  border: 1.5px solid rgba(1, 56, 44, 0.08);
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.persona-card + .persona-card {
  margin-top: 10px;
}

.persona-card:hover {
  border-color: rgba(5, 150, 105, 0.2);
  background: #f8fffc;
}

.persona-card.is-active {
  border-color: rgba(5, 150, 105, 0.36);
  background: linear-gradient(180deg, #f0fdf8 0%, #f8fffc 100%);
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.08);
}

.persona-card__toggle {
  width: 22px;
  height: 22px;
  margin-top: 2px;
  border-radius: 6px;
  border: 2px solid rgba(1, 56, 44, 0.18);
  background: #fff;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.15s, background 0.15s;
}

.persona-card.is-active .persona-card__toggle {
  border-color: #059669;
  background: #059669;
}

.persona-card__toggle svg {
  width: 14px;
  height: 14px;
  stroke: #fff;
  stroke-width: 2.5;
  opacity: 0;
  transition: opacity 0.12s;
}

.persona-card.is-active .persona-card__toggle svg {
  opacity: 1;
}

.persona-card__body {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.persona-card__name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #01382C;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.persona-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.persona-card__tag {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  background: rgba(5, 150, 105, 0.08);
  color: #03543f;
  font-size: 0.6875rem;
  font-weight: 600;
  white-space: nowrap;
}

.persona-card__salary {
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.52);
  font-weight: 500;
}

.persona-card__actions {
  display: flex;
  gap: 4px;
  align-self: start;
}

.persona-card__action-btn {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: rgba(1, 56, 44, 0.36);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.12s, color 0.12s;
}

.persona-card__action-btn:hover {
  background: rgba(1, 56, 44, 0.06);
  color: rgba(1, 56, 44, 0.7);
}

.persona-card__action-btn--delete:hover {
  background: rgba(220, 38, 38, 0.08);
  color: #dc2626;
}

/* Persona empty state */
.persona-empty {
  text-align: center;
  padding: 48px 24px;
  color: rgba(1, 56, 44, 0.48);
}

.persona-empty__icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 16px;
  border-radius: 14px;
  background: rgba(5, 150, 105, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

.persona-empty__icon svg {
  width: 24px;
  height: 24px;
  stroke: #059669;
}

.persona-empty__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #01382C;
  margin: 0 0 6px;
}

.persona-empty__copy {
  font-size: 0.8125rem;
  line-height: 1.55;
  margin: 0;
  max-width: 28ch;
  margin-inline: auto;
}

/* Persona add button disabled state */
#persona-add-btn:disabled {
  opacity: 0.4;
  pointer-events: none;
}

#persona-add-btn svg {
  flex-shrink: 0;
}

/* Persona count colors */
.persona-limit-reached {
  background: rgba(220, 38, 38, 0.06) !important;
  border-color: rgba(220, 38, 38, 0.14) !important;
  color: #991b1b !important;
}

/* ── Profile page ── */

.profile-hero {
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.profile-hero__banner {
  height: 96px;
  background: linear-gradient(135deg, #01382c 0%, #059669 50%, #83e6bd 100%);
}

.profile-hero__body {
  padding: 0 24px 24px;
  text-align: center;
}

.profile-hero__avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #0b5f4a;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  margin: -40px auto 14px;
  border: 4px solid #ffffff;
  box-shadow: 0 4px 16px rgba(1, 56, 44, 0.12);
}

.profile-hero__name {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.profile-hero__headline {
  margin: 6px 0 0;
  font-size: 0.9375rem;
  color: var(--ink-soft);
}

.profile-hero__location {
  margin: 8px 0 0;
  font-size: 0.8125rem;
  color: var(--ink-faint);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.profile-hero__location svg {
  flex-shrink: 0;
}

.profile-hero__bio {
  margin: 16px auto 0;
  max-width: 48ch;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--ink-soft);
}

.profile-hero__actions {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Mobile: compact horizontal scroll-pill row (Edit-profile primary + 3 ghost) */
@media (max-width: 639.98px) {
  .profile-hero__actions {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
    margin-top: 16px;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 8px;
    box-sizing: border-box;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .profile-hero__actions::-webkit-scrollbar {
    display: none;
  }
  .profile-hero__actions > .button {
    flex: 0 0 auto;
    width: auto;
    min-height: 40px;
    height: 40px;
    padding: 0 14px;
    font-size: 0.8125rem;
    white-space: nowrap;
    box-sizing: border-box;
    border-radius: 999px; /* pill shape for a lighter, more compact feel */
  }
  .profile-hero__actions > .button--primary {
    padding: 0 18px;
    font-weight: 700;
    box-shadow: 0 1px 2px rgba(1, 56, 44, 0.12);
  }
}

/* ── Profile Status Card ── */

.pstatus-card {
  border-radius: 16px;
  border: 1px solid #BBF7D0;
  background: #F0FDF4;
  padding: 24px;
  display: grid;
  gap: 20px;
}

.pstatus-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.pstatus-card__header-left {
  display: grid;
  gap: 4px;
}

.pstatus-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #004838;
  margin: 0;
}

.pstatus-card__subtitle {
  font-size: 0.8125rem;
  color: rgba(0, 72, 56, 0.55);
  line-height: 1.45;
}

.pstatus-card__pct {
  font-size: 1.5rem;
  font-weight: 700;
  color: #16A34A;
  line-height: 1;
  flex-shrink: 0;
  letter-spacing: -0.03em;
}

/* Progress bar */
.pstatus-bar {
  display: grid;
  gap: 8px;
}

.pstatus-bar__track {
  height: 8px;
  border-radius: 999px;
  background: rgba(22, 163, 74, 0.12);
  overflow: hidden;
}

.pstatus-bar__fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #16A34A 0%, #22C55E 100%);
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.pstatus-bar__labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.6875rem;
  color: rgba(0, 72, 56, 0.38);
  font-weight: 500;
}

.pstatus-bar__target {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: rgba(0, 72, 56, 0.45);
}

.pstatus-bar__target svg {
  color: #16A34A;
}

/* Severity pills */
.pstatus-severity {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pstatus-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s, box-shadow 0.12s;
}

.pstatus-pill__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.pstatus-pill--red {
  background: #FEF2F2;
  border-color: #FECACA;
  color: #991B1B;
}
.pstatus-pill--red .pstatus-pill__dot { background: #DC2626; }
.pstatus-pill--red:hover { background: #FEE2E2; box-shadow: 0 0 0 2px rgba(220,38,38,0.1); }

.pstatus-pill--amber {
  background: #FFFBEB;
  border-color: #FDE68A;
  color: #92400E;
}
.pstatus-pill--amber .pstatus-pill__dot { background: #D97706; }
.pstatus-pill--amber:hover { background: #FEF3C7; box-shadow: 0 0 0 2px rgba(217,119,6,0.1); }

.pstatus-pill--blue {
  background: #EFF6FF;
  border-color: #BFDBFE;
  color: #1E40AF;
}
.pstatus-pill--blue .pstatus-pill__dot { background: #2563EB; }
.pstatus-pill--blue:hover { background: #DBEAFE; box-shadow: 0 0 0 2px rgba(37,99,235,0.1); }

.pstatus-card__divider {
  height: 1px;
  background: #83E6BD;
}

/* Next best action */
.pstatus-nba {
  display: grid;
  gap: 10px;
}

.pstatus-nba__badge {
  display: inline-flex;
  align-self: start;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(22, 163, 74, 0.1);
  font-size: 0.6875rem;
  font-weight: 700;
  color: #16A34A;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.pstatus-nba__action {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid rgba(220, 38, 38, 0.15);
  background: #fff;
  cursor: pointer;
  transition: border-color 0.12s, box-shadow 0.12s;
  text-align: left;
}

.pstatus-nba__action:hover {
  border-color: rgba(220, 38, 38, 0.3);
  box-shadow: 0 2px 8px rgba(220, 38, 38, 0.08);
}

.pstatus-nba__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #FEF2F2;
  color: #DC2626;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pstatus-nba__text {
  display: grid;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

.pstatus-nba__name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #004838;
}

.pstatus-nba__meta {
  font-size: 0.75rem;
  color: rgba(0, 72, 56, 0.5);
  line-height: 1.5;
}

.pstatus-nba__chevron {
  color: rgba(0, 72, 56, 0.25);
  flex-shrink: 0;
  margin-top: 2px;
}

/* View all */
.pstatus-card__view-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 36px;
  border: 1px solid rgba(0, 72, 56, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.6);
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(0, 72, 56, 0.6);
  cursor: pointer;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.pstatus-card__view-all:hover {
  background: #fff;
  border-color: rgba(0, 72, 56, 0.18);
  color: #004838;
}

/* ── Incomplete Profile Actions Modal ── */

.pactions-backdrop[hidden] { display: none; }

.pactions-backdrop {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(1, 20, 15, 0.5);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.pactions-backdrop.is-open {
  opacity: 1;
}

.pactions-dialog {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 64px -16px rgba(1, 56, 44, 0.25);
  width: 100%;
  max-width: 620px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(10px);
  transition: transform 0.22s ease;
}

.pactions-backdrop.is-open .pactions-dialog {
  transform: translateY(0);
}

.pactions-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
  flex-shrink: 0;
}

.pactions-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #01382C;
  margin: 0;
  line-height: 1.25;
}

.pactions-desc {
  font-size: 0.8125rem;
  color: rgba(1, 56, 44, 0.5);
  margin: 6px 0 0;
  line-height: 1.5;
}

.pactions-close {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid rgba(1, 56, 44, 0.08);
  background: none;
  font-size: 1.125rem;
  line-height: 1;
  color: rgba(1, 56, 44, 0.4);
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.12s, color 0.12s;
}

.pactions-close:hover {
  background: rgba(1, 56, 44, 0.04);
  color: #01382C;
}

.pactions-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
  display: grid;
  gap: 28px;
}

.pactions-section {
  display: grid;
  gap: 12px;
}

.pactions-section__head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pactions-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.pactions-dot--red { background: #DC2626; }
.pactions-dot--amber { background: #D97706; }
.pactions-dot--blue { background: #2563EB; }

.pactions-section__title {
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0;
}

.pactions-section__title--red { color: #7F1D1D; }
.pactions-section__title--amber { color: #78350F; }
.pactions-section__title--blue { color: #1E3A5F; }

.pactions-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid;
}

.pactions-badge--red { background: #FEE2E2; color: #991B1B; border-color: #FECACA; }
.pactions-badge--amber { background: #FEF3C7; color: #92400E; border-color: #FDE68A; }
.pactions-badge--blue { background: #DBEAFE; color: #1E40AF; border-color: #BFDBFE; }
.pactions-badge--outline { background: rgba(5, 150, 105, 0.05); color: #01382C; border-color: rgba(5, 150, 105, 0.2); font-size: 0.6875rem; }

.pactions-section__items {
  display: grid;
  gap: 6px;
}

.pactions-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.12s;
}

.pactions-row--red:hover { background: #FEF2F2; }
.pactions-row--amber:hover { background: #FFFBEB; }
.pactions-row--blue:hover { background: #EFF6FF; }

.pactions-row__icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pactions-row__icon--red { background: #FEF2F2; color: #DC2626; }
.pactions-row__icon--amber { background: #FFFBEB; color: #D97706; }
.pactions-row__icon--blue { background: #EFF6FF; color: #2563EB; }

.pactions-row__body {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 3px;
}

.pactions-row__name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.pactions-row__name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #01382C;
  margin: 0;
}

.pactions-row__meta {
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.5);
  margin: 0;
  line-height: 1.45;
}

.pactions-row__chevron {
  color: rgba(1, 56, 44, 0.3);
  flex-shrink: 0;
  margin-top: 4px;
}

.pactions-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 16px 24px;
  border-top: 1px solid rgba(1, 56, 44, 0.06);
  flex-shrink: 0;
}

@media (max-width: 639px) {
  .pactions-backdrop { padding: 0; align-items: flex-end; }
  .pactions-dialog { max-width: 100%; border-radius: 18px 18px 0 0; max-height: 90vh; }
}

.profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.profile-prefs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.profile-prefs li {
  font-size: 0.875rem;
  color: var(--ink-soft);
  padding: 10px 0;
  border-bottom: 1px solid var(--line-soft);
}

.profile-prefs li:last-child {
  border-bottom: 0;
}

.profile-prefs strong {
  color: var(--ink);
}

.profile-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.profile-links li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line-soft);
  font-size: 0.875rem;
  color: var(--accent-hover);
}

.profile-links li:last-child {
  border-bottom: 0;
}

.profile-links svg {
  color: var(--ink-faint);
  flex-shrink: 0;
}

/* ── Edit profile form ── */

.profile-form {
  display: grid;
  gap: 16px;
}

.profile-form__grid {
  display: grid;
  gap: 14px;
}

@media (min-width: 600px) {
  .profile-form__grid {
    grid-template-columns: 1fr 1fr;
  }

  .profile-form__field--full {
    grid-column: 1 / -1;
  }
}

.profile-form__field {
  display: grid;
  gap: 6px;
}

.profile-form__label {
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(1, 56, 44, 0.48);
  letter-spacing: 0.01em;
}

.profile-form__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* ── Skill edit list ── */

.skill-add-row {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.skill-add-row__input {
  flex: 1 1 auto;
  min-width: 0;
}

.skill-add-row__years {
  flex: 0 0 68px;
}

.skill-add-row__years input {
  text-align: center;
}

.skill-edit-list {
  display: grid;
  gap: 0;
}

.skill-edit-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
}

.skill-edit-item:first-child {
  padding-top: 0;
}

.skill-edit-item:last-child {
  border-bottom: none;
}

.skill-edit-item__name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #01382C;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skill-edit-item__right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.skill-edit-item__years-field {
  display: flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  border-radius: 8px;
  padding: 0 8px;
  height: 32px;
  background: #fff;
  transition: border-color 0.12s;
}

.skill-edit-item__years-field:focus-within {
  border-color: rgba(5, 150, 105, 0.4);
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.08);
}

.skill-edit-item__years-field input {
  width: 32px;
  border: 0;
  background: transparent;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #01382C;
  text-align: center;
  outline: none;
  appearance: textfield;
  -moz-appearance: textfield;
}

.skill-edit-item__years-field input::-webkit-outer-spin-button,
.skill-edit-item__years-field input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.skill-edit-item__years-field span {
  font-size: 0.6875rem;
  font-weight: 500;
  color: rgba(1, 56, 44, 0.4);
  flex-shrink: 0;
}

.skill-edit-item__remove {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(1, 56, 44, 0.25);
  font-size: 0.75rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.12s, color 0.12s;
}

.skill-edit-item__remove:hover {
  background: rgba(220, 38, 38, 0.06);
  color: #DC2626;
}

.profile-form__hint {
  display: block;
  font-size: 0.6875rem;
  color: var(--ink-faint);
  margin-top: 4px;
}

.profile-form__photo-upload {
  display: flex;
  align-items: center;
  gap: 16px;
}

.profile-form__photo-preview {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}

.profile-form__entry {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-soft);
}

.profile-form__entry:last-of-type {
  border-bottom: 0;
}

.profile-form__entry-info {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.profile-form__entry-info strong {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
}

.profile-form__entry-info span {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.profile-form__entry-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  align-items: center;
}

.profile-form__verified-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 999px;
  background: #E8F8EB;
  border: 1px solid #C2F3DE;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #059669;
  white-space: nowrap;
}

.profile-form__score-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 999px;
  background: #E1F4ED;
  border: 1px solid #C2F3DE;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #0C634B;
  white-space: nowrap;
}

.profile-form__file-upload {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border: 1px dashed rgba(1, 56, 44, 0.12);
  border-radius: 12px;
  background: rgba(5, 150, 105, 0.03);
}

.profile-form__file-info {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.profile-form__file-info strong {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
}

.profile-form__file-info span {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.profile-form__suggestions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.profile-form__actions {
  display: flex;
  gap: 10px;
  padding: 8px 0 20px;
}

@media (max-width: 1119px) {
  body[data-page="settings"] .dashboard-layout,
  body[data-page="profile"] .dashboard-layout,
  body[data-page="recruiter-settings"] .dashboard-layout,
  body[data-page="recruiter-profile"] .dashboard-layout {
    display: block !important;
    padding: 8px 16px calc(100px + env(safe-area-inset-bottom)) !important;
  }

  body[data-page="settings"] .dashboard-sidebar,
  body[data-page="profile"] .dashboard-sidebar,
  body[data-page="recruiter-settings"] .dashboard-sidebar,
  body[data-page="recruiter-profile"] .dashboard-sidebar {
    display: none !important;
  }

  body[data-page="settings"] .dashboard-main,
  body[data-page="profile"] .dashboard-main,
  body[data-page="recruiter-settings"] .dashboard-main,
  body[data-page="recruiter-profile"] .dashboard-main {
    max-width: none;
  }

  /* Edit profile mobile fixes */
  .profile-form__entry {
    flex-direction: column;
    gap: 10px;
  }

  .profile-form__entry-actions {
    width: 100%;
  }

  .profile-form__file-upload {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .profile-form__photo-upload {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .profile-form__actions {
    position: sticky;
    bottom: 0;
    background: var(--canvas);
    padding: 12px 0 calc(12px + env(safe-area-inset-bottom));
    margin: 0 -16px;
    padding-left: 16px;
    padding-right: 16px;
    border-top: 1px solid rgba(1, 56, 44, 0.06);
    z-index: 10;
  }

  /* Settings section cards tighter on mobile */
  .settings-section .surface-card__body {
    padding: 16px;
  }

  .settings-profile {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }

  .settings-profile__info {
    text-align: center;
  }

  .settings-profile__links {
    width: 100%;
    justify-content: center;
  }

  .settings-row {
    flex-direction: column;
    gap: 8px;
  }

  .settings-row__value {
    text-align: left;
    max-width: none;
  }

  .settings-row__tags {
    justify-content: flex-start;
    max-width: none;
  }

  .profile-hero__banner {
    height: 72px;
  }

  .profile-hero__body {
    padding: 0 16px 20px;
  }

  .profile-hero__name {
    font-size: 1.25rem;
  }
}

/* ── Messages page polish ── */

.conversation-card__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #ffffff;
  flex-shrink: 0;
  position: relative;
}

.conversation-card__top {
  gap: 12px;
}

.conversation-card__top > div {
  min-width: 0;
  flex: 1 1 0%;
}

.conversation-card__top > .mini-pill,
.conversation-card__top > .status-pill {
  flex-shrink: 0;
}

.conversation-card__name,
.conversation-card__subline {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conversation-card[data-unread] .conversation-card__name {
  font-weight: 700;
}

.conversation-card[data-unread] .conversation-card__avatar::after {
  content: '';
  position: absolute;
  top: -1px;
  right: -1px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #059669;
  border: 2px solid #fff;
}

.online-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #059669;
  display: inline-block;
  margin-left: 4px;
  vertical-align: middle;
}

.typing-indicator {
  display: flex;
  gap: 5px;
  padding: 14px 18px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 18px;
  border-top-left-radius: 6px;
  width: fit-content;
  justify-self: start;
}

.typing-indicator span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(1, 56, 44, 0.28);
  animation: typingBounce 1.2s infinite;
}

.typing-indicator span:nth-child(2) { animation-delay: 0.15s; }
.typing-indicator span:nth-child(3) { animation-delay: 0.3s; }

@keyframes typingBounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
  30% { transform: translateY(-5px); opacity: 1; }
}

.message-bubble__status {
  font-size: 0.6875rem;
  color: var(--ink-faint);
  text-align: right;
  margin-top: -2px;
}

.composer__send {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #059669;
  color: #fff;
  border: 0;
  display: grid;
  place-items: center;
  cursor: pointer;
  flex-shrink: 0;
  align-self: flex-end;
}

.composer__send svg {
  width: 18px;
  height: 18px;
}

.composer__send:hover {
  background: #047857;
}

.composer__row {
  display: flex;
  gap: 10px;
  align-items: flex-end;
}

.composer textarea {
  min-height: 42px;
  max-height: 120px;
  resize: none;
}

/* ── Messages desktop breathing room ── */
@media (min-width: 1120px) {
  body[data-page="messages"] .page-grid--messages {
    gap: 20px;
  }

  body[data-page="messages"] .surface-card__body--tight {
    padding: 6px 14px 18px;
  }

  body[data-page="messages"] .conversation-card {
    padding: 14px 10px;
    border-radius: 10px;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  body[data-page="messages"] .conversation-card:hover,
  body[data-page="messages"] .conversation-card.is-active {
    margin-left: 0;
    margin-right: 0;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 10px;
    background: rgba(240, 253, 248, 0.6);
  }

  body[data-page="messages"] .conversation-card.is-active {
    background: #f5faf8;
    box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.16);
  }

  body[data-page="messages"] .conversation-card__footer {
    flex-wrap: wrap;
    gap: 6px;
  }

  body[data-page="messages"] .conversation-card__footer .mini-pill {
    min-height: 26px;
    font-size: 0.6875rem;
  }

  body[data-page="messages"] .conversation-card__preview {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  body[data-page="messages"] .messages-detail {
    position: sticky;
    top: calc(var(--header-height, 60px) + 18px);
    align-self: start;
  }

  body[data-page="messages"] .messages-detail .surface-card > .surface-card__body {
    padding: 18px 0 0;
  }
}

@media (max-width: 1119px) {
  body[data-page="messages"] .page-grid--messages {
    display: block !important;
    gap: 0 !important;
    margin-top: 0 !important;
  }

  /* Hide thread pane on mobile — threads open in bottom sheet */
  body[data-page="messages"] .page-grid--messages > .messages-pane:nth-child(2) {
    display: none !important;
  }

  /* Hide context sidebar on mobile */
  body[data-page="messages"] .messages-detail {
    display: none !important;
  }

  /* Conversation list card — full width, no borders on container */
  body[data-page="messages"] .page-grid--messages > .messages-pane:first-child {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-page="messages"] .messages-pane {
    min-height: auto;
  }

  body[data-page="messages"] .conversation-list__header {
    padding: 8px 0 !important;
    border-bottom: 0 !important;
  }

  body[data-page="messages"] .surface-card__body--tight {
    padding: 0 !important;
  }

  /* Conversation cards — edge to edge */
  body[data-page="messages"] .conversation-card {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    box-shadow: none;
    padding: 14px 0;
    border-top: 0;
    border-bottom: 1px solid rgba(1, 56, 44, 0.06);
  }

  body[data-page="messages"] .conversation-card:hover,
  body[data-page="messages"] .conversation-card.is-active {
    border-radius: 0;
    margin: 0;
    padding: 14px 0;
    border-color: rgba(1, 56, 44, 0.06);
    background: transparent;
  }

  body[data-page="messages"] .conversation-card.is-active {
    background: rgba(240, 253, 248, 0.5);
  }

  body[data-page="messages"] .conversation-card__preview {
    font-size: 0.8125rem;
    -webkit-line-clamp: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Thread content inside the mobile sheet */
  body[data-page="messages"] #detail-sheet-content .messages-pane__body {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  body[data-page="messages"] #detail-sheet-content .thread-header {
    padding: 0 0 14px;
    border-bottom: 1px solid var(--line-soft);
    margin-bottom: 12px;
  }

  body[data-page="messages"] #detail-sheet-content .thread-scroll {
    display: grid;
    gap: 14px;
    overflow-y: auto;
    flex: 1;
    padding-bottom: 12px;
  }

  body[data-page="messages"] #detail-sheet-content .composer {
    padding: 12px 0 0;
    border-top: 1px solid var(--line-soft);
  }

  body[data-page="messages"] #detail-sheet-content .message-bubble {
    max-width: 88%;
  }

  body[data-page="messages"] .mobile-sheet__body {
    max-height: 85vh;
    overflow-y: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }
}

/* ── Global overview-sidebar styles (all dashboard pages) ── */

.overview-layout--compressed {
  display: block;
  padding-top: 16px;
}

@media (min-width: 1120px) {
  .overview-layout--compressed {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
  }

  .overview-layout--compressed > .dashboard-sidebar {
    position: sticky;
    top: calc(var(--header-height, 56px) + 16px);
    z-index: 50;
    align-self: start;
  }
}

@media (max-width: 1119px) {
  .overview-layout--compressed {
    display: block;
  }
}

.overview-sidebar {
  gap: 12px;
}

.dashboard-sidebar .overview-sidebar-panel {
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

.dashboard-sidebar .overview-sidebar-panel .surface-card__body {
  padding: 12px;
}

.overview-sidebar-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.overview-sidebar-link__main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.overview-sidebar-link__icon {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(1, 56, 44, 0.05);
  color: rgba(1, 56, 44, 0.82);
  flex-shrink: 0;
}

.overview-sidebar-link__icon svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.overview-sidebar-link + .overview-sidebar-link {
  margin-top: 4px;
}

.overview-sidebar-link strong {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.06);
  font-size: 0.75rem;
  color: var(--ink);
}

.overview-sidebar-link:hover,
.overview-sidebar-link:focus-visible {
  background: rgba(255, 255, 255, 0.82);
  outline: none;
}

.overview-sidebar-link.is-active {
  background: #f0fdf8;
  color: var(--ink);
}

.overview-sidebar-link.is-active .overview-sidebar-link__icon {
  background: rgba(5, 150, 105, 0.14);
  color: var(--accent-hover);
}

.overview-sidebar-link:hover .overview-sidebar-link__icon,
.overview-sidebar-link:focus-visible .overview-sidebar-link__icon {
  background: rgba(5, 150, 105, 0.08);
  color: var(--accent-hover);
}

.overview-sidebar-panel--account {
  margin-top: 12px;
}

/* ── Sidebar compact / expand toggle ── */

.sidebar-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding: 6px 12px;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(1, 56, 44, 0.3);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.sidebar-toggle:hover {
  background: rgba(1, 56, 44, 0.04);
  color: rgba(1, 56, 44, 0.5);
}

.sidebar-toggle__compact,
.sidebar-toggle__expand {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.sidebar-toggle__expand {
  display: none;
}

.sidebar-toggle svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

/* ── Compacted sidebar state ── */

.dashboard-sidebar.is-compacted .overview-sidebar-panel .surface-card__body {
  padding: 8px;
}

.dashboard-sidebar.is-compacted .nav-group__label {
  display: none;
}

.dashboard-sidebar.is-compacted .overview-sidebar-link,
body[data-page="overview"] .dashboard-sidebar.is-compacted .overview-sidebar-link {
  justify-content: center;
  padding: 0;
  min-height: 38px;
  border-radius: 10px;
  gap: 0;
}

.dashboard-sidebar.is-compacted .overview-sidebar-link__main,
body[data-page="overview"] .dashboard-sidebar.is-compacted .overview-sidebar-link__main {
  gap: 0;
}

.dashboard-sidebar.is-compacted .overview-sidebar-link strong,
body[data-page="overview"] .dashboard-sidebar.is-compacted .overview-sidebar-link strong {
  display: none;
}

.dashboard-sidebar.is-compacted .sidebar-toggle__compact {
  display: none;
}

.dashboard-sidebar.is-compacted .sidebar-toggle__expand {
  display: inline-flex;
}

.dashboard-sidebar.is-compacted .sidebar-toggle {
  justify-content: center;
  padding: 6px;
}

/* Compacted sidebar: hide label text */
.dashboard-sidebar.is-compacted .overview-sidebar-link__main > span:last-child,
body[data-page="overview"] .dashboard-sidebar.is-compacted .overview-sidebar-link__main > span:last-child {
  width: 0;
  height: 0;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

/* Compacted sidebar tooltips */
.dashboard-sidebar.is-compacted .overview-sidebar-link {
  position: relative;
}

.dashboard-sidebar.is-compacted .overview-sidebar-link::after {
  content: attr(data-tooltip);
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  padding: 5px 10px;
  border-radius: 6px;
  background: #1a1f25;
  color: #f0f2f4;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 12px -2px rgba(0,0,0,0.25);
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.12s ease, visibility 0.12s ease;
}

.dashboard-sidebar.is-compacted .overview-sidebar-link::before {
  content: "";
  position: absolute;
  left: calc(100% + 1px);
  top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-right-color: #1a1f25;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.12s ease, visibility 0.12s ease;
}

.dashboard-sidebar.is-compacted .overview-sidebar-link:hover::after,
.dashboard-sidebar.is-compacted .overview-sidebar-link:hover::before {
  opacity: 1;
  visibility: visible;
}

@media (min-width: 1120px) {
  .overview-layout--compressed.is-sidebar-compacted,
  body[data-page="overview"] .overview-layout--compressed.is-sidebar-compacted {
    grid-template-columns: 62px minmax(0, 1fr);
  }
}

/* ── Fix: constrain dashboard-main width for narrower sidebar ── */

.dashboard-main {
  max-width: 960px;
}

/* ── Fix: notification card actions alignment ── */

.notification-card__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* ── Messages + multi-pane pages: wider content area ── */

body[data-page="messages"] .dashboard-main,
body[data-page="tracker"] .dashboard-main,
body[data-page="applications"] .dashboard-main,
body[data-page="feed"] .dashboard-main,
body[data-page="saved"] .dashboard-main,
body[data-page="notifications"] .dashboard-main,
body[data-page="recruiter-notifications"] .dashboard-main {
  max-width: none;
}

/* ── Notifications page layout fixes ── */

body[data-page="notifications"] .toolbar-panel.surface-card {
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
}

body[data-page="notifications"] .toolbar-panel .surface-card__body {
  padding: 0 0 20px;
}

body[data-page="notifications"] .section-header {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 14px 24px;
}

body[data-page="notifications"] .section-header__copy {
  flex: 1 1 auto;
  min-width: 280px;
}

body[data-page="notifications"] .section-header .action-row {
  flex-shrink: 0;
  margin-left: auto;
}

body[data-page="notifications"] .notifications-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page="notifications"] .metric-card__delta {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body[data-page="notifications"] .notification-list {
  overflow: hidden;
}

body[data-page="notifications"] .notification-card {
  grid-template-columns: 44px minmax(0, 1fr) auto;
}

body[data-page="notifications"] .notification-card:hover,
body[data-page="notifications"] .notification-card.is-unread,
body[data-page="notifications"] .notification-card.is-active {
  margin-left: 0;
  margin-right: 0;
  padding: 20px 14px;
}

body[data-page="notifications"] .notification-card__actions {
  flex-wrap: wrap;
}


@media (max-width: 899px) {
  body[data-page="notifications"] .notifications-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="notifications"] .notification-card {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  body[data-page="notifications"] .notification-card__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    padding-left: 60px;
  }
}

/* ── Saved page layout fixes ── */

body[data-page="saved"] .saved-tabs > .toolbar-panel.surface-card {
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
}

body[data-page="saved"] .saved-list {
  overflow: hidden;
}

body[data-page="saved"] .saved-card:hover,
body[data-page="saved"] .saved-card.is-active {
  margin-left: 0;
  margin-right: 0;
  padding: 18px 14px;
}

body[data-page="saved"] .detail-panel {
  padding-top: 0;
}

body[data-page="saved"] .detail-panel__shell {
  padding-top: 0;
}

/* ── Feed page layout fixes ── */

body[data-page="feed"] .section-stack > .surface-card {
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
}

body[data-page="feed"] .detail-panel {
  padding-top: 0;
}

body[data-page="feed"] .detail-panel__shell {
  padding-top: 22px;
}

/* ── Tracker page layout fixes ── */

body[data-page="tracker"] .section-stack > .surface-card,
body[data-page="applications"] .section-stack > .surface-card {
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
}

body[data-page="tracker"] .tracker-view[data-tracker-view="table"] .surface-card,
body[data-page="applications"] .tracker-view[data-tracker-view="table"] .surface-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

body[data-page="tracker"] .tracker-view[data-tracker-view="table"] .surface-card__body,
body[data-page="applications"] .tracker-view[data-tracker-view="table"] .surface-card__body {
  padding: 0;
}

/* ── Settings page layout fixes ── */

body[data-page="settings"] .dashboard-main,
body[data-page="profile"] .dashboard-main,
body[data-page="recruiter-settings"] .dashboard-main,
body[data-page="recruiter-profile"] .dashboard-main {
  max-width: 720px;
}

/* ── Settings layout ── */

.settings-layout {
  display: grid;
  gap: 16px;
}

/* Profile summary card */
.settings-profile {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.settings-profile__avatar {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.settings-profile__info {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 2px;
}

.settings-profile__name {
  font-size: 1rem;
  color: var(--ink-strong);
}

.settings-profile__role {
  font-size: 0.8125rem;
  color: var(--ink-soft);
}

.settings-profile__location {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.settings-profile__links {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

/* Section cards */
.settings-section__head {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line-soft);
  margin-bottom: 0;
}

.settings-section__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink-strong);
  line-height: 1.3;
}

.settings-section__desc {
  margin: 4px 0 0;
  font-size: 0.8125rem;
  color: var(--ink-faint);
}

/* Setting rows */
.settings-rows {
  display: grid;
}

.settings-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line-soft);
}

.settings-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.settings-row__label {
  display: grid;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.settings-row__label strong {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
}

.settings-row__label span {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.settings-row__value {
  font-size: 0.8125rem;
  color: var(--ink-soft);
  text-align: right;
  flex-shrink: 0;
  max-width: 50%;
}

.settings-row__value--truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-row__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  max-width: 60%;
}

.settings-row__tags .job-tag {
  font-size: 0.6875rem;
}

.settings-row__connected {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

/* Toggle switch */
.settings-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--ink-faint);
}

.settings-toggle.is-on {
  color: var(--accent);
}

.settings-toggle__track {
  width: 36px;
  height: 20px;
  border-radius: 999px;
  background: rgba(1, 56, 44, 0.14);
  position: relative;
  transition: background 0.15s;
  flex-shrink: 0;
}

.settings-toggle.is-on .settings-toggle__track {
  background: var(--accent);
}

.settings-toggle__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12);
  transition: left 0.15s;
}

.settings-toggle.is-on .settings-toggle__thumb {
  left: 18px;
}

/* Danger zone */
.settings-section--danger {
  border-color: rgba(220, 38, 38, 0.12);
}

/* Responsive */
@media (max-width: 599px) {
  .settings-row {
    flex-direction: column;
    gap: 8px;
  }

  .settings-row__value {
    text-align: left;
    max-width: none;
  }

  .settings-row__tags {
    justify-content: flex-start;
    max-width: none;
  }

  .settings-profile {
    flex-direction: column;
    text-align: center;
  }

  .settings-profile__info {
    text-align: center;
  }
}

/* ── Applications hub ── */

.app-hub-nav {
  border-bottom: 2px solid rgba(1, 56, 44, 0.08);
  padding: 0;
}

.app-hub-nav .filter-bar-inner {
  gap: 0;
  flex-wrap: nowrap;
}

.app-hub-nav .filter-chip {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 12px 16px;
  font-size: 0.8125rem;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  color: var(--ink-faint);
  white-space: nowrap;
  flex-shrink: 0;
}

.app-hub-nav .filter-chip:hover {
  color: var(--ink);
  background: rgba(5, 150, 105, 0.04);
}

.app-hub-nav .filter-chip.is-active {
  color: var(--accent);
  background: transparent;
  border-bottom-color: var(--accent);
  font-weight: 600;
}

.app-tab-panel[hidden] {
  display: none !important;
}

/* ── Resume builder ── */

.builder-page {
  min-height: calc(100vh - var(--header-height));
  display: flex;
  flex-direction: column;
}

.builder-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  flex: 1;
  min-height: 0;
}

/* Editor pane */
.builder-editor {
  padding: 24px;
  overflow-y: auto;
  max-height: calc(100vh - var(--header-height) - 60px);
  border-right: 1px solid rgba(1, 56, 44, 0.06);
}

.builder-section {
  padding: 20px 0;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
}

.builder-section:first-child {
  padding-top: 0;
}

.builder-section:last-child {
  border-bottom: 0;
}

.builder-section__title {
  margin: 0 0 14px;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ink-strong);
  letter-spacing: -0.01em;
}

/* Template picker */
.template-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.template-card {
  border: 2px solid rgba(1, 56, 44, 0.08);
  border-radius: 10px;
  background: #fff;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.template-card:hover {
  border-color: rgba(5, 150, 105, 0.25);
}

.template-card.is-active {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);
}

.template-card__preview {
  height: 100px;
  padding: 14px 12px;
  background: #fafbfa;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.template-card__preview--creative {
  flex-direction: row;
  gap: 8px;
}

.template-card__preview--creative .tpl-sidebar {
  width: 30%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: rgba(5, 150, 105, 0.06);
  border-radius: 3px;
  padding: 8px 6px;
}

.template-card__preview--creative .tpl-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tpl-line {
  height: 4px;
  border-radius: 2px;
  background: rgba(1, 56, 44, 0.1);
  width: 100%;
}

.tpl-line--name {
  height: 6px;
  width: 50%;
  background: rgba(1, 56, 44, 0.22);
}

.tpl-line--sub {
  width: 35%;
  background: rgba(1, 56, 44, 0.08);
}

.tpl-line--short {
  width: 65%;
}

.tpl-line--divider {
  height: 1px;
  margin: 3px 0;
}

/* Template preview accent variations */
.template-card__preview--modern .tpl-line--name { background: var(--accent); }
.template-card__preview--modern .tpl-line--divider { background: rgba(5, 150, 105, 0.2); }

.template-card__preview--classic .tpl-line--name { background: #1a1a1a; }
.template-card__preview--classic .tpl-line--divider { background: rgba(0, 0, 0, 0.15); height: 2px; }

.template-card__preview--minimal .tpl-line--name { background: rgba(1, 56, 44, 0.3); }
.template-card__preview--minimal .tpl-line--divider { background: transparent; }
.template-card__preview--minimal .tpl-line { background: rgba(1, 56, 44, 0.06); }

.template-card__label {
  display: block;
  padding: 8px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--ink-soft);
  text-align: center;
  border-top: 1px solid rgba(1, 56, 44, 0.06);
}

.template-card.is-active .template-card__label {
  color: var(--accent);
}

/* Builder entries (with drag handle) */
.builder-entries {
  display: grid;
  gap: 0;
}

.builder-entry {
  display: flex;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-soft);
}

.builder-entry:last-child {
  border-bottom: 0;
}

.builder-entry__drag {
  flex-shrink: 0;
  padding-top: 2px;
  color: rgba(1, 56, 44, 0.2);
  cursor: grab;
}

.builder-entry__body {
  flex: 1;
  min-width: 0;
}

.builder-entry__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.builder-entry__head strong {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
  display: block;
}

.builder-entry__head span {
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.builder-entry__bullets {
  margin: 8px 0 0;
  padding-left: 18px;
  list-style: disc;
  font-size: 0.75rem;
  color: var(--ink-soft);
  line-height: 1.6;
}

/* Preview pane */
.builder-preview {
  background: #eef0ee;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - var(--header-height) - 60px);
}

.builder-preview__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 24px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
  background: rgba(255, 255, 255, 0.6);
  flex-shrink: 0;
}

.builder-preview__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ink-faint);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.builder-preview__zoom {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  color: var(--ink-faint);
}

.builder-preview__scroll {
  flex: 1;
  overflow-y: auto;
  padding: 32px 24px;
  display: flex;
  justify-content: center;
}

/* The resume paper */
.resume-paper {
  width: 100%;
  max-width: 595px;
  min-height: 842px;
  background: #fff;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.08),
    0 8px 24px rgba(0, 0, 0, 0.06);
  border-radius: 2px;
  padding: 48px 44px;
  font-family: "Figtree", system-ui, sans-serif;
  font-size: 10px;
  line-height: 1.5;
  color: #1a1a1a;
  flex-shrink: 0;
}

/* Resume content — Modern template */
.resume-header {
  text-align: center;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--accent);
  margin-bottom: 16px;
}

.resume-name {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #0a0a0a;
}

.resume-headline {
  margin: 2px 0 0;
  font-size: 11px;
  font-weight: 500;
  color: var(--accent);
  letter-spacing: 0.02em;
}

.resume-contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 14px;
  margin-top: 10px;
  font-size: 8.5px;
  color: #555;
}

.resume-contact span {
  white-space: nowrap;
}

.resume-section {
  margin-top: 14px;
}

.resume-section__title {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--accent);
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(5, 150, 105, 0.15);
}

.resume-body {
  margin: 0;
  font-size: 9.5px;
  line-height: 1.55;
  color: #333;
}

.resume-entry {
  margin-bottom: 10px;
}

.resume-entry:last-child {
  margin-bottom: 0;
}

.resume-entry__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.resume-entry__top strong {
  font-size: 10px;
  font-weight: 600;
  color: #1a1a1a;
}

.resume-entry__company {
  display: block;
  font-size: 9px;
  color: #666;
  font-weight: 400;
}

.resume-entry__dates {
  font-size: 8.5px;
  color: #888;
  white-space: nowrap;
  flex-shrink: 0;
}

.resume-entry__list {
  margin: 4px 0 0;
  padding-left: 14px;
  list-style: disc;
  font-size: 9px;
  color: #444;
  line-height: 1.5;
}

.resume-entry__list li {
  margin-bottom: 2px;
}

/* Builder footer */
.builder-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  border-top: 1px solid rgba(1, 56, 44, 0.06);
  background: #fff;
  flex-shrink: 0;
}

.builder-footer__right {
  display: flex;
  gap: 8px;
}

/* Builder mobile toggle */
.builder-mobile-toggle {
  display: none;
}

@media (max-width: 899px) {
  .builder-layout {
    grid-template-columns: 1fr;
    min-height: calc(100vh - var(--header-height) - 60px);
  }

  .builder-mobile-toggle {
    display: flex;
    gap: 0;
    border-bottom: 2px solid rgba(1, 56, 44, 0.08);
    background: #fff;
    position: sticky;
    top: var(--header-height);
    z-index: 5;
  }

  .builder-mobile-toggle__btn {
    flex: 1;
    padding: 12px 16px;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    background: transparent;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--ink-faint);
    cursor: pointer;
  }

  .builder-mobile-toggle__btn.is-active {
    color: var(--accent);
    border-bottom-color: var(--accent);
    font-weight: 600;
  }

  .builder-editor {
    max-height: none;
    overflow: visible;
    padding: 16px;
    border-right: 0;
  }

  .builder-preview {
    max-height: none;
    display: none;
  }

  .builder-layout.show-preview .builder-editor {
    display: none;
  }

  .builder-layout.show-preview .builder-preview {
    display: flex;
    min-height: calc(100vh - var(--header-height) - 110px);
  }

  .builder-preview__scroll {
    padding: 16px;
  }

  .resume-paper {
    padding: 28px 24px;
    min-height: auto;
  }

  .builder-footer {
    position: sticky;
    bottom: 0;
    z-index: 10;
  }

  .template-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .template-card__preview {
    height: 64px;
    padding: 10px 8px;
  }

  .builder-entry__head {
    flex-direction: column;
    gap: 6px;
  }
}

/* ── Brand logo image ── */

.brand__logo {
  flex-shrink: 0;
}

/* ── Notification unread left-border accent ── */

body[data-page="notifications"] .notification-card.is-unread {
  border-left: 3px solid var(--accent);
}

/* ── Tracker status pill color variants ── */

.status-pill--interview {
  color: #2563EB;
  border-color: rgba(37, 99, 235, 0.2);
  background: rgba(37, 99, 235, 0.06);
}

.status-pill--offer {
  color: #D97706;
  border-color: rgba(217, 119, 6, 0.2);
  background: rgba(217, 119, 6, 0.06);
}

.status-pill--archived {
  color: rgba(17, 24, 39, 0.4);
  border-color: rgba(17, 24, 39, 0.1);
  background: rgba(17, 24, 39, 0.04);
}

.status-pill--saved {
  color: rgba(17, 24, 39, 0.55);
  border-color: rgba(17, 24, 39, 0.12);
  background: rgba(17, 24, 39, 0.04);
}

/* ══════════════════════════════════════════════════
   Referrals page
   ══════════════════════════════════════════════════ */

body[data-page="referrals"] .dashboard-main,
body[data-page="recruiter-referrals"] .dashboard-main {
  display: grid;
  gap: 24px;
  align-content: start;
}

/* ── Referral hero ── */
.referral-hero .page-banner__body {
  padding: 28px 24px 22px;
}

.referral-hero .page-banner__heading h1 {
  font-size: clamp(1.55rem, 2vw, 2.1rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 0;
}

.referral-hero .page-banner__heading p {
  margin: 8px 0 0;
  font-size: 0.9375rem;
  color: rgba(1, 56, 44, 0.58);
}

/* ── My referral status card ── */
.referral-status-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-radius: 12px;
  font-size: 0.875rem;
}

.referral-status-card--qualified {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
}

.referral-status-card--pending {
  background: #fffbeb;
  border: 1px solid #fde68a;
}

.referral-status-card__icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.referral-status-card--qualified .referral-status-card__icon {
  color: #059669;
}

.referral-status-card--pending .referral-status-card__icon {
  color: #d97706;
}

.referral-status-card div {
  display: grid;
  gap: 2px;
}

.referral-status-card strong {
  font-weight: 700;
  color: #01382C;
}

.referral-status-card span {
  color: rgba(1, 56, 44, 0.55);
  font-size: 0.8125rem;
}

/* ── Referral link card ── */
.referral-link-card {
  padding: 24px;
  display: grid;
  gap: 20px;
}

.referral-link-card__header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.referral-link-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #ecfdf5;
  color: #059669;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.referral-link-card__icon svg {
  width: 20px;
  height: 20px;
}

.referral-link-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #01382C;
  margin: 0;
}

.referral-link-card__desc {
  margin: 4px 0 0;
  font-size: 0.8125rem;
  color: rgba(1, 56, 44, 0.55);
}

.referral-link-card__input-row {
  display: flex;
  gap: 8px;
}

.referral-link-card__input {
  flex: 1;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: rgba(244, 247, 245, 0.8);
  font-family: 'Figtree', monospace;
  font-size: 0.8125rem;
  color: #01382C;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.referral-link-card__copy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  border: 1px solid rgba(1, 56, 44, 0.12);
  background: #ffffff;
  color: #01382C;
  font-size: 0.8125rem;
  font-weight: 600;
  flex-shrink: 0;
  transition: border-color 0.15s, background 0.15s;
}

.referral-link-card__copy:hover {
  border-color: rgba(5, 150, 105, 0.22);
  background: #f0fdf8;
  color: #03543f;
}

.referral-link-card__copy svg {
  width: 16px;
  height: 16px;
}

.referral-link-card__share {
  display: grid;
  gap: 10px;
}

.referral-link-card__share-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(1, 56, 44, 0.42);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.referral-link-card__share-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.referral-share-btn {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s, transform 0.15s;
}

.referral-share-btn:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

.referral-share-btn svg {
  width: 16px;
  height: 16px;
}

/* ── Stats strip ── */
.referral-stats-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.referral-stat-card {
  display: grid;
  gap: 6px;
  justify-items: center;
  text-align: center;
  padding: 20px 16px;
  border: 1px solid var(--line-soft, rgba(1, 56, 44, 0.08));
  border-radius: 14px;
  background: #ffffff;
}

.referral-stat-card__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.referral-stat-card__icon svg {
  width: 18px;
  height: 18px;
}

.referral-stat-card__icon--gold {
  background: #fef9c3;
  color: #ca8a04;
}

.referral-stat-card__icon--blue {
  background: #dbeafe;
  color: #2563eb;
}

.referral-stat-card__icon--green {
  background: #ecfdf5;
  color: #059669;
}

.referral-stat-card .metric-card__value {
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: -0.03em;
}

.referral-stat-card .metric-card__label {
  font-size: 0.8125rem;
  color: rgba(1, 56, 44, 0.52);
}

/* ── Two-column layout ── */
.referral-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}

/* ── Invite card ── */
.referral-invite-card {
  padding: 24px;
  display: grid;
  gap: 20px;
}

.referral-invite-card__header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.referral-invite-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #ecfdf5;
  color: #059669;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.referral-invite-card__icon svg {
  width: 20px;
  height: 20px;
}

.referral-invite-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #01382C;
  margin: 0;
}

.referral-invite-card__desc {
  margin: 4px 0 0;
  font-size: 0.8125rem;
  color: rgba(1, 56, 44, 0.55);
}

.referral-invite-card__form {
  display: grid;
  gap: 14px;
}

.referral-invite-card__label {
  display: grid;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #01382C;
}

.referral-invite-card__label em {
  font-style: normal;
  font-weight: 400;
  color: rgba(1, 56, 44, 0.42);
}

.referral-invite-card__input {
  min-height: 44px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: #ffffff;
  font-size: 0.875rem;
  color: #01382C;
}

.referral-invite-card__input:focus {
  outline: 2px solid rgba(5, 150, 105, 0.28);
  outline-offset: 1px;
  border-color: rgba(5, 150, 105, 0.28);
}

.referral-invite-card__submit {
  min-height: 44px;
  border-radius: 10px;
  background: #059669;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
}

.referral-invite-card__submit:hover {
  background: #047857;
}

.referral-invite-card__footer {
  margin: 0;
  font-size: 0.75rem;
  color: rgba(1, 56, 44, 0.4);
  text-align: center;
}

/* ── How it works card ── */
.referral-how-card {
  padding: 24px;
  display: grid;
  gap: 22px;
}

.referral-how-card__header {
  display: flex;
  align-items: center;
  gap: 14px;
}

.referral-how-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #ecfdf5;
  color: #059669;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.referral-how-card__icon svg {
  width: 20px;
  height: 20px;
}

.referral-how-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #01382C;
  margin: 0;
}

.referral-how-card__steps {
  display: grid;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.referral-how-card__step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.referral-how-card__step-num {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #059669;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 700;
  flex-shrink: 0;
}

.referral-how-card__step p {
  margin: 4px 0 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgba(1, 56, 44, 0.7);
}

.referral-how-card__step p strong {
  color: #01382C;
}

/* ── History card ── */
.referral-history-card {
  padding: 24px;
  display: grid;
  gap: 18px;
}

.referral-history-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #01382C;
  margin: 0;
}

.referral-history-card__list {
  display: grid;
  gap: 0;
}

.referral-history-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  transition: background 0.12s;
}

.referral-history-item--qualified {
  background: rgba(236, 253, 245, 0.5);
}

.referral-history-item:not(:last-child) {
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
}

.referral-history-item__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.referral-history-item__icon svg {
  width: 18px;
  height: 18px;
}

.referral-history-item__icon--qualified {
  background: #ecfdf5;
  color: #059669;
}

.referral-history-item__icon--pending {
  background: rgba(1, 56, 44, 0.06);
  color: rgba(1, 56, 44, 0.42);
}

.referral-history-item__icon--disqualified {
  background: #fef2f2;
  color: #dc2626;
}

.referral-history-item__body {
  flex: 1;
  display: grid;
  gap: 2px;
  min-width: 0;
}

.referral-history-item__body strong {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #01382C;
}

.referral-history-item__body span {
  font-size: 0.8125rem;
  color: rgba(1, 56, 44, 0.48);
}

.referral-history-item__badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: capitalize;
  flex-shrink: 0;
}

.referral-history-item__badge--qualified {
  background: #ecfdf5;
  color: #059669;
  border: 1px solid #a7f3d0;
}

.referral-history-item__badge--pending {
  background: rgba(1, 56, 44, 0.04);
  color: rgba(1, 56, 44, 0.48);
  border: 1px solid rgba(1, 56, 44, 0.1);
}

.referral-history-item__badge--disqualified {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
}

/* ── Referrals responsive ── */
@media (max-width: 759px) {
  .referral-stats-strip {
    grid-template-columns: 1fr;
  }

  .referral-two-col {
    grid-template-columns: 1fr;
  }

  .referral-link-card__input-row {
    flex-direction: column;
  }

  .referral-link-card {
    padding: 18px;
  }

  .referral-invite-card,
  .referral-how-card,
  .referral-history-card {
    padding: 18px;
  }
}

@media (max-width: 1119px) {
  body[data-page="referrals"] .dashboard-layout,
  body[data-page="recruiter-referrals"] .dashboard-layout {
    gap: 0 !important;
    padding-top: 8px !important;
    padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  }

  body[data-page="referrals"] .dashboard-main,
  body[data-page="recruiter-referrals"] .dashboard-main {
    gap: 16px;
  }
}

/* ── Recruiter dashboard: shared spacing primitives ── */

body[data-dashboard="recruiter"] {
  background: linear-gradient(180deg, #eef2f0 0%, var(--canvas) 320px);
  overflow-x: hidden;
}

/* ── Mobile defensive sizing for grid/flex containers ──
   Some sections (jobseeker /settings/edit/, /applications/saved-answers/) had
   nested grids whose `1fr` tracks expanded to fit content, forcing horizontal
   overflow. min-width: 0 + minmax(0, 1fr) makes them clamp to the parent. */
@media (max-width: 720px) {
  .settings-section,
  .surface-card__body,
  .profile-form,
  .settings-row,
  .gh-synced,
  .gh-cta,
  .gh-synced__actions,
  .resume-drop,
  .resume-current,
  .resume-current__file,
  .resume-current__autofill,
  .resume-section {
    min-width: 0;
    max-width: 100%;
  }
  .gh-synced { grid-template-columns: 40px minmax(0, 1fr); }
  .profile-form { grid-template-columns: minmax(0, 1fr); }
  .profile-form__grid { grid-template-columns: minmax(0, 1fr); }
  .profile-form__field { grid-template-columns: minmax(0, 1fr); }
  .profile-form__field,
  .profile-form__grid,
  .surface-input { min-width: 0; max-width: 100%; }
  /* Inputs/selects/textareas inside surface-input must shrink with the parent */
  .surface-input input,
  .surface-input select,
  .surface-input textarea { min-width: 0; width: 100%; }
  .settings-row { flex-wrap: wrap; }
  .settings-row__value,
  .settings-row__value--truncate {
    max-width: 100%;
    min-width: 0;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  /* Long inline strings (URLs, emails) that overflow the cell */
  .surface-card__body { overflow-wrap: anywhere; word-break: break-word; }

  /* ── Override inline-style grids that don't collapse on mobile ──
     Some pages set grid-template-columns inline (e.g. portfolio entries
     with a 96px thumbnail). Inline styles beat CSS unless we use !important. */
  .profile-form__entry[data-portfolio-entry],
  .profile-form__entry[data-experience-entry],
  .profile-form__entry[data-education-entry],
  .profile-form__entry[data-cert-entry],
  .profile-form__entry[data-other-entry] {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .portfolio-thumb {
    width: 100% !important;
    max-width: 200px !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
  /* Action buttons should span the row on mobile, not stack vertically */
  .profile-form__entry-actions {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    width: 100% !important;
  }
  .profile-form__entry-actions > * { flex: 1 1 auto; min-width: 0; }

  /* Chat-style bubbles: use viewport-relative width instead of fixed px */
  .message-bubble {
    max-width: 85% !important;
  }

  /* Inline-styled date / small inputs that fix at 240px should still shrink */
  .form-input[style*="max-width"],
  .surface-input[style*="min-width"] {
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* ── Mobile tap-target floor for inline action links ──
   Audited at 500px viewport, several CTA links sat at 19–26px tall.
   Bumps anything below the iOS / Android comfortable tap floor. */
@media (max-width: 720px) {
  body[data-dashboard] .notif-action,
  body[data-dashboard] .overview-snapshot-card__link,
  body[data-dashboard] .section-header__link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 6px;
    /* Make the visible target match the click target */
    margin: -6px -6px;
  }

  /* Back-link buttons on detail pages (my-jobs/<job>/, candidates/<name>/, candidates/compare/) */
  body[data-dashboard] .back-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 0;
    margin: -8px 0;
  }

  /* Search result titles — bump the tap area for the title link */
  body[data-dashboard="recruiter"] .result-row__title,
  body[data-dashboard="recruiter"] .result-row__title a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 4px 0;
    margin: -4px 0;
  }

  /* Profile inline detail-value links (e.g. company link, LinkedIn URL) */
  body[data-dashboard="recruiter"] .rp-detail__val a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 0;
    margin: -6px 0;
  }
}

/* ── Right-edge fade hint on horizontally-scrollable table wrappers ──
   Tables stay intentionally wide on mobile (overflow-x: auto inside the wrap)
   but the user has no visual cue that more columns are off-screen. This adds
   a soft fade only when the wrapper actually needs to scroll. */
.perf-table-wrap,
.recruiter-performance-table-wrap,
.referral-table-wrap {
  position: relative;
}
.perf-table-wrap::after,
.recruiter-performance-table-wrap::after,
.referral-table-wrap::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 28px;
  pointer-events: none;
  background: linear-gradient(to right, rgba(255, 255, 251, 0), rgba(255, 255, 251, 0.95));
  opacity: 0;
  transition: opacity 0.2s ease;
}
@media (max-width: 720px) {
  .perf-table-wrap::after,
  .recruiter-performance-table-wrap::after,
  .referral-table-wrap::after {
    opacity: 1;
  }
}

/* ── Recruiter mobile bottom nav: swipeable / horizontal scroll ──
   Overrides the default grid so we can fit all primary nav items.
   Scoped to max-width:1119px so the body[data-dashboard] selector
   (specificity 0,2,1) does NOT override the desktop-hide rule. */
@media (max-width: 1119px) {
  body[data-dashboard="recruiter"] .dashboard-bottom-nav {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    overflow-x: auto;
    overflow-y: hidden;
    /* Reset the desktop grid template */
    grid-template-columns: none;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    /* Subtle right-edge fade hinting at scrollable content */
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 28px), transparent 100%);
            mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 28px), transparent 100%);
  }
  body[data-dashboard="recruiter"] .dashboard-bottom-nav::-webkit-scrollbar { display: none; }
  body[data-dashboard="recruiter"] .dashboard-bottom-nav a {
    flex: 0 0 auto;
    min-width: 70px;
    scroll-snap-align: start;
  }
  /* When already scrolled to the end, drop the right-edge fade so it looks finished */
  body[data-dashboard="recruiter"] .dashboard-bottom-nav.is-scroll-end {
    -webkit-mask-image: none;
            mask-image: none;
  }
}

body[data-dashboard="recruiter"] .dashboard-main--wide {
  max-width: none;
}

body[data-dashboard="recruiter"] .avatar-pill--link {
  color: inherit;
  text-decoration: none;
}

body[data-dashboard="recruiter"] .overview-sidebar-divider {
  margin: 8px 0;
  border-top: 1px solid rgba(5, 150, 105, 0.1);
}

body[data-dashboard="recruiter"] .job-row__titlebar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

body[data-dashboard="recruiter"] .filter-chip--push {
  margin-left: auto;
}

body[data-dashboard="recruiter"] .panel-results-header {
  padding: 14px 16px 10px;
  border-bottom: 1px solid rgba(1, 56, 44, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body[data-dashboard="recruiter"] .panel-results-header__meta {
  font-size: 0.78rem;
  color: var(--ink-faint);
}

body[data-dashboard="recruiter"] .panel-results-header__meta strong {
  color: var(--ink);
}

body[data-dashboard="recruiter"] .panel-action-wrap {
  padding: 10px 12px 6px;
}

body[data-dashboard="recruiter"] .panel-action-wrap--center {
  padding: 20px 0 8px;
  text-align: center;
}

body[data-dashboard="recruiter"] .button--full {
  width: 100%;
}

body[data-dashboard="recruiter"] .button--gap-sm {
  gap: 6px;
}

body[data-dashboard="recruiter"] .button--align-start {
  justify-content: flex-start;
}

body[data-dashboard="recruiter"] .button--danger-ghost {
  color: #dc2626;
  border-color: rgba(220, 38, 38, 0.2);
}

body[data-dashboard="recruiter"] .button--danger-ghost:hover {
  background: rgba(220, 38, 38, 0.06);
}

body[data-dashboard="recruiter"] .settings-section__footer {
  padding-top: 16px;
}

body[data-dashboard="recruiter"] .settings-row__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body[data-dashboard="recruiter"] .settings-row__status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #059669;
  flex-shrink: 0;
}

body[data-dashboard="recruiter"] .text-link--accent {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

body[data-dashboard="recruiter"] .text-link--accent:hover {
  text-decoration: underline;
}

body[data-dashboard="recruiter"] .text-danger {
  color: #dc2626;
}

body[data-dashboard="recruiter"] .field-stack {
  display: grid;
  gap: 4px;
}

body[data-dashboard="recruiter"] .field-stack--spaced {
  margin-bottom: 12px;
}

body[data-dashboard="recruiter"] .field-label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.78rem;
  color: var(--ink-faint);
}

body[data-dashboard="recruiter"] .surface-input--grow {
  flex: 1;
}

body[data-dashboard="recruiter"] .thread-empty-state {
  min-height: 320px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: rgba(17, 24, 39, 0.35);
}

body[data-dashboard="recruiter"] .thread-empty-state__icon {
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  opacity: 0.4;
}

body[data-dashboard="recruiter"] .thread-empty-state__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
}

body[data-dashboard="recruiter"] .thread-empty-state__copy {
  margin: 6px 0 0;
  font-size: 0.8125rem;
}

body[data-dashboard="recruiter"] .compose-backdrop[hidden],
body[data-dashboard="recruiter"] .compose-modal[hidden],
body[data-dashboard="recruiter"] .reject-backdrop[hidden],
body[data-dashboard="recruiter"] .reject-modal[hidden] {
  display: none !important;
}

body[data-dashboard="recruiter"] .compose-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1199;
  backdrop-filter: blur(4px);
}

body[data-dashboard="recruiter"] .compose-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 16px;
  max-width: 560px;
  width: 92%;
  max-height: 88vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  z-index: 1200;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.2);
}

body[data-dashboard="recruiter"] .compose-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
}

body[data-dashboard="recruiter"] .compose-modal__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #111827;
}

body[data-dashboard="recruiter"] .compose-modal__close {
  border: none;
  background: none;
  color: #6b7280;
  cursor: pointer;
  font-size: 1.25rem;
}

body[data-dashboard="recruiter"] .compose-modal__body {
  padding: 20px 24px;
  overflow-y: auto;
  display: grid;
  gap: 16px;
}

body[data-dashboard="recruiter"] .compose-modal__field {
  display: grid;
  gap: 4px;
}

body[data-dashboard="recruiter"] .compose-modal__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #374151;
}

body[data-dashboard="recruiter"] .compose-modal__input,
body[data-dashboard="recruiter"] .compose-modal__select,
body[data-dashboard="recruiter"] .compose-modal__textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-sizing: border-box;
  font: inherit;
  font-size: 0.875rem;
  color: #111827;
}

body[data-dashboard="recruiter"] .compose-modal__textarea {
  min-height: 120px;
  resize: vertical;
}

body[data-dashboard="recruiter"] .compose-modal__input:focus,
body[data-dashboard="recruiter"] .compose-modal__select:focus,
body[data-dashboard="recruiter"] .compose-modal__textarea:focus {
  border-color: rgba(5, 150, 105, 0.4);
  outline: none;
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.06);
}

body[data-dashboard="recruiter"] .compose-modal__template-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  flex-wrap: wrap;
}

body[data-dashboard="recruiter"] .compose-modal__template-chip {
  padding: 4px 12px;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #374151;
  cursor: pointer;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
}

body[data-dashboard="recruiter"] .compose-modal__template-chip:hover {
  border-color: #059669;
  color: #059669;
}

body[data-dashboard="recruiter"] .compose-modal__template-chip.is-active {
  background: #ecfdf5;
  border-color: rgba(5, 150, 105, 0.25);
  color: #059669;
}

body[data-dashboard="recruiter"] .compose-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
}

body[data-dashboard="recruiter"] .compose-modal__btn {
  padding: 10px 22px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
}

body[data-dashboard="recruiter"] .compose-modal__btn--ghost {
  background: transparent;
  color: #374151;
  border: 1px solid #d1d5db;
}

body[data-dashboard="recruiter"] .compose-modal__btn--primary {
  background: #059669;
  color: #fff;
}

body[data-dashboard="recruiter"] .compose-modal__btn--primary:hover {
  background: #047857;
}

body[data-dashboard="recruiter"] .reject-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1199;
}

body[data-dashboard="recruiter"] .reject-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 14px;
  max-width: 440px;
  width: 92%;
  z-index: 1200;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

body[data-dashboard="recruiter"] .reject-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 0;
}

body[data-dashboard="recruiter"] .reject-modal__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #111827;
}

body[data-dashboard="recruiter"] .reject-modal__close {
  border: none;
  background: none;
  color: #6b7280;
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
}

body[data-dashboard="recruiter"] .reject-modal__body {
  padding: 16px 24px 24px;
  display: grid;
  gap: 14px;
}

body[data-dashboard="recruiter"] .reject-modal__candidate {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #f9fafb;
  border-radius: 8px;
}

body[data-dashboard="recruiter"] .reject-modal__candidate-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #6366f1;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  flex-shrink: 0;
}

body[data-dashboard="recruiter"] .reject-modal__candidate-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: #111827;
}

body[data-dashboard="recruiter"] .reject-modal__label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #374151;
}

body[data-dashboard="recruiter"] .reject-modal select,
body[data-dashboard="recruiter"] .reject-modal textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-sizing: border-box;
  font: inherit;
  font-size: 0.875rem;
  color: #111827;
  background: #fff;
}

body[data-dashboard="recruiter"] .reject-modal textarea {
  min-height: 72px;
  resize: vertical;
}

body[data-dashboard="recruiter"] .reject-modal__check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: #374151;
}

body[data-dashboard="recruiter"] .reject-modal__check input {
  accent-color: #059669;
}

body[data-dashboard="recruiter"] .reject-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 24px 20px;
}

body[data-dashboard="recruiter"] .reject-modal__btn {
  padding: 8px 18px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
}

body[data-dashboard="recruiter"] .reject-modal__btn--ghost {
  background: transparent;
  color: #374151;
  border: 1px solid #d1d5db;
}

body[data-dashboard="recruiter"] .reject-modal__btn--ghost:hover {
  background: #f3f4f6;
}

body[data-dashboard="recruiter"] .reject-modal__btn--danger {
  background: #dc2626;
  color: #fff;
}

body[data-dashboard="recruiter"] .reject-modal__btn--danger:hover {
  background: #b91c1c;
}

body[data-dashboard="recruiter"] .overview-home-panel--snapshot {
  display: grid;
  gap: 16px;
  align-self: start;
}

body[data-dashboard="recruiter"] .overview-snapshot-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

body[data-dashboard="recruiter"] .overview-snapshot-card__icon {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  background: rgba(1, 56, 44, 0.05);
}

body[data-dashboard="recruiter"] .overview-snapshot-card__icon svg {
  width: 16px;
  height: 16px;
}

body[data-dashboard="recruiter"] .overview-snapshot-card__icon--danger {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.08);
}

body[data-dashboard="recruiter"] .overview-snapshot-card__icon--success {
  color: #059669;
  background: rgba(5, 150, 105, 0.08);
}

body[data-dashboard="recruiter"] .overview-snapshot-card__title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ink);
}

body[data-dashboard="recruiter"] .overview-snapshot-card__link {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--accent);
}

body[data-dashboard="recruiter"] .overview-snapshot-list--compact {
  display: grid;
  gap: 8px;
}

body[data-dashboard="recruiter"] .overview-snapshot-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fbf9;
  color: var(--ink);
  font-size: 0.8125rem;
}

body[data-dashboard="recruiter"] .overview-snapshot-row strong {
  font-size: 0.875rem;
  color: var(--ink);
}

body[data-dashboard="recruiter"] .overview-snapshot-row__value {
  font-weight: 700;
  flex: 0 0 auto;
}

body[data-dashboard="recruiter"] .overview-snapshot-row__value--danger {
  color: #dc2626;
}

body[data-dashboard="recruiter"] .overview-snapshot-row__value--warning {
  color: #d97706;
}

body[data-dashboard="recruiter"] .overview-candidate-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fbf9;
  color: var(--ink);
}

body[data-dashboard="recruiter"] .overview-candidate-row__badge {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: #ffffff;
  font-size: 0.625rem;
  font-weight: 700;
}

body[data-dashboard="recruiter"] .overview-candidate-row__badge--green {
  background: #059669;
}

body[data-dashboard="recruiter"] .overview-candidate-row__badge--violet {
  background: #6366f1;
}

body[data-dashboard="recruiter"] .overview-candidate-row__badge--amber {
  background: #f59e0b;
}

body[data-dashboard="recruiter"] .overview-candidate-row__copy {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 2px;
}

body[data-dashboard="recruiter"] .overview-candidate-row__copy strong {
  display: block;
  font-size: 0.8125rem;
  color: var(--ink);
}

body[data-dashboard="recruiter"] .overview-candidate-row__copy span {
  font-size: 0.75rem;
  color: var(--ink-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-dashboard="recruiter"] .overview-candidate-row__score {
  flex: 0 0 auto;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--accent);
}

body[data-dashboard="recruiter"] .recruiter-performance-table-wrap {
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}

body[data-dashboard="recruiter"] .recruiter-performance-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

body[data-dashboard="recruiter"] .recruiter-performance-table thead tr {
  border-bottom: 1px solid rgba(1, 56, 44, 0.08);
}

body[data-dashboard="recruiter"] .recruiter-performance-table tbody tr {
  border-bottom: 1px solid rgba(1, 56, 44, 0.04);
}

body[data-dashboard="recruiter"] .recruiter-performance-table tbody tr:last-child {
  border-bottom: 0;
}

body[data-dashboard="recruiter"] .recruiter-performance-table th,
body[data-dashboard="recruiter"] .recruiter-performance-table td {
  padding: 10px;
  white-space: nowrap;
}

body[data-dashboard="recruiter"] .recruiter-performance-table th {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(1, 56, 44, 0.38);
}

body[data-dashboard="recruiter"] .recruiter-performance-table th:first-child,
body[data-dashboard="recruiter"] .recruiter-performance-table td:first-child {
  text-align: left;
}

body[data-dashboard="recruiter"] .recruiter-performance-table th:not(:first-child),
body[data-dashboard="recruiter"] .recruiter-performance-table td:not(:first-child) {
  text-align: right;
}

body[data-dashboard="recruiter"] .recruiter-performance-table td {
  color: rgba(1, 56, 44, 0.55);
}

body[data-dashboard="recruiter"] .recruiter-performance-table td:first-child {
  font-weight: 500;
  color: var(--ink);
}

body[data-dashboard="recruiter"] .recruiter-performance-table__rate {
  font-weight: 700;
}

body[data-dashboard="recruiter"] .recruiter-performance-table__rate--danger {
  color: #dc2626;
}

body[data-dashboard="recruiter"] .recruiter-performance-table__rate--warning {
  color: #d97706;
}

body[data-dashboard="recruiter"] .recruiter-performance-table__rate--success {
  color: #059669;
}

@media (min-width: 1120px) {
  body[data-dashboard="recruiter"] .page-grid--messages {
    gap: 20px;
  }

  body[data-dashboard="recruiter"] .surface-card__body--tight {
    padding: 6px 14px 18px;
  }

  body[data-dashboard="recruiter"] .conversation-card {
    padding: 14px 10px;
    border-radius: 10px;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  body[data-dashboard="recruiter"] .conversation-card:hover,
  body[data-dashboard="recruiter"] .conversation-card.is-active {
    margin-left: 0;
    margin-right: 0;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 10px;
    background: rgba(240, 253, 248, 0.6);
  }

  body[data-dashboard="recruiter"] .conversation-card.is-active {
    background: #f5faf8;
    box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.16);
  }

  body[data-dashboard="recruiter"] .conversation-card__footer {
    flex-wrap: wrap;
    gap: 6px;
  }

  body[data-dashboard="recruiter"] .conversation-card__footer .mini-pill {
    min-height: 26px;
    font-size: 0.6875rem;
  }

  body[data-dashboard="recruiter"] .conversation-card__preview {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  body[data-dashboard="recruiter"] .messages-detail {
    position: sticky;
    top: calc(var(--header-height, 60px) + 18px);
    align-self: start;
  }

  body[data-dashboard="recruiter"] .messages-detail .surface-card > .surface-card__body {
    padding: 18px 0 0;
  }
}

/* ── Recruiter dashboard: mobile rhythm normalization ── */

@media (max-width: 899px) {
  body[data-dashboard="recruiter"] .dashboard-layout {
    gap: 16px;
    padding-top: 16px;
    padding-bottom: calc(108px + env(safe-area-inset-bottom));
  }

  body[data-dashboard="recruiter"] .dashboard-main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: none;
  }

  body[data-dashboard="recruiter"] .dashboard-main > * {
    width: 100%;
    min-width: 0;
  }

  body[data-dashboard="recruiter"] .metric-strip.metric-strip--swipable {
    padding-bottom: 4px;
  }

  body[data-dashboard="recruiter"] .metric-strip.metric-strip--swipable .metric-card {
    flex-basis: calc((100% - 12px) / 2.5);
    min-width: 0;
    padding: 14px;
  }

  body[data-dashboard="recruiter"] .metric-card {
    gap: 6px;
  }

  body[data-dashboard="recruiter"] .metric-card__value {
    font-size: 1.2rem;
  }

  body[data-dashboard="recruiter"] .search-strip {
    padding: 12px 0 0;
    border-bottom: 0;
  }

  body[data-dashboard="recruiter"] .filter-bar {
    padding-top: 10px;
  }

  body[data-dashboard="recruiter"] .filter-bar-inner {
    gap: 6px;
    padding-bottom: 2px;
  }

  body[data-dashboard="recruiter"] .filter-chip {
    min-height: 34px;
    padding: 0 12px;
  }

  body[data-dashboard="recruiter"] .results-header {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    padding: 12px 0 10px;
  }

  body[data-dashboard="recruiter"] .results-header__right,
  body[data-dashboard="recruiter"] .results-sort {
    margin-left: auto;
  }

  body[data-dashboard="recruiter"] .page-banner__body {
    padding: 16px 0 18px;
  }

  body[data-dashboard="recruiter"] .overview-hero--dark .page-banner__body {
    padding: 18px 18px 20px;
  }

  body[data-dashboard="recruiter"] .overview-compressed-grid,
  body[data-dashboard="recruiter"] .overview-home-panel--snapshot {
    gap: 14px;
  }

  body[data-dashboard="recruiter"] .overview-home-panel .surface-card__body {
    padding: 16px;
  }

  body[data-dashboard="recruiter"] .overview-task {
    padding: 14px 15px;
  }
}

@media (max-width: 639px) {
  body[data-dashboard="recruiter"] .dashboard-layout {
    gap: 14px;
    padding-top: 14px;
  }

  body[data-dashboard="recruiter"] .page-banner__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  body[data-dashboard="recruiter"] .page-banner__actions .button {
    width: 100%;
  }

  body[data-dashboard="recruiter"] .page-grid--messages {
    display: block !important;
    gap: 0 !important;
    margin-top: 0 !important;
  }

  body[data-dashboard="recruiter"] .page-grid--messages > .messages-pane:nth-child(2),
  body[data-dashboard="recruiter"] .messages-detail {
    display: none !important;
  }

  body[data-dashboard="recruiter"] .page-grid--messages > .messages-pane:first-child {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-dashboard="recruiter"] .messages-pane {
    min-height: auto;
  }

  body[data-dashboard="recruiter"] .conversation-list__header {
    padding: 8px 0 !important;
    border-bottom: 0 !important;
  }

  body[data-dashboard="recruiter"] .surface-card__body--tight {
    padding: 0 !important;
  }

  body[data-dashboard="recruiter"] .conversation-card {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    box-shadow: none;
    padding: 14px 0;
    border-top: 0;
    border-bottom: 1px solid rgba(1, 56, 44, 0.06);
  }

  body[data-dashboard="recruiter"] .conversation-card:hover,
  body[data-dashboard="recruiter"] .conversation-card.is-active {
    border-radius: 0;
    margin: 0;
    padding: 14px 0;
    border-color: rgba(1, 56, 44, 0.06);
    background: transparent;
  }

  body[data-dashboard="recruiter"] .conversation-card.is-active {
    background: rgba(240, 253, 248, 0.5);
  }

  body[data-dashboard="recruiter"] .conversation-card__preview {
    font-size: 0.8125rem;
    -webkit-line-clamp: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body[data-dashboard="recruiter"] #detail-sheet-content .messages-pane__body {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  body[data-dashboard="recruiter"] #detail-sheet-content .thread-header {
    padding: 0 0 14px;
    border-bottom: 1px solid var(--line-soft);
    margin-bottom: 12px;
  }

  body[data-dashboard="recruiter"] #detail-sheet-content .thread-scroll {
    display: grid;
    gap: 14px;
    overflow-y: auto;
    flex: 1;
    padding-bottom: 12px;
  }

  body[data-dashboard="recruiter"] #detail-sheet-content .composer {
    padding: 12px 0 0;
    border-top: 1px solid var(--line-soft);
  }

  body[data-dashboard="recruiter"] #detail-sheet-content .message-bubble {
    max-width: 88%;
  }

  body[data-dashboard="recruiter"] .mobile-sheet__body {
    max-height: 85vh;
  }

  body[data-dashboard="recruiter"] .results-header__right,
  body[data-dashboard="recruiter"] .results-sort {
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
  }

  body[data-dashboard="recruiter"] .overview-snapshot-card__head {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  body[data-dashboard="recruiter"] .overview-snapshot-card__link {
    margin-left: 0;
  }

  body[data-dashboard="recruiter"] .recruiter-performance-table-wrap {
    margin: 0 -2px;
  }
}

/* 2026-05-05 gap ticket static prototype surfaces */
.plan-chip,.role-chip,.verified-hirer-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(1,56,44,.1);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;color:#01382c;box-shadow:0 8px 20px rgba(1,56,44,.06)}
.plan-chip__meter{width:54px;height:6px;border-radius:999px;background:rgba(1,56,44,.1);overflow:hidden}.plan-chip__meter span{display:block;height:100%;background:#059669;border-radius:999px}.dashboard-upgrade-pill{white-space:nowrap}.verified-hirer-chip{background:#ebfff9;border-color:rgba(5,150,105,.22);color:#005c47}.role-chip{background:#fdfdfd;color:rgba(1,56,44,.75)}
.monetization-card,.ticket-spec-card,.billing-plan-card,.tier-state-card,.preview-card,.request-referral-card,.empty-state-card{border:1px solid rgba(1,56,44,.08);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(1,56,44,.06)}
.ticket-spec-card,.billing-plan-card,.empty-state-card{padding:20px}.ticket-spec-card h3,.billing-plan-card h3,.empty-state-card h3{margin:0 0 8px;color:#01382c;font-size:1.05rem}.ticket-spec-card p,.billing-plan-card p,.empty-state-card p{margin:0;color:rgba(1,56,44,.62);line-height:1.55}.ticket-spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.ticket-spec-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid rgba(1,56,44,.08)}
.usage-meter{display:grid;gap:8px}.usage-meter__track{height:10px;border-radius:999px;background:rgba(1,56,44,.09);overflow:hidden}.usage-meter__bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#059669,#7adebf)}.usage-meter__meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:rgba(1,56,44,.68)}
.tier-state-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.tier-state-card{padding:16px}.tier-state-card strong{display:block;color:#01382c}.tier-state-card span{display:block;margin-top:6px;color:rgba(1,56,44,.6);font-size:13px;line-height:1.45}.tier-state-card.is-current{border-color:rgba(5,150,105,.32);background:#f5fffb}.tier-state-card.is-locked{opacity:.78;background:linear-gradient(180deg,#fff,#fafafa)}
.paywall-preview{position:relative;overflow:hidden}.paywall-preview__locked{margin-top:14px;border:1px dashed rgba(1,56,44,.2);border-radius:16px;padding:18px;background:linear-gradient(135deg,rgba(235,255,249,.9),rgba(255,255,255,.94))}.cap-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:#fbfff1;border:1px solid rgba(200,217,45,.36);margin:12px 0}.cap-alert strong{color:#0e2c27}.cap-alert span{color:rgba(14,44,39,.65);font-size:13px}.billing-channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px}.billing-channel-card{padding:14px;border:1px solid rgba(1,56,44,.08);border-radius:14px;background:#fff}.billing-channel-card strong{display:block;color:#01382c}.billing-channel-card span{display:block;color:rgba(1,56,44,.6);font-size:13px;margin-top:4px}.billing-channel-card .settings-toggle{margin-top:10px;display:inline-flex}
.referral-credit-pill,.count-source-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#ebfff9;color:#005c47;border:1px solid rgba(5,150,105,.18);padding:5px 9px;font-size:12px;font-weight:800}.referral-request-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0}.bulk-invite-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(5,150,105,.18);background:#f5fffb;border-radius:16px;padding:14px 16px;margin:0 0 14px}.bulk-invite-bar strong{color:#01382c}.bulk-invite-bar span{font-size:13px;color:rgba(1,56,44,.62)}.result-row__bulk-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:8px}.verified-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(5,150,105,.2);background:linear-gradient(135deg,#ebfff9,#fff);border-radius:20px;padding:18px 20px;margin-bottom:16px}.verified-banner strong{display:block;color:#01382c}.verified-banner span{display:block;color:rgba(1,56,44,.62);font-size:14px;margin-top:4px}
.mobile-more-nav{position:fixed;left:12px;right:12px;bottom:78px;z-index:70;background:#fff;border:1px solid rgba(1,56,44,.1);border-radius:22px;box-shadow:0 20px 60px rgba(1,56,44,.18);padding:12px;display:none}.mobile-more-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-more-nav a{padding:12px;border-radius:14px;background:#f8fbfa;color:#01382c;font-weight:700;font-size:13px}.mobile-more-button{border:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;gap:3px;font:inherit}.role-switch-modal{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;background:rgba(1,16,13,.42);padding:20px}.role-switch-modal.is-open{display:flex}.role-switch-modal__panel{max-width:460px;background:#fff;border-radius:24px;padding:24px;box-shadow:0 28px 70px rgba(1,16,13,.24)}.role-switch-modal__panel h2{margin:0 0 8px;color:#01382c}.role-switch-modal__panel p{margin:0 0 16px;color:rgba(1,56,44,.65);line-height:1.55}.role-switch-modal__actions{display:flex;gap:10px;flex-wrap:wrap}.count-coherence-note{border:1px solid rgba(1,56,44,.08);background:#fff;border-radius:18px;padding:16px;margin:16px 0;color:#01382c}.count-coherence-note p{margin:4px 0 0;color:rgba(1,56,44,.62)}
@media (max-width:760px){.plan-chip,.role-chip,.verified-hirer-chip{display:none}.verified-banner{align-items:flex-start;flex-direction:column}.bulk-invite-bar,.cap-alert{align-items:flex-start;flex-direction:column}.dashboard-bottom-nav{--bottom-nav-count:6!important}}


/* ============================================================
   Plans & billing redesign — tickets May 2026
   ============================================================ */
.plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

@media (max-width: 720px) {
  .plan-grid { grid-template-columns: 1fr; }
}

.plan-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  border-radius: 14px;
  border: 1px solid rgba(1, 56, 44, 0.1);
  background: #ffffff;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.plan-card:hover {
  border-color: rgba(5, 150, 105, 0.32);
}

.plan-card--current {
  border-color: rgba(5, 150, 105, 0.28);
  background: linear-gradient(135deg, rgba(5,150,105,0.04) 0%, rgba(5,150,105,0.01) 100%);
}

.plan-card--upgrade {
  border-color: rgba(1, 56, 44, 0.18);
  background: #fafdfc;
  position: relative;
}

.plan-card__head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.plan-card__badge {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(5, 150, 105, 0.12);
  color: #047857;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.plan-card__badge--upgrade {
  background: #064e3b;
  color: #ffffff;
}

.plan-card__title {
  font-size: 22px;
  font-weight: 700;
  color: #01382c;
  margin: 0;
  line-height: 1;
}

.plan-card__price {
  margin-left: auto;
  font-size: 18px;
  font-weight: 700;
  color: #01382c;
}

.plan-card__price span {
  font-size: 12px;
  font-weight: 500;
  color: rgba(1, 56, 44, 0.5);
}

.plan-card__usage-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}

.plan-card__usage-label {
  font-size: 12px;
  color: rgba(1, 56, 44, 0.6);
}

.plan-card__usage-count {
  font-size: 13px;
  color: rgba(1, 56, 44, 0.7);
}

.plan-card__usage-count strong {
  font-size: 17px;
  font-weight: 700;
  color: #01382c;
}

.plan-card__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.plan-card__features li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(1, 56, 44, 0.78);
}

.plan-card__feature-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #059669;
  flex-shrink: 0;
}

.plan-card__feature-dot.is-muted {
  background: rgba(1, 56, 44, 0.2);
}

.plan-card__cta {
  margin-top: auto;
  align-self: flex-start;
}

.plan-grid__footnote {
  margin: 12px 0 0;
  font-size: 12px;
  color: rgba(1, 56, 44, 0.55);
}

.plan-grid__footnote a {
  color: #047857;
  font-weight: 500;
}


/* ============================================================
   Application funnel tree (May 2026 — t1777994439788)
   Horizontal flow with conversion arrows + drop-off branches.
   ============================================================ */

.funnel-tree {
  margin-top: 20px;
}

.funnel-tree__main {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto;
  align-items: center;
  gap: 0;
}

.funnel-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 100px;
  padding: 14px 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(5,150,105,0.06) 0%, rgba(5,150,105,0.02) 100%);
  border: 1px solid rgba(5,150,105,0.22);
  text-align: center;
}

.funnel-node--start {
  background: linear-gradient(135deg, rgba(5,150,105,0.15) 0%, rgba(5,150,105,0.06) 100%);
  border-color: rgba(5,150,105,0.4);
}

.funnel-node--end {
  background: linear-gradient(135deg, rgba(4,120,87,0.18) 0%, rgba(4,120,87,0.08) 100%);
  border-color: #047857;
  box-shadow: 0 0 0 1px rgba(4,120,87,0.18);
}

.funnel-node__count {
  font-size: 22px;
  font-weight: 700;
  color: #064e3b;
  line-height: 1;
}

.funnel-node__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(6, 78, 59, 0.65);
}

.funnel-node--end .funnel-node__count {
  color: #047857;
}

.funnel-tree__edge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  position: relative;
}

.funnel-tree__arrow {
  width: 100%;
  height: 16px;
  display: block;
}

.funnel-tree__rate {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(5,150,105,0.78);
  white-space: nowrap;
}

/* Drop-off branches row — aligns the branches under the EDGES (between nodes) */
.funnel-tree__branches {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto;
  align-items: start;
  gap: 0;
  margin-top: 0;
}

.funnel-tree__branch-spacer {
  /* Empty grid cell aligned with each .funnel-node above (so branches sit between nodes) */
}

.funnel-tree__branch {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 8px;
  margin-top: -2px; /* tuck the branch line up close to the arrow */
}

.funnel-tree__branch-line {
  width: 24px;
  height: 38px;
  display: block;
}

.funnel-tree__branch-card {
  margin-top: -4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 10px;
  border-radius: 8px;
  background: #fff7ed;
  border: 1px solid rgba(217,119,6,0.32);
  white-space: nowrap;
  min-width: 80px;
}

.funnel-tree__branch-count {
  font-size: 13px;
  font-weight: 700;
  color: #b45309;
  line-height: 1;
}

.funnel-tree__branch-label {
  font-size: 10px;
  font-weight: 500;
  color: rgba(120,53,15,0.7);
  margin-top: 2px;
}

.funnel-tree__summary {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px dashed rgba(1,56,44,0.12);
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 12px;
  color: rgba(1,56,44,0.6);
}

.funnel-tree__summary-item strong {
  color: #064e3b;
  font-weight: 700;
}

.funnel-tree__summary-divider {
  color: rgba(1,56,44,0.25);
}

/* Mobile: stack the funnel vertically with arrows turning down */
@media (max-width: 880px) {
  .funnel-tree__main,
  .funnel-tree__branches {
    grid-template-columns: 1fr;
  }
  .funnel-tree__main { gap: 8px; }
  .funnel-tree__edge {
    width: 100%;
    flex-direction: row;
    justify-content: center;
    gap: 8px;
    padding: 4px 0;
  }
  .funnel-tree__arrow {
    width: 40px;
    height: 12px;
    transform: rotate(90deg);
  }
  .funnel-tree__branch-spacer { display: none; }
  .funnel-tree__branch {
    padding: 0;
    margin: 4px 0 0;
    flex-direction: row;
    gap: 8px;
  }
  .funnel-tree__branch-line { width: 28px; height: 24px; transform: rotate(-90deg); }
}
