.ath-financeDashboard,
.ath-financeHub,
.ath-financeAdmin {
  --athfin-ink: var(--text-high, #111827);
  --athfin-muted: var(--text-med, #5f6b7a);
  --athfin-subtle: var(--text-low, #7c8798);
  --athfin-surface: var(--surface-1, #fff);
  --athfin-soft: var(--surface-2, #f5f7fa);
  --athfin-panel: var(--shortcode-bg, var(--surface-1, #fff));
  --athfin-border: var(--border, #d8dee8);
  --athfin-accent: var(--ctl-c3, #c39a5a);
  --athfin-primary: var(--ctl-c1, #135e75);
  --athfin-positive: var(--ctl-c2, #16856b);
  --athfin-danger: #b42318;
  --athfin-focus: var(--focus-ring, color-mix(in srgb, var(--athfin-primary) 30%, transparent));
  --athfin-radius: var(--radius, 14px);
  --athfin-shadow: var(--drop-sm, 0 10px 28px rgba(15, 23, 42, .09));
  box-sizing: border-box;
  color: var(--athfin-ink);
}

.ath-financeDashboard *,
.ath-financeHub *,
.ath-financeAdmin * {
  box-sizing: border-box;
}

.ath-financeDashboard {
  display: grid;
  gap: 14px;
	min-width: 0;
	max-width: 100%;
}

.ath-financeHub {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 14px;
  padding: clamp(16px, 3vw, 24px);
  border: 1px solid var(--athfin-border);
  border-radius: var(--athfin-radius);
  background: var(--athfin-panel);
  box-shadow: var(--athfin-shadow);
}

.ath-financeHub__header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.ath-financeHub__header > div {
  min-width: 0;
}

.ath-financeHub__header span,
.ath-financeHub__section > header span {
  display: block;
  color: var(--athfin-primary);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ath-financeHub__header h3,
.ath-financeHub__header p,
.ath-financeHub__section h4,
.ath-financeHub__section p {
  margin: 0;
}

.ath-financeHub__header h3 {
  margin-top: 4px;
  font-size: clamp(20px, 3vw, 30px);
  line-height: 1.12;
}

.ath-financeHub__header p,
.ath-financeHub__section p {
  margin-top: 7px;
  color: var(--athfin-muted);
}

.ath-financeHub mark {
  display: inline-flex;
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--athfin-primary) 34%, var(--athfin-border));
  border-radius: 999px;
  color: var(--athfin-primary);
  background: color-mix(in srgb, var(--athfin-primary) 7%, var(--athfin-surface));
  font-size: 10px;
  font-weight: 900;
}

.ath-financeHub mark.is-active,
.ath-financeHub mark.is-approved,
.ath-financeHub mark.is-lender_approved,
.ath-financeHub mark.is-completed,
.ath-financeHub mark.is-issued {
  border-color: color-mix(in srgb, var(--athfin-positive) 42%, var(--athfin-border));
  color: var(--athfin-positive);
  background: color-mix(in srgb, var(--athfin-positive) 8%, var(--athfin-surface));
}

.ath-financeHub mark.is-lender_declined,
.ath-financeAdminCard mark.is-lender_declined,
.ath-financeHub mark.is-cancelled {
  border-color: color-mix(in srgb, var(--athfin-danger) 42%, var(--athfin-border));
  color: var(--athfin-danger);
  background: color-mix(in srgb, var(--athfin-danger) 8%, var(--athfin-surface));
}

.ath-financeHub__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 14px;
  align-items: center;
  color: var(--athfin-muted);
  font-size: 12px;
}

.ath-financeHub__actions .ath-financeSignLink {
  margin: 0;
}

.ath-financeHub__secondary,
.ath-financeDocs a {
  color: var(--athfin-primary);
  font-weight: 800;
  text-underline-offset: 3px;
}

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

.ath-financeHub__section {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--athfin-border);
  border-radius: calc(var(--athfin-radius) * .75);
  background: var(--athfin-soft);
}

.ath-financeHub__section.is-wide {
  grid-column: 1 / -1;
}

.ath-financeHub__section > header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 10px;
}

.ath-financeHub__section > header span {
  color: var(--athfin-muted);
  text-align: right;
}

.ath-financeTable--compact {
  min-width: 520px !important;
  font-size: 12px;
}

.ath-financeTable--compact td strong,
.ath-financeTable--compact td small {
  display: block;
}

.ath-financeTable--compact td small {
  margin-top: 2px;
  color: var(--athfin-muted);
}

.ath-financeTable--compact td.is-credit {
  color: var(--athfin-positive);
}

.ath-financeDocs {
  display: grid;
  gap: 7px;
}

.ath-financeDocs article {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--athfin-border);
  border-radius: calc(var(--athfin-radius) * .6);
  background: var(--athfin-surface);
}

.ath-financeDocs article > div:first-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.ath-financeDocs article span {
  color: var(--athfin-muted);
  font-size: 11px;
}

.ath-financeDocs__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.ath-financeHero,
.ath-financePanel,
.ath-financeApply,
.ath-financeNotice,
.ath-financeAdminCard {
	min-width: 0;
	max-width: 100%;
  border: 1px solid var(--athfin-border);
  border-radius: var(--athfin-radius);
  background: var(--athfin-panel);
  box-shadow: var(--athfin-shadow);
}

.ath-financeHero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 4vw, 38px);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--athfin-accent) 15%, transparent), transparent 58%),
    var(--athfin-panel);
}

.ath-financeHero h2,
.ath-financeHero p,
.ath-financePanel h3,
.ath-financePanel p,
.ath-financeApply h3 {
  margin: 0;
}

.ath-financeHero > div:first-child > span,
.ath-financePanel > header span,
.ath-financeApply > header span,
.ath-financeAdminCard > header span {
  display: block;
  margin-bottom: 5px;
  color: var(--athfin-primary);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.ath-financeHero h2 {
  font-size: clamp(24px, 4vw, 42px);
  line-height: 1.05;
}

.ath-financeHero p {
  max-width: 740px;
  margin-top: 10px;
  color: var(--athfin-muted);
}

.ath-financeHero__student {
  display: grid;
  min-width: 210px;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--athfin-accent) 45%, var(--athfin-border));
  border-radius: calc(var(--athfin-radius) * .8);
  background: color-mix(in srgb, var(--athfin-accent) 9%, var(--athfin-surface));
}

