.auth-page{min-height:calc(100vh - 72px - 200px);padding:var(--spacing-3xl) 0;background:linear-gradient(180deg,#f0f9ff 0%,#f8fafc 100%);display:flex;align-items:center}.auth-card{max-width:440px;margin:0 auto;background:var(--color-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--spacing-2xl)}.auth-card--wide{max-width:540px}.auth-card__header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-card__icon{width:64px;height:64px;margin:0 auto var(--spacing-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center}.auth-card__icon i{font-size:28px;color:var(--color-white)}.auth-card__icon--security{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.auth-card__title{font-size:var(--text-2xl);font-weight:700;color:var(--color-gray-900);margin-bottom:var(--spacing-xs)}.auth-card__subtitle{color:var(--color-gray-500);font-size:var(--text-sm)}.auth-card__footer{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-gray-100)}.auth-card__footer p{color:var(--color-gray-600);font-size:var(--text-sm);margin:0}.auth-link{color:var(--color-primary);font-weight:500}.auth-link:hover{text-decoration:underline}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group--half{flex:1}.form-row{display:flex;gap:var(--spacing-md)}.form-row--between{justify-content:space-between;align-items:center}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-gray-700)}.form-label__optional{font-weight:400;color:var(--color-gray-400)}.required{color:var(--color-error)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--spacing-md);color:var(--color-gray-400);font-size:var(--text-lg);pointer-events:none;transition:color var(--transition-fast)}.form-input{width:100%;padding:var(--spacing-md);padding-left:calc(var(--spacing-md) + 28px);font-size:var(--text-base);background:var(--color-gray-50);border:2px solid var(--color-gray-300);border-radius:var(--radius-lg);transition:all var(--transition-fast);color:var(--color-gray-800)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(37 99 235 / .1)}.form-input:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--color-primary)}.form-input::placeholder{color:var(--color-gray-400)}.form-input--code{padding-left:var(--spacing-md);text-align:center;font-size:var(--text-2xl);font-weight:600;letter-spacing:.5em;font-family:monospace}.code-input-wrapper{max-width:200px;margin:0 auto}.password-toggle{position:absolute;right:var(--spacing-md);background:none;border:none;color:var(--color-gray-400);cursor:pointer;padding:var(--spacing-xs);transition:color var(--transition-fast)}.password-toggle:hover{color:var(--color-gray-600)}.form-hint{font-size:var(--text-xs);color:var(--color-gray-500)}.form-hint--warning{color:var(--color-warning)}.form-link{font-size:var(--text-sm);color:var(--color-primary)}.form-link:hover{text-decoration:underline}.checkbox{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer}.checkbox input{display:none}.checkbox__mark{width:20px;height:20px;flex-shrink:0;border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);position:relative;transition:all var(--transition-fast)}.checkbox input:checked+.checkbox__mark{background:var(--color-primary);border-color:var(--color-primary)}.checkbox input:checked+.checkbox__mark::after{content:'';position:absolute;top:3px;left:6px;width:5px;height:9px;border:2px solid var(--color-white);border-top:none;border-left:none;transform:rotate(45deg)}.checkbox__text{font-size:var(--text-sm);color:var(--color-gray-600);line-height:1.4}.checkbox__text a{color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn--primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-white);box-shadow:0 2px 8px rgb(37 99 235 / .3)}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgb(37 99 235 / .4)}.btn--outline{background:#fff0;border:2px solid var(--color-gray-200);color:var(--color-gray-700)}.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--ghost{background:#fff0;color:var(--color-gray-600)}.btn--ghost:hover{background:var(--color-gray-100)}.btn--danger{background:var(--color-error);color:var(--color-white)}.btn--danger:hover{background:#dc2626}.btn--full{width:100%}.btn--lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--text-base)}.btn--sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-xs)}.alert{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md)}.alert i{flex-shrink:0;font-size:var(--text-lg)}.alert__content{flex:1}.alert__content strong{display:block;margin-bottom:var(--spacing-xs)}.alert__content p{margin:0 0 var(--spacing-sm);font-size:var(--text-sm)}.alert--error{background:#fef2f2;color:#b91c1c}.alert--success{background:#f0fdf4;color:#15803d}.alert--warning{background:#fffbeb;color:#b45309}.alert--info{background:#eff6ff;color:#1d4ed8}@media (max-width:768px){.auth-page{padding:var(--spacing-xl) 0;min-height:calc(100vh - 72px);min-height:calc(100dvh - 72px);display:flex;align-items:center;justify-content:center}.auth-card{margin:0 var(--spacing-md);padding:var(--spacing-lg);width:100%}.form-row{flex-direction:column}.form-row--between{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.auth-card .btn{width:100%;min-height:48px}.auth-card .form-input{min-height:48px;font-size:16px}}@media (max-width:480px){.auth-card{margin:0;border-radius:0;box-shadow:none;padding:var(--spacing-lg) var(--spacing-md)}}