:root{--auth-cta-start: #ff6b35;--auth-cta-end: #e55a2b;--auth-cta-shadow: rgb(255, 107, 53, .3);--auth-cta-shadow-hover: rgb(255, 107, 53, .4);--auth-focus-ring: rgb(13, 110, 253, .15)}body{margin:0;padding:70px 0 0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:linear-gradient(135deg,var(--hwm-surface-page) 0%,var(--hwm-surface-inset) 100%);color:var(--hwm-text-primary);min-height:100vh;display:flex;flex-direction:column}.auth-navbar-brand{font-size:1.4rem}.auth-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem}.auth-card{background:var(--hwm-surface-card);padding:2.5rem;border-radius:var(--hwm-radius-card);box-shadow:var(--hwm-shadow-card);width:100%;max-width:440px;border:1px solid var(--hwm-border-default);transition:var(--hwm-transition);animation:authFadeIn .4s ease}.auth-card:hover{box-shadow:var(--hwm-shadow-card-hover);transform:translateY(-2px)}@keyframes authFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-logo,.auth-icon-circle{margin:0 auto 1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.auth-logo{width:100px;height:100px;background:linear-gradient(135deg,var(--hwm-color-dark) 0%,var(--hwm-color-dark-2) 100%);box-shadow:0 4px 15px #21252966}.auth-logo img{width:62px;height:62px}.auth-icon-circle{width:80px;height:80px;background:linear-gradient(135deg,var(--hwm-color-primary) 0%,var(--hwm-color-primary-dark) 100%);box-shadow:0 4px 15px #0d6efd59}.auth-icon-circle i{font-size:2rem;color:#fff}.auth-card h2{text-align:center;margin-bottom:.5rem;font-size:var(--hwm-font-size-2xl);font-weight:700;color:var(--hwm-text-primary)}.auth-subtitle{text-align:center;color:var(--hwm-text-muted);font-size:var(--hwm-font-size-sm);line-height:1.5;margin-bottom:2rem}.auth-field{margin-bottom:1.25rem;position:relative}.auth-field label{display:block;font-size:var(--hwm-font-size-sm);font-weight:500;color:var(--hwm-text-secondary);margin-bottom:.5rem}.auth-input-wrapper{position:relative}.auth-input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--hwm-text-muted);font-size:1.1rem;transition:color .2s ease;pointer-events:none}.auth-field input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:2px solid var(--hwm-border-default);border-radius:var(--hwm-radius-sm);font-size:var(--hwm-font-size-base);background:var(--hwm-surface-raised);color:var(--hwm-text-primary);transition:border-color .2s ease,box-shadow .2s ease}.auth-field input.has-toggle{padding-right:3rem}.auth-field input:focus{outline:none;border-color:var(--hwm-link);box-shadow:0 0 0 .2rem var(--auth-focus-ring)}.auth-field input:focus~.auth-input-icon{color:var(--hwm-link)}.auth-field input::placeholder{color:var(--hwm-text-muted)}.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);min-width:var(--hwm-touch-target-min);min-height:var(--hwm-touch-target-min);display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--hwm-text-muted);font-size:1.15rem;cursor:pointer;border-radius:var(--hwm-radius-sm)}.password-toggle:hover{color:var(--hwm-text-primary)}.password-toggle:focus-visible{outline:2px solid var(--hwm-link);outline-offset:2px}.auth-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--auth-cta-start) 0%,var(--auth-cta-end) 100%);border:none;color:#fff;font-size:var(--hwm-font-size-base);font-weight:600;border-radius:var(--hwm-radius-sm);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;min-height:var(--hwm-touch-target-min);box-shadow:0 4px 14px var(--auth-cta-shadow)}.auth-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--auth-cta-end) 0%,var(--auth-cta-start) 100%);transform:translateY(-1px);box-shadow:0 6px 20px var(--auth-cta-shadow-hover);color:#fff}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-secondary{text-align:center;padding:1rem;background:var(--hwm-surface-inset);border-radius:var(--hwm-radius-sm);margin-top:1.5rem}.auth-secondary p{margin:0;color:var(--hwm-text-muted);font-size:var(--hwm-font-size-sm)}.auth-secondary a{color:var(--hwm-link);text-decoration:none;font-weight:600}.auth-secondary a:hover{color:var(--hwm-link-hover);text-decoration:underline}.auth-inline-link{text-align:right;margin:-.5rem 0 1rem}.auth-inline-link a{color:var(--hwm-link);text-decoration:none;font-size:var(--hwm-font-size-sm);font-weight:500}.auth-inline-link a:hover{color:var(--hwm-link-hover);text-decoration:underline}.auth-alert,.auth-info-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:var(--hwm-radius-sm);border:1px solid transparent;font-size:var(--hwm-font-size-sm);margin-bottom:1.5rem}.auth-alert-error{background:var(--hwm-state-danger-surface);color:var(--hwm-state-danger-text);border-color:var(--hwm-state-danger-text)}.auth-alert-success{background:var(--hwm-state-success-surface);color:var(--hwm-state-success-text);border-color:var(--hwm-state-success-text)}.auth-alert-warning{background:var(--hwm-state-warning-surface);color:var(--hwm-state-warning-text);border-color:var(--hwm-state-warning-text)}.auth-alert-info{background:var(--hwm-state-info-surface);color:var(--hwm-state-info-text);border-color:var(--hwm-state-info-text)}.auth-info-banner{background:var(--hwm-state-info-surface);color:var(--hwm-state-info-text);border-color:var(--hwm-state-info-text);font-weight:500}.reset-card{background:var(--hwm-surface-card);border-radius:var(--hwm-radius-card);box-shadow:var(--hwm-shadow-card);overflow:hidden;width:100%;max-width:480px;border:1px solid var(--hwm-border-default);animation:authFadeIn .4s ease forwards}.reset-card:hover{box-shadow:var(--hwm-shadow-card-hover);transform:translateY(-2px)}.reset-header{background:linear-gradient(135deg,var(--hwm-color-dark) 0%,var(--hwm-color-dark-2) 100%);padding:2.5rem 2rem;text-align:center;color:#fff;position:relative}.reset-header:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 40%,rgb(13,110,253,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 60%,rgb(25,135,84,.1) 0%,transparent 50%);pointer-events:none}.reset-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--hwm-color-primary) 0%,var(--hwm-color-primary-dark) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;box-shadow:0 8px 24px #0d6efd59;position:relative;z-index:1}.reset-icon i{font-size:2.25rem;color:#fff}.reset-header h2{font-size:var(--hwm-font-size-2xl);font-weight:700;margin:0;position:relative;z-index:1}.reset-header p{margin:.75rem 0 0;color:#fffc;font-size:var(--hwm-font-size-sm);position:relative;z-index:1}.reset-header .username-highlight{color:#38bdf8;font-weight:600}.reset-body{padding:2rem}.code-input-container{display:flex;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.code-digit{width:56px;height:64px;text-align:center;font-size:1.75rem;font-weight:700;font-family:Helvetica Neue,Helvetica,Arial,monospace;background:var(--hwm-surface-raised);border:2px solid var(--hwm-border-default);border-radius:var(--hwm-radius);color:var(--hwm-text-primary);transition:all .2s ease;caret-color:var(--hwm-link)}.code-digit:focus{outline:none;border-color:var(--hwm-link);box-shadow:0 0 0 3px var(--auth-focus-ring)}.code-digit.filled{border-color:var(--hwm-color-success);background:var(--hwm-state-success-surface)}.code-digit.error{border-color:var(--hwm-color-danger);background:var(--hwm-state-danger-surface);animation:authShake .4s ease}@keyframes authShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.hidden-code-input{position:absolute;opacity:0;pointer-events:none}.password-group{margin-bottom:1.25rem}.password-group label{display:block;font-size:var(--hwm-font-size-sm);font-weight:500;color:var(--hwm-text-secondary);margin-bottom:.5rem}.password-group .input-wrapper{position:relative}.password-group .input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--hwm-text-muted);font-size:1.1rem;transition:color .2s ease;pointer-events:none}.password-group input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:2px solid var(--hwm-border-default);border-radius:var(--hwm-radius-sm);font-size:var(--hwm-font-size-base);background:var(--hwm-surface-raised);color:var(--hwm-text-primary);transition:border-color .2s ease,box-shadow .2s ease}.password-group input.has-toggle{padding-right:3rem}.password-group input:focus{outline:none;border-color:var(--hwm-link);box-shadow:0 0 0 .2rem var(--auth-focus-ring)}.password-group input:focus~.input-icon{color:var(--hwm-link)}.password-group input::placeholder{color:var(--hwm-text-muted)}.btn-submit{background:linear-gradient(135deg,var(--auth-cta-start) 0%,var(--auth-cta-end) 100%);border:none;padding:.875rem 2rem;font-size:1.05rem;font-weight:600;border-radius:var(--hwm-radius-sm);color:#fff;transition:all .2s ease;box-shadow:0 4px 14px var(--auth-cta-shadow);min-height:52px;width:100%;position:relative}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px var(--auth-cta-shadow-hover);background:linear-gradient(135deg,var(--auth-cta-end) 0%,var(--auth-cta-start) 100%);color:#fff}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-submit.loading{pointer-events:none}.btn-submit.loading .btn-text{opacity:0}.btn-submit .spinner{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.btn-submit.loading .spinner{display:block}.info-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:var(--hwm-state-info-surface);border:1px solid var(--hwm-state-info-text);border-radius:var(--hwm-radius-sm);color:var(--hwm-state-info-text);font-size:var(--hwm-font-size-sm);margin-bottom:1.5rem}.reset-divider{position:relative;text-align:center;margin:1.5rem 0}.reset-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--hwm-border-default)}.reset-divider span{position:relative;padding:0 1rem;background:var(--hwm-surface-card);color:var(--hwm-text-muted);font-size:var(--hwm-font-size-xs)}.btn-back{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;color:var(--hwm-text-muted);font-size:var(--hwm-font-size-sm);text-decoration:none;transition:all .2s ease;width:100%;min-height:var(--hwm-touch-target-min);padding:.625rem 1.25rem;background:var(--hwm-surface-inset);border:1px solid var(--hwm-border-default);border-radius:var(--hwm-radius-sm)}.btn-back:hover{color:var(--hwm-text-primary);background:var(--hwm-surface-page);border-color:var(--hwm-border-strong)}.password-hint{font-size:var(--hwm-font-size-xs);color:var(--hwm-text-muted);margin-top:.5rem}@media (max-width: 576px){.auth-card{padding:2rem 1.5rem;margin:0 1rem}.auth-card h2{font-size:var(--hwm-font-size-xl)}}@media (max-width: 480px){.reset-body{padding:1.5rem}.code-digit{width:clamp(40px,16vw,48px);height:56px;font-size:1.5rem}.code-input-container{flex-wrap:wrap;gap:.375rem}.reset-header{padding:2rem 1.5rem}}
