:root {
  --system-bg: var(--ui-canvas);
  --system-panel: var(--ui-surface);
  --system-ink: var(--ui-ink);
  --system-muted: var(--ui-muted);
  --system-line: var(--ui-border);
  --system-green: var(--ui-brand);
  --system-deep: var(--ui-brand-deep);
  --system-coral: var(--ui-danger);
  --system-blue: var(--ui-info);
  --system-shadow: var(--ui-shadow-raised);
}

[hidden] {
  display: none !important;
}

.system-body {
  background:
    radial-gradient(circle at 88% 0%, rgba(216, 240, 231, 0.9), transparent 35%),
    var(--system-bg);
}

.system-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 16px;
  width: min(100% - 28px, 1500px);
  min-height: calc(100vh - 28px);
  margin: 14px auto;
}

.system-sidebar,
.system-main,
.system-card,
.view-panel {
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.system-sidebar {
  position: sticky;
  top: 14px;
  height: calc(100vh - 28px);
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--system-shadow);
  backdrop-filter: blur(18px);
}

.system-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--system-ink);
  text-decoration: none;
}

.system-brand .brand-symbol {
  flex: 0 0 auto;
  width: 106px;
  height: 50px;
}

.system-brand strong,
.system-brand small {
  display: block;
}

.system-brand strong {
  font-size: 17px;
}

.system-brand small {
  margin-top: 2px;
  color: var(--system-muted);
  font-size: 12px;
}

.system-nav {
  display: grid;
  gap: 6px;
  overflow: auto;
  padding-right: 2px;
}

.system-nav-label {
  margin: 12px 4px 2px;
  color: rgba(6, 59, 49, 0.52);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0;
}

.system-nav-label:first-child {
  margin-top: 2px;
}

.system-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
  color: var(--system-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  font-weight: 900;
  text-align: left;
  transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.system-nav-item[hidden] {
  display: none !important;
}

.system-nav-item.active,
.system-nav-item:hover {
  color: #fff;
  background: var(--system-green);
  border-color: var(--system-green);
}

.system-nav-item:hover {
  transform: translateX(2px);
}

.mobile-nav-more {
  display: none;
}

.sidebar-card {
  margin-top: auto;
  padding: 16px;
  background: var(--system-deep);
  color: #fff;
  border-radius: 8px;
}

.sidebar-card span {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-weight: 850;
}

.sidebar-card strong {
  display: block;
  margin: 10px 0;
  font-size: 36px;
  line-height: 1;
}

.mini-progress {
  height: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.mini-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: #d8f0e7;
  border-radius: inherit;
  transition: width 240ms ease;
}

.system-main {
  min-width: 0;
  background: rgba(255, 255, 255, 0.58);
  overflow: hidden;
}

.system-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.86);
  border-bottom: 1px solid var(--system-line);
}

.system-topbar p {
  margin: 0 0 8px;
  color: var(--system-green);
  font-size: 13px;
  font-weight: 900;
}

.system-topbar h1 {
  margin: 0;
  color: var(--system-ink);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.18;
}

.topbar-actions {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.soft-button,
.solid-button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 8px;
  font-weight: 900;
}

.soft-button {
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
}

.solid-button {
  color: #fff;
  background: var(--system-deep);
  border: 1px solid var(--system-deep);
}

.view-panel {
  display: none;
  min-height: calc(100vh - 134px);
  padding: 18px;
  background:
    linear-gradient(90deg, rgba(15, 107, 87, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(15, 107, 87, 0.035) 1px, transparent 1px),
    rgba(247, 250, 248, 0.86);
  background-size: 36px 36px;
}

.view-panel.active {
  display: block;
}

.account-menu {
  position: relative;
  z-index: 20;
}

.account-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.account-chip::-webkit-details-marker {
  display: none;
}

.account-avatar {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  overflow: hidden;
  background: var(--system-deep);
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(7, 59, 49, 0.14);
}

.account-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.account-chip small {
  display: block;
  margin-top: 2px;
  color: var(--system-muted);
  font-size: 12px;
}

.account-identity,
.account-name-row,
.account-meta,
.account-badges,
.account-points {
  display: flex;
  align-items: center;
}

.account-identity {
  min-width: 0;
  align-items: flex-start;
  flex-direction: column;
  gap: 3px;
}

.account-name-row,
.account-meta {
  min-width: 0;
  gap: 7px;
}

.account-name-row > strong {
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-badges {
  gap: 4px;
}

.account-badge {
  padding: 2px 5px;
  color: #1f5fd2;
  background: #edf3ff;
  border: 1px solid #c7d7ff;
  border-radius: 4px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.account-badge.coaching {
  color: #765209;
  background: #fff8df;
  border-color: #ead9a0;
}

.account-badge.basic {
  color: #5f6b7d;
  background: #f5f7fa;
  border-color: #d9dee7;
}

.account-points {
  gap: 3px;
  color: #516078;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.account-points svg {
  width: 12px;
  height: 12px;
  color: #236df1;
}

.account-points b {
  color: #172033;
  font-size: 11px;
}

.account-chevron {
  width: 16px;
  height: 16px;
  color: var(--system-muted);
  transition: transform 180ms ease;
}

.account-menu[open] .account-chevron {
  transform: rotate(180deg);
}

.auth-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 380px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--system-line);
  border-radius: 8px;
  box-shadow: var(--system-shadow);
}

.auth-panel-head {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}

.auth-panel-head strong {
  color: var(--system-deep);
  font-size: 16px;
}

.auth-panel-head span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 850;
}

.account-quick-actions {
  display: grid;
  gap: 2px;
}

.account-quick-actions[hidden] {
  display: none;
}

.account-quick-actions > [hidden] {
  display: none;
}

.account-quick-actions > :is(button, a) {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 10px;
  color: #172033;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e8ebf0;
  border-radius: 0;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.account-quick-actions > :is(button, a):hover {
  background: #f6f8fb;
}

.account-quick-actions svg {
  width: 18px;
  height: 18px;
  color: #667085;
}

.account-quick-actions span,
.account-quick-actions b,
.account-quick-actions small {
  display: block;
}

.account-quick-actions b {
  color: #172033;
  font-size: 14px;
}

.account-quick-actions small {
  margin-top: 4px;
  color: #737d8f;
  font-size: 11px;
  font-weight: 600;
}

.account-quick-actions small strong {
  display: inline;
  color: #236df1;
}

.account-quick-actions .account-logout {
  grid-template-columns: 22px minmax(0, 1fr);
  margin-top: 6px;
  border-bottom: 0;
}

.account-menu[data-authenticated="true"] .auth-panel {
  width: 320px;
  padding: 10px;
}

.account-menu[data-authenticated="true"] .auth-panel-head {
  margin: 2px 8px 8px;
}

.account-settings-dialog {
  width: min(520px, calc(100vw - 28px));
  padding: 0;
  border: 1px solid #d8dde6;
  border-radius: 8px;
}

.account-settings-shell {
  display: grid;
  gap: 16px;
  padding: 24px;
}

.account-settings-shell header,
.account-settings-shell footer,
.account-password-fields {
  display: flex;
  align-items: center;
}

.account-settings-shell header,
.account-settings-shell footer {
  justify-content: space-between;
  gap: 12px;
}

.account-settings-shell header span {
  color: #236df1;
  font-size: 12px;
  font-weight: 800;
}

.account-settings-shell h2 {
  margin: 4px 0 0;
  font-size: 23px;
}

.account-settings-shell header > button {
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
}

.account-settings-shell label {
  display: grid;
  flex: 1;
  gap: 7px;
  color: #4d596d;
  font-size: 12px;
  font-weight: 700;
}

.account-settings-shell input {
  width: 100%;
  min-height: 42px;
  padding: 0 11px;
  border: 1px solid #cfd5df;
  border-radius: 5px;
  box-sizing: border-box;
}

.account-settings-shell input[readonly] {
  color: #788295;
  background: #f6f7f9;
}

.account-password-fields {
  align-items: flex-start;
  gap: 12px;
}

#accountSettingsMessage {
  min-height: 18px;
  margin: 0;
  color: #6b7485;
  font-size: 12px;
}

.account-settings-shell footer {
  justify-content: flex-end;
  padding-top: 4px;
}

.account-settings-shell footer button {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #cfd5df;
  border-radius: 5px;
}

.account-settings-shell footer button.primary {
  color: #fff;
  background: #246bfd;
  border-color: #246bfd;
}

.auth-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
}

.auth-fields input,
.admin-import-text {
  width: 100%;
  min-height: 38px;
  padding: 0 10px;
  color: var(--system-ink);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  outline: 0;
  font-weight: 850;
}

#loginEmail,
#loginPassword {
  grid-column: 1 / -1;
}

.wechat-auth-button {
  color: #087f5b;
  border-color: #bfe8d6;
  background: #effaf4;
}

#authMessage {
  margin: 10px 0 0;
  color: var(--system-muted);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 850;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.metric-grid article {
  padding: 18px;
  background: var(--system-panel);
  border: 1px solid var(--system-line);
  border-radius: 8px;
  box-shadow: 0 14px 40px rgba(7, 59, 49, 0.05);
}

.metric-link,
.clickable-row {
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.metric-link:hover,
.metric-link:focus-visible,
.clickable-row:hover,
.clickable-row:focus-visible {
  border-color: rgba(15, 107, 87, 0.42);
  box-shadow: 0 18px 46px rgba(7, 59, 49, 0.08);
  transform: translateY(-1px);
  outline: none;
}

.metric-grid span,
.metric-grid small {
  display: block;
  color: var(--system-muted);
  font-weight: 850;
}

.metric-grid strong {
  display: block;
  margin: 8px 0;
  color: var(--system-green);
  font-size: 32px;
  line-height: 1;
}

.dashboard-grid,
.system-grid {
  display: grid;
  gap: 14px;
}

.dashboard-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
}

.dashboard-stage {
  margin: 0 0 16px;
  padding: 20px;
  background: var(--ui-surface, var(--system-panel));
  border: 1px solid var(--ui-border, var(--system-line));
  border-radius: var(--ui-radius-card, 16px);
  box-shadow: var(--ui-shadow-card, 0 14px 40px rgba(7, 59, 49, 0.05));
}

.dashboard-stage-summary {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  list-style: none;
}

.dashboard-stage-summary::-webkit-details-marker {
  display: none;
}

.dashboard-stage-summary > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 800;
}

.dashboard-stage-summary > span svg {
  width: 17px;
  transition: transform var(--ui-time-fast, 160ms) ease;
}

.dashboard-stage[open] .dashboard-stage-summary > span svg {
  transform: rotate(180deg);
}

.dashboard-stage-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.dashboard-stage-head h2 {
  margin: 3px 0 0;
  color: var(--system-deep);
  font-size: 21px;
}

.dashboard-stage-head > span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 800;
}

.dashboard-stage .journey-overview {
  margin: 18px 0 0;
}

.dashboard-support {
  margin-top: 16px;
  border: 1px solid var(--ui-border, var(--system-line));
  border-radius: var(--ui-radius-card, 16px);
  background: color-mix(in srgb, var(--ui-surface, #fff) 88%, var(--ui-canvas, #f5f7f2));
  overflow: hidden;
}

.dashboard-support-summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 20px;
  gap: 12px;
  align-items: center;
  padding: 16px 18px;
  color: var(--system-deep);
  cursor: pointer;
  list-style: none;
}

.dashboard-support-summary::-webkit-details-marker {
  display: none;
}

.dashboard-support-summary > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: var(--system-green);
  background: #eaf4ee;
  border-radius: 12px;
}

.dashboard-support-summary > span svg,
.dashboard-support-summary > svg {
  width: 20px;
  height: 20px;
}

.dashboard-support-summary div {
  display: grid;
  gap: 3px;
}

.dashboard-support-summary small {
  color: var(--system-muted);
  font-weight: 750;
}

.dashboard-support-summary > svg {
  transition: transform var(--ui-time-fast, 160ms) ease;
}

.dashboard-support[open] .dashboard-support-summary > svg {
  transform: rotate(180deg);
}

.dashboard-support-body {
  display: grid;
  gap: 14px;
  padding: 0 18px 18px;
  border-top: 1px solid var(--ui-border, var(--system-line));
}

.dashboard-support-body > :first-child {
  margin-top: 18px;
}

.p0-service-hub:not([hidden]) + .student-command-card {
  display: none;
}

.journey-overview {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.journey-card {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 148px;
  padding: 14px;
  color: var(--system-deep);
  text-align: left;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(7, 59, 49, 0.04);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.journey-card:hover,
.journey-card.current {
  border-color: var(--system-green);
  box-shadow: 0 16px 34px rgba(7, 59, 49, 0.1);
  transform: translateY(-2px);
}

.journey-card.done {
  background: linear-gradient(180deg, #f7fcf9 0%, #edf7f1 100%);
}

.journey-card span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
  background: var(--system-green);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
}

.journey-card strong {
  color: var(--system-deep);
  font-size: 16px;
}

.journey-card small {
  color: var(--system-muted);
  line-height: 1.45;
  font-weight: 850;
}

.journey-card b {
  align-self: end;
  width: fit-content;
  padding: 5px 8px;
  color: var(--system-green);
  background: #e6f4ed;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.2;
}

.work-center-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  min-height: 220px;
  margin-bottom: 14px;
  padding: 24px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(7, 59, 49, 0.96), rgba(15, 107, 87, 0.88)),
    url("./assets/photos/chinese-team-meeting.webp") center / cover;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  box-shadow: var(--system-shadow);
}

.profile-work-center {
  background:
    linear-gradient(135deg, rgba(7, 59, 49, 0.95), rgba(27, 113, 137, 0.78)),
    url("./assets/photos/chinese-resume-coaching.webp") center / cover;
}

.opportunity-work-center {
  background:
    linear-gradient(135deg, rgba(7, 59, 49, 0.95), rgba(47, 107, 255, 0.68)),
    url("./assets/photos/chinese-enterprise-lobby.webp") center / cover;
}

.application-work-center {
  background:
    linear-gradient(135deg, rgba(7, 59, 49, 0.96), rgba(255, 114, 94, 0.58)),
    url("./assets/photos/chinese-application-tracking.webp") center / cover;
}

.application-command {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  gap: 1px;
  margin-bottom: 14px;
  overflow: hidden;
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--ui-radius-card, 16px);
  box-shadow: var(--ui-shadow-elevated, 0 18px 44px rgba(7, 59, 49, 0.12));
}

.application-command-main {
  position: relative;
  padding: 26px;
  background:
    radial-gradient(circle at 92% 10%, rgba(216, 255, 62, 0.2), transparent 32%),
    var(--system-deep);
}

