*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:#111729;
  color:#eaf0ff;
}

.frame{
  position:relative;
  min-height:100vh;
  max-width:760px;
  margin:0 auto;
  padding:48px 32px 56px;
  background:#213257;
  box-shadow:inset 0 0 0 2px rgba(10, 2, 47, 0.35);
  border-radius:0
}

.back{
  position:absolute;
  top:28px;
  left:28px;
  color:#eaf0ff;
  text-decoration:none
}
.back:hover{opacity:.9}

.logo{display:flex;justify-content:center;margin:8px 0 8px}
.logo img{height:70px;width:auto}

.title{
  margin:12px 0 16px;
  text-align:left;
  font-size:28px;
  font-weight:700
}

.form{max-width:520px;margin:0 auto}
.label{display:block;margin:16px 0 8px;font-weight:500;color:#cfd8ff}
.name-en{display:block;margin:16px 0 8px;font-weight:500;color:#cfd8ff}

.field{position:relative;margin-bottom:8px}
.field input{
  width:100%;
  height:44px;
  border-radius:8px;
  border:none;
  outline:none;
  padding:0 44px 0 14px;
  background:#f6f7fb;
  color:#0f1b3d;
  font-size:14px;
  box-shadow:0 2px 0 rgba(0,0,0,.02) inset
}
.field input::placeholder{color:#a0a8c0}

/* File input styling */
.field input[type=file]{
  padding:0 14px;
  height:44px;
  line-height:44px;
  background:#f6f7fb;
  color:#0f1b3d;
  font-size:14px;
  cursor:pointer
}
.field input[type=file]::file-selector-button{
  margin-right:10px;
  height:36px;
  padding:0 12px;
  border:none;
  border-radius:8px;
  background:#e3e8ff;
  color:#0f1b3d;
  font-weight:600;
  cursor:pointer
}
/* Safari */
.field input[type=file]::-webkit-file-upload-button{
  margin-right:10px;
  height:36px;
  padding:0 12px;
  border:none;
  border-radius:8px;
  background:#e3e8ff;
  color:#0f1b3d;
  font-weight:600;
  cursor:pointer
}
.field input[type=file]::file-selector-button:hover,
.field input[type=file]::-webkit-file-upload-button:hover{background:#d7defe}

.toggle{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:none;
  background:transparent;
  color:#9aa8c7;
  cursor:pointer;
  border-radius:0
}
.toggle:hover{background:rgba(0,0,0,.05)}

.btn-submit{
  width:100%;
  height:44px;
  margin-top:22px;
  border:none;
  border-radius:8px;
  background:#3a66ff;
  color:#fff;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(58,102,255,.35);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
  display:block;
  text-align:center;
  line-height:44px;
  text-decoration:none;
  font-size:14px;
}
.btn-submit:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(58,102,255,.4)}
.btn-submit:active{transform:translateY(0);filter:brightness(.95)}

.hint{margin:18px 0 0;text-align:center;color:#cfd8ff}
.hint a{color:#fff;text-decoration:none;font-weight:600}
.hint a:hover{text-decoration:underline}

/* Validation styling */
.validation-summary{
  background:rgba(220,53,69,.1);
  border:1px solid rgba(220,53,69,.3);
  border-radius:8px;
  padding:12px;
  margin-bottom:16px;
  color:#dc3545;
}

.field-error{
  display:block;
  color:#dc3545;
  font-size:12px;
  margin-top:4px;
}

@media (max-width:600px){
  .frame{padding:36px 20px 44px;border-radius:0}
  .title{text-align:center}
}