[hidden] { display: none !important; }
* { box-sizing: border-box; }
body { margin: 0; padding: 48px 20px; background: #f7f9fe; color: #102236; font: 17px/1.6 system-ui, sans-serif; }
main { max-width: 850px; margin: 20px auto; padding: 42px 58px 64px; background: white; border: 1px solid #dce3ef; border-radius: 22px; box-shadow: 0 18px 35px #20396c0b; }
h1 { margin: 20px 0 44px; font-size: 32px; letter-spacing: -.5px; }
.language { display: flex; justify-content: flex-end; gap: 10px; font-size: 14px; }
select { font: inherit; background: white; border: 1px solid #dce3ef; border-radius: 6px; }
form { display: grid; gap: 26px; }
label { display: block; color: #35455f; font-weight: 500; }
.required { color: #e64646; }
input:not([type=checkbox]), textarea { display: block; width: 100%; margin-top: 7px; padding: 16px 20px; border: 1px solid #dce3ef; border-radius: 9px; background: #f7f9fc; color: #102236; font: inherit; }
input:focus-visible, textarea:focus-visible, select:focus-visible, button:focus-visible { outline: 3px solid #94b9ff; outline-offset: 2px; }
textarea { resize: vertical; }
.columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.consent { display: flex; align-items: flex-start; gap: 14px; font-size: 16px; font-weight: 400; margin: 12px 0; }
input[type=checkbox] { width: 21px; height: 21px; flex: 0 0 auto; accent-color: #084acb; }
button { border: 0; border-radius: 9px; padding: 16px; background: #084acb; color: white; font: 600 19px/1.6 system-ui, sans-serif; cursor: pointer; box-shadow: 0 3px 7px #084acb33; }
button:disabled { opacity: .65; cursor: wait; }
#status { padding: 18px; background: #eef4ff; border-radius: 9px; overflow-wrap: anywhere; }
#status[data-error=true] { background: #fff1f1; color: #a51d1d; }
@media (max-width: 600px) { body { padding: 16px; } main { padding: 24px; margin: 0 auto; } h1 { font-size: 25px; margin-bottom: 28px; } .columns { grid-template-columns: 1fr; } }
#target { padding: 22px 24px; background: #eef3ff; border-radius: 18px; font-size: 21px; overflow-wrap: anywhere; }
#requirements { padding: 20px; background: #eef3ff; border-radius: 16px; color: #52617b; }
#password-fields { display: grid; gap: 12px; }
#show-password { justify-self: end; padding: 2px 0; background: transparent; box-shadow: none; color: #084acb; font-size: 14px; font-weight: 400; }
#resend { margin-top: 24px; }
#help { color: #52617b; margin-top: 24px; }