.application-command-main > span {
  color: var(--ui-action, #d8ff3e);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.1em;
}

.application-command-main h2 {
  max-width: 760px;
  margin: 9px 0 8px;
  color: #fff;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.18;
}

.application-command-main p {
  max-width: 720px;
  margin: 0 0 18px;
  color: #c8d8d2;
  line-height: 1.7;
}

.application-command-main .solid-button {
  color: var(--system-deep);
  background: var(--ui-action, #d8ff3e);
}

.application-command-meta {
  display: grid;
  align-content: stretch;
  background: #0a4c3f;
}

.application-command-meta article {
  display: grid;
  gap: 5px;
  align-content: center;
  padding: 15px 18px;
}

.application-command-meta article + article {
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.application-command-meta span {
  color: #8eb2a8;
  font-size: 11px;
  font-weight: 850;
}

.application-command-meta strong {
  color: #fff;
  line-height: 1.4;
}

.growth-work-center {
  background:
    linear-gradient(135deg, rgba(7, 59, 49, 0.96), rgba(15, 107, 87, 0.76)),
    url("./assets/photos/chinese-workplace-learning.webp") center / cover;
}

.work-center-hero > div:first-child {
  max-width: 760px;
}

.work-center-hero .section-kicker {
  color: rgba(255, 255, 255, 0.82);
}

.work-center-hero h2 {
  max-width: 820px;
  margin: 8px 0 10px;
  color: #fff;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.08;
}

.work-center-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 15px;
  line-height: 1.75;
  font-weight: 750;
}

.work-center-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  min-width: 260px;
}

.work-center-hero-actions .soft-button {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.34);
}

.work-center-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  gap: 14px;
  margin-top: 14px;
}

.work-center-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.work-center-action {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 118px;
  padding: 15px;
  color: var(--system-deep);
  text-align: left;
  background: #f8fcfa;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.work-center-action:hover,
.work-center-action.primary {
  border-color: var(--system-green);
  box-shadow: 0 14px 30px rgba(7, 59, 49, 0.08);
  transform: translateY(-1px);
}

.work-center-action i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 8px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
}

.work-center-action strong,
.work-center-action span {
  grid-column: 2;
}

.work-center-action strong {
  display: block;
  margin-top: 2px;
  font-size: 16px;
}

.work-center-action span {
  color: var(--system-muted);
  line-height: 1.55;
  font-size: 13px;
  font-weight: 780;
}

.work-center-list {
  display: grid;
  gap: 10px;
}

.work-center-list-item {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 14px;
  color: var(--system-deep);
  text-align: left;
  background: #f8fcfa;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
}

.work-center-list-item:hover {
  border-color: var(--system-green);
}

.work-center-list-item > span {
  width: 10px;
  height: 10px;
  background: var(--system-green);
  border-radius: 999px;
}

.work-center-list-item.urgent > span {
  background: #c77710;
}

.work-center-list-item.done > span {
  background: #37a26b;
}

.work-center-list-item strong,
.work-center-list-item small {
  display: block;
}

.work-center-list-item small {
  margin-top: 4px;
  color: var(--system-muted);
  line-height: 1.5;
  font-weight: 760;
}

.work-center-list-item b {
  color: var(--system-green);
  white-space: nowrap;
  font-size: 13px;
}

.sop-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
  align-items: stretch;
  padding: 26px;
  margin-bottom: 14px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(7, 59, 49, 0.96), rgba(13, 93, 75, 0.92)),
    url("./assets/photos/chinese-team-meeting.webp") center/cover;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  overflow: hidden;
}

.sop-hero h2 {
  max-width: 760px;
  margin: 10px 0 12px;
  font-size: 36px;
  line-height: 1.15;
  letter-spacing: 0;
}

.sop-hero p {
  max-width: 820px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-weight: 780;
  line-height: 1.7;
}

.sop-hero .section-kicker {
  color: #bce8d7;
}

.sop-hero-panel {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  backdrop-filter: blur(10px);
}

.sop-hero-panel span,
.sop-hero-panel small {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 850;
  line-height: 1.5;
}

.sop-hero-panel strong {
  color: #fff;
  font-size: 28px;
}

.sop-metrics {
  margin-bottom: 14px;
}

.sop-command-card {
  margin-bottom: 14px;
}

.sop-next-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.sop-action-card {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 18px;
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 13px;
  text-align: left;
  color: var(--system-deep);
  background: #f8fcfa;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
}

.sop-action-card:hover {
  border-color: var(--system-green);
  transform: translateY(-1px);
}

.sop-action-card > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-weight: 950;
}

.sop-action-card.urgent > span {
  background: #c77710;
}

.sop-action-card strong,
.sop-action-card small {
  display: block;
}

.sop-action-card small {
  margin-top: 4px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 820;
}

.sop-action-card svg {
  color: var(--system-green);
}

.sop-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 14px;
  align-items: start;
}

.sop-timeline {
  display: grid;
  gap: 12px;
}

.sop-stage-card {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  background: var(--system-panel);
  border: 1px solid var(--system-line);
  border-radius: 8px;
  box-shadow: 0 14px 40px rgba(7, 59, 49, 0.05);
}

.sop-stage-card.current {
  border-color: rgba(15, 107, 87, 0.45);
  box-shadow: 0 18px 46px rgba(15, 107, 87, 0.13);
}

.sop-stage-card.done {
  background: linear-gradient(180deg, #ffffff, #f4fbf7);
}

.sop-stage-index {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
}

.sop-stage-index span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: #fff;
  background: var(--system-deep);
  border-radius: 8px;
  font-size: 20px;
  font-weight: 950;
}

.sop-stage-card.done .sop-stage-index span {
  background: #37a26b;
}

.sop-stage-card.current .sop-stage-index span {
  background: var(--system-green);
}

.sop-stage-index b {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.sop-stage-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 10px;
}

.sop-stage-head p {
  margin: 0 0 5px;
  color: var(--system-green);
  font-size: 13px;
  font-weight: 900;
}

.sop-stage-head h3 {
  margin: 0;
  color: var(--system-deep);
  font-size: 22px;
  line-height: 1.25;
}

.sop-stage-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.sop-stage-meta span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 6px 9px;
  color: var(--system-muted);
  background: #f4faf7;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 850;
}

.sop-stage-meta svg {
  width: 14px;
  height: 14px;
  color: var(--system-green);
}

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

.sop-stage-grid section {
  padding: 12px;
  background: #f8fcfa;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.sop-stage-grid strong {
  display: block;
  margin-bottom: 7px;
  color: var(--system-deep);
}

.sop-stage-grid p,
.sop-stage-grid li {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 780;
  line-height: 1.6;
}

.sop-stage-grid p,
.sop-stage-grid ul {
  margin: 0;
}

.sop-stage-grid ul {
  padding-left: 18px;
}

.sop-risk-strip {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

.sop-risk-strip span {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding: 8px 10px;
  color: #8a4b05;
  background: #fff7e8;
  border: 1px solid #f0d4a8;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.sop-risk-strip svg {
  width: 15px;
  height: 15px;
}

.sop-side {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 14px;
}

.compact-head {
  margin-bottom: 10px;
}

.sop-package-list,
.sop-principle-list {
  display: grid;
  gap: 10px;
}

.sop-package-list article,
.sop-principle-list article {
  padding: 12px;
  background: #f8fcfa;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.sop-package-list strong,
.sop-package-list p,
.sop-package-list span {
  display: block;
}

.sop-package-list strong {
  color: var(--system-deep);
}

.sop-package-list p {
  margin: 6px 0 5px;
  color: var(--system-green);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.5;
}

.sop-package-list span,
.sop-principle-list span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 780;
  line-height: 1.55;
}

.sop-principle-list article {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.sop-principle-list svg {
  width: 17px;
  height: 17px;
  color: var(--system-green);
  margin-top: 2px;
}

.two-col {
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1fr);
}

.system-card {
  padding: 20px;
  background: var(--system-panel);
  box-shadow: 0 14px 40px rgba(7, 59, 49, 0.05);
}

.tenant-config-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
  gap: 14px;
  align-items: start;
}

.tenant-config-layout .wide-card,
.tenant-save-bar {
  grid-column: 1 / -1;
}

.tenant-preview {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--system-line);
  background: linear-gradient(135deg, #f9fcfa 0%, #eef7f3 100%);
}

.tenant-preview-mark {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(7, 59, 49, 0.12);
  background: #fff;
}

.tenant-preview-mark img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.tenant-preview span,
.mini-head span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.tenant-preview strong {
  display: block;
  margin-top: 5px;
  color: var(--system-deep);
  font-size: 20px;
  line-height: 1.25;
}

.tenant-preview p {
  margin: 8px 0 0;
  color: var(--system-muted);
  line-height: 1.55;
}

.tenant-control-block {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

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

.mini-head strong {
  color: var(--system-deep);
}

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

.module-switch-grid label,
.admin-job-form .check-line {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 9px 10px;
  border: 1px solid var(--system-line);
  background: #f8fbf9;
}

.module-switch-grid input,
.admin-job-form .check-line input {
  width: auto;
}

.homepage-editor-list {
  display: grid;
  gap: 12px;
}

.homepage-edit-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--system-line);
  background: #fbfdfc;
}

.homepage-edit-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.homepage-edit-head strong {
  color: var(--system-green);
  font-size: 18px;
}

.homepage-card-form textarea,
.tenant-config-layout textarea {
  min-height: 88px;
  resize: vertical;
}

.compact-form {
  margin-top: 14px;
}

.tenant-save-bar {
  position: sticky;
  bottom: 12px;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(7, 59, 49, 0.12);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 40px rgba(7, 59, 49, 0.12);
}

.tenant-save-bar strong {
  display: block;
  color: var(--system-deep);
}

.tenant-save-bar span {
  display: block;
  margin-top: 3px;
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 800;
}

.tenant-unavailable-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.tenant-unavailable-card {
  width: min(560px, 100%);
  display: grid;
  gap: 14px;
  padding: 32px;
  background: var(--system-panel);
  border: 1px solid var(--system-line);
  box-shadow: var(--system-shadow);
}

.tenant-unavailable-card .brand-symbol {
  width: 58px;
  height: 58px;
}

.tenant-unavailable-card h1 {
  margin: 0;
  color: var(--system-deep);
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.05;
}

.tenant-unavailable-card p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.7;
  font-weight: 850;
}

.tenant-unavailable-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.tenant-unavailable-meta span {
  padding: 8px 10px;
  color: var(--system-green);
  background: #eaf4ee;
  font-size: 13px;
  font-weight: 900;
}

.tenant-domain-card {
  margin-top: 14px;
}

.tenant-domain-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
  gap: 14px;
}

.tenant-lifecycle-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tenant-lifecycle-panel article,
.tenant-domain-guide,
.dns-check-grid article {
  padding: 14px;
  border: 1px solid var(--system-line);
  background: #f8fbf9;
}

.tenant-lifecycle-panel span,
.dns-guide-row span,
.dns-check-grid span,
.tenant-admin-row small {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.tenant-lifecycle-panel strong,
.dns-guide-row strong,
.dns-check-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--system-deep);
  line-height: 1.35;
}

.tenant-lifecycle-panel p,
.tenant-domain-guide li,
.dns-check-grid p {
  margin: 8px 0 0;
  color: var(--system-muted);
  line-height: 1.55;
  font-size: 13px;
  font-weight: 800;
}

.tenant-domain-guide {
  display: grid;
  gap: 10px;
}

.dns-guide-row {
  display: grid;
  gap: 2px;
}

.tenant-domain-guide ol {
  margin: 4px 0 0;
  padding-left: 20px;
}

.dns-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.dns-check-grid article.ready {
  border-color: rgba(15, 107, 87, 0.35);
  background: #eef8f3;
}

.dns-check-grid article.pending {
  border-color: rgba(255, 114, 94, 0.35);
  background: #fff8f5;
}

.tenant-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 10px;
  color: var(--system-green);
  background: #eaf4ee;
  font-size: 12px;
  font-weight: 950;
}

.tenant-status-pill.paused,
.tenant-status-pill.expired {
  color: #9b2f20;
  background: #fff0ea;
}

.tenant-admin-row small {
  display: block;
  margin-top: 6px;
}

.tenant-ops-card {
  display: grid;
  gap: 14px;
}

.tenant-ops-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tenant-ops-grid article {
  padding: 14px;
  border: 1px solid var(--system-line);
  background: #f8fbf9;
}

.tenant-ops-grid span,
.tenant-plan-features span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.tenant-ops-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--system-deep);
  font-size: 30px;
  line-height: 1;
}

.tenant-ops-grid p {
  margin: 8px 0 0;
  color: var(--system-muted);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 800;
}

.tenant-plan-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tenant-plan-features span {
  padding: 8px 10px;
  border: 1px solid var(--system-line);
  background: #fff;
}

.tenant-plan-features span.enabled {
  color: var(--system-green);
  background: #eef8f3;
  border-color: rgba(15, 107, 87, 0.22);
}

.tenant-plan-features span.locked,
.module-switch-grid label.locked {
  color: #9b2f20;
  background: #fff6f2;
  border-color: rgba(255, 114, 94, 0.25);
}

.module-switch-grid label.locked span {
  color: #9b2f20;
}

.upload-line input[type="file"] {
  padding: 9px;
  min-height: 46px;
  cursor: pointer;
}

.card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.card-head h2,
.system-card h2 {
  margin: 0;
  color: var(--system-deep);
  font-size: 22px;
  line-height: 1.22;
}

.compact-list,
.action-list,
.task-list,
.bank-list,
.note-list,
.parent-timeline {
  display: grid;
  gap: 10px;
}

.today-workflow-card {
  margin-bottom: 14px;
}

.workflow-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.workflow-step {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  min-height: 82px;
  padding: 12px;
  text-align: left;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.workflow-step span {
  display: grid;
  grid-row: span 2;
  place-items: center;
  width: 28px;
  height: 28px;
  color: var(--system-muted);
  background: #eef6f2;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.workflow-step strong {
  color: var(--system-deep);
  font-size: 14px;
  line-height: 1.3;
}

.workflow-step small {
  color: var(--system-muted);
  font-weight: 850;
  line-height: 1.35;
}

.workflow-step.done {
  border-color: #cde9dc;
  background: #f4fbf7;
}

.workflow-step.done span {
  color: #fff;
  background: var(--system-green);
}

.system-list-item,
.action-item,
.task-item,
.bank-item,
.note-item,
.timeline-item {
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.system-list-item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.score-pill {
  color: var(--system-green);
  font-size: 20px;
  font-weight: 900;
}

.system-list-item h3,
.job-system-card h3 {
  margin: 0 0 6px;
  color: var(--system-deep);
  font-size: 17px;
}

.system-list-item p,
.job-system-card p,
.action-item p,
.task-item p,
.bank-item p,
.note-item p,
.timeline-item p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.55;
}

.recommend-reason {
  display: block;
  margin-top: 5px;
  color: var(--system-green);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}

.profile-form {
  display: grid;
  gap: 12px;
}

.profile-form label {
  display: grid;
  gap: 7px;
}

.profile-form span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 900;
}

.profile-form input,
.admin-job-form input,
.admin-job-form select,
.admin-job-form textarea,
.admin-job-toolbar select,
.resume-profile-form input,
.resume-profile-form textarea,
.resume-form select,
.resume-form textarea,
.system-search input,
.jobs-toolbar select,
.job-filter-panel select,
.mentor-note-card textarea,
.mentor-chat-composer textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  color: var(--system-ink);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  outline: 0;
  font-weight: 850;
}

.admin-job-form textarea {
  min-height: 86px;
  padding-top: 10px;
  line-height: 1.55;
  resize: vertical;
}

.resume-studio-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 22px;
  color: #14352c;
  background: linear-gradient(135deg, #ffffff 0%, #f1faf5 64%, #e8f4ee 100%);
  border: 1px solid var(--system-line);
  border-radius: 8px;
  box-shadow: 0 16px 42px rgba(7, 59, 49, 0.06);
}

.resume-studio-head h2 {
  margin: 3px 0 8px;
  color: var(--system-deep);
  font-size: 28px;
  line-height: 1.18;
}

.resume-studio-head p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--system-muted);
  font-weight: 850;
  line-height: 1.65;
}

.resume-studio-layout {
  display: grid;
  grid-template-columns: minmax(420px, 0.96fr) minmax(430px, 1.04fr);
  gap: 14px;
  align-items: start;
}

.resume-studio-layout > *,
.resume-studio-layout .system-card {
  box-sizing: border-box;
  min-width: 0;
}

.resume-workflow {
  display: grid;
  gap: 14px;
}

.resume-step-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.resume-step-strip article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  box-shadow: 0 12px 34px rgba(7, 59, 49, 0.05);
}

.resume-step-strip article.active {
  border-color: rgba(15, 107, 87, 0.32);
  background: #f4fbf7;
}

.resume-step-strip span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-weight: 900;
}

.resume-step-strip strong {
  color: var(--system-deep);
  line-height: 1.25;
}

.resume-step-strip small,
.field-hint {
  color: var(--system-muted);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 850;
}

.field-hint {
  display: block;
}

.resume-side {
  display: grid;
  gap: 14px;
  align-content: start;
}

.resume-preview-card {
  position: sticky;
  top: 14px;
}

.resume-profile-form {
  display: grid;
  gap: 12px;
}

.resume-editor-topline {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.resume-photo-uploader {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.resume-photo-preview {
  display: grid;
  place-items: center;
  width: 96px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  color: var(--system-muted);
  background: #fff;
  border: 1px dashed #b9cfc4;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 900;
}

.resume-photo-preview img,
.resume-paper-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.resume-photo-uploader strong {
  display: block;
  color: var(--system-deep);
  margin-bottom: 5px;
}

.resume-photo-uploader p {
  margin: 0 0 10px;
  color: var(--system-muted);
  font-size: 13px;
  line-height: 1.6;
}

.resume-photo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.resume-profile-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.resume-completion {
  display: grid;
  gap: 9px;
  padding: 12px;
  background: #f4fbf7;
  border: 1px solid #cde9dc;
  border-radius: 8px;
}

.resume-completion-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.resume-completion-head strong {
  display: block;
  color: var(--system-deep);
  line-height: 1.35;
}

.resume-completion-head span,
.resume-completion p {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.5;
}

.resume-completion-head b {
  flex: 0 0 auto;
  padding: 6px 9px;
  color: #8f5f10;
  background: #fff8e9;
  border: 1px solid #f2dca8;
  border-radius: 999px;
  font-size: 12px;
}

.resume-completion-head b.ready {
  color: var(--system-green);
  background: #fff;
  border-color: #cde9dc;
}

.resume-completion-bar {
  height: 8px;
  overflow: hidden;
  background: #e2eee8;
  border-radius: 999px;
}

.resume-completion-bar i {
  display: block;
  height: 100%;
  background: var(--system-green);
  border-radius: inherit;
  transition: width 180ms ease;
}

.resume-completion p {
  margin: 0;
}

.resume-field-section {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: #fbfdfb;
  border: 1px solid #dfece6;
  border-radius: 8px;
}

.resume-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.resume-section-head strong {
  color: var(--system-deep);
}

.resume-section-head span {
  color: var(--system-green);
  font-size: 12px;
  font-weight: 900;
}

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

.resume-language-summary {
  min-width: 0;
}

.resume-language-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.resume-language-chip-list span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  color: var(--system-deep);
  background: #edf7f2;
  border: 1px solid #cfe4da;
  border-radius: 999px;
  font-size: 12px;
}

.resume-language-chip-list svg,
.resume-language-empty svg {
  width: 16px;
}

.resume-language-empty {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  color: var(--system-muted);
  background: #f6f8f5;
  border: 1px dashed #cad8d0;
  border-radius: 10px;
}

.resume-language-empty > span {
  display: grid;
  gap: 2px;
}

.resume-language-empty strong {
  color: var(--system-deep);
  font-size: 13px;
}

.resume-language-empty small,
.resume-profile-form label > small {
  color: var(--system-muted);
  font-size: 11px;
  line-height: 1.5;
}

.resume-profile-form label {
  display: grid;
  gap: 7px;
}

.resume-profile-form span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 900;
}

.resume-profile-form .wide {
  grid-column: 1 / -1;
}

.resume-profile-form textarea {
  min-height: 78px;
  padding: 12px;
  resize: vertical;
  line-height: 1.6;
}

.resume-profile-form input:focus,
.resume-profile-form textarea:focus,
.resume-form select:focus,
.resume-form textarea:focus {
  background: #fff;
  border-color: rgba(15, 107, 87, 0.45);
  box-shadow: 0 0 0 3px rgba(15, 107, 87, 0.08);
}

.resume-status-pill {
  padding: 7px 10px;
  color: var(--system-green);
  background: #eaf4ee;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.match-resume-card {
  margin-top: 14px;
}

.match-company-card {
  margin-top: 14px;
}

.match-company-list {
  display: grid;
  gap: 12px;
}

.match-company-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.match-company-score {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  color: #fff;
  background: var(--system-deep);
  border-radius: 8px;
}

.match-company-score strong {
  font-size: 24px;
  line-height: 1;
}

.match-company-score span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 900;
}

.match-company-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.match-company-head h3 {
  margin: 0 0 6px;
  color: var(--system-deep);
  font-size: 18px;
}

.match-company-head p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.5;
}

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

.fit-grid section {
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.fit-grid strong {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  color: var(--system-deep);
}

.fit-grid ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--system-muted);
  line-height: 1.45;
}

.match-resume-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.resume-form {
  display: grid;
  gap: 12px;
}

.resume-form label {
  display: grid;
  gap: 7px;
}

.resume-form span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 900;
}

.resume-form textarea {
  min-height: 180px;
  padding: 12px;
  resize: vertical;
  line-height: 1.65;
}

.resume-ai-card {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf9 100%);
}

.resume-target-field {
  padding: 12px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.resume-raw-draft {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.resume-raw-draft summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  padding: 0 12px;
  color: var(--system-deep);
  font-weight: 950;
  cursor: pointer;
  list-style: none;
}

.resume-raw-draft summary::-webkit-details-marker {
  display: none;
}

.resume-raw-draft summary svg {
  width: 18px;
  height: 18px;
  color: var(--system-muted);
  transition: transform 160ms ease;
}

.resume-raw-draft[open] summary svg {
  transform: rotate(180deg);
}

.resume-raw-draft label {
  padding: 0 12px 12px;
}

.resume-score-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
}

.resume-score {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  background: var(--system-deep);
  color: #fff;
  border-radius: 8px;
}

.resume-score strong {
  font-size: 46px;
  line-height: 1;
}

.resume-score span {
  margin-top: -18px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 900;
}

.resume-result-card p {
  color: var(--system-muted);
  line-height: 1.7;
}

.resume-paper-preview {
  width: min(100%, 760px);
  min-height: 860px;
  margin: 0 auto;
  padding: 34px 38px;
  color: #17261f;
  background: #fff;
  border: 1px solid #dce8e1;
  border-radius: 3px;
  box-shadow: 0 20px 46px rgba(25, 53, 43, 0.11);
}

.resume-paper-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 16px;
  align-items: start;
  padding-bottom: 16px;
  border-bottom: 3px solid var(--system-deep);
}

.resume-paper-head h3 {
  margin: 0 0 8px;
  color: var(--system-deep);
  font-size: 28px;
  line-height: 1.1;
}

.resume-paper-head p,
.resume-paper-target p,
.resume-paper-section-list p {
  margin: 0;
  color: #33443b;
  line-height: 1.72;
}

.resume-paper-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.resume-paper-meta span {
  padding: 5px 8px;
  color: var(--system-deep);
  background: #f1f7f4;
  border: 1px solid #dce8e1;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
}

.resume-paper-photo {
  display: grid;
  place-items: center;
  width: 78px;
  aspect-ratio: 3 / 4;
  justify-self: end;
  overflow: hidden;
  background: #eef5f1;
  border: 1px solid var(--system-line);
  border-radius: 4px;
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 900;
}

.resume-paper-target {
  margin: 16px 0;
  padding: 12px 14px;
  background: #f4faf7;
  border-left: 4px solid var(--system-green);
}

.resume-paper-target strong,
.resume-paper-section-list strong {
  display: block;
  margin-bottom: 7px;
  color: var(--system-deep);
}

.resume-paper-section-list {
  display: grid;
  gap: 13px;
}

.resume-paper-section-list section {
  padding-bottom: 13px;
  border-bottom: 1px solid #e6eee9;
}

.resume-paper-section-list section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.resume-paper-section-text {
  display: grid;
  gap: 5px;
}

.resume-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.resume-result-wide {
  margin-top: 14px;
}

