:root {
  --economy-ink: #172033;
  --economy-muted: #5c667a;
  --economy-line: #d8dee9;
  --economy-surface: #fff;
  --economy-blue: #2d6cdf;
}

.student-economy-token-page {
  overflow-y: auto;
  scroll-behavior: smooth;
}
.student-economy-token-page .student-token-layout {
  height: auto;
  min-height: calc(100vh - 26px);
  align-items: start;
}
.student-economy-token-page .student-token-sidebar {
  position: sticky;
  top: 13px;
  height: calc(100vh - 26px);
}
.student-economy-token-page .student-token-main { overflow: visible; }
.student-economy-stage.economy-student-shell {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 18px 22px 48px;
}
.student-economy-token-page .student-home-status { margin: 10px 4px; color: #335d3d; font-weight: 900; }
.student-economy-token-page .student-home-status[data-tone="bad"] { color: #a7352b; }
.student-avatar-lab-status { min-height: 24px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.hidden { display: none !important; }

.economy-button {
  border: 1px solid var(--economy-line);
  border-radius: 8px;
  background: var(--economy-surface);
  padding: 10px 14px;
  color: var(--economy-ink);
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 2px 8px rgb(23 32 51 / 6%);
}
.economy-button.primary { border-color: #1d5ec8; background: var(--economy-blue); color: #fff; }
.economy-button:disabled { cursor: wait; opacity: .55; }
.economy-kicker { display: inline-flex; align-items: center; gap: 6px; color: var(--economy-blue); font-size: 13px; font-weight: 900; }
.economy-shop-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgb(15 23 42 / 35%);
  backdrop-filter: blur(5px);
}
.economy-shop-modal-card {
  display: grid;
  gap: 16px;
  width: min(760px, 100%);
  max-height: min(92vh, 760px);
  overflow: auto;
  border-radius: 22px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 28px 70px rgb(15 23 42 / 22%);
}
.economy-shop-modal-head,
.economy-shop-modal-actions { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.economy-shop-modal-head h3 { margin: 4px 0; color: #153760; font-size: 28px; }
.economy-shop-modal-head p { margin: 0; color: #64748b; font-weight: 900; }
.economy-shop-modal-close { width: 42px; height: 42px; border: 1px solid rgb(148 163 184 / 28%); border-radius: 14px; background: #fff; color: #64748b; font-size: 24px; font-weight: 1000; cursor: pointer; }

.student-economy-token-page .student-wallet-card {
  margin-top: 18px;
  border: 1px solid #d4b36e;
  border-radius: 20px;
  background: #fffaf0;
  box-shadow: 0 16px 38px rgb(75 60 25 / 14%);
}
.student-economy-token-page .economy-job-day,
.student-economy-token-page .economy-job-post-card,
.student-economy-token-page .economy-ranking-card,
.student-economy-token-page .economy-link-grid a { border-color: #dfc996; background: #fffdf7; color: #4e3d2e; }
.student-economy-token-page .economy-ranking-card span,
.student-economy-token-page .economy-link-grid span { color: #6f5b47; }
.student-economy-token-page .student-login-submit,
.student-economy-token-page .secondary-button { min-height: 44px; }

@media (max-width: 760px) {
  .student-economy-stage.economy-student-shell { padding: 10px 10px 32px; }
}
