*,*:before,*:after{box-sizing:border-box}.auth-layout{min-height:100vh;display:flex;background:#f8fafc;opacity:0;transition:opacity .35s ease-out}.auth-layout--mounted{opacity:1}.auth-layout__panel{display:none;flex:0 0 420px;background:linear-gradient(145deg,#667eea,#764ba2);padding:48px 40px;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}@media (min-width: 900px){.auth-layout__panel{display:flex}}.auth-layout__panel:before{content:"";position:absolute;top:-120px;right:-80px;width:340px;height:340px;border-radius:50%;background:#ffffff0f}.auth-layout__panel:after{content:"";position:absolute;bottom:-60px;left:-60px;width:260px;height:260px;border-radius:50%;background:#ffffff0d}.auth-layout__panel-logo{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.auth-layout__panel-logo-mark{width:38px;height:38px;border-radius:10px;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;letter-spacing:-1px;flex-shrink:0}.auth-layout__panel-logo-img{height:38px;width:auto;object-fit:contain;flex-shrink:0;border-radius:8px}.auth-layout__panel-logo-text{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.5px}.auth-layout__panel-body{position:relative;z-index:1}.auth-layout__panel-tagline{font-size:28px;font-weight:700;color:#fff;line-height:1.3;margin:0 0 16px;letter-spacing:-.5px}.auth-layout__panel-desc{font-size:15px;color:#fffc;line-height:1.6;margin:0 0 28px}.auth-layout__panel-features{display:flex;flex-direction:column;gap:12px}.auth-layout__panel-feature{display:flex;align-items:center;gap:10px;color:#ffffffe6;font-size:14px}.auth-layout__panel-feature-dot{width:6px;height:6px;border-radius:50%;background:#ffffffb3;flex-shrink:0}.auth-layout__panel-footer{position:relative;z-index:1;font-size:13px;color:#ffffff80}.auth-layout__main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;position:relative;min-height:100vh}.auth-layout__topbar{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:12px;z-index:10}.auth-layout__container{width:100%;max-width:420px;display:flex;flex-direction:column;gap:18px}.auth-layout__switcher{display:flex;background:#f1f5f9;border-radius:12px;padding:4px;gap:4px}.auth-layout__switcher-btn{flex:1;padding:8px 16px;border:none;border-radius:9px;background:transparent;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.auth-layout__switcher-btn:hover{color:#334155}.auth-layout__switcher-btn--active{background:#fff;color:#1e293b;box-shadow:0 1px 4px #0000001a,0 0 0 1px #0000000a}.auth-layout__title{font-size:22px;font-weight:800;color:#1e293b;margin:0;letter-spacing:-.5px}.auth-layout__subtitle{font-size:13px;color:#64748b;margin:3px 0 0}.auth-layout__content,.auth-form-wrapper{width:100%}.auth-form{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px 24px 20px;box-shadow:0 1px 3px #0000000f,0 4px 20px #0000000a}.auth-form__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe0;border-radius:16px;display:flex;align-items:center;justify-content:center;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-form__spinner{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.auth-form__spinner-circle{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:auth-spin .6s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-form__submit{width:100%;padding:10px 24px;margin-top:4px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s ease,transform .15s ease,box-shadow .2s ease;letter-spacing:.1px}.auth-form__submit:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 4px 16px #667eea59}.auth-form__submit:active:not(:disabled){transform:translateY(0);box-shadow:none}.auth-form__submit:disabled{opacity:.5;cursor:not-allowed}.auth-form__divider{position:relative;text-align:center;margin:14px 0;color:#94a3b8;font-size:13px}.auth-form__divider:before,.auth-form__divider:after{content:"";position:absolute;top:50%;width:calc(50% - 28px);height:1px;background:#e2e8f0}.auth-form__divider span{background:#fff;padding:0 10px}.google-oauth-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 20px;font-size:14px;font-weight:600;color:#374151;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s}.google-oauth-button:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.google-oauth-button:active{transform:translateY(0);box-shadow:none}.google-oauth-button__logo{flex-shrink:0;width:18px;height:18px}.auth-nav-link{margin-top:20px;text-align:center;font-size:14px;color:#64748b}.auth-nav-link a{color:#6366f1;font-weight:600;text-decoration:none;margin-left:4px}.auth-nav-link a:hover{text-decoration:underline}.auth-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.auth-field label{font-size:13px;font-weight:600;color:#374151}.auth-field input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:9px;font-size:14px;color:#1e293b;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.auth-field input::placeholder{color:#94a3b8}.auth-field--error input{border-color:#ef4444}.auth-field__error{font-size:12px;color:#ef4444;display:flex;align-items:center;gap:4px}.auth-field__password-wrap{position:relative}.auth-field__password-wrap input{padding-right:42px}.auth-field__password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px;display:flex;align-items:center;justify-content:center;transition:color .15s}.auth-field__password-toggle:hover{color:#64748b}.auth-error{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin-bottom:16px;font-size:13px;color:#dc2626}.auth-error__icon{flex-shrink:0;margin-top:1px}.auth-error__text{flex:1;line-height:1.45}.auth-error__dismiss{background:none;border:none;cursor:pointer;color:#dc2626;opacity:.6;padding:0;line-height:1;font-size:16px;flex-shrink:0}.auth-error__dismiss:hover{opacity:1}.auth-layout__mobile-logo{display:flex;align-items:center;gap:8px;margin-bottom:4px}@media (min-width: 900px){.auth-layout__mobile-logo{display:none}}.auth-layout__mobile-logo-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff}.auth-layout__mobile-logo-text{font-size:18px;font-weight:800;color:#1e293b;letter-spacing:-.3px}.auth-form__row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.auth-form__row-2 .password-field{margin-bottom:0}@media (max-width: 480px){.auth-form{padding:20px 16px 16px;border-radius:14px}.auth-form__row-2{grid-template-columns:1fr}}.auth-form-wrapper{width:100%;max-width:420px}.auth-form{position:relative;background-color:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:box-shadow .2s ease,transform .2s ease}.auth-form:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.auth-form__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffe6;border-radius:12px;display:flex;align-items:center;justify-content:center;z-index:10}.auth-form__spinner{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.auth-form__spinner-circle{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#4a90e2;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-form[aria-busy=true]{pointer-events:none}.auth-form__submit{width:100%;padding:12px 24px;margin-top:16px;background-color:#4a90e2;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s ease,transform .2s ease,box-shadow .2s ease}.auth-form__submit:hover:not(:disabled){background-color:#357abd;transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.auth-form__submit:active:not(:disabled){transform:translateY(0)}.auth-form__submit:disabled{background-color:#b0b0b0;cursor:not-allowed;opacity:.6}.auth-form__divider{position:relative;text-align:center;margin:24px 0;color:#666;font-size:14px}.auth-form__divider:before,.auth-form__divider:after{content:"";position:absolute;top:50%;width:calc(50% - 30px);height:1px;background-color:#e0e0e0}.auth-form__divider:before{left:0}.auth-form__divider:after{right:0}.auth-form__divider span{background-color:#fff;padding:0 12px}.email-field{display:flex;flex-direction:column;margin-bottom:10px}.email-field__label{font-size:12px;font-weight:600;color:#374151;margin-bottom:4px}.email-field__input{width:100%;padding:8px 11px;font-size:14px;line-height:1.4;border:1.5px solid #e2e8f0;border-radius:9px;background:#fff;color:#1e293b;outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.email-field__input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.email-field__input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.email-field__input--error{border-color:#ef4444}.email-field__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.email-field__error{font-size:11px;color:#ef4444;margin-top:3px}.password-field{display:flex;flex-direction:column;margin-bottom:10px}.password-field__label{font-size:12px;font-weight:600;color:#374151;margin-bottom:4px}.password-field__input-wrapper{position:relative;width:100%}.password-field__input{width:100%;padding:8px 38px 8px 11px;font-size:14px;line-height:1.4;border:1.5px solid #e2e8f0;border-radius:9px;background:#fff;color:#1e293b;outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.password-field__input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.password-field__input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.password-field__input--error{border-color:#ef4444}.password-field__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.password-field__toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;color:#94a3b8;transition:color .15s;border-radius:4px}.password-field__toggle:hover:not(:disabled){color:#64748b}.password-field__toggle:disabled{cursor:not-allowed;opacity:.5}.password-field__icon{width:16px;height:16px;display:block}.password-field__hint{font-size:11px;color:#94a3b8;margin-top:3px}.password-field__error{font-size:11px;color:#ef4444;margin-top:3px}.google-oauth-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 24px;font-size:16px;font-weight:500;line-height:1.5;color:#3c4043;background-color:#fff;border:2px solid #dadce0;border-radius:6px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;outline:none}.google-oauth-button:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026;border-color:#c8cace}.google-oauth-button:focus{border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a}.google-oauth-button:active{transform:scale(.98);box-shadow:0 2px 6px #0000001a}.google-oauth-button__logo{flex-shrink:0;width:20px;height:20px}.google-oauth-button__text{flex-grow:1;text-align:center}@keyframes fadeOut{to{opacity:0}}.error-message{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;margin-bottom:16px;animation:slideDown .3s ease-out;box-shadow:0 2px 4px #0000001a}.error-message.dismissing{animation:fadeOut .3s ease-out forwards}.error-message__text{flex:1;margin-right:12px;line-height:1.5}.error-message__close{background:none;border:none;color:#c33;font-size:24px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease,transform .2s ease;flex-shrink:0}.error-message__close:hover{background-color:#cc33331a;transform:scale(1.1)}.error-message__close:active{transform:scale(.95)}.error-message__close:focus{outline:2px solid #c33;outline-offset:2px}.name-field{display:flex;flex-direction:column;margin-bottom:10px}.name-field__label{font-size:12px;font-weight:600;color:#374151;margin-bottom:4px}.name-field__input{width:100%;padding:8px 11px;font-size:14px;line-height:1.4;border:1.5px solid #e2e8f0;border-radius:9px;background:#fff;color:#1e293b;outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.name-field__input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.name-field__input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.name-field__input--error{border-color:#ef4444}.name-field__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.name-field__error{font-size:11px;color:#ef4444;margin-top:3px}.dashboard-layout{display:flex;min-height:100vh;background-color:#f5f5f5;position:relative}.dashboard-layout__content{flex:1;min-height:100vh;background-color:#f5f5f5;padding:24px 24px 24px 264px;transition:padding-left .3s ease-in-out}.dashboard-layout__content--collapsed{padding-left:88px}[dir=rtl] .dashboard-layout__content{padding-left:24px;padding-right:264px}[dir=rtl] .dashboard-layout__content--collapsed{padding-left:24px;padding-right:88px}@media (max-width: 767px){.dashboard-layout__content{margin-left:0;width:100%;padding:16px}.dashboard-layout__content--collapsed{margin-left:0}[dir=rtl] .dashboard-layout__content{padding:16px}}@media (min-width: 768px) and (max-width: 1024px){.dashboard-layout__content{padding:20px}[dir=rtl] .dashboard-layout__content{padding:20px 260px 20px 20px}[dir=rtl] .dashboard-layout__content--collapsed{padding-left:20px;padding-right:84px}}@media (min-width: 1025px){.dashboard-layout__content{padding:24px}[dir=rtl] .dashboard-layout__content{padding:24px 264px 24px 24px}[dir=rtl] .dashboard-layout__content--collapsed{padding-left:24px;padding-right:88px}}@media print{.dashboard-layout{display:block}.dashboard-layout__content{margin-left:0;padding:0}}@media (prefers-contrast: high){.dashboard-layout__content{border-left:1px solid #000}[dir=rtl] .dashboard-layout__content{border-left:none;border-right:1px solid #000}}@media (prefers-reduced-motion: reduce){.dashboard-layout__content{transition:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-layout{animation:fadeIn .4s ease-out}.error-message{animation:slideDown .3s ease-out}.error-message.dismissing{animation:fadeOut .3s ease-out}.spinner{animation:spin .6s linear infinite}.form-input{transition:border-color .3s ease,box-shadow .3s ease}.google-oauth-button{transition:transform .2s ease,box-shadow .2s ease}.google-oauth-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.auth-form{transition:transform .2s ease,box-shadow .2s ease}.auth-form:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0000001a}.submit-button{transition:transform .2s ease,box-shadow .2s ease}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0003}.auth-layout,.error-message,.spinner{will-change:transform,opacity}.auth-layout.loaded,.error-message.loaded{will-change:auto}