.resume-insight-grid article,
.resume-advice-block,
.resume-productized-grid article,
.resume-rewrite-block,
.resume-optimized-block {
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.resume-insight-grid strong,
.resume-advice-block > strong,
.resume-productized-grid strong,
.resume-rewrite-block > strong,
.resume-optimized-head > strong {
  display: block;
  margin-bottom: 10px;
  color: var(--system-deep);
}

.resume-change-list,
.resume-optimized-text {
  display: grid;
  gap: 10px;
}

.resume-change-item,
.resume-rewrite-pair {
  padding: 11px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.resume-change-item strong {
  display: block;
  margin-bottom: 7px;
  color: var(--system-deep);
}

.resume-change-item p,
.resume-rewrite-pair p {
  margin: 0 0 6px;
  color: var(--system-muted);
  line-height: 1.6;
}

.resume-change-item b,
.resume-rewrite-pair b {
  color: var(--system-deep);
}

.resume-change-item small,
.resume-rewrite-pair small {
  display: block;
  color: var(--system-green);
  font-weight: 850;
  line-height: 1.6;
}

.keyword-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.keyword-pill {
  padding: 6px 9px;
  color: var(--system-muted);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.keyword-pill.good {
  color: var(--system-green);
  background: #ecf8f2;
  border-color: #cde9dc;
}

.resume-advice-list {
  display: grid;
  gap: 8px;
}

.resume-productized-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.resume-mini-list {
  display: grid;
  gap: 8px;
}

.resume-mini-list p {
  margin: 0;
  padding: 9px 10px;
  color: var(--system-muted);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
}

.resume-mini-list b {
  display: block;
  margin-bottom: 3px;
  color: var(--system-deep);
}

.advice-item {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  color: var(--system-muted);
  line-height: 1.6;
}

.advice-item svg {
  color: var(--system-green);
}

.resume-rewrite-block p {
  margin: 0 0 8px;
}

.resume-rewrite-block p:last-child {
  margin-bottom: 0;
}

.resume-optimized-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.resume-optimized-text {
  white-space: pre-wrap;
  padding: 12px;
  color: #24362d;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  line-height: 1.7;
  max-height: 420px;
  overflow: auto;
}

.match-explainer {
  display: grid;
  gap: 10px;
}

.explain-item {
  display: flex;
  gap: 10px;
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.explain-item svg {
  color: var(--system-green);
}

.jobs-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 170px auto auto;
  gap: 10px;
  align-items: stretch;
  margin-bottom: 10px;
}

.jobs-toolbar .soft-button {
  white-space: nowrap;
}

.job-quick-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.job-quick-tab {
  min-height: 34px;
  padding: 0 12px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 999px;
  font-weight: 900;
}

.job-quick-tab.active,
.job-quick-tab:hover {
  color: #fff;
  background: var(--system-green);
  border-color: var(--system-green);
}

.system-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.system-search input {
  padding: 0;
  border: 0;
  background: transparent;
}

.job-filter-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.job-filter-panel-primary {
  margin-bottom: 10px;
}

.job-filter-panel-advanced[hidden] {
  display: none;
}

.filter-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 12px;
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
}

.filter-count,
.filter-chip,
.filter-hint {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 8px;
}

.filter-count {
  color: #fff;
  background: var(--system-deep);
}

.filter-chip {
  color: var(--system-deep);
  background: #e7f2ed;
  border: 1px solid rgba(15, 107, 87, 0.18);
}

.filter-hint {
  color: var(--system-muted);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
}

.job-catalog {
  display: grid;
  gap: 12px;
}

.source-notice {
  display: grid;
  gap: 6px;
  margin: 0 0 14px;
  padding: 12px 14px;
  color: var(--system-muted);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.55;
}

.source-notice strong {
  color: var(--system-deep);
}

.job-system-card {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.job-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.job-source {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin-top: 10px;
  color: var(--system-green);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.job-source:hover {
  text-decoration: underline;
}

.job-insight-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.job-insight {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 0 9px;
  color: var(--system-muted);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.job-insight.primary,
.job-insight.trusted {
  color: var(--system-green);
  background: #ecf8f2;
  border-color: #cde9dc;
}

.job-insight.verify {
  color: #8f5f10;
  background: #fff8e9;
  border-color: #f2dca8;
}

.job-prep-actions {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

.job-prep-actions span {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 7px;
  align-items: start;
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.45;
}

.job-prep-actions svg {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  color: var(--system-green);
}

.job-exam-box {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.job-exam-box span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--system-deep);
  font-weight: 900;
}

.job-exam-box p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.6;
}

.job-exam-box.verify {
  background: #fff8e9;
  border-color: #f2dca8;
}

.job-exam-box.trusted {
  background: #ecf8f2;
  border-color: #cde9dc;
}

.tiny-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 10px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.tiny-button.primary {
  color: #fff;
  background: var(--system-green);
  border-color: var(--system-green);
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.tag-row span {
  padding: 5px 8px;
  color: var(--system-muted);
  background: #eef6f2;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.system-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.pipeline-column {
  min-height: 360px;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.pipeline-column > strong {
  display: block;
  margin-bottom: 10px;
  color: var(--system-deep);
}

.pipeline-card {
  padding: 12px;
  margin-bottom: 9px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.pipeline-card-head {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  justify-content: space-between;
}

.pipeline-card h3 {
  margin: 0 0 6px;
  color: var(--system-deep);
  font-size: 15px;
}

.pipeline-title-link {
  color: inherit;
  text-decoration: none;
}

.pipeline-title-link:hover {
  color: var(--system-green);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pipeline-card-head span {
  flex: 0 0 auto;
  padding: 4px 7px;
  color: var(--system-green);
  background: #e7f2ed;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 900;
}

.pipeline-card p {
  margin: 0 0 10px;
  color: var(--system-muted);
  font-size: 13px;
  line-height: 1.45;
}

.pipeline-card small {
  display: block;
  margin-bottom: 10px;
  color: var(--system-muted);
  font-size: 12px;
  line-height: 1.4;
}

.pipeline-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pipeline-card-actions a {
  text-decoration: none;
}

.pipeline-student-board {
  grid-template-columns: 1fr;
}

.pipeline-focus-panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  color: #fff;
  background: var(--system-deep);
  border-radius: 8px;
}

.pipeline-focus-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.pipeline-focus-head span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 900;
}

.pipeline-focus-head strong {
  color: #fff;
  font-size: 20px;
  line-height: 1.3;
}

.pipeline-focus-head .tiny-button {
  color: var(--system-deep);
  background: #fff;
  border-color: #fff;
}

.pipeline-focus-list {
  display: grid;
  gap: 9px;
}

.pipeline-focus-item {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  color: var(--system-ink);
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 8px;
}

.pipeline-focus-item > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-weight: 900;
}

.pipeline-focus-item strong {
  color: var(--system-deep);
  line-height: 1.35;
}

.pipeline-focus-item p {
  margin: 4px 0 0;
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.45;
}

.pipeline-stage-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.pipeline-stage-summary article {
  padding: 12px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.pipeline-stage-summary span {
  display: block;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.pipeline-stage-summary strong {
  display: block;
  margin-top: 6px;
  color: var(--system-green);
  font-size: 26px;
  line-height: 1;
}

.pipeline-board-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.task-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.task-item.done {
  background: #ecf8f2;
}

.bank-item strong,
.action-item strong,
.timeline-item strong {
  display: block;
  margin-bottom: 6px;
  color: var(--system-deep);
}

.learning-platform-card {
  margin-bottom: 14px;
}

.learning-player-card {
  margin-bottom: 14px;
}

.learning-player {
  display: grid;
  gap: 14px;
}

.learning-player-hero {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.learning-player-hero h2 {
  margin: 4px 0 8px;
  color: var(--system-deep);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.16;
}

.learning-player-hero p {
  margin: 0;
  color: var(--system-muted);
  font-weight: 850;
}

.learning-state {
  flex: 0 0 auto;
  padding: 8px 12px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.learning-state.done {
  color: var(--system-deep);
  background: #e7f2ed;
}

.learning-player-progress {
  height: 10px;
}

.learning-player-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 12px;
}

.learning-content-main,
.learning-content-side article {
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.learning-content-main > span,
.learning-content-side span {
  display: block;
  margin-bottom: 8px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.learning-content-main h3 {
  margin: 0 0 12px;
  color: var(--system-deep);
  font-size: 18px;
  line-height: 1.45;
}

.learning-content-block {
  display: grid;
  gap: 10px;
}

.learning-content-block p {
  display: flex;
  gap: 10px;
  margin: 0;
  color: var(--system-muted);
  line-height: 1.58;
}

.learning-content-block p strong {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--system-green);
  border-radius: 999px;
  font-size: 12px;
}

.learning-content-side {
  display: grid;
  gap: 10px;
}

.learning-content-side strong {
  color: var(--system-deep);
  line-height: 1.5;
}

.learning-player-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.learning-player-actions a {
  text-decoration: none;
}

.course-start-button {
  width: 100%;
  margin-top: 12px;
}

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

.course-system-card,
.practice-item {
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.course-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.course-head span,
.lesson-item span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.course-head h3 {
  margin: 5px 0 6px;
  color: var(--system-deep);
  font-size: 18px;
  line-height: 1.25;
}

.course-head p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.5;
}

.course-head > strong {
  color: var(--system-green);
  font-size: 24px;
  line-height: 1;
}

.course-progress {
  height: 8px;
  overflow: hidden;
  background: #e5f0eb;
  border-radius: 8px;
}

.course-progress i {
  display: block;
  height: 100%;
  background: var(--system-green);
  border-radius: inherit;
}

.lesson-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.lesson-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.lesson-item.done {
  background: #ecf8f2;
}

.lesson-item.active {
  border-color: rgba(15, 107, 87, 0.42);
  box-shadow: 0 0 0 2px rgba(15, 107, 87, 0.08);
}

.lesson-item strong {
  display: block;
  margin-bottom: 4px;
  color: var(--system-deep);
}

.practice-item {
  display: grid;
  gap: 10px;
}

.practice-item strong {
  display: block;
  margin-bottom: 6px;
  color: var(--system-deep);
}

#platformToday {
  font-size: 20px;
  line-height: 1.25;
}

.exam-paper-list,
.exam-question-list,
.exam-history-list {
  display: grid;
  gap: 10px;
}

.exam-module-guide-card {
  margin: 14px 0;
}

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

.exam-module-card {
  display: grid;
  gap: 11px;
  min-height: 260px;
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.exam-module-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.exam-module-head span,
.exam-module-meta span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.exam-module-head strong {
  display: block;
  margin-top: 5px;
  color: var(--system-deep);
  font-size: 18px;
  line-height: 1.3;
}

.exam-module-head b {
  color: var(--system-green);
  font-size: 24px;
  line-height: 1;
}

.exam-module-head b.needs-review {
  color: #9a3412;
  font-size: 16px;
  padding: 6px 8px;
  background: #ffedd5;
  border-radius: 8px;
  white-space: nowrap;
}

.exam-module-card p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.6;
  font-weight: 850;
}

.exam-module-meta {
  display: grid;
  gap: 7px;
}

.exam-module-meta span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.exam-module-meta svg {
  width: 15px;
  height: 15px;
  color: var(--system-green);
}

.exam-module-jobs {
  min-height: 44px;
  color: var(--system-deep);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.55;
}

.exam-module-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.exam-module-actions a {
  text-decoration: none;
}

.exam-paper-card,
.exam-question-card,
.exam-history-row {
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.exam-paper-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
}

.exam-paper-card.active {
  border-color: rgba(15, 107, 87, 0.45);
  background: #edf8f3;
}

.exam-paper-card span,
.exam-paper-card small,
.exam-question-card p,
.exam-progress-head p,
.exam-result-head p,
.exam-history-row p {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.5;
}

.exam-paper-card h3,
.exam-question-card strong,
.exam-history-row strong {
  display: block;
  margin: 5px 0 6px;
  color: var(--system-deep);
  line-height: 1.35;
}

.exam-workspace {
  min-height: 300px;
}

.exam-progress-head,
.exam-result-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.exam-progress-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.exam-progress-head strong {
  color: var(--system-deep);
  font-size: 17px;
}

.exam-question-card {
  padding: 14px;
}

.exam-question-card.wrong {
  background: #fff7f4;
  border-color: rgba(255, 114, 94, 0.32);
}

.exam-option-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.exam-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 42px;
  padding: 10px;
  color: var(--system-ink);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
  font-weight: 850;
  line-height: 1.45;
}

.exam-option input {
  margin-top: 3px;
  accent-color: var(--system-green);
}

.exam-option.selected {
  border-color: var(--system-green);
  background: #ecf8f2;
}

.exam-result-head {
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: center;
}

.exam-result-head h2 {
  margin: 4px 0;
  color: var(--system-deep);
  font-size: 22px;
  line-height: 1.25;
}

.exam-explanation {
  margin-top: 10px;
  padding: 10px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid rgba(255, 114, 94, 0.24);
  border-radius: 8px;
  line-height: 1.6;
  font-weight: 850;
}

.exam-history-card {
  margin-top: 14px;
}

.exam-history-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
}

.exam-history-row span {
  color: var(--system-green);
  font-size: 20px;
  font-weight: 900;
  white-space: nowrap;
}

.exam-detail-shell {
  width: min(100% - 28px, 1320px);
}

.exam-detail-layout {
  display: grid;
  gap: 14px;
}

.exam-hero-panel h1 {
  font-size: clamp(24px, 3vw, 36px);
}

.exam-status-pill {
  flex: 0 0 auto;
  padding: 8px 12px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.exam-detail-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.exam-test-grid,
.exam-review-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 14px;
  align-items: start;
}

.exam-question-panel {
  display: grid;
  gap: 14px;
}

.exam-page-toolbar {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}

.exam-page-toolbar h2,
.exam-side-panel h2 {
  margin: 0;
  color: var(--system-deep);
}

.exam-page-progress {
  height: 10px;
}

.exam-page-question-list,
.exam-review-list,
.exam-side-stack,
.exam-paper-switcher {
  display: grid;
  gap: 12px;
}

.exam-page-question,
.exam-review-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  scroll-margin-top: 14px;
}

.exam-review-card.correct {
  background: #f2fbf7;
}

.exam-review-card.wrong {
  background: #fff7f4;
  border-color: rgba(255, 114, 94, 0.32);
}

.exam-page-question-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.exam-page-question-head span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.exam-page-question-head strong {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--system-green);
  border-radius: 999px;
  font-size: 13px;
}

.exam-page-question h2,
.exam-review-card h2 {
  margin: 0;
  color: var(--system-deep);
  font-size: 18px;
  line-height: 1.5;
}

.exam-detail-option-list {
  display: grid;
  gap: 9px;
}

.exam-detail-option {
  display: grid;
  grid-template-columns: 18px 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 11px;
  color: var(--system-ink);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
  line-height: 1.45;
}

.exam-detail-option input {
  accent-color: var(--system-green);
}

.exam-detail-option span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: var(--system-green);
  background: #eef6f2;
  border-radius: 999px;
  font-weight: 900;
}

.exam-detail-option strong {
  color: var(--system-deep);
}

.exam-detail-option.selected {
  border-color: var(--system-green);
  background: #ecf8f2;
  box-shadow: 0 0 0 2px rgba(15, 107, 87, 0.08);
}

.exam-side-panel {
  display: grid;
  gap: 12px;
}

.exam-sheet-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.exam-sheet-grid a {
  height: 38px;
  display: grid;
  place-items: center;
  color: var(--system-muted);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-weight: 900;
  text-decoration: none;
}

.exam-sheet-grid a.answered {
  color: #fff;
  background: var(--system-green);
  border-color: var(--system-green);
}

.exam-save-message {
  min-height: 20px;
  margin: 0;
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
}

.exam-paper-switcher a {
  display: grid;
  gap: 5px;
  padding: 11px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  text-decoration: none;
}

.exam-paper-switcher a.active {
  border-color: rgba(15, 107, 87, 0.45);
  background: #ecf8f2;
  box-shadow: 0 0 0 2px rgba(15, 107, 87, 0.08);
}

.exam-paper-switcher strong {
  color: var(--system-deep);
  line-height: 1.35;
}

.exam-paper-switcher span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
}

.exam-review-answer {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.exam-review-answer p {
  margin: 0;
  color: var(--system-muted);
  font-weight: 850;
}

.exam-review-answer strong {
  color: var(--system-deep);
}

.exam-conflict-panel {
  display: grid;
  gap: 12px;
}

.exam-conflict-panel h1 {
  margin: 0;
  color: var(--system-deep);
}

.exam-conflict-panel p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.65;
  font-weight: 850;
}

.mentor-advice-box {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
  padding: 14px;
  background: #f3f8f5;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.mentor-advice-box strong {
  color: var(--system-deep);
  font-size: 14px;
}

.mentor-advice-box p,
.mentor-member-card p,
.mentor-message p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.6;
}

.mentor-guidance-summary,
.mentor-student-brief,
.mentor-guidance-timeline {
  display: grid;
  gap: 10px;
}

.mentor-guidance-summary {
  margin-bottom: 12px;
}

.mentor-guidance-summary-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.mentor-guidance-summary-head strong,
.mentor-guidance-block strong,
.mentor-student-brief strong {
  color: var(--system-deep);
}

.mentor-guidance-summary-head span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.mentor-guidance-block,
.mentor-student-brief article {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.mentor-guidance-block p,
.mentor-guidance-block ul,
.mentor-student-brief p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.6;
}

.mentor-guidance-block ul {
  padding-left: 18px;
}

.mentor-layout {
  grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
}

.mentor-team-card,
.mentor-chat-card {
  min-height: 560px;
}

.mentor-team-list {
  display: grid;
  gap: 10px;
}

.mentor-member-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-left: 4px solid var(--system-green);
  border-radius: 8px;
}

.mentor-member-card.service {
  border-left-color: var(--system-blue);
}

.mentor-member-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.mentor-member-head strong {
  color: var(--system-deep);
  font-size: 18px;
}

.mentor-member-head span,
.mentor-message-head span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.mentor-member-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.mentor-member-meta span {
  padding: 5px 8px;
  color: var(--system-green);
  background: #eaf4ee;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.mentor-member-card.service .mentor-member-meta span {
  color: #2453b8;
  background: #eef4ff;
}

.mentor-group-messages {
  display: grid;
  align-content: start;
  gap: 10px;
  height: 430px;
  padding: 14px;
  overflow: auto;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.mentor-message {
  width: min(82%, 620px);
  padding: 12px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.mentor-message.student {
  justify-self: end;
  background: #eaf4ee;
  border-color: #cbe2d7;
}

.mentor-message.service {
  background: #eef4ff;
  border-color: #d5e1ff;
}

.mentor-message.admin {
  background: #fff4ec;
  border-color: #ffd7c8;
}

.mentor-message-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}

.mentor-message-head strong {
  color: var(--system-deep);
}

.mentor-chat-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 12px;
}

.mentor-chat-composer textarea {
  min-height: 88px;
  padding: 12px;
  resize: vertical;
}

.admin-mentor-team-list {
  max-height: 520px;
  overflow: auto;
  padding-right: 2px;
}

.mentor-admin-actions {
  justify-content: flex-start;
}

.mentor-note-card p:not(.section-kicker) {
  color: var(--system-muted);
  line-height: 1.7;
}

.mentor-note-card textarea {
  min-height: 120px;
  padding: 12px;
  resize: vertical;
  margin: 14px 0 10px;
}

.mentor-workbench-layout {
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
}

.mentor-workbench-list {
  display: grid;
  gap: 10px;
}

.mentor-student-item {
  display: grid;
  gap: 6px;
  width: 100%;
  padding: 13px;
  text-align: left;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
}

.mentor-student-item.active {
  background: #ecf8f2;
  border-color: rgba(15, 107, 87, 0.45);
  box-shadow: 0 0 0 2px rgba(15, 107, 87, 0.08);
}

.mentor-student-item strong {
  color: var(--system-deep);
  font-size: 16px;
}

.mentor-student-item span,
.mentor-student-item small {
  color: var(--system-muted);
  font-weight: 850;
}

.mentor-guidance-form {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.mentor-guidance-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.mentor-sop-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.mentor-sop-panel > strong {
  color: var(--system-deep);
}

.mentor-sop-checklist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.mentor-sop-checklist label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.mentor-sop-checklist span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.mentor-guidance-form label {
  display: grid;
  gap: 7px;
}

.mentor-guidance-form span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 900;
}

