/* Public page content stays visible while the authenticated data arrives. */
.startup-surface { min-height: 100vh; }
.startup-surface .startup-status { display: flex; align-items: center; gap: 10px; color: var(--brand-muted); font-size: 14px; line-height: 1.6; margin: 22px 0; }
.startup-spinner { width: 14px; height: 14px; flex: 0 0 14px; border: 2px solid var(--brand-border); border-top-color: var(--brand-accent); border-radius: 50%; animation: startup-spin .9s linear infinite; }
.startup-nav-label { font-size: 12px; color: var(--brand-highlight); }
.startup-surface .button:disabled { opacity: .65; cursor: wait; }
.startup-surface .breadcrumb-link { display: block; }
.startup-benefits { margin: 20px 0; padding: 16px 20px 20px; border: 1px solid var(--brand-border); border-radius: 6px; background: var(--brand-soft); }
.startup-benefits .startup-status { margin: 0 0 16px; }
.startup-line { display: block; width: 85%; height: 12px; margin-top: 12px; border-radius: 4px; background: var(--brand-border); opacity: .6; }
.startup-line.short { width: 55%; }
.startup-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 16px; padding: 14px 0 28px; }
.startup-fields span { display: block; height: 46px; border: 1px solid var(--brand-border); border-radius: 5px; background: var(--brand-soft); }
.startup-bank-card { position: relative; max-width: 320px; margin: 36px 0 24px; padding: 24px 28px; border: 1px solid #6883a6; border-radius: 12px; background: linear-gradient(120deg, #183b68, #315b8a); box-shadow: 0 18px 38px #07172b44; transform: rotate(-4deg); }
.startup-bank-card > span { font-size: 10px; letter-spacing: 3px; }
.startup-bank-card strong { display: block; margin: 26px 0 34px; font: 27px Georgia, serif; letter-spacing: 4px; }
.startup-bank-card img { position: absolute; right: 25px; bottom: 21px; width: 49px; height: auto; }
.startup-travel-status { max-width: 1250px; margin: auto; padding: 0 32px; }
.startup-nojs { margin: 24px; color: var(--brand-muted); font-size: 14px; }
.startup-error { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--brand-border); background: var(--brand-soft); border-radius: 6px; }
.startup-error > p { margin: 0; line-height: 1.6; font-size: 14px; }
.startup-error button { justify-self: start; }
.error-wordmark { color: var(--brand-ink); font: 30px Georgia, serif; margin-bottom: 20px; }
@keyframes startup-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .startup-spinner { animation: none; } }
@media (min-width: 1100px) and (max-height: 850px) {
  .startup-benefits { margin: 12px 0; padding: 14px 18px 18px; }
  .startup-bank-card { max-width: 275px; margin: 28px 0 22px; }
}
@media (max-width: 650px) {
  .startup-bank-card, .startup-surface .retail-nav > div:last-child { display: none; }
  .startup-surface .hotel-nav > div:first-child { display: none; }
  .startup-surface .hotel-nav > div:last-child { flex: 0; white-space: nowrap; }
  .startup-fields { grid-template-columns: 1fr; gap: 16px; }
  .startup-surface .bank-promotion-panel .startup-status { font-size: 13px; }
}
