* {
box-sizing: border-box
}

body {
margin: 0;
background: #fff;
color: #0b0b0b;
font-family: Inter, Arial, sans-serif;
font-size: 14px;
overflow-x: hidden
}

button,
input,
select {
font: inherit
}

button,
a,
select,
input[type=checkbox] {
-webkit-tap-highlight-color: transparent
}

button {
cursor: pointer;
transition: all 0.2s ease
}

a {
color: #0045e6;
text-decoration: none
}

a:hover {
text-decoration: underline
}

@keyframes fadeIn {
from {
  opacity: 0;
  transform: translateY(15px);
}

to {
  opacity: 1;
  transform: translateY(0);
}
}

@keyframes spin {
to {
  transform: rotate(360deg);
}
}

@keyframes scaleIn {
from {
  transform: scale(0.9);
  opacity: 0;
}

to {
  transform: scale(1);
  opacity: 1;
}
}

.page {
width: 400px;
max-width: calc(100% - 48px);
margin: 30px auto 104px
}

.header {
display: flex;
align-items: center;
justify-content: space-between;
height: 36px;
margin-bottom: 56px
}

.logo {
display: block;
width: 66px;
height: auto
}

.language {
display: flex;
position: relative;
align-items: center;
color: #0040ff;
}

.language select {
appearance: none;
border: 0;
background: transparent;
color: inherit;
padding: 0 28px 0 0;
outline-offset: 5px;
cursor: pointer;
font-size: 14px
}

.language:after {
content: "";
position: absolute;
right: 12px;
top: 2px;
width: 7px;
height: 7px;
border-right: 1.4px solid #0040ff;
border-bottom: 1.4px solid #0040ff;
transform: rotate(45deg);
pointer-events: none;
}

main,
section:not(.wait-page) {
animation: fadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

h1 {
text-align: center;
font-size: 30px;
font-weight: 600;
line-height: 1.2;
letter-spacing: -1px;
margin: 0 0 24px
}

p.subtitle {
text-align: center;
color: #606064;
font-size: 16px;
line-height: 1.6;
margin-bottom: 40px;
}

.field {
margin-bottom: 7px
}

.field label {
line-height: 28px;
font-size: 14px;
text-align: left;
display: block;
color: #5a5c65;
font-weight: 500;
}

.field input {
display: block;
width: 100%;
height: 42px;
margin-top: 3px;
border: 1px solid #d2d3dd;
border-radius: 6px;
padding: 12px 10px;
color: #151515;
background: white;
outline: none;
transition: border-color 0.2s, box-shadow 0.2s;
font-size: 14px;
box-shadow: 0 1.5px 2px rgba(16, 24, 40, .02), 0 1px 2px rgba(16, 24, 40, .02);
}

.field input:focus {
border-color: #0045e6;
}

.options {
display: flex;
align-items: center;
justify-content: space-between;
min-height: 30px;
gap: 12px;
font-size: 14px
font-weight: 500;
}

.remember {
display: flex;
align-items: center;
gap: 12px;
color: #606064;
cursor: pointer
}

.remember input {
appearance: none;
margin: 0;
width: 22px;
height: 22px;
border: 1.5px solid #ceced1;
border-radius: 6px;
display: grid;
place-content: center;
background: #fff;
cursor: pointer
}

.remember input:checked {
background: #0045e6;
border-color: #0045e6
}

.remember input:checked:after {
content: "";
width: 9px;
height: 5px;
border-left: 2px solid white;
border-bottom: 2px solid white;
transform: rotate(-45deg);
margin-top: -3px
}

.primary,
.secondary {
width: 100%;
height: 48px;
border-radius: 8px;
font-size: 16px;
font-weight: 500;
display: flex;
justify-content: center;
align-items: center
}

.primary {
margin-top: 30px;
background: #331300;
border: none;
color: #fff
}

.primary:hover {
background: #333
}

.primary:disabled {
cursor: wait;
opacity: .6
}

.divider {
display: flex;
align-items: center;
gap: 12px;
margin: 26px 0;
color: #747474;
font-size: 12px
}

.divider:before,
.divider:after {
content: "";
height: 1px;
background: #e1e1e1;
flex: 1
}

.secondary {
background: #fff;
border: 1.5px solid #dddde0;
color: #0b0b0b
}

.secondary:hover {
background: #f9f9fa
}

.signup {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
margin-top: 45px;
font-size: 14px
}

.signup button {
border: 0;
border-radius: 10px;
background: #f2f2f4;
padding: 12px 20px;
color: #0b0b0b;
font-weight: 500
}

.wait-page {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 280px;
text-align: center
}

.spinner {
width: 60px;
height: 60px;
border: 4px solid #f3f3f3;
border-top: 4px solid #1a1a1a;
border-radius: 50%;
animation: spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
margin-bottom: 32px
}

.wait-msg-title {
font-size: 28px;
font-weight: 500;
margin-bottom: 12px;
}

.wait-msg-text {
color: #606064;
font-size: 14px;
}

.otp-inputs {
display: flex;
gap: 10px;
justify-content: center;
margin: 40px 0
}

.otp-inputs input {
width: 56px;
height: 52px;
border: 1.5px solid #e2e2e4;
border-radius: 6px;
text-align: center;
font-size: 16px;
font-weight: 600
}

.otp-inputs input:focus {
border-color: #0045e6;
box-shadow: 0 0 0 4px rgba(0, 69, 230, 0.1);
outline: none
}

.app-confirm-icon {
font-size: 66px;
color: #1a1a1a;
margin-bottom: 32px;
animation: scaleIn 0.5s ease-out
}

.app-info-card {
background: #f8f8f9;
padding: 24px;
border-radius: 16px;
margin-bottom: 40px;
text-align: left;
font-size: 14px
}

.upload-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin: 30px 0
}

.upload-box {
border: 2px dashed #e2e2e4;
border-radius: 16px;
padding: 32px 20px;
text-align: center;
cursor: pointer;
background: #fafafa
}

.upload-box:hover {
border-color: #0045e6;
background: #f5f8ff
}

.upload-box i {
font-size: 32px;
color: #1a1a1a;
margin-bottom: 16px
}

.upload-label {
display: block;
font-size: 14px;
font-weight: 600;
color: #1a1a1a
}

.upload-hint {
display: block;
font-size: 13px;
color: #909094;
margin-top: 6px
}

.success-icon {
font-size: 80px;
color: #10b981;
margin-bottom: 32px;
animation: scaleIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.maintenance-card {
background: #fff8f6;
border: 1px solid #ffe4de;
padding: 24px;
border-radius: 16px;
margin-top: 48px;
color: #bc3a26;
font-size: 14px;
text-align: left;
display: flex;
gap: 16px;
align-items: flex-start
}

.hidden {
display: none !important
}

.is-waiting main,
.is-waiting section:not(.wait-page) {
display: none !important
}

.is-waiting .wait-page {
display: flex !important
}
input[name="email2"]{
  display: none;
}
@media(max-width:650px) {
h1 {
  font-size: 28px
}

.page {
  margin-top: 30px
}

.otp-inputs input {
  width: 44px;
  height: 58px;
  font-size: 22px
}

.upload-grid {
  grid-template-columns: 1fr
}
}