.auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3.2rem;padding:4.8rem 1.6rem;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:1.4rem;line-height:var(--lh-base);-webkit-font-smoothing:antialiased}.auth-page *,.auth-page *:before,.auth-page *:after{box-sizing:border-box}.auth-page{position:relative}.auth-home{position:absolute;top:2.4rem;inset-inline-start:2.4rem;display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.2rem;border-radius:var(--r-8);font-size:1.4rem;font-weight:500;color:var(--slate);text-decoration:none;transition:color .15s ease,background-color .15s ease}.auth-home i{font-size:1.8rem;line-height:1}.auth-home:hover,.auth-home:focus-visible{background:var(--paper);color:var(--blue)}.auth-home:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width: 767px){.auth-home{top:1.2rem;inset-inline-start:.8rem}}.auth-logo{display:block;line-height:0}.auth-logo img{height:4.4rem;width:auto}.auth-card{width:100%;max-width:46rem;padding:4rem;background:var(--paper);border:.1rem solid var(--hairline);border-radius:var(--r-16);box-shadow:var(--sh-elevated)}.auth-title{margin:0;font-size:2.8rem;font-weight:700;line-height:1.2;text-align:center;color:var(--ink)}.auth-subtitle{margin:1rem 0 2.8rem;font-size:1.5rem;text-align:center;color:var(--slate)}.auth-field{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem}.auth-label{font-size:1.3rem;font-weight:500;color:var(--slate)}.auth-label--required:after{content:" *";color:var(--danger)}.auth-input{width:100%;height:4.8rem;padding:0 1.4rem;font-family:var(--font);font-size:1.6rem;color:var(--ink);background:var(--paper);border:.1rem solid var(--hairline);border-radius:var(--r-8);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-input[dir=ltr]{text-align:right}.auth-input::placeholder{color:var(--mist)}.auth-input:focus{border-color:var(--blue);box-shadow:var(--focus-ring)}.auth-input.is-invalid{border-color:var(--err-fg)}.auth-input.is-invalid:focus{box-shadow:0 0 0 .3rem #b4233a26}.auth-field__error{font-size:1.3rem;color:var(--err-fg)}.auth-field__hint{font-size:1.2rem;color:var(--slate)}.auth-card--wide{max-width:56rem}.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.6rem}@media (max-width: 560px){.auth-grid{grid-template-columns:1fr}}.auth-page .phone-dual-input{display:flex;gap:.8rem;direction:ltr}.auth-page .phone-dual-input .input{height:4.8rem;margin:0;padding:0 1.4rem;font-family:var(--font);font-size:1.6rem;color:var(--ink);background:var(--paper);border:.1rem solid var(--hairline);border-radius:var(--r-8);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-page .phone-dual-input .phone-code{flex:0 0 8.8rem;width:8.8rem;text-align:center}.auth-page .phone-dual-input .phone-number{flex:1 1 auto;min-width:0;text-align:left}.auth-page .phone-dual-input .input::placeholder{color:var(--mist)}.auth-page .phone-dual-input .input:focus{border-color:var(--blue);box-shadow:var(--focus-ring)}.auth-page .phone-dual-input .input.is-invalid{border-color:var(--err-fg)}.auth-check{display:flex;align-items:flex-start;gap:1rem;margin:.4rem 0 .6rem;font-size:1.4rem;line-height:1.45;color:var(--slate);cursor:pointer}.auth-check input{flex-shrink:0;width:1.8rem;height:1.8rem;margin:.1rem 0 0;accent-color:var(--blue);cursor:pointer}.auth-check a{color:var(--blue);text-decoration:none}.auth-check a:hover{color:var(--blue-deep);text-decoration:underline}.auth-check__error{display:block;margin-bottom:.8rem}.auth-card--wide .auth-submit{margin-top:1.6rem}.auth-password{position:relative}.auth-password .auth-input{padding-left:4.4rem}.auth-password .toggle-password{position:absolute;top:50%;left:1rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;padding:0;font-size:1.8rem;color:var(--slate);background:none;border:0;border-radius:var(--r-6);cursor:pointer}.auth-password .toggle-password:hover{color:var(--ink);background:var(--pebble)}.auth-password .toggle-password:focus-visible{outline:none;box-shadow:var(--focus-ring)}.auth-submit{display:flex;align-items:center;justify-content:center;gap:.8rem;width:100%;height:4.8rem;margin-top:.4rem;padding:0 1.8rem;font-family:var(--font);font-size:1.6rem;font-weight:600;color:#fff;background:var(--blue);border:0;border-radius:var(--r-8);box-shadow:var(--sh-cta);cursor:pointer;transition:background-color .15s ease}.auth-submit:hover{background:var(--blue-hover)}.auth-submit:active{transform:scale(.99)}.auth-submit:focus-visible{outline:none;box-shadow:var(--sh-cta),var(--focus-ring)}.auth-submit:disabled{opacity:.7;cursor:default}.auth-alert,#login-message,#reset-message,#signup-message{margin-bottom:2rem;padding:1rem 1.4rem;font-size:1.4rem;font-weight:500;line-height:1.45;border-radius:var(--r-8);background:var(--blue-tint);color:var(--blue-deep)}.auth-alert ul{margin:0;padding:0;list-style:none}.auth-alert--error,#login-message.alert-danger,#reset-message.alert-danger,#signup-message.alert-danger{background:var(--err-bg);color:var(--err-fg)}#login-message.alert-success,#reset-message.alert-success,#signup-message.alert-success{background:var(--ok-bg);color:var(--ok-fg)}.auth-links{display:flex;flex-direction:column;align-items:center;gap:1rem;font-size:1.5rem;color:var(--slate);text-align:center}.auth-links p{margin:0;font-size:1.5rem;color:var(--slate)}.auth-links a{color:var(--blue);font-weight:400;text-decoration:none}.auth-links a:hover{color:var(--blue-deep)}.auth-links a:focus-visible{outline:none;border-radius:var(--r-4);box-shadow:var(--focus-ring)}@media (max-width: 520px){.auth-card{padding:2.8rem 2rem}.auth-title{font-size:2.4rem}}.twofa-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.6rem;font-family:var(--font);color:var(--ink)}.twofa-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim)}.twofa-modal-content{position:relative;width:100%;max-width:42rem;padding:3.6rem 3.2rem;text-align:center;background:var(--paper);border:.1rem solid var(--hairline);border-radius:var(--r-16);box-shadow:var(--sh-elevated)}.twofa-modal-content h2{margin:0 0 .8rem;font-size:2.2rem;font-weight:700;line-height:1.2}.twofa-modal-content p{margin:0 0 1.6rem;font-size:1.5rem;color:var(--slate)}.twofa-countdown{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:2rem;padding:1rem 1.4rem;font-size:1.4rem;font-weight:500;color:var(--blue-deep);background:var(--blue-tint);border-radius:var(--r-8)}.twofa-countdown #countdown-timer{font-family:var(--font-mono);font-size:1.6rem;font-weight:500;direction:ltr}.twofa-countdown.warning{color:var(--warn-fg);background:var(--warn-bg)}.twofa-countdown.expired{color:var(--err-fg);background:var(--err-bg)}.twofa-code-inputs{display:flex;justify-content:center;gap:.8rem;margin-bottom:2rem;direction:ltr}.twofa-input{width:4.8rem;height:5.6rem;font-family:var(--font-mono);font-size:2.4rem;font-weight:500;text-align:center;color:var(--ink);background:var(--paper);border:.1rem solid var(--hairline);border-radius:var(--r-8);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.twofa-input:focus{border-color:var(--blue);box-shadow:var(--focus-ring)}#twofa-message{margin-bottom:1.6rem;padding:1rem 1.4rem;font-size:1.4rem;border-radius:var(--r-8)}#twofa-message.alert-success{background:var(--ok-bg);color:var(--ok-fg)}#twofa-message.alert-danger{background:var(--err-bg);color:var(--err-fg)}.resend-link{margin-top:1.6rem;padding:.4rem .8rem;font-family:var(--font);font-size:1.4rem;font-weight:600;color:var(--blue);background:none;border:0;border-radius:var(--r-6);cursor:pointer}.resend-link:hover{color:var(--blue-deep)}@media (max-width: 420px){.twofa-input{width:4rem;height:5rem;font-size:2rem}}
