.application-page {
  padding: calc(var(--topbar-height) + 2rem) 0 3rem;
  background: radial-gradient(ellipse at 75% 0, rgba(255, 204, 0, .065), transparent 34rem), var(--bg-dark);
  min-height: 80vh;
}
.application-container { max-width: 760px; }
.application-back { display: inline-flex; align-items: center; gap: .5rem; font-size: .9rem; color: var(--text-muted); margin-bottom: 1.7rem; }
.application-back:hover { color: var(--yellow-yandex); }
.application-heading { margin-bottom: 1.8rem; }
.application-eyebrow { color: var(--yellow-yandex); text-transform: uppercase; letter-spacing: .11em; font-weight: 600; font-size: .8rem; margin-bottom: .65rem; }
.application-heading h1 { font-size: clamp(1.8rem, 5.2vw, 2.7rem); letter-spacing: -.04em; font-weight: 600; margin: 0 0 .7rem; line-height: 1.15; }
.application-heading > p:last-child { color: #c9cbd0; line-height: 1.6; max-width: 34rem; margin: 0; }
.application-card { padding: 2rem; background: #1a1c1e; border: 1px solid rgba(255,204,0,.18); border-radius: 22px; box-shadow: 0 22px 50px rgba(0,0,0,.15); }
.application-steps { display: flex; align-items: center; gap: .7rem; list-style: none; padding: 0 0 1.5rem; margin: 0 0 1.5rem; border-bottom: 1px solid var(--border-light); }
.application-steps li { display: flex; align-items: center; gap: .45rem; flex: 1; color: #a2a6ad; font-size: .84rem; white-space: nowrap; }
.application-steps li:last-child { flex: 0 0 auto; }
.application-steps li > span { flex: 0 0 auto; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; border: 1px solid #5b5e65; font-size: .8rem; }
.application-steps li[aria-current="step"] { color: var(--yellow-yandex); }
.application-steps li[aria-current="step"] > span { color: #080808; background: var(--yellow-yandex); border-color: var(--yellow-yandex); }
.application-steps li[data-done="true"] { color: #d7d9dd; }
.application-steps li[data-done="true"] > span { border-color: var(--yellow-yandex); color: var(--yellow-yandex); }
.application-card h2 { font-size: 1.35rem; font-weight: 600; letter-spacing: -.025em; margin: 0 0 .5rem; }
.application-intro { color: #c9cbd0; line-height: 1.6; margin: 0 0 1.4rem; font-size: .97rem; }
.application-card fieldset { border: 0; margin: 0 0 .8rem; padding: 0; min-width: 0; }
.application-card legend { width: 100%; font-size: .98rem; font-weight: 600; padding: 0 0 .8rem; margin-bottom: .25rem; }
.application-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.application-full-width { grid-column: 1 / -1; }
.application-card .form-group { min-width: 0; margin-bottom: 1rem; }
.application-card .form-group label { color: #d4d6db; font-size: .88rem; }
.application-card .form-control { min-width: 0; min-height: 50px; font-size: 1rem; padding: .85rem 1rem; }
.application-card .form-control[aria-invalid="true"] { border-color: #f48d8d; }
.application-card input[type="date"] { color-scheme: dark; }
.application-card select.form-control { background-image: none; appearance: auto; }
.application-field-help { color: #aeb2b9; line-height: 1.5; font-size: .8rem; margin: .4rem 0 0; }
.application-card .button { width: 100%; min-height: 50px; font-family: inherit; font-size: .98rem; display: flex; align-items: center; justify-content: center; gap: .65rem; }
.application-card button:disabled { opacity: .55; cursor: default; transform: none; box-shadow: none; }
.application-card .button:focus-visible, .application-card input:not(.form-control):focus-visible, .application-card a:focus-visible, .application-text-button:focus-visible, .application-back:focus-visible { outline: 2px solid var(--yellow-yandex); outline-offset: 4px; }
.application-card h2:focus { outline: none; }
.application-secondary-actions { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: .8rem; margin-top: .7rem; }
.application-text-button { background: none; border: none; color: #d4d6db; text-decoration: underline; text-underline-offset: .2em; font: inherit; font-size: .85rem; padding: .9rem .2rem; cursor: pointer; }
.application-otp { font-size: 1.5rem !important; letter-spacing: .25em; }
.application-message { margin: 0 0 1rem; padding: .85rem 1rem; background: rgba(255,204,0,.055); border: 1px solid rgba(255,204,0,.2); border-radius: 8px; color: #e0d6b0; font-size: .88rem; line-height: 1.5; overflow-wrap: anywhere; }
.application-message[data-error="true"] { color: #ffbdbd; border-color: rgba(255,130,130,.25); background: rgba(255,130,130,.055); }
.application-message:empty { display: none; }
.application-verified-phone { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .8rem 1rem; margin: 0 0 1.5rem; border-radius: 8px; border: 1px solid rgba(255,204,0,.15); background: rgba(255,204,0,.035); color: #e5e6e8; font-size: .9rem; }
.application-verified-phone > span:last-child { color: #c9c599; font-size: .8rem; }
.application-check { color: var(--yellow-yandex); margin-right: .35rem; }
.application-consents { border-top: 1px solid var(--border-light); padding-top: 1rem; margin-bottom: 1.4rem; }
.application-checkbox { display: flex; align-items: flex-start; gap: .7rem; color: #c9cbd0; line-height: 1.6; font-size: .85rem; margin: 0 0 1rem; cursor: pointer; }
.application-checkbox input { flex: 0 0 auto; margin: .2rem 0 0; width: 1.12rem; height: 1.12rem; accent-color: var(--yellow-yandex); }
.application-checkbox a { color: var(--yellow-yandex); text-decoration: underline; text-underline-offset: .18em; }
.application-result-icon { display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border: 1px solid rgba(255,204,0,.35); background: rgba(255,204,0,.06); color: var(--yellow-yandex); border-radius: 50%; font-size: 1.5rem; margin-bottom: 1.1rem; }
.application-result-icon[data-pending="true"] { font-size: 1.7rem; }
#pending-actions .button { margin-top: 1rem; }
#success-actions > p { color: #c9cbd0; font-size: .95rem; line-height: 1.6; margin: 0 0 1rem; }
#application-referral-note { padding-top: .9rem; border-top: 1px solid var(--border-light); }
.application-card .kaptan-store-buttons { justify-content: flex-start; flex-wrap: wrap; gap: .6rem; margin: 1.1rem 0 0; }
.application-card .kaptan-store-buttons a { min-width: 0; }
.application-card .kaptan-store-buttons img { max-width: 100%; }
.application-page [hidden] { display: none !important; }
.application-skip { position: fixed; top: -100px; left: 1rem; z-index: 1000; background: var(--yellow-yandex); color: #000; padding: .7rem 1rem; border-radius: 6px; }
.application-skip:focus { top: 1rem; }
.application-card noscript { display: block; color: #ffbdbd; font-size: .9rem; margin-top: 1rem; }
@media(max-width: 560px) {
  .application-page { padding-top: calc(var(--topbar-height) + 1.1rem); padding-bottom: 1.5rem; }
  .application-back { margin-bottom: 1.25rem; font-size: .83rem; }
  .application-heading { margin-bottom: 1.3rem; }
  .application-heading > p:last-child { font-size: .93rem; }
  .application-card { border-radius: 18px; padding: 1.2rem; }
  .application-steps { gap: .4rem; padding-bottom: 1.15rem; margin-bottom: 1.2rem; }
  .application-steps li { font-size: .76rem; gap: .35rem; }
  .application-steps li > span { width: 1.5rem; height: 1.5rem; font-size: .75rem; }
  .application-card h2 { font-size: 1.2rem; }
  .application-field-grid { grid-template-columns: 1fr; }
  .application-secondary-actions { grid-template-columns: 1fr; gap: 0; }
  .application-card .kaptan-store-buttons { justify-content: center; }
}
@media(max-width: 350px) {
  .application-card { padding: 1rem; }
  .application-steps li { font-size: .7rem; gap: .25rem; }
  .application-steps li > span { width: 1.35rem; height: 1.35rem; font-size: .7rem; }
  .application-verified-phone { padding: .7rem; font-size: .83rem; gap: .4rem; }
}
@media(prefers-reduced-motion: reduce) {
  .application-page *, .application-page *::before, .application-page *::after { transition: none; scroll-behavior: auto; }
}
