/* Shared website identity; presentation only, no authentication-state overrides. */
:root { --bg: #08080a; --bg-alt: #111113; --card: #17171b; --text: #f5f3ef; --muted: #b5b0b4; --accent: #ff5b1e; --accent-2: #ffb020; --border: #303034; }
body { font-family: 'Helvetica Neue', Arial, sans-serif; }
.member-eyebrow { color: #ffb020; font-size: 10px; font-weight: 800; letter-spacing: .14em; line-height: 1.6; margin: 0 0 18px; }
.preview-hero h2 { text-transform: uppercase; font-weight: 850; letter-spacing: -.035em; }
.preview-hero h2 span, .preview-eyebrow, .preview-comparison dt { color: #ffb020; }
.preview-panel { background: #141416; border-color: #383337; border-radius: 18px; }
.preview-panel a, #freePreview > a, .preview-link { color: #ffd08d; }
.preview-link { border-color: #73502d; border-radius: 999px; margin: 6px 6px 6px 0; font-size: 13px; }
.preview-link:hover { background: #302216; }
.preview-panel select { background: #0b0b0e; border-color: #575057; font-size: 16px; min-height: 50px; }
.preview-summary { background: #292016; border: 1px solid #72522f; }
.preview-grid details { background: #1b1b1e; border-color: #3f383d; }
.preview-journey span, .preview-comparison dd { color: #c7c0bc; }
.preview-upgrade { border-color: #896039; background: linear-gradient(140deg, #292017, #151416 60%); }
.preview-open #betaForm { border-color: #6b472d; }
.account-card.preview-open #title { font-size: 26px; }
.account-card.preview-open .preview-hero { max-width: 850px; }
.callback-brand { display: inline-flex; margin-bottom: 22px; }
.callback-brand img { width: 80px; height: 80px; object-fit: contain; }
.callback-card { border-top: 2px solid #ff7b25; background: #141416; }
.dashboard-page { background: radial-gradient(ellipse at 90% 0, #29170f 0, transparent 40%), #08080a; }
.dashboard-page > header { position: sticky; top: 0; background: #08080af5; }
.dashboard-page > header nav { min-height: 88px; }
.dashboard-page > header .brand img { height: 64px; }
.dashboard-page .dashboard-hero { padding: 44px 0 32px; }
.dashboard-page .dashboard-hero h1 { font-size: clamp(36px, 4.5vw, 62px); font-weight: 850; letter-spacing: -.035em; line-height: 1.04; }
.dashboard-page .dashboard-hero h1 .accent { color: #ff5b1e; }
.dashboard-page .dashboard-hero::after { opacity: .35; }
.dashboard-page .dashboard-lead { color: #bdb6b2; line-height: 1.65; }
.dashboard-page .dashboard-session-actions { gap: 12px; }
.dashboard-page .dashboard-text-link { min-height: 44px; padding: 10px 0; color: #ffcc90; }
.dashboard-page .dashboard-session-badge { letter-spacing: .06em; }
.dashboard-page .dashboard-shell { padding-top: 32px; }
.dashboard-page .journey-hub { max-width: none; margin: 0 0 32px; }
.dashboard-page .journey-tile-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.dashboard-page .journey-tile-grid button { position: relative; padding: 24px 20px; min-height: 145px; font-size: clamp(20px, 2.2vw, 26px); border-radius: 16px; color: #f5f3ef; background: linear-gradient(135deg, #272019, #17171b 75%); border: 1px solid #52402e; box-shadow: none; transition: border-color .2s, background .2s; }
.dashboard-page .journey-tile-grid button:hover { background: #302217; border-color: #ffb020; }
.dashboard-page .journey-tile-grid button span { color: #ffb020; font-size: 10px; margin-bottom: 22px; }
.dashboard-page .journey-countdown { border-color: #534334; background: #1c1917; padding: 18px 22px; text-align: left; }
.dashboard-page .journey-countdown strong { font-size: 18px; color: #f5f3ef; }
.dashboard-page .journey-countdown span { color: #ffcb85; }
.dashboard-page .journey-secondary-actions button, .dashboard-page .journey-secondary-actions a { background: #111113; border-color: #40383c; border-radius: 999px; font-size: 12px; }
.dashboard-page .dashboard-card { background: #17171b; border: 1px solid #373034; border-radius: 18px; box-shadow: none; }
.dashboard-page .dashboard-card::after { display: none; }
.dashboard-page .daily-plan-card { border-color: #5a402a; background: linear-gradient(135deg, #322215, #181619 75%); border-radius: 18px; }
.dashboard-page .daily-plan-card-training { border-color: #484044; background: linear-gradient(135deg, #292326, #17171b 75%); }
.dashboard-page .daily-plan-card-training .daily-plan-number, .dashboard-page .daily-plan-number { color: #ffbf72; }
.dashboard-page .dashboard-kicker { color: #ffc07a; }
.dashboard-page .dashboard-feedback-card { background: linear-gradient(140deg, #2b2118, #17171b 65%); }
.dashboard-page .btn { min-height: 46px; white-space: normal; }
.dashboard-page .btn-primary { background: linear-gradient(135deg, #ff5b1e, #ffb020); color: #0b0b0e; }
.dashboard-page .dashboard-form-field input, .dashboard-page .dashboard-form-field select, .dashboard-page .dashboard-form-field textarea { font-size: 16px; background: #0c0c0f; border-color: #5c5057; }
.dashboard-page .dashboard-pill { white-space: normal; }
.dashboard-page :focus-visible { outline: 3px solid #ffb020; outline-offset: 4px; }
@media(max-width: 980px) { .dashboard-page .journey-tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 620px) {
  .dashboard-page > header nav { min-height: 76px; padding: 10px 16px; }
  .dashboard-page > header .brand img { height: 54px; }
  .dashboard-page .container { padding-left: 18px; padding-right: 18px; }
  .dashboard-page .dashboard-hero { padding: 28px 0 24px; }
  .dashboard-page .dashboard-hero-inner { gap: 18px; }
  .dashboard-page .eyebrow { font-size: 10px; }
  .dashboard-page .dashboard-shell { padding-top: 24px; }
  .dashboard-page .journey-tile-grid { gap: 10px; }
  .dashboard-page .journey-tile-grid button { padding: 18px 14px; min-height: 122px; font-size: 21px; }
  .dashboard-page .journey-tile-grid button span { margin-bottom: 18px; }
  .dashboard-page .dashboard-session-actions { justify-content: flex-start; }
  .dashboard-page .daily-plan-card { padding: 24px; }
}
@media(prefers-reduced-motion: reduce) { .dashboard-page *, .dashboard-page *::before, .dashboard-page *::after { transition: none !important; animation: none !important; } }

.policy-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem 1rem; padding: 1rem; margin-top: 1.5rem; grid-column: 1 / -1; font-size: .9rem; }
.policy-links a { display: inline-flex; align-items: center; min-height: 44px; color: #ff863d; text-decoration: underline; text-underline-offset: .2em; }
.policy-links a:focus-visible { outline: 3px solid #ff863d; outline-offset: 3px; }