.ath-financeHero__student small,
.ath-financeMetrics span,
.ath-financeTerms dt {
  color: var(--athfin-muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
}

.ath-financeSteps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ath-financeSteps li {
  display: flex;
  gap: 10px;
  min-width: 0;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--athfin-border);
  border-radius: calc(var(--athfin-radius) * .72);
  background: var(--athfin-soft);
}

.ath-financeSteps li b {
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--athfin-border);
  border-radius: 50%;
  background: var(--athfin-surface);
}

.ath-financeSteps li span {
  display: grid;
  min-width: 0;
}

.ath-financeSteps li small {
  overflow: hidden;
  color: var(--athfin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ath-financeSteps li.is-current,
.ath-financeSteps li.is-complete {
  border-color: color-mix(in srgb, var(--athfin-positive) 45%, var(--athfin-border));
  background: color-mix(in srgb, var(--athfin-positive) 8%, var(--athfin-surface));
}

.ath-financeSteps li.is-current b,
.ath-financeSteps li.is-complete b {
  border-color: transparent;
  color: var(--btn-fg, #fff);
  background: var(--athfin-positive);
}

.ath-financePanel,
.ath-financeApply,
.ath-financeAdminCard {
  padding: clamp(16px, 3vw, 24px);
}

.ath-financePanel > header,
.ath-financeApply > header,
.ath-financeAccount > header,
.ath-financeAdminCard > header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.ath-financePanel mark,
.ath-financeCards mark,
.ath-financeTable mark,
.ath-financeAdminCard mark {
  display: inline-flex;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--athfin-primary) 34%, var(--athfin-border));
  border-radius: 999px;
  color: var(--athfin-primary);
  background: color-mix(in srgb, var(--athfin-primary) 7%, var(--athfin-surface));
  font-size: 10px;
  font-weight: 900;
}

.ath-financePanel mark.is-active,
.ath-financePanel mark.is-approved,
.ath-financeCards mark.is-approved,
.ath-financeTable mark.is-issued,
.ath-financeAdminCard mark.is-approved,
.ath-financeAdminCard mark.is-lender_approved,
.ath-financeAdminCard mark.is-submitted {
  border-color: color-mix(in srgb, var(--athfin-positive) 42%, var(--athfin-border));
  color: var(--athfin-positive);
  background: color-mix(in srgb, var(--athfin-positive) 8%, var(--athfin-surface));
}

.ath-financeMetrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.ath-financeMetrics > div {
  display: grid;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--athfin-border);
  border-radius: calc(var(--athfin-radius) * .65);
  background: var(--athfin-soft);
}

