.iarriv-auth[hidden] { display: none !important; }
.iarriv-auth { position: fixed; inset: 0; z-index: 2147483647; display: grid; place-items: center; min-height: 100dvh; padding: 24px; box-sizing: border-box; background: radial-gradient(circle at 50% 20%, #1c1b1d 0, #080809 48%, #030304 100%); color: #f7f5f2; font-family: inherit; }
.iarriv-auth__card { width: min(100%,520px); max-height: calc(100dvh - 48px); overflow: auto; box-sizing: border-box; padding: 36px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: #19191d; box-shadow: 0 28px 90px rgba(0,0,0,.6); }
.iarriv-auth__mark { width: 150px; max-height: 48px; object-fit: contain; object-position: left; margin-bottom: 30px; }
.iarriv-auth__eyebrow { color: #ff6335; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.iarriv-auth h2 { margin: 10px 0 8px; font-size: clamp(28px,5vw,38px); font-weight: 600; }
.iarriv-auth p { color: #aaa8ae; line-height: 1.55; }
.iarriv-auth__digits { display: grid; grid-template-columns: repeat(6,1fr); gap: 9px; margin: 26px 0 10px; }
.iarriv-auth__digits input { min-width: 0; width: 100%; aspect-ratio: .82; box-sizing: border-box; padding: 0; border: 1px solid #3b3b40; border-radius: 12px; background: #0d0d0f; color: white; font: 600 25px/1 inherit; text-align: center; outline: none; }
.iarriv-auth__digits input:focus { border-color: #fa5a2a; box-shadow: 0 0 0 3px rgba(250,90,42,.16); }
.iarriv-auth__button { width: 100%; margin-top: 18px; border: 0; border-radius: 12px; padding: 16px; background: #fa5a2a; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.iarriv-auth__button:disabled { opacity: .58; cursor: wait; }
.iarriv-auth__link { width: 100%; margin-top: 14px; border: 0; background: transparent; color: #ddd9d5; font: inherit; text-decoration: underline; cursor: pointer; }
.iarriv-auth__error { min-height: 22px; color: #ff8c72 !important; }
.iarriv-auth__qr { display: block; width: min(240px,80%); margin: 22px auto; border-radius: 16px; }
.iarriv-auth__secret { display: block; margin-top: 10px; padding: 12px; border-radius: 10px; background: #0d0d0f; overflow-wrap: anywhere; color: #fff; }
.iarriv-auth__spinner { display: block; width: 42px; height: 42px; margin: 8px auto 28px; border: 4px solid rgba(255,255,255,.15); border-top-color: #fa5a2a; border-radius: 50%; animation: iarriv-spin .8s linear infinite; }
@keyframes iarriv-spin { to { transform: rotate(360deg); } }
@media (max-width:560px) { .iarriv-auth { padding: 12px; } .iarriv-auth__card { padding: 26px 20px; } .iarriv-auth__digits { gap: 6px; } }