.mentor-guidance-form input,
.mentor-guidance-form textarea {
  min-height: 110px;
  padding: 12px;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  background: #fff;
}

.mentor-guidance-form input {
  min-height: 44px;
}

.mentor-guidance-form textarea {
  resize: vertical;
}

#mentorResumeDraft {
  min-height: 220px;
}

.mentor-brief-jobs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.mentor-brief-jobs span {
  padding: 5px 8px;
  color: var(--system-green);
  background: #eaf4ee;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.mentor-assignment-list {
  align-content: start;
}

.mentor-assignment-layout select[multiple] {
  min-height: 140px;
}

.agent-layout {
  align-items: start;
}

.agent-product-list,
.agent-card-list {
  margin-top: 14px;
}

.agent-product-list {
  display: grid;
  gap: 10px;
}

.agent-product-item {
  display: grid;
  gap: 6px;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.agent-product-item strong {
  color: var(--system-deep);
}

.agent-product-item span,
.agent-product-item p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.5;
  font-weight: 850;
}

.agent-ledger-card {
  margin-top: 14px;
}

.service-order-layout {
  grid-template-columns: minmax(320px, 0.38fr) minmax(0, 1fr);
}

.service-order-manager {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.service-order-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
  align-items: start;
  overflow-x: auto;
  padding-bottom: 4px;
}

.service-order-column {
  display: grid;
  gap: 10px;
  min-width: 220px;
  padding: 10px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.service-order-column-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.service-order-column-head strong {
  color: var(--system-deep);
  font-size: 15px;
}

.service-order-column-head span {
  display: grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  color: #fff;
  background: var(--system-green);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
}

.service-order-column-body {
  display: grid;
  gap: 10px;
}

.service-order-column .admin-job-row {
  grid-template-columns: minmax(0, 1fr);
  background: #fff;
}

.service-order-column .admin-job-actions {
  justify-content: start;
}

.service-order-row .admin-job-meta span:nth-child(1) {
  color: #8d3e22;
  background: #fff1ec;
}

.service-order-row.overdue {
  border-color: rgba(255, 114, 94, 0.38);
  background: #fff9f6;
}

.service-order-row.overdue .admin-job-meta span:nth-child(3) {
  color: #9a3412;
  background: #ffedd5;
}

.service-order-metrics {
  margin: 4px 0 14px;
}

.student-service-progress {
  display: grid;
  gap: 12px;
}

.student-command-card {
  margin: 14px 0;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
}

.student-command {
  display: grid;
  gap: 14px;
}

.student-command-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
  color: #fff;
  background: var(--system-deep);
  border-radius: 8px;
}

.student-command-main span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 900;
}

.student-command-main h2 {
  margin: 6px 0 8px;
  color: #fff;
  font-size: 28px;
  line-height: 1.2;
}

.student-command-main p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
  font-weight: 850;
}

.student-command-main .solid-button {
  min-width: 148px;
  color: var(--system-deep);
  background: #fff;
}

.student-command-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.student-command-tags b {
  padding: 6px 9px;
  color: #153b31;
  background: #dff2e8;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.2;
}

.student-action-queue {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.student-action-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  margin-top: 2px;
}

.student-action-title strong {
  color: var(--system-deep);
  font-size: 18px;
}

.student-action-title span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
}

.student-action-card {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px 10px;
  min-height: 116px;
  padding: 12px;
  text-align: left;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
}

.student-action-card span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.student-action-card strong {
  color: var(--system-deep);
  line-height: 1.35;
}

.student-action-card small {
  grid-column: 1 / -1;
  color: var(--system-muted);
  font-size: 12px;
  line-height: 1.55;
  font-weight: 850;
}

.student-action-card.done span {
  color: var(--system-green);
  background: #e2f3ea;
}

.student-action-card.urgent {
  border-color: #f2dca8;
  background: #fffaf0;
}

.student-action-card.urgent span {
  background: #b86b16;
}

.student-service-item {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.student-service-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.student-service-head strong {
  display: block;
  color: var(--system-deep);
  font-size: 17px;
}

.student-service-head span,
.student-service-item p {
  display: block;
  margin: 4px 0 0;
  color: var(--system-muted);
  line-height: 1.55;
  font-weight: 850;
}

.student-service-head b {
  color: var(--system-green);
  font-size: 24px;
}

.service-progress-bar {
  height: 8px;
  overflow: hidden;
  background: #e6f0eb;
  border-radius: 999px;
}

.service-progress-bar i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--system-green);
  border-radius: inherit;
}

.service-step-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.service-step-list span,
.service-order-steps label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 10px;
  color: var(--system-muted);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.service-step-list span.done {
  color: var(--system-deep);
  background: #eaf7f0;
  border-color: rgba(15, 107, 87, 0.26);
}

.service-step-list svg {
  width: 16px;
  height: 16px;
  color: var(--system-green);
}

.student-service-next {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  background: #f7fbf8;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.student-service-next strong {
  color: var(--system-deep);
  font-size: 14px;
}

.student-service-next p,
.student-service-next span {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.55;
  font-weight: 850;
}

.student-service-next span {
  font-size: 12px;
}

.service-step-editor {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.service-step-editor strong {
  color: var(--system-deep);
}

.service-order-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.service-order-steps label input {
  width: auto;
}

.admin-service-progress {
  margin-top: 10px;
}

.admin-service-steps {
  margin-top: 8px;
}

.empty-state {
  padding: 20px;
  color: var(--system-muted);
  text-align: center;
  background: #f8fbf9;
  border: 1px dashed var(--system-line);
  border-radius: 8px;
}

.career-plan-card {
  margin: 14px 0;
}

.career-plan-report {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.report-stage-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

.report-stage-tabs button {
  min-height: 38px;
  padding: 0 13px;
  color: var(--system-muted);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-weight: 900;
  cursor: pointer;
}

.report-stage-tabs button.active,
.report-stage-tabs button:hover {
  color: #fff;
  background: var(--system-green);
  border-color: var(--system-green);
}

.career-plan-report article {
  display: grid;
  gap: 8px;
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.career-plan-report article.wide {
  grid-column: span 2;
}

.career-plan-report .report-hero {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  color: #fff;
  background: var(--system-deep);
  border-color: var(--system-deep);
}

.career-plan-report .report-hero span,
.career-plan-report .report-hero strong,
.career-plan-report .report-hero p {
  color: inherit;
}

.report-score {
  display: grid;
  place-items: center;
  min-width: 96px;
  min-height: 96px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
}

.report-score b {
  color: #fff;
  font-size: 30px;
  line-height: 1;
}

.report-score small {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 900;
}

.report-company-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.report-company-card {
  display: grid;
  gap: 5px;
  min-height: 92px;
  padding: 11px;
  color: var(--system-deep);
  text-align: left;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
}

.report-company-card:hover {
  border-color: var(--system-green);
}

.report-company-card strong {
  font-size: 14px;
}

.report-company-card small,
.report-company-card span {
  color: var(--system-muted);
  line-height: 1.35;
}

.report-roadmap-card {
  grid-column: 1 / -1;
}

.report-roadmap {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.report-roadmap section {
  display: grid;
  gap: 7px;
  align-content: start;
  padding: 11px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.report-roadmap b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  color: #fff;
  background: var(--system-green);
  border-radius: 999px;
}

.report-roadmap strong {
  font-size: 14px;
}

.report-roadmap p {
  font-size: 13px;
}

.career-plan-report span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.career-plan-report strong {
  color: var(--system-deep);
  line-height: 1.35;
}

.career-plan-report p,
.career-plan-report ol {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.6;
}

.career-plan-report ol {
  padding-left: 18px;
}

.career-plan-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.career-plan-tags b {
  padding: 5px 8px;
  color: var(--system-green);
  background: #eaf4ee;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.25;
}

.career-plan-tags.warning b {
  color: #8d3e22;
  background: #fff1ec;
}

.admin-list {
  display: grid;
  gap: 10px;
}

.admin-job-card {
  margin: 14px 0;
}

.compact-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 4px;
}

.admin-job-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.5fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.knowledge-admin-card {
  border-color: rgba(23, 92, 74, 0.2);
}

.knowledge-admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 14px;
}

.knowledge-admin-tabs .tiny-button {
  min-height: 36px;
}

.knowledge-admin-layout {
  display: grid;
  grid-template-columns: minmax(340px, 0.62fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.knowledge-admin-form {
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.knowledge-form-group {
  display: contents;
}

.knowledge-admin-manager {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.knowledge-admin-list {
  max-height: 620px;
  overflow: auto;
  padding-right: 4px;
}

.knowledge-admin-row h3 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.knowledge-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid var(--system-line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.knowledge-status-pill.published {
  border-color: rgba(23, 92, 74, 0.2);
  background: #e8f7ef;
  color: #145640;
}

.knowledge-status-pill.pending,
.knowledge-status-pill.needs_review {
  border-color: #f0d7a1;
  background: #fff7e5;
  color: #76501b;
}

.knowledge-status-pill.rejected,
.knowledge-status-pill.archived {
  background: #f5f5f2;
  color: #706b60;
}

.knowledge-admin-preview {
  padding: 14px;
  background: #ffffff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.knowledge-admin-preview h3 {
  margin: 0 0 8px;
  font-size: 16px;
}

.knowledge-admin-preview p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.7;
}

.knowledge-token-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.knowledge-token-row span {
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border-radius: 999px;
  background: #edf6f2;
  color: #145640;
  font-size: 12px;
  font-weight: 900;
}

.marketing-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
  align-items: start;
}

.marketing-panel {
  padding: 16px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.marketing-panel .card-head {
  margin-bottom: 12px;
}

.marketing-panel .card-head h2 {
  font-size: 18px;
}

.marketing-panel .admin-job-form + .admin-job-form {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--system-line);
}

.marketing-list {
  max-height: 420px;
  margin-top: 12px;
}

.operations-layout {
  align-items: stretch;
}

.operations-layout .marketing-panel {
  display: grid;
  align-content: start;
}

.admin-job-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-job-form label {
  display: grid;
  gap: 7px;
}

.admin-job-form span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 900;
}

.admin-job-form .wide,
.admin-form-actions,
.admin-message {
  grid-column: 1 / -1;
}

.admin-form-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-job-manager {
  display: grid;
  gap: 12px;
}

.admin-job-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 10px;
}

.admin-job-list {
  display: grid;
  gap: 10px;
  max-height: 720px;
  overflow: auto;
  padding-right: 2px;
}

.admin-job-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.admin-job-row h3 {
  margin: 0;
  color: var(--system-deep);
  font-size: 15px;
  line-height: 1.35;
}

.admin-job-row p {
  margin: 5px 0 8px;
  color: var(--system-muted);
  line-height: 1.45;
}

.admin-job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-job-meta span {
  padding: 4px 8px;
  color: var(--system-green);
  background: #eaf4ee;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.admin-job-actions {
  display: flex;
  gap: 8px;
}

.admin-job-actions .tiny-button {
  width: auto;
}

.admin-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.admin-row strong {
  color: var(--system-deep);
}

.admin-row p {
  margin: 4px 0 0;
  color: var(--system-muted);
}

.admin-row span {
  color: var(--system-green);
  font-size: 13px;
  font-weight: 900;
}

.admin-import-text {
  min-height: 320px;
  padding: 12px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  line-height: 1.55;
}

.admin-message {
  min-height: 20px;
  margin: 10px 0 0;
  color: var(--system-muted);
  font-weight: 850;
}

.job-intel-card {
  align-self: start;
}

.job-intel-card .source-notice {
  margin: 12px 0;
}

.job-intel-settings {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) 1.25fr;
  gap: 10px;
  align-items: end;
  margin: 12px 0 14px;
  padding: 12px;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  background: #f8fbf9;
}

.job-intel-settings label {
  display: grid;
  gap: 6px;
}

.job-intel-settings span,
.job-intel-settings small {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.job-intel-settings small {
  align-self: center;
  line-height: 1.45;
}

.job-intel-run-list {
  margin: 12px 0 14px;
}

.job-intel-candidate-list {
  max-height: 760px;
}

.job-intel-row {
  position: relative;
  overflow: hidden;
}

.job-intel-row::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  content: "";
  background: var(--system-line);
}

.job-intel-row.pending {
  border-color: rgba(15, 107, 87, 0.24);
  background: #fbfdfb;
}

.job-intel-row.pending::before {
  background: var(--system-green);
}

.job-intel-row.published {
  border-color: rgba(47, 107, 255, 0.2);
  background: #f8fbff;
}

.job-intel-row.published::before {
  background: var(--system-blue);
}

.job-intel-row.rejected {
  opacity: 0.74;
}

.job-intel-row.rejected::before {
  background: #a6b5ae;
}

.job-intel-evidence {
  display: block;
  margin-top: 8px;
  color: var(--system-muted);
  font-size: 12px;
  line-height: 1.55;
}

#runJobIntelAgentsButton[disabled] {
  cursor: wait;
  opacity: 0.72;
}

#runJobIntelAgentsButton[disabled] i {
  animation: spin 1s linear infinite;
}

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

.admin-audit-card {
  margin-top: 14px;
}

.toast-stack {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 20;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 28px));
}

.toast-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  box-shadow: var(--system-shadow);
}

.toast-item span {
  line-height: 1.5;
  font-weight: 850;
}

.modal-open {
  overflow: hidden;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(7, 59, 49, 0.28);
  backdrop-filter: blur(6px);
}

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

.job-detail-panel {
  position: relative;
  width: min(760px, 100%);
  max-height: min(780px, calc(100vh - 32px));
  overflow: auto;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  box-shadow: var(--system-shadow);
}

.modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--system-deep);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.job-detail-head {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding-right: 42px;
  margin-bottom: 16px;
}

.job-detail-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  margin: 0 0 14px;
  padding: 7px 12px;
  color: var(--system-green);
  background: #f4fbf7;
  border: 1px solid #bcdcca;
  border-radius: 8px;
  font-weight: 900;
  cursor: pointer;
}

.job-detail-back svg,
.job-detail-return svg,
.job-detail-apply svg {
  width: 16px;
  height: 16px;
}

.job-detail-head h2 {
  margin: 4px 0 8px;
  color: var(--system-deep);
  font-size: 24px;
  line-height: 1.24;
}

.job-detail-head p,
.job-detail-section p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.65;
}