.ath-financeMetrics strong {
  font-size: 17px;
}

.ath-financeTerms {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 0;
}

.ath-financeTerms > div {
  min-width: 0;
  padding: 10px 12px;
  border-left: 3px solid var(--athfin-accent);
  background: var(--athfin-soft);
}

.ath-financeTerms dd {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  font-weight: 700;
}

.ath-financeCards {
  display: grid;
  gap: 8px;
}

.ath-financeCards article {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px;
  border: 1px solid var(--athfin-border);
  border-radius: calc(var(--athfin-radius) * .65);
  background: var(--athfin-soft);
}

.ath-financeCards article > div {
  display: grid;
  gap: 3px;
}

.ath-financeCards article > div:last-child {
  justify-items: end;
}

.ath-financeSignLink {
  display: inline-flex;
  margin-top: 5px;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--btn-fg, #fff);
  background: var(--btn-bg, var(--athfin-primary));
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.ath-financeNotice code {
  padding: 3px 7px;
  border-radius: 6px;
  background: var(--athfin-soft);
  color: var(--athfin-ink);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.ath-financeTable {
	width: 100%;
	min-width: 0;
	max-width: 100%;
  overflow-x: auto;
	overscroll-behavior-inline: contain;
}

.ath-financeTable table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

.ath-financeTable th,
.ath-financeTable td {
  padding: 10px;
  border-bottom: 1px solid var(--athfin-border);
  text-align: left;
  white-space: nowrap;
}

.ath-financeTable th {
  color: var(--athfin-muted);
  font-size: 10px;
  text-transform: uppercase;
}

.ath-financeNotice {
  padding: 14px 16px;
  color: var(--athfin-muted);
  box-shadow: none;
}

.ath-financeNotice.is-warning {
  border-color: color-mix(in srgb, #d97706 45%, var(--athfin-border));
}

.ath-financeNotice.is-positive {
  border-color: color-mix(in srgb, var(--athfin-positive) 45%, var(--athfin-border));
}

.ath-financeApply > .athss-schema-shell > .athss-schema-hero {
  display: none;
}

.ath-financeApply .athss-public-shell,
.ath-financeApply .athss-schema-form {
  max-width: none;
  box-shadow: none;
}

.ath-financeAdmin__grid {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.ath-financeAdminCard > header p {
  margin: 4px 0 0;
  color: var(--athfin-muted);
}

.ath-financeAdminForm,
.ath-financeAdminAccount {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--athfin-border);
  border-radius: calc(var(--athfin-radius) * .75);
  background: var(--athfin-soft);
}

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

.ath-financeAdminForm label {
  display: grid;
  gap: 5px;
}

.ath-financeAdminForm label.is-wide {
  grid-column: span 2;
}

.ath-financeAdminForm input,
.ath-financeAdminForm select,
.ath-financeAdminForm textarea,
.ath-financeDecline input,
.ath-financeAdminBilling input {
  width: 100%;
}

.ath-financeDecline,
.ath-financeAdminBilling,
.ath-financeAdminBilling form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
  margin-top: 10px;
}

.ath-financeAdminBilling form:first-child {
  flex: 1 1 600px;
}

.ath-financeAdminBilling h4 {
  flex-basis: 100%;
  margin: 0;
}

/* Embedded student/candidate dashboard variant. Keep the standalone finance center theme-aware. */
.ath-financeHub--compactLight {
  --athfin-ink: color-mix(in srgb, #05070c 94%, var(--ctl-c4, #2f2415));
  --athfin-muted: color-mix(in srgb, #425066 84%, var(--ctl-c4, #2f2415));
  --athfin-subtle: color-mix(in srgb, #6a778b 86%, var(--ctl-c4, #2f2415));
  --athfin-surface: color-mix(in srgb, #ffffff 97%, var(--ctl-c6, #f6f1e7));
  --athfin-soft: color-mix(in srgb, #eef3f8 88%, var(--ctl-c6, #f6f1e7));
  --athfin-panel: color-mix(in srgb, #ffffff 94%, var(--ctl-c6, #f6f1e7));
  --athfin-border: color-mix(in srgb, var(--ctl-c1, #0f6c7f) 18%, #dbe3ee);
  --athfin-primary: var(--ctl-c1, #0f6c7f);
  --athfin-positive: var(--ctl-c2, #1e8f87);
  --athfin-accent: var(--ctl-c3, #c39a5a);
  --athfin-shadow: 0 8px 22px color-mix(in srgb, var(--ctl-c4, #2f2415) 10%, transparent);
  gap: 9px;
  padding: 10px;
  color: var(--athfin-ink);
  background: linear-gradient(135deg, color-mix(in srgb, var(--athfin-soft) 72%, var(--athfin-surface)), var(--athfin-surface));
}

.ath-financeHub--compactLight .ath-financeHub__header {
  align-items: center;
  padding: 0 1px 2px;
}

.ath-financeHub--compactLight .ath-financeHub__header h3 {
  color: var(--athfin-ink);
  font-size: 18px;
  line-height: 1.05;
}

.ath-financeHub--compactLight .ath-financeHub__header p,
.ath-financeHub--compactLight .ath-financeHub__section p {
  color: var(--athfin-muted);
  font-size: 12px;
  line-height: 1.35;
}

.ath-financeHub--compactLight .ath-financeMetrics {
  gap: 6px;
}

.ath-financeHub--compactLight .ath-financeMetrics > div {
  min-height: 54px;
  padding: 7px 8px;
  border-color: var(--athfin-border);
  background: color-mix(in srgb, var(--athfin-surface) 84%, var(--athfin-soft));
}

.ath-financeHub--compactLight .ath-financeMetrics span,
.ath-financeHub--compactLight .ath-financeHub__section > header span,
.ath-financeHub--compactLight .ath-financeTable th,
.ath-financeHub--compactLight .ath-financeTable--compact td small {
  color: var(--athfin-muted);
}

.ath-financeHub--compactLight .ath-financeMetrics strong,
.ath-financeHub--compactLight .ath-financeHub__section h4,
.ath-financeHub--compactLight .ath-financeDocs strong,
.ath-financeHub--compactLight .ath-financeTable td {
  color: var(--athfin-ink);
}

.ath-financeHub--compactLight .ath-financeMetrics strong {
  font-size: 13px;
}

.ath-financeHub--compactLight .ath-financeHub__section {
  padding: 10px;
  border-color: var(--athfin-border);
  background: color-mix(in srgb, var(--athfin-soft) 78%, var(--athfin-surface));
}

.ath-financeHub--compactLight .ath-financeDocs article {
  padding: 7px 8px;
  background: var(--athfin-surface);
}

.ath-financeHub--compactLight .ath-financeTable td,
.ath-financeHub--compactLight .ath-financeTable th {
  border-color: var(--athfin-border);
  font-size: 11px;
  padding: 6px 7px;
}

@media (max-width: 900px) {
  .ath-financeSteps,
  .ath-financeMetrics,
  .ath-financeAdminForm__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

  .ath-financeHub__section.is-wide {
    grid-column: auto;
  }
}

@media (max-width: 640px) {
  .ath-financeHero,
  .ath-financeHub__header,
  .ath-financePanel > header,
  .ath-financeApply > header,
  .ath-financeAdminCard > header,
  .ath-financeCards article {
    display: grid;
  }

  .ath-financeHub__section > header,
  .ath-financeDocs article {
    display: grid;
  }

  .ath-financeHub__section > header span {
    text-align: left;
  }

  .ath-financeDocs__actions {
    justify-content: flex-start;
  }

  .ath-financeHero__student {
    min-width: 0;
  }

  .ath-financeAdminForm label.is-wide {
    grid-column: auto;
  }

  .ath-financeCards article > div:last-child {
    justify-items: start;
  }
}
