.auth-page{background:var(--cream);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.auth-page:before{content:"";background:radial-gradient(ellipse at center,var(--sage-light)0%,transparent 60%);opacity:.15;pointer-events:none;width:60%;height:100%;position:absolute;top:-30%;right:-20%}.auth-container{z-index:1;width:100%;max-width:440px;position:relative}.auth-card{background:var(--white);box-shadow:var(--shadow-medium);border-radius:24px;padding:3rem}.auth-logo{justify-content:center;align-items:center;gap:.5rem;margin-bottom:2rem;text-decoration:none;display:flex}.auth-logo .logo-icon{background:var(--sage);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.auth-logo .logo-icon svg{stroke:#fff;width:22px;height:22px}.auth-logo span{color:var(--charcoal);font-family:Fraunces,serif;font-size:1.75rem;font-weight:600}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{color:var(--charcoal);margin-bottom:.5rem;font-size:1.75rem}.auth-header p{color:var(--warm-gray);font-size:.95rem}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--charcoal);font-size:.9rem;font-weight:500}.form-group input{border:2px solid var(--cream-dark);background:var(--white);border-radius:12px;padding:.875rem 1rem;font-family:DM Sans,sans-serif;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:var(--sage);outline:none;box-shadow:0 0 0 3px #7a9e7e1a}.form-group input::placeholder{color:var(--warm-gray)}.form-group input.error{border-color:var(--terracotta)}.form-group .error-message{color:var(--terracotta);font-size:.8rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-options{justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.form-options a{color:var(--sage);text-decoration:none;transition:color .3s}.form-options a:hover{color:var(--sage-dark)}.checkbox-group{align-items:center;gap:.5rem;display:flex}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--sage)}.checkbox-group label{color:var(--charcoal);cursor:pointer;font-size:.9rem}.auth-submit{margin-top:.5rem}.auth-submit .btn-primary{justify-content:center;width:100%;padding:1rem;font-size:1rem}.auth-submit .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-divider{align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--cream-dark);flex:1;height:1px}.auth-divider span{color:var(--warm-gray);font-size:.85rem}.social-buttons{flex-direction:column;gap:.75rem;display:flex}.social-btn{border:2px solid var(--cream-dark);background:var(--white);color:var(--charcoal);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;padding:.875rem;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;transition:all .3s;display:flex}.social-btn:hover{border-color:var(--sage);background:var(--cream)}.social-btn svg{width:20px;height:20px}.auth-footer{text-align:center;border-top:1px solid var(--cream-dark);margin-top:2rem;padding-top:1.5rem}.auth-footer p{color:var(--warm-gray);font-size:.95rem}.auth-footer a{color:var(--sage);font-weight:500;text-decoration:none;transition:color .3s}.auth-footer a:hover{color:var(--sage-dark)}.auth-message{border-radius:12px;margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.auth-message.success{border:1px solid var(--sage-light);color:var(--sage-dark);background:#7a9e7e1a}.auth-message.error{border:1px solid var(--terracotta-light);color:var(--terracotta);background:#c4826c1a}.auth-icon{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;display:flex}.auth-icon svg{width:40px;height:40px}.auth-icon.success{background:#7a9e7e26}.auth-icon.success svg{stroke:var(--sage)}.auth-icon.error{background:#c4826c26}.auth-icon.error svg{stroke:var(--terracotta)}.auth-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.auth-actions .btn-primary,.auth-actions .btn-secondary{text-align:center;justify-content:center;text-decoration:none}.password-strength{gap:.25rem;margin-top:.5rem;display:flex}.password-strength .bar{background:var(--cream-dark);border-radius:2px;flex:1;height:4px;transition:background .3s}.password-strength.weak .bar:first-child{background:var(--terracotta)}.password-strength.medium .bar:first-child,.password-strength.medium .bar:nth-child(2){background:#f0ad4e}.password-strength.strong .bar:first-child,.password-strength.strong .bar:nth-child(2),.password-strength.strong .bar:nth-child(3){background:var(--sage-light)}.password-strength.very-strong .bar{background:var(--sage)}.password-hint{color:var(--warm-gray);margin-top:.25rem;font-size:.8rem}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:480px){.auth-card{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}}.verify-card{max-width:480px}.verify-header{text-align:center;margin-bottom:2rem}.verify-header h1{color:var(--charcoal);margin-bottom:.5rem;font-family:Fraunces,serif;font-size:1.75rem;font-weight:600}.verify-header p{color:var(--warm-gray);font-size:.95rem}.verify-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.verify-loading p{color:var(--warm-gray);font-size:.95rem}.spinner-large{border:3px solid var(--cream-dark);border-top-color:var(--sage);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.otp-input-container{justify-content:center;gap:.5rem;margin:1.5rem 0;display:flex}.otp-input-box{text-align:center;width:48px;height:56px;color:var(--charcoal);background:var(--white);border:2px solid var(--cream-dark);appearance:textfield;border-radius:12px;outline:none;font-family:DM Sans,sans-serif;font-size:1.5rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.otp-input-box::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.otp-input-box::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.otp-input-box:focus{border-color:var(--sage);box-shadow:0 0 0 3px #7a9e7e26}.otp-input-box:disabled{background:var(--cream);opacity:.6}.verify-input-section{margin-bottom:1.5rem}.verify-input-label{color:var(--charcoal);text-align:center;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.verify-remember{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.verify-remember input[type=checkbox]{width:18px;height:18px;accent-color:var(--sage);cursor:pointer}.verify-remember label{color:var(--charcoal);cursor:pointer;font-size:.9rem}.verify-divider{background:var(--cream-dark);height:1px;margin-bottom:1.5rem}.verify-method-info{margin-bottom:1rem}.verify-method-label{color:var(--charcoal);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.verify-method-card{background:var(--white);border:1.5px solid var(--cream-dark);border-radius:12px;align-items:center;gap:.75rem;padding:1rem;display:flex}.verify-method-card .method-icon{width:40px;height:40px;color:var(--warm-gray);flex-shrink:0;justify-content:center;align-items:center;display:flex}.verify-method-card .method-info{flex-direction:column;display:flex}.verify-method-card .method-name{color:var(--charcoal);font-size:.95rem;font-weight:500}.verify-method-card .method-label{color:var(--warm-gray);font-size:.8rem}.verify-link-btn{text-align:center;width:100%;color:var(--charcoal);cursor:pointer;background:0 0;border:none;margin-bottom:.5rem;padding:.75rem 0;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;transition:color .2s;display:block}.verify-link-btn:hover{color:var(--sage)}.verify-link-btn:disabled{color:var(--warm-gray);cursor:not-allowed}.verify-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.verify-btn-primary{background:var(--sage);color:#fff;cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;transition:background .2s,opacity .2s;display:flex}.verify-btn-primary:hover:not(:disabled){background:var(--sage-dark)}.verify-btn-primary:disabled{opacity:.5;cursor:not-allowed}.verify-btn-secondary{width:100%;color:var(--sage);border:2px solid var(--cream-dark);cursor:pointer;background:0 0;border-radius:100px;padding:.875rem;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;transition:border-color .2s,color .2s}.verify-btn-secondary:hover{border-color:var(--sage)}.choose-method-container{text-align:left}.method-options{flex-direction:column;gap:.75rem;display:flex}.method-option-card{background:var(--white);border:1.5px solid var(--cream-dark);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;font-family:DM Sans,sans-serif;transition:border-color .2s,box-shadow .2s;display:flex}.method-option-card:hover{border-color:var(--sage);box-shadow:var(--shadow-soft)}.method-option-card .method-icon{width:40px;height:40px;color:var(--warm-gray);flex-shrink:0;justify-content:center;align-items:center;display:flex}.method-option-card .method-info{flex-direction:column;display:flex}.method-option-card .method-name{color:var(--charcoal);font-size:.95rem;font-weight:500}.method-option-card .method-label{color:var(--warm-gray);font-size:.8rem}.enroll-totp-container{text-align:center}.totp-qr-container{justify-content:center;margin:1.5rem 0;display:flex}.totp-qr-code{border:2px solid var(--cream-dark);background:#fff;border-radius:12px;width:200px;height:200px;padding:.5rem}.totp-secret-container{background:var(--cream);border-radius:12px;margin-bottom:1.5rem;padding:1rem}.totp-secret-label{color:var(--warm-gray);margin-bottom:.5rem;font-size:.85rem}.totp-secret-code{color:var(--charcoal);letter-spacing:.1rem;word-break:break-all;font-family:DM Sans,monospace;font-size:.9rem;font-weight:600}@media (max-width:480px){.verify-card{max-width:100%}.otp-input-container{gap:.35rem}.otp-input-box{width:42px;height:50px;font-size:1.25rem}.totp-qr-code{width:160px;height:160px}}
