#home-view {
  display: none;
}

#home-view.is-active {
  display: block;
}

body.route-index #banner {
  display: flex;
}

body.route-mission #banner,
body.route-jobs #banner,
body.route-dashboard #banner,
body.route-profile #banner,
body.route-login #banner {
  display: none;
}

#spa-view-root:empty {
  display: none;
}

#menu .links a.is-active,
#header .logo a.is-active,
.spa-route-actions a.is-active {
  color: #3498db !important;
}

.spa-route-actions {
  padding-bottom: 2rem;
}
/* ---- route-session-expired shares the subpage banner suppression ---- */
body.route-session-expired #banner {
  display: none;
}

/* ---- Dashboard data-state styling (added with the backend contract update) ---- */
.dashboard-scope-notice {
  margin: 1.5rem auto;
  max-width: 48rem;
  padding: 0.75rem 1rem;
  border-left: 4px solid #e8a33d;
  background: rgba(232, 163, 61, 0.12);
  color: #4a3a1a;
  font-size: 0.9em;
  text-align: left;
}

td.table-error {
  color: #8a2b2b;
  background: rgba(138, 43, 43, 0.08);
}

.disabled-action {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ---- Profile form (user v1) ---- */
.profile-form {
  max-width: 36rem;
  margin: 0 auto 2rem auto;
  text-align: left;
}

.profile-field {
  margin-bottom: 1.25rem;
}

.profile-field label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.profile-field input[disabled] {
  opacity: 0.7;
  cursor: not-allowed;
}

.profile-hint {
  display: block;
  font-size: 0.85em;
  color: #555555;
  margin-top: 0.25rem;
}

.profile-error {
  display: block;
  font-size: 0.85em;
  color: #8a2b2b;
  margin-top: 0.25rem;
}

.profile-status {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  border-left: 4px solid #3498db;
  background: rgba(52, 152, 219, 0.1);
  color: #1d3c52;
}

.profile-status.is-error {
  border-left-color: #8a2b2b;
  background: rgba(138, 43, 43, 0.08);
  color: #5a1c1c;
}

.profile-status:empty {
  display: none;
}

.profile-incomplete-notice {
  margin: 1.5rem auto;
  max-width: 48rem;
  padding: 0.75rem 1rem;
  border-left: 4px solid #3498db;
  background: rgba(52, 152, 219, 0.1);
  color: #1d3c52;
  text-align: left;
}
