.app-submit-status[hidden] { display: none !important; }
.app-submit-status { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 24px; background: rgba(13, 71, 161, .45); backdrop-filter: blur(3px); }
.app-submit-status__card { display: flex; align-items: center; gap: 12px; width: min(100%, 320px); min-height: 64px; padding: 14px 18px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 14px; background: #fff; color: #26405e; box-shadow: 0 20px 55px rgba(0, 0, 0, .28); font-size: 15px; font-weight: 700; line-height: 1.3; }
.app-submit-status__spinner { flex: 0 0 auto; width: 22px; height: 22px; border: 3px solid #dbe7f7; border-top-color: #0d47a1; border-radius: 50%; animation: app-submit-spin .75s linear infinite; }
.app-submit-status.is-error { inset: auto 12px calc(12px + env(safe-area-inset-bottom)); place-items: end center; padding: 0; background: transparent; backdrop-filter: none; pointer-events: none; }
.app-submit-status.is-error .app-submit-status__spinner { display: none; }
@keyframes app-submit-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .app-submit-status__spinner { animation-duration: 1.5s; } }
@media (max-width: 768px), (max-width: 900px) and (max-height: 500px) {
  #hero { padding: calc(10px + env(safe-area-inset-top)) 0 22px !important; }
  #hero .bg-animation, div.headline .subhead-wrapper { display: none !important; }
  #hero > .container { width: calc(100% - 20px); padding: 0 !important; }
  div.headline { margin: 0 0 10px !important; padding-top: 0 !important; }
  div.headline h1 { margin: 0 !important; font-size: clamp(1.45rem, 6vw, 1.8rem) !important; line-height: 1.15 !important; text-shadow: none !important; }
  #hero .nav-tabs { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px !important; margin-bottom: 10px !important; }
  #hero .nav-tabs .nav-item { min-width: 0; }
  #hero .nav-tabs .nav-link { display: grid; min-height: 44px; place-items: center; padding: 7px 2px !important; font-size: 12px !important; line-height: 1.1 !important; }
  #hero .tab-content .form-group { margin-bottom: 10px !important; }
  #hero .tab-content .form-control { min-height: 50px; padding: 10px 13px; border-radius: 8px; font-size: 16px !important; }
  #hero .tab-content .btn[type="submit"] { min-height: 52px; border-radius: 8px; font-size: 16px !important; }
}