.job-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.job-detail-grid article,
.job-detail-section {
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.job-detail-grid span {
  display: block;
  margin-bottom: 7px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.job-detail-grid strong,
.job-detail-section strong {
  color: var(--system-deep);
  line-height: 1.45;
}

.job-check-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.job-check {
  padding: 10px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.job-check span {
  display: block;
  margin-bottom: 6px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.job-check.trusted {
  border-color: #cde9dc;
  background: #f4fbf7;
}

.job-prep-detail-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.job-prep-detail-list article {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.job-prep-detail-list span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.job-check.verify {
  border-color: #f2dca8;
  background: #fff8e9;
}

.job-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.job-detail-actions a.tiny-button {
  text-decoration: none;
}

.job-detail-actions .job-detail-return {
  border-color: #bcdcca;
  background: #f4fbf7;
}

.job-detail-actions .job-detail-apply {
  margin-left: auto;
  padding-inline: 16px;
  box-shadow: 0 8px 20px rgba(24, 91, 66, 0.16);
}

.application-detail-body {
  min-height: 100vh;
}

.application-detail-shell {
  width: min(100% - 28px, 1180px);
  margin: 14px auto;
}

.application-detail-top,
.application-hero-panel,
.application-panel {
  border: 1px solid var(--system-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--system-shadow);
}

.application-detail-top {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  margin-bottom: 14px;
}

.application-detail-top-actions,
.application-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.application-detail-top-actions a,
.application-actions a {
  text-decoration: none;
}

.application-detail-layout {
  display: grid;
  gap: 14px;
}

.application-loading {
  padding: 18px;
  color: var(--system-muted);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.application-hero-panel {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px;
}

.application-hero-panel h1,
.application-panel h1,
.application-panel h2 {
  margin: 0;
  color: var(--system-deep);
}

.application-hero-panel h1 {
  font-size: clamp(25px, 3vw, 38px);
  line-height: 1.12;
}

.application-hero-panel p {
  margin: 10px 0 0;
  color: var(--system-muted);
  font-weight: 850;
}

.application-hero-panel .application-role-line,
.application-hero-panel .application-campaign-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}

.application-role-line span,
.application-campaign-line span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.application-role-line strong {
  color: var(--system-deep);
  font-size: 18px;
  line-height: 1.4;
}

.application-campaign-line {
  font-size: 14px;
  font-weight: 700;
}

.application-status {
  flex: 0 0 auto;
  padding: 8px 12px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.application-detail-grid,
.application-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.application-detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.application-detail-grid article,
.application-facts div,
.application-step {
  padding: 14px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.application-detail-grid span,
.application-facts span {
  display: block;
  margin-bottom: 7px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.application-detail-grid strong,
.application-facts strong {
  color: var(--system-deep);
  line-height: 1.45;
}

.application-panel {
  padding: 18px;
}

.application-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.application-step {
  display: grid;
  gap: 7px;
}

.application-step span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: var(--system-muted);
  background: #eef6f2;
  border-radius: 999px;
  font-weight: 900;
}

.application-step.done span,
.application-step.current span {
  color: #fff;
  background: var(--system-green);
}

.application-step strong {
  color: var(--system-deep);
}

.application-step small {
  color: var(--system-muted);
  font-weight: 850;
}

.application-facts {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.application-checklist,
.application-gap-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.application-check-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  background: #fff8e9;
  border: 1px solid #f2dca8;
  border-radius: 8px;
}

.application-check-item span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #8f5f10;
  background: #fff;
  border-radius: 999px;
  font-weight: 900;
}

.application-check-item.done {
  background: #f4fbf7;
  border-color: #cde9dc;
}

.application-check-item.done span {
  color: #fff;
  background: var(--system-green);
}

.application-check-item strong {
  display: block;
  color: var(--system-deep);
  line-height: 1.35;
}

.application-check-item small {
  display: block;
  margin-top: 4px;
  color: var(--system-muted);
  font-weight: 850;
  line-height: 1.45;
}

.application-advice {
  color: var(--system-muted);
  line-height: 1.7;
}

.application-gap-list span {
  padding: 10px 12px;
  color: var(--system-muted);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.45;
}

.application-package-panel {
  background:
    linear-gradient(135deg, rgba(216, 240, 231, 0.78), rgba(255, 255, 255, 0.92)),
    #fff;
}

.resume-version-message {
  display: block;
  margin-top: 6px;
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
}

.resume-version-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.resume-version-flow article {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 5px 10px;
  align-items: center;
  padding: 12px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.resume-version-flow span {
  display: grid;
  grid-row: span 2;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--system-muted);
  background: #eef6f2;
  border-radius: 999px;
  font-weight: 900;
}

.resume-version-flow strong {
  color: var(--system-deep);
  line-height: 1.35;
}

.resume-version-flow small {
  color: var(--system-muted);
  font-weight: 850;
  line-height: 1.35;
}

.resume-version-flow article.done {
  background: #f4fbf7;
  border-color: #cde9dc;
}

.resume-version-flow article.done span {
  color: #fff;
  background: var(--system-green);
}

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

.application-package-grid article {
  padding: 14px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.application-package-grid span {
  display: block;
  margin-bottom: 8px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.application-package-grid strong {
  display: block;
  color: var(--system-deep);
  line-height: 1.45;
}

.application-package-grid p {
  margin: 8px 0 0;
  color: var(--system-muted);
  line-height: 1.6;
}

.application-material-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.application-material-tags em {
  padding: 7px 9px;
  color: var(--system-green);
  background: #ecf8f2;
  border: 1px solid #cde9dc;
  border-radius: 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.application-mentor-brief {
  display: grid;
  gap: 8px;
}

.application-mentor-brief p {
  margin: 0;
  padding: 10px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.resume-version-center,
.material-library,
.job-material-map,
.deadline-radar,
.subscription-list,
.company-dossier-grid {
  display: grid;
  gap: 12px;
}

.company-dossier-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.version-card,
.material-item,
.job-material-card,
.deadline-item,
.subscription-item,
.company-dossier-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.version-card.missing,
.deadline-item.danger,
.material-item.missing {
  background: #fff8e9;
  border-color: #f2dca8;
}

.material-item.ready,
.version-card:not(.missing) {
  background: #f4fbf7;
  border-color: #cde9dc;
}

.version-card h3,
.material-item h3,
.job-material-card h3,
.deadline-item h3,
.subscription-item h3,
.company-dossier-card h3 {
  margin: 0 0 6px;
  color: var(--system-deep);
  font-size: 17px;
  line-height: 1.25;
}

.version-card p,
.version-card small,
.material-item p,
.job-material-card p,
.deadline-item p,
.subscription-item p,
.company-dossier-card p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.55;
}

.version-status {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  padding: 6px 9px;
  color: #8f5f10;
  background: #fff;
  border: 1px solid #f2dca8;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.version-status.ready {
  color: var(--system-green);
  border-color: #cde9dc;
}

.version-actions,
.material-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.material-item > div:first-child span,
.deadline-item span,
.company-dossier-head span {
  display: block;
  margin-bottom: 6px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.material-actions strong {
  width: 100%;
  color: var(--system-deep);
  text-align: right;
}

.material-priority-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  color: #fff;
  background: var(--system-deep);
  border-radius: 8px;
}

.material-priority-panel.ready {
  color: var(--system-deep);
  background: #f4fbf7;
  border: 1px solid #cde9dc;
}

.material-priority-panel span {
  display: block;
  margin-bottom: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 900;
}

.material-priority-panel.ready span {
  color: var(--system-muted);
}

.material-priority-panel strong {
  color: inherit;
  line-height: 1.45;
}

.material-priority-panel .tiny-button {
  color: var(--system-deep);
  background: #fff;
  border-color: #fff;
}

.material-priority-panel.ready .tiny-button {
  color: #fff;
  background: var(--system-green);
  border-color: var(--system-green);
}

.material-status-select {
  display: grid;
  gap: 6px;
  min-width: 132px;
}

.material-status-select span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
  text-align: right;
}

.material-status-select select {
  min-height: 38px;
  padding: 0 10px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-weight: 900;
}

.subscription-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.subscription-form input,
.subscription-form select {
  min-height: 42px;
  padding: 0 12px;
  color: var(--system-ink);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-weight: 850;
}

.subscription-form .solid-button {
  grid-column: 1 / -1;
}

.company-dossier-card {
  display: block;
}

.company-dossier-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.company-dossier-head strong {
  color: var(--system-green);
  font-size: 22px;
  font-weight: 900;
}

.enterprise-metric-grid {
  margin-bottom: 16px;
}

.enterprise-source-map {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.enterprise-phase-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.enterprise-phase-strip article,
.enterprise-source-panel {
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.enterprise-phase-strip span,
.enterprise-source-panel span {
  display: block;
  margin-bottom: 6px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.enterprise-phase-strip strong,
.enterprise-source-panel strong {
  display: block;
  color: var(--system-deep);
  font-size: 15px;
  line-height: 1.35;
}

.enterprise-phase-strip small {
  display: block;
  margin-top: 8px;
  color: var(--system-green);
  font-weight: 900;
}

.enterprise-source-panel {
  display: grid;
  grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.enterprise-source-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.enterprise-source-chip {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  min-width: 156px;
  max-width: 240px;
  padding: 9px 10px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  text-decoration: none;
}

.enterprise-source-chip span {
  margin: 0;
  overflow: hidden;
  color: var(--system-deep);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.enterprise-source-chip small {
  overflow: hidden;
  color: var(--system-muted);
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.enterprise-group-card p {
  min-height: 48px;
}

.enterprise-entity-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 70px;
  margin-bottom: 12px;
}

.enterprise-entity-list em {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 7px 9px;
  overflow: hidden;
  color: var(--system-deep);
  background: #f3f8f5;
  border: 1px solid #dcebe3;
  border-radius: 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.enterprise-map-metrics strong {
  font-size: 28px;
}

.enterprise-map-shell {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 280px;
  gap: 14px;
  align-items: stretch;
}

.enterprise-map-sidebar,
.enterprise-map-detail {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 14px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.enterprise-map-search input {
  width: 100%;
  min-height: 40px;
  padding: 0 11px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-weight: 850;
}

.enterprise-map-group-list {
  display: grid;
  gap: 8px;
  max-height: 650px;
  overflow: auto;
  padding-right: 4px;
}

.enterprise-map-group-list button {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 10px 11px;
  color: var(--system-deep);
  text-align: left;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  cursor: pointer;
}

.enterprise-map-group-list button.active,
.enterprise-map-group-list button:hover {
  color: #fff;
  background: var(--system-green);
  border-color: var(--system-green);
}

.enterprise-map-group-list button.major-match:not(.active) {
  border-color: #72b7cf;
  background: #eef8fb;
}

.enterprise-map-group-list button.intent-match:not(.active) {
  border-color: #e7bd8f;
  background: #fff6ec;
}

.enterprise-map-group-list button.strong-match:not(.active) {
  border-color: #d9822b;
  box-shadow: inset 4px 0 0 #2f8fb5;
}

.enterprise-map-group-list span {
  font-size: 14px;
  font-weight: 900;
}

.enterprise-map-group-list small {
  color: inherit;
  opacity: 0.74;
  font-weight: 850;
}

.enterprise-map-main {
  min-width: 0;
}

.enterprise-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.enterprise-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  color: var(--system-muted);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.legend-dot {
  display: inline-block !important;
  flex: 0 0 auto;
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  min-height: 9px !important;
  padding: 0 !important;
  border-radius: 999px;
}

.legend-dot.root {
  background: var(--system-green);
}

.legend-dot.entity {
  background: #3f7f9f;
}

.legend-dot.source {
  background: #b26b1e;
}

.legend-dot.major {
  background: #2f8fb5;
}

.legend-dot.intent {
  background: #d9822b;
}

.enterprise-graph-canvas {
  min-height: 700px;
  overflow: auto;
  background: #fbfdfc;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.enterprise-graph-svg {
  display: block;
  width: 100%;
  height: auto;
}

.enterprise-map-link {
  fill: none;
  stroke: #cfe3da;
  stroke-width: 1.4;
}

.enterprise-map-node {
  cursor: pointer;
}

.enterprise-map-node rect {
  fill: #fff;
  stroke: #c9ded4;
  stroke-width: 1.2;
  transition: fill 0.15s ease, stroke 0.15s ease, stroke-width 0.15s ease;
}

.enterprise-map-node text {
  fill: var(--system-deep);
  font-size: 11px;
  font-weight: 900;
  pointer-events: none;
}

.enterprise-map-node.root rect {
  fill: var(--system-green);
  stroke: var(--system-green);
}

.enterprise-map-node.root text {
  fill: #fff;
  font-size: 14px;
}

.enterprise-map-node.hub rect {
  fill: #edf8f3;
  stroke: #badfce;
}

.enterprise-map-node.source rect {
  fill: #fff9ef;
  stroke: #ead0a9;
}

.enterprise-map-node.major-match rect {
  fill: #eef8fb;
  stroke: #2f8fb5;
  stroke-width: 2.2;
}

.enterprise-map-node.intent-match rect {
  fill: #fff6ec;
  stroke: #d9822b;
  stroke-width: 2.2;
}

.enterprise-map-node.strong-match rect {
  fill: #f7fbf4;
  stroke: #d9822b;
  stroke-width: 2.6;
  filter: drop-shadow(0 2px 4px rgba(15, 95, 80, 0.2));
}

.enterprise-map-node.major-match text,
.enterprise-map-node.intent-match text,
.enterprise-map-node.strong-match text {
  fill: #073f36;
}

.enterprise-map-node.active rect,
.enterprise-map-node:hover rect {
  stroke: #0f5f50;
  stroke-width: 2.8;
}

.enterprise-relevance-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.enterprise-relevance-tags b {
  padding: 7px 9px;
  color: #0f5f50;
  background: #eaf6f3;
  border: 1px solid #cce7de;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.25;
}

.enterprise-map-detail-head span {
  display: block;
  margin-bottom: 7px;
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.enterprise-map-detail-head h3 {
  margin: 0 0 8px;
  color: var(--system-deep);
  font-size: 18px;
  line-height: 1.35;
}

.enterprise-map-detail-head p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.55;
}

.enterprise-role-list {
  display: grid;
  gap: 9px;
}

.enterprise-role-card {
  display: grid;
  gap: 6px;
  padding: 11px;
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.enterprise-role-card strong {
  color: var(--system-deep);
  font-size: 14px;
}

.enterprise-role-card p,
.enterprise-role-card small {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.45;
}

.enterprise-role-card small {
  font-size: 12px;
}

.enterprise-source-open {
  justify-content: center;
}

.company-stat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0;
}

.company-stat-row span {
  padding: 7px 9px;
  color: var(--system-muted);
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.next-action p {
  color: var(--system-muted);
  font-size: 15px;
  font-weight: 850;
  line-height: 1.65;
}

.lesson-detail-shell {
  width: min(100% - 28px, 1260px);
}

.lesson-detail-layout {
  display: grid;
  gap: 14px;
}

.lesson-hero-panel h1 {
  font-size: clamp(24px, 3vw, 36px);
}

.lesson-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lesson-video-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 14px;
  align-items: stretch;
}

.lesson-video-card,
.lesson-video-side {
  display: grid;
  gap: 14px;
}

.lesson-video-topline {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.lesson-video-topline h2,
.lesson-video-side h2 {
  margin: 0;
  color: var(--system-deep);
}

.lesson-video-topline > span {
  flex: 0 0 auto;
  padding: 8px 12px;
  color: #fff;
  background: var(--system-green);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.lesson-video-frame {
  overflow: hidden;
  background: var(--system-deep);
  border: 1px solid rgba(15, 107, 87, 0.2);
  border-radius: 8px;
}

.lesson-video-frame video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--system-deep);
}

.lesson-video-progress-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.lesson-video-progress-row span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.lesson-video-progress {
  height: 8px;
}

.lesson-video-chapters {
  display: grid;
  gap: 10px;
}

.lesson-video-chapters article {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.lesson-video-chapters span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--system-green);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.lesson-video-chapters strong {
  color: var(--system-deep);
  line-height: 1.5;
}

.lesson-study-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 14px;
  align-items: start;
}

.lesson-study-main {
  display: grid;
  gap: 16px;
}

.lesson-study-main h2,
.lesson-side-panel h2 {
  margin: 0;
  color: var(--system-deep);
}

.lesson-main-progress {
  height: 10px;
}

.lesson-block {
  display: grid;
  gap: 10px;
  padding: 16px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.lesson-block > span,
.lesson-practice-box label > span {
  color: var(--system-muted);
  font-size: 12px;
  font-weight: 900;
}

.lesson-block h3 {
  margin: 0;
  color: var(--system-deep);
  font-size: 19px;
  line-height: 1.45;
}

.lesson-block p {
  margin: 0;
  color: var(--system-muted);
  line-height: 1.7;
}

.lesson-point-list {
  display: grid;
  gap: 10px;
}

.lesson-point-list p {
  display: flex;
  gap: 10px;
}

.lesson-point-list strong {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--system-green);
  border-radius: 999px;
  font-size: 12px;
}

.lesson-step-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 20px;
  color: var(--system-muted);
  line-height: 1.65;
  font-weight: 800;
}

.lesson-practice-box label {
  display: grid;
  gap: 8px;
}

.lesson-practice-box textarea {
  width: 100%;
  min-height: 132px;
  resize: vertical;
  padding: 12px;
  color: var(--system-deep);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font: inherit;
  line-height: 1.6;
}

.lesson-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lesson-action-message {
  min-height: 20px;
  color: var(--system-green);
  font-weight: 900;
}

.lesson-side-stack {
  display: grid;
  gap: 14px;
}

.lesson-side-panel {
  display: grid;
  gap: 12px;
}

.lesson-directory {
  display: grid;
  gap: 12px;
}

.lesson-directory-course {
  display: grid;
  gap: 10px;
}

.lesson-directory-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--system-deep);
  font-weight: 900;
}

.lesson-directory-head span {
  color: var(--system-green);
}

.lesson-directory-list {
  display: grid;
  gap: 7px;
}

.lesson-directory-list a {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 9px;
  color: var(--system-muted);
  background: #fff;
  border: 1px solid var(--system-line);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.lesson-directory-list a.active {
  color: var(--system-deep);
  border-color: rgba(15, 107, 87, 0.45);
  box-shadow: 0 0 0 2px rgba(15, 107, 87, 0.08);
}

.lesson-directory-list a.done {
  background: #ecf8f2;
}

.lesson-directory-list svg {
  width: 18px;
  height: 18px;
  color: var(--system-green);
}

.lesson-linked-job {
  display: grid;
  gap: 7px;
  padding: 13px;
  background: #f8fbf9;
  border: 1px solid var(--system-line);
  border-radius: 8px;
}

.lesson-linked-job strong {
  color: var(--system-deep);
  line-height: 1.45;
}

.lesson-linked-job span {
  color: var(--system-muted);
  font-size: 13px;
  font-weight: 850;
}

.lesson-checklist {
  display: grid;
  gap: 8px;
}

.lesson-checklist span {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--system-muted);
  font-weight: 900;
}

.lesson-checklist svg {
  width: 18px;
  height: 18px;
  color: var(--system-green);
}

@media (max-width: 1080px) {
  .application-command {
    grid-template-columns: 1fr;
  }

  .application-command-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .application-command-meta article + article {
    border-top: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.13);
  }

  .dashboard-stage-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .system-shell {
    grid-template-columns: 1fr;
  }

  .system-sidebar {
    position: static;
    height: auto;
  }

  .system-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .system-nav-label {
    grid-column: 1 / -1;
  }

  .resume-preview-card {
    position: static;
  }

  .journey-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid,
  .sop-hero,
  .sop-layout,
  .resume-studio-layout,
  .resume-editor-topline,
  .two-col,
  .course-list,
  .auth-fields,
  .admin-job-layout,
  .knowledge-admin-layout,
  .marketing-layout,
  .mentor-workbench-layout,
  .agent-layout,
  .service-order-layout,
  .career-plan-report,
  .admin-job-toolbar,
  .job-intel-settings,
  .mentor-chat-composer,
  .workflow-steps,
  .job-check-grid,
  .jobs-toolbar,
  .job-filter-panel,
  .application-detail-grid,
  .application-two-col,
  .application-steps,
  .application-package-grid,
  .resume-version-flow,
  .company-dossier-grid,
  .version-card,
  .material-item,
  .job-material-card,
  .deadline-item,
  .subscription-item,
  .subscription-form,
  .enterprise-phase-strip,
  .enterprise-source-panel,
  .enterprise-map-shell,
  .sop-next-actions,
  .report-company-grid,
  .report-roadmap,
  .lesson-stat-grid,
  .lesson-video-grid,
  .lesson-study-grid,
  .exam-detail-stat-grid,
  .exam-test-grid,
  .exam-review-grid,
  .learning-player-grid,
  .pipeline-board-list,
  .pipeline-stage-summary,
  .material-priority-panel,
  .work-center-layout,
  .system-board,
  .metric-grid {
    grid-template-columns: 1fr;
  }

  .work-center-hero {
    align-items: flex-start;
    flex-direction: column;
    min-height: 260px;
  }

  .work-center-hero-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .account-menu {
    width: 100%;
  }

  .account-chip {
    width: 100%;
  }

  .auth-panel {
    position: static;
    width: 100%;
    margin-top: 10px;
  }

  .student-action-queue,
  .exam-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .application-command-main {
    padding: 21px 18px;
  }

  .application-command-meta {
    grid-template-columns: 1fr;
  }

  .application-command-meta article + article {
    border-top: 1px solid rgba(255, 255, 255, 0.13);
    border-left: 0;
  }
}

@media (max-width: 680px) {
  .system-shell {
    width: min(100% - 14px, 1500px);
    margin: 7px auto;
  }

  .system-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .system-sidebar {
    gap: 12px;
    padding: 12px;
  }

  .system-brand .brand-symbol {
    width: 42px;
    height: 42px;
  }

  .mobile-nav-more {
    display: flex;
  }

  .system-nav:not(.expanded) .system-nav-label {
    display: none;
  }

  .system-nav:not(.expanded) .system-nav-item:not(.mobile-primary):not(.mobile-nav-more):not(.active) {
    display: none;
  }

  .journey-overview {
    grid-template-columns: 1fr;
  }

  .work-center-hero {
    min-height: 0;
    padding: 20px;
  }

  .work-center-hero h2 {
    font-size: 28px;
  }

  .work-center-hero-actions,
  .work-center-hero-actions .solid-button,
  .work-center-hero-actions .soft-button,
  .work-center-action-grid {
    width: 100%;
  }

  .work-center-action-grid {
    grid-template-columns: 1fr;
  }

  .work-center-list-item {
    grid-template-columns: 10px minmax(0, 1fr);
  }

  .work-center-list-item b {
    grid-column: 2;
  }

  .sop-hero {
    padding: 20px;
  }

  .sop-hero h2 {
    font-size: 28px;
  }

  .sop-stage-card,
  .sop-stage-head,
  .sop-stage-grid {
    grid-template-columns: 1fr;
  }

  .sop-stage-card {
    gap: 10px;
  }

  .sop-stage-index {
    grid-template-columns: 52px minmax(0, 1fr);
    justify-items: start;
    align-items: center;
  }

  .sop-stage-head {
    display: grid;
  }

  .sop-stage-head .tiny-button {
    width: 100%;
  }

  .sop-side {
    position: static;
  }

  .sidebar-card,
  #resetDemo {
    display: none;
  }

  .system-topbar,
  .application-detail-top,
  .application-hero-panel,
  .learning-player-hero,
  .card-head,
  .resume-photo-uploader,
  .resume-paper-head,
  .resume-score-row,
	  .resume-insight-grid,
    .resume-productized-grid,
	  .resume-profile-grid,
	  .resume-optimized-head,
	  .student-command-main,
	  .exam-paper-card,
	  .exam-progress-head,
	  .exam-result-head,
  .exam-history-row,
  .admin-job-form,
  .admin-form-actions,
  .admin-job-row,
  .admin-row,
  .mentor-chat-composer,
  .mentor-guidance-summary-head,
  .mentor-guidance-meta,
  .student-service-head,
  .mentor-sop-checklist,
  .job-detail-head,
  .job-detail-grid,
  .job-check-grid,
  .match-company-item,
  .match-company-head,
  .fit-grid,
  .job-system-card,
	  .system-list-item,
	  .task-item,
	  .lesson-item {
	    grid-template-columns: 1fr;
	    align-items: stretch;
	  }

  .student-action-queue,
  .exam-module-grid {
    grid-template-columns: 1fr;
  }

  .resume-step-strip {
    grid-template-columns: 1fr;
  }

  .job-quick-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .job-quick-tab {
    width: 100%;
  }

  .student-action-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .student-command-main {
    padding: 14px;
  }

  .student-command-main h2 {
    font-size: 22px;
  }

  .student-command-main .solid-button {
    min-width: 0;
  }

  .student-action-card,
  .exam-module-card {
    min-height: auto;
  }

	  .mentor-message {
	    width: 100%;
	  }

  .system-topbar {
    display: grid;
  }

  .topbar-actions,
  .match-resume-actions,
  .job-actions {
    justify-content: stretch;
  }

  .account-menu {
    order: -1;
  }

  .soft-button,
  .solid-button,
  .tiny-button {
    width: 100%;
  }

  .marketing-panel {
    padding: 12px;
  }

  .career-plan-report article.wide {
    grid-column: auto;
  }

  .system-sidebar {
    gap: 10px;
    min-width: 0;
    padding: 10px;
  }

  .system-brand {
    gap: 10px;
    min-width: 0;
  }

  .system-brand .brand-symbol {
    width: 36px;
    height: 36px;
  }

  .system-brand strong {
    font-size: 16px;
  }

  .system-brand small {
    font-size: 11px;
  }

  .system-nav {
    display: flex;
    gap: 6px;
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .system-nav-item {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 10px;
    gap: 7px;
    font-size: 14px;
  }

  .system-nav.expanded {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .system-nav.expanded .system-nav-item {
    min-width: 0;
  }

  .system-nav-item svg {
    width: 18px;
    height: 18px;
  }

  .system-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px;
  }

  .system-topbar p {
    display: none;
  }

  .system-topbar h1 {
    font-size: 22px;
    line-height: 1.2;
  }

  .system-topbar .topbar-actions > .solid-button {
    display: none;
  }

  .topbar-actions {
    width: auto;
    flex: 0 0 auto;
    justify-content: flex-end;
  }

  .account-menu {
    order: 0;
    width: auto;
  }

  .account-chip {
    width: auto;
    min-height: 40px;
    padding: 0 9px;
  }

  .account-chip small {
    display: none;
  }

  .account-name-row > strong {
    max-width: 92px;
  }

  .account-meta {
    min-height: 12px;
  }

  .account-password-fields {
    align-items: stretch;
    flex-direction: column;
  }

  .auth-panel {
    position: fixed;
    top: 106px;
    right: 7px;
    left: 7px;
    width: auto;
    max-height: calc(100vh - 120px);
    overflow: auto;
  }

  .view-panel,
  .system-card {
    padding: 14px;
  }

  .resume-studio-head {
    display: block;
    padding: 16px;
  }

  .resume-studio-head h2 {
    font-size: 24px;
  }

  .resume-studio-head p:last-child {
    font-size: 13px;
  }

  .resume-paper-preview {
    min-height: auto;
    padding: 22px 16px;
    box-shadow: 0 14px 30px rgba(25, 53, 43, 0.09);
  }

  .resume-paper-head h3 {
    font-size: 24px;
  }

  .metric-grid {
    gap: 8px;
  }

  .metric-grid article {
    padding: 14px;
  }

  .resume-step-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .resume-step-strip article {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 10px;
  }

  .resume-step-strip span {
    width: 26px;
    height: 26px;
  }

  .resume-step-strip small {
    display: none;
  }

  .resume-completion-head,
  .resume-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .resume-section-grid {
    grid-template-columns: 1fr;
  }

  #view-jobs:not(.filters-open) .job-filter-panel-primary {
    display: none;
  }

  #view-jobs .source-notice {
    display: none;
  }

  #view-jobs .jobs-toolbar {
    gap: 8px;
  }

  .job-quick-tab,
  .tiny-button {
    min-height: 44px;
  }

  .job-prep-actions span:nth-child(n + 2) {
    display: none;
  }

  .job-system-card {
    padding: 14px;
  }

  .pipeline-focus-head,
  .material-priority-panel {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .pipeline-focus-head {
    flex-direction: column;
  }

  .pipeline-focus-item {
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: start;
  }

  .pipeline-focus-item .tiny-button {
    grid-column: 1 / -1;
  }

  .pipeline-stage-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .material-actions {
    justify-content: stretch;
  }

  .material-actions strong,
  .material-status-select span {
    text-align: left;
  }

  .material-status-select {
    width: 100%;
  }

  .system-topbar .soft-button,
  .system-topbar .solid-button,
  .system-topbar .tiny-button,
  .topbar-actions .account-chip {
    width: auto;
  }
}

@media (max-width: 900px) {
  .tenant-config-layout {
    grid-template-columns: 1fr;
  }

  .module-switch-grid,
  .tenant-config-layout .admin-job-form {
    grid-template-columns: 1fr;
  }

  .tenant-preview {
    grid-template-columns: 56px minmax(0, 1fr);
    padding: 12px;
  }

  .tenant-preview-mark {
    width: 56px;
    height: 56px;
  }

  .tenant-save-bar {
    position: static;
    align-items: stretch;
    flex-direction: column;
  }

  .tenant-domain-layout,
  .tenant-lifecycle-panel,
  .tenant-ops-grid,
  .dns-check-grid {
    grid-template-columns: 1fr;
  }
}

.membership-access-gate {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 28px;
  align-items: center;
  min-height: 360px;
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid #d7e2d6;
  border-radius: 28px;
  background: #fffef8;
  box-shadow: 0 22px 65px rgba(7, 59, 49, .1);
}
.view-panel.membership-locked > :not(.membership-access-gate) { display: none !important; }

.membership-access-gate::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -130px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(213, 255, 55, .5), rgba(213, 255, 55, 0) 68%);
  pointer-events: none;
}

.membership-gate-copy,
.membership-gate-proof { position: relative; z-index: 1; }
.membership-gate-copy > span,
.membership-dialog-head span {
  color: #08755e;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
}
.membership-gate-copy h2 { margin: 12px 0; max-width: 720px; font-size: clamp(28px, 4vw, 46px); line-height: 1.12; color: #073b31; }
.membership-gate-copy p { max-width: 660px; margin: 0; color: #65756f; font-size: 17px; line-height: 1.8; }
.membership-gate-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.membership-gate-proof { display: grid; gap: 10px; padding: 24px; border-radius: 22px; background: #073b31; color: white; }
.membership-gate-proof strong { font-size: 18px; }
.membership-gate-proof span { display: flex; align-items: center; gap: 10px; color: #dce9e4; }
.membership-gate-proof i { color: #d5ff37; }

.membership-dialog {
  width: min(760px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  padding: 0;
  border: 0;
  border-radius: 28px;
  background: transparent;
  box-shadow: 0 28px 100px rgba(0, 29, 24, .3);
}
.membership-dialog::backdrop { background: rgba(2, 30, 25, .62); backdrop-filter: blur(8px); }
.membership-dialog-shell { max-height: calc(100vh - 28px); overflow: auto; padding: clamp(24px, 5vw, 42px); background: #fffef8; color: #073b31; }
.membership-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.membership-dialog-head h2 { margin: 8px 0 0; font-size: clamp(25px, 4vw, 38px); }
.membership-dialog-head button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #d7e2d6; border-radius: 50%; background: white; color: #073b31; cursor: pointer; }
.membership-dialog-lead { color: #667770; line-height: 1.75; }
.membership-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 22px 0; }
.membership-benefits span { display: grid; gap: 8px; justify-items: center; padding: 14px 8px; border-radius: 14px; background: #edf5f1; font-size: 13px; font-weight: 800; }
.membership-benefits i { color: #08755e; }
.membership-plan-list { display: grid; gap: 12px; }
.membership-plan-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 18px; border: 1px solid #d7e2d6; border-radius: 18px; background: white; }
.membership-plan-card.featured { border-color: #9fc51d; box-shadow: inset 5px 0 #d5ff37; }
.membership-plan-card strong { display: block; font-size: 18px; }
.membership-plan-card small { display: block; margin-top: 5px; color: #6b7a75; }
.membership-plan-card b { display: block; margin-bottom: 8px; color: #073b31; font-size: 20px; text-align: right; }
.membership-plan-card button { min-width: 116px; }
.membership-dialog-message { min-height: 24px; margin: 16px 0 0; color: #65756f; }

.membership-inline-gate { margin-bottom: 18px; padding: 18px; border: 1px solid #d5e4cf; border-radius: 18px; background: #f7faef; }
.membership-inline-gate strong { display: block; color: #073b31; font-size: 18px; }
.membership-inline-gate p { margin: 6px 0 14px; color: #687771; }
.resume-ai-card.membership-feature-locked > form { display: none; }
[data-resume-mode].premium-locked::after { content: "会员"; padding: 3px 7px; border-radius: 999px; background: #d5ff37; color: #073b31; font-size: 11px; font-weight: 800; }

@media (max-width: 760px) {
  .membership-access-gate { grid-template-columns: 1fr; min-height: 0; padding: 24px; border-radius: 20px; }
  .membership-gate-proof { padding: 18px; }
  .membership-benefits { grid-template-columns: repeat(2, 1fr); }
  .membership-plan-card { grid-template-columns: 1fr; }
  .membership-plan-card b { text-align: left; }
}
/* Planning and learning catalog refinements */
.sop-collapsible { display: block; }
.sop-collapsible > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 30px; background:#fff; border:1px solid var(--system-line); border-radius:8px; cursor:pointer; list-style:none; }
.sop-collapsible > summary::-webkit-details-marker { display:none; }
.sop-collapsible > summary > span:first-child { display:grid; gap:6px; }
.sop-collapsible > summary strong { color:var(--system-deep); font-size:24px; }
.sop-collapsible > summary small { color:var(--system-muted); font-size:15px; font-weight:750; }
.sop-collapsible-action { display:flex; align-items:center; gap:10px; color:var(--system-muted); }
.sop-collapsible-action b { font-size:15px; }
.sop-collapsible-action i { width:20px; transition:transform .2s ease; }
.sop-collapsible[open] .sop-collapsible-action i { transform:rotate(180deg); }
.sop-collapsible-content { display:grid; gap:16px; padding-top:16px; }
.learning-catalog-section + .learning-catalog-section { margin-top:16px; }
.course-list.course-preview-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.course-catalog-card,.bank-catalog-card { color:inherit; text-decoration:none; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.course-catalog-card:hover,.bank-catalog-card:hover { transform:translateY(-2px); border-color:#9bcabb; box-shadow:0 10px 24px rgba(8,59,49,.08); }
.course-catalog-card .course-head { min-height:104px; }
.course-catalog-card .course-head > i { flex:0 0 auto; width:22px; color:var(--system-green); }
.course-catalog-status { display:block; margin-top:10px; color:var(--system-green); font-size:13px; font-weight:900; }
.bank-list.bank-preview-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.bank-catalog-card { display:grid; gap:12px; min-height:174px; }
.bank-catalog-card > span { display:flex; align-items:center; justify-content:space-between; color:var(--system-green); font-weight:900; }
.bank-catalog-card > span i { width:18px; }
.learning-more-row { display:flex; justify-content:center; padding-top:20px; }
.learning-more-link { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; color:var(--system-green); background:#eef7f3; border:1px solid #cfe4da; border-radius:999px; font-weight:900; text-decoration:none; }
.learning-more-link i { width:18px; }
.catalog-page-shell { max-width:1440px; }
.catalog-page-hero { padding:30px 4px 22px; }
.catalog-page-hero h1 { margin:4px 0 8px; color:var(--system-deep); font-size:34px; }
.catalog-page-hero p:last-child { margin:0; color:var(--system-muted); }
.catalog-full-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
@media (max-width:1080px) { .course-list.course-preview-grid,.bank-list.bank-preview-grid,.catalog-full-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .sop-collapsible > summary { padding:18px; } .sop-collapsible-action b { display:none; } .course-list.course-preview-grid,.bank-list.bank-preview-grid,.catalog-full-grid { grid-template-columns:1fr; } }
/* Career report upload and questionnaire */
.career-report-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.career-report-process article { display:flex; align-items:center; gap:10px; padding:13px; background:#f7faf9; border:1px solid var(--system-line); border-radius:8px; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.career-report-process article:hover { transform:translateY(-1px); border-color:#8bbfaf; box-shadow:0 7px 18px rgba(8,59,49,.08); }
.career-report-process article:focus-visible { outline:3px solid rgba(15,107,87,.22); outline-offset:2px; }
.career-goal-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.career-goal-timeline section { display:grid; align-content:start; gap:10px; min-height:190px; padding:18px; color:var(--system-deep); background:#f8fbf9; border:1px solid var(--system-line); border-radius:8px; }
.career-goal-timeline section > span { color:#557067; font-size:14px; }
.career-goal-timeline section > strong { color:#101827; font-size:19px; }
.career-goal-timeline section > p { position:relative; z-index:1; display:block; color:#4b5e58 !important; font-size:15px; line-height:1.75; }
.career-report-history { display:grid; gap:10px; margin:14px 0 20px; }
.career-report-history-head { display:flex; align-items:center; justify-content:space-between; color:var(--system-deep); }
.career-report-history-head span { color:var(--system-muted); font-size:13px; font-weight:800; }
.career-report-history-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.career-report-history-list a,.career-report-history-list button { display:flex; align-items:center; gap:10px; min-width:0; padding:13px; color:var(--system-deep); text-align:left; text-decoration:none; background:#fff; border:1px solid var(--system-line); border-radius:8px; cursor:pointer; }
.career-report-history-list a:hover,.career-report-history-list button:hover,.career-report-history-list button.active { border-color:var(--system-green); box-shadow:0 6px 16px rgba(8,59,49,.08); }
.career-report-history-list b { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; color:#fff; background:var(--system-green); border-radius:6px; }
.career-report-history-list span { display:grid; gap:3px; min-width:0; flex:1; }
.career-report-history-list strong,.career-report-history-list small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.career-report-history-list small { color:var(--system-muted); }
.career-report-history-list i { width:17px; }
.career-report-process article > span { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; color:var(--system-muted); background:#e8efec; border-radius:50%; font-weight:900; }
.career-report-process article div { display:grid; gap:3px; }
.career-report-process article strong { color:var(--system-deep); font-size:14px; }
.career-report-process article small { color:var(--system-muted); font-size:11px; line-height:1.4; }
.career-report-process article.active { border-color:#8bbfaf; box-shadow:0 0 0 2px rgba(15,107,87,.08); }
.career-report-process article.active > span { color:#fff; background:var(--system-green); }
.career-report-process article.done > span { color:#fff; background:var(--system-green); }
.career-report-upload { display:grid; gap:14px; margin:18px 0; padding:18px; background:#f7faf9; border:1px solid var(--system-line); border-radius:8px; }
.career-report-upload > div { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.career-report-upload > div:first-child { justify-content:flex-start; }
.career-report-upload > div:first-child > i { width:30px; height:30px; color:var(--system-green); }
.career-report-upload > div:first-child span { display:grid; gap:5px; }
.career-report-upload strong { color:var(--system-deep); font-size:16px; }
.career-report-upload small,.career-report-upload-status { color:var(--system-muted); line-height:1.5; }
.career-report-upload-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; }
.career-report-upload-actions label { cursor:pointer; }
.career-report-upload-status { margin:0; font-size:13px; font-weight:800; }
.career-plan-or { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--system-muted); font-size:13px; font-weight:900; }
.career-plan-or::before,.career-plan-or::after { content:""; flex:1; height:1px; background:var(--system-line); }
.career-report-followup-head { padding:24px 4px 4px; }
.career-report-followup-head span { color:var(--system-green); font-size:13px; font-weight:900; }
.career-report-followup-head h2 { margin:6px 0 8px; color:var(--system-deep); font-size:22px; }
.career-report-followup-head p { margin:0; color:var(--system-muted); line-height:1.65; }
@media (max-width:900px) { .career-report-process,.career-goal-timeline,.career-report-history-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .career-report-process,.career-goal-timeline,.career-report-history-list { grid-template-columns:1fr; } .career-report-upload > div { align-items:flex-start; flex-direction:column; } .career-report-upload-actions { width:100%; } }

/* Whole-system visual language — flat white panels, compact radius, quiet hierarchy */
.system-body { background:#f5f6f4; }
.system-shell { gap:14px; width:min(100% - 32px,1480px); margin:16px auto; }
.system-sidebar { background:#fff; border-color:#e3e6e3; border-radius:10px; box-shadow:0 4px 16px rgba(31,42,35,.045); backdrop-filter:none; }
.system-main { background:#fff; border-color:#e3e6e3; border-radius:10px; box-shadow:0 4px 16px rgba(31,42,35,.045); }
.system-topbar { background:#fff; border-bottom:1px solid #e7e9e7; }
.system-nav-item { min-height:44px; border-radius:8px; color:#5c635f; font-weight:650; transform:none!important; }
.system-nav-item:hover { color:#202522; background:#f1f2f1; border-color:#e1e3e1; }
.system-nav-item.active { color:#202522; background:#e7e9e7; border-color:#d8dbd8; box-shadow:none; }
.system-nav { gap:0; padding:4px 0; }
.system-nav-item { width:100%; min-height:48px; margin:0; padding:0 14px; background:transparent; border:0; border-radius:7px; box-shadow:none; }
.system-nav-item + .system-nav-item { margin-top:2px; }
.system-nav-item:hover { color:#202522; background:#eceeec; border:0; }
.system-nav-item.active { color:#202522; background:#dfe2df; border:0; }
.system-nav-label,.section-kicker { color:#7d857f; font-weight:650; letter-spacing:.04em; }
.system-card,.view-panel { border-color:#e4e7e4; border-radius:10px; box-shadow:0 4px 16px rgba(31,42,35,.045); }
.metric-grid article,.sop-next-actions button,.career-report-process article,.career-goal-timeline section,.career-report-history-list a,.career-report-history-list button { border-color:#e4e7e4; border-radius:8px; background:#fff; box-shadow:none; }
.metric-grid article::before { background:#747a76; }
.solid-button { color:#fff; background:#3d423f; border-color:#3d423f; box-shadow:none; font-weight:650; }
.solid-button:hover { color:#fff; background:#292d2b; border-color:#292d2b; transform:none; }
.soft-button { color:#3e4741; background:#fff; border-color:#dfe3df; box-shadow:none; font-weight:600; }
.soft-button:hover { color:#263519; background:#f5f7f3; border-color:#cfd6cf; transform:none; }
.career-plan-report .report-hero { color:#fff; background:#303b34; border-color:#303b34; }
.career-report-process article.active,.career-report-process article.done { border-color:#c9cdca; background:#f5f6f5; }
.career-report-process article.active > span,.career-report-process article.done > span,.career-report-history-list b { color:#fff; background:#4b504d; }
.career-report-process article:hover,.career-report-history-list a:hover,.career-report-history-list button:hover { transform:none; border-color:#bdc8bc; box-shadow:0 4px 12px rgba(31,42,35,.06); }
.card-head h2,.system-topbar h1,.system-topbar h2 { color:#202522; font-weight:700; }
.card-head p,.admin-message,.career-plan-report p { color:#69716c; }
dialog,.modal-card,.account-menu-popover { border-radius:10px; box-shadow:0 16px 42px rgba(31,42,35,.14); }
/* Unified typography scale */
.system-body{font-size:14px;line-height:1.55}
.system-topbar>div>p{font-size:20px;font-weight:650;line-height:1.3}
.view-panel h1{font-size:24px;line-height:1.35;font-weight:650}.view-panel h2,.card-head h2{font-size:20px;line-height:1.4;font-weight:650}.view-panel h3{font-size:16px;line-height:1.45;font-weight:650}
.system-nav-item{font-size:15px;font-weight:550}.system-nav-label,.section-kicker{font-size:12px;font-weight:600}
.solid-button,.soft-button,.outline-button,.tiny-button,button,input,select,textarea{font-size:14px}.admin-message,small{font-size:12px}
.metric-grid article>span{font-size:14px;font-weight:550}.metric-grid article>strong{font-size:32px;font-weight:650}.metric-grid article>small{font-size:12px}
.career-plan-report strong{font-weight:650}.career-plan-report p{font-size:14px;line-height:1.7}
/* Restrained grass-green accents */
:root{--system-green:#5f8f22;--system-deep:#303432;--system-accent:#8bc53f;--system-accent-soft:#f1f7e8;--system-accent-line:#d8e9c3}
.solid-button,.tiny-button.primary{color:#17220e!important;background:var(--system-accent)!important;border-color:var(--system-accent)!important}
.soft-button.active,.outline-button.active,.table-action.active{color:#466b18!important;background:var(--system-accent-soft)!important;border-color:var(--system-accent-line)!important}
.metric-grid article>strong,.section-kicker,.opportunity-match-meter strong,.filter-summary strong{color:var(--system-green)}
.opportunity-match-meter i b,.completion-track i,.course-progress i{background:var(--system-accent)!important}
.opportunity-tag,.status-chip{border-radius:4px}
