.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--via-color-bg-page);padding:var(--via-space-5)}.auth-container{position:relative;width:850px;max-width:100%;height:550px;background:var(--via-color-bg-surface);border-radius:var(--via-radius-2xl);box-shadow:var(--via-shadow-raised);overflow:hidden;font-family:var(--via-font);color:var(--via-color-text-primary)}.auth-container h1{font-size:var(--via-fs-h1);font-weight:var(--via-fw-bold);line-height:var(--via-lh-tight);margin:-10px 0;letter-spacing:-.01em}.auth-container p{font-size:var(--via-fs-sm);font-weight:var(--via-fw-light);line-height:var(--via-lh-normal);margin:15px 0}.auth-form-box{position:absolute;right:0;width:50%;height:100%;background:var(--via-color-bg-surface);display:flex;align-items:center;text-align:center;padding:40px;z-index:1;transition:right .6s ease-in-out 1.2s,visibility 0s 1s}.auth-container.active .auth-form-box{right:50%}.auth-form-box.register{visibility:hidden}.auth-container.active .auth-form-box.register{visibility:visible}.auth-form-inner{width:100%}.auth-input-box{position:relative;margin:22px 0}.auth-input-box input{width:100%;padding:13px 50px 13px 20px;background:var(--via-bg-2);border-radius:var(--via-radius-md);border:1px solid transparent;outline:none;font-family:var(--via-font);font-size:var(--via-fs-body);color:var(--via-color-text-primary);font-weight:var(--via-fw-regular);transition:border-color var(--via-transition),box-shadow var(--via-transition),background var(--via-transition)}.auth-input-box input::placeholder{color:var(--via-color-text-muted);font-weight:var(--via-fw-light)}.auth-input-box input:focus{border-color:var(--via-blue);background:var(--via-color-bg-surface);box-shadow:var(--via-shadow-focus)}.auth-input-icon{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--via-color-text-muted);pointer-events:none;display:inline-flex}.auth-error{font-size:var(--via-fs-xs);color:var(--via-danger);text-align:left;margin-top:6px;font-weight:var(--via-fw-regular)}.auth-forgot-link{margin:-8px 0 16px;text-align:right}.auth-forgot-link a,.auth-forgot-link button{font-size:var(--via-fs-sm);color:var(--via-color-text-muted);background:transparent;border:none;cursor:pointer;font-family:var(--via-font);transition:color var(--via-transition)}.auth-forgot-link a:hover,.auth-forgot-link button:hover{color:var(--via-blue);text-decoration:underline}.auth-btn{width:100%;height:48px;background:var(--via-blue);border-radius:var(--via-radius-md);box-shadow:0 0 10px #02162a1a;border:none;cursor:pointer;font-family:var(--via-font);font-size:var(--via-fs-body);color:var(--via-white);font-weight:var(--via-fw-bold);letter-spacing:var(--via-ls-wide);text-transform:uppercase;transition:background var(--via-transition),box-shadow var(--via-transition),transform var(--via-transition)}.auth-btn:hover:not(:disabled){background:#0b5aab;box-shadow:0 4px 16px #0a4f954d}.auth-btn:active:not(:disabled){transform:scale(.98)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--via-white);border-radius:50%;animation:auth-spin .7s linear infinite;vertical-align:middle;margin-right:8px}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-toggle-box{position:absolute;width:100%;height:100%}.auth-toggle-box:before{content:"";position:absolute;left:-250%;width:300%;height:100%;background:var(--via-blue);border-radius:150px;z-index:2;transition:1.8s ease-in-out}.auth-container.active .auth-toggle-box:before{left:50%}.auth-toggle-panel{position:absolute;width:50%;height:100%;color:var(--via-white);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2;transition:.6s ease-in-out;padding:40px;text-align:center}.auth-toggle-panel h1{color:var(--via-white)}.auth-toggle-panel p{margin-bottom:20px;color:#ffffffeb}.auth-toggle-panel.toggle-left{left:0;transition-delay:1.2s}.auth-container.active .auth-toggle-panel.toggle-left{left:-50%;transition-delay:.6s}.auth-toggle-panel.toggle-right{right:-50%;transition-delay:.6s}.auth-container.active .auth-toggle-panel.toggle-right{right:0;transition-delay:1.2s}.auth-toggle-panel .auth-btn{width:160px;height:46px;background:transparent;border:2px solid var(--via-white);box-shadow:none}.auth-toggle-panel .auth-btn:hover:not(:disabled){background:#ffffff1f;box-shadow:none}.auth-brand{position:absolute;top:24px;left:24px;display:inline-flex;align-items:center;gap:10px;z-index:3;font-size:var(--via-fs-xs);font-weight:var(--via-fw-bold);letter-spacing:.18em;text-transform:uppercase;color:var(--via-color-text-muted)}.auth-brand-mark{width:28px;height:28px;border-radius:6px;background:var(--via-blue);display:inline-flex;align-items:center;justify-content:center;color:var(--via-white);font-weight:var(--via-fw-bold);font-size:11px;letter-spacing:.06em}@media screen and (max-width:650px){.auth-container{height:calc(100vh - 40px)}.auth-form-box{bottom:0;width:100%;height:70%;right:0}.auth-container.active .auth-form-box{right:0;bottom:30%}.auth-toggle-box:before{left:0;top:-270%;width:100%;height:300%;border-radius:20vw}.auth-container.active .auth-toggle-box:before{left:0;top:70%}.auth-toggle-panel{width:100%;height:30%}.auth-toggle-panel.toggle-left{top:0;left:0}.auth-container.active .auth-toggle-panel.toggle-left{left:0;top:-30%}.auth-toggle-panel.toggle-right{right:0;bottom:-30%;top:auto}.auth-container.active .auth-toggle-panel.toggle-right{bottom:0;right:0}}@media screen and (max-width:400px){.auth-form-box{padding:20px}.auth-toggle-panel h1{font-size:28px}}.dark .auth-page{background:#02101f}.dark .auth-container{background:#061b30;box-shadow:0 30px 80px #0009}.dark .auth-container h1,.dark .auth-container p{color:var(--via-white)}.dark .auth-form-box{background:#061b30}.dark .auth-input-box input{background:#ffffff0f;color:var(--via-white)}.dark .auth-input-box input::placeholder{color:#ffffff80}.dark .auth-input-box input:focus{background:#ffffff1a}.dark .auth-input-icon{color:#ffffff8c}.dark .auth-forgot-link a,.dark .auth-forgot-link button{color:#fff9}
