.login-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center}.login-modal-backdrop{position:absolute;inset:0;background-color:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.login-modal-container{position:relative;margin:0 1rem;max-height:90vh;overflow-y:auto;background-color:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);width:700px;max-width:100%;border-radius:24px;border:1px solid #e8eff8;padding:40px}.login-modal-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:12px;padding:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;background:transparent;border:none;cursor:pointer}.login-modal-close-btn:hover:not(:disabled){background-color:#f3f4f6}.login-modal-close-btn:disabled{cursor:not-allowed;opacity:.5}.login-modal-header{text-align:center;margin-bottom:32px}.login-modal-title{font-family:Rubik,sans-serif;font-weight:500;font-size:28px;line-height:36px;color:#11487b;margin-bottom:8px}.login-modal-subtitle{font-family:LotaGrotesque-Regular,system-ui,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:#4d4d4d;text-align:center}.login-modal-error-alert{margin-bottom:16px;display:flex;align-items:center;border-radius:8px;background-color:#fef2f2;padding:12px;color:#b91c1c}.login-modal-error-icon{margin-right:8px;flex-shrink:0}.login-modal-error-text{font-size:14px}.login-modal-input-wrapper{position:relative;margin-bottom:12px}.login-modal-input{width:100%;height:56px;background-color:#f5f7fa;border-radius:4px;padding-left:20px;padding-right:52px;font-size:14px;color:#000;border:none;outline:none;transition:background-color .2s ease}.login-modal-input:disabled{cursor:not-allowed;opacity:.5}.login-modal-input.error{background-color:#fef2f2;border:1px solid #ef4444}.login-modal-input-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#9ca3af}.login-modal-input-icon.error{color:#f87171}.login-modal-toggle-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;color:#9ca3af;transition:color .2s ease}.login-modal-toggle-btn:hover:not(:disabled){color:#4b5563}.login-modal-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.login-modal-toggle-btn.error{color:#f87171}.login-modal-error-message{margin-top:4px;font-size:14px;color:#dc2626}.login-modal-forgot-password{text-align:right;margin-bottom:24px}.login-modal-forgot-btn{font-family:LotaGrotesque-Regular,system-ui,sans-serif;font-size:14px;color:#11487b;background:none;border:none;cursor:pointer;text-decoration:underline;transition:opacity .2s ease}.login-modal-forgot-btn:hover:not(:disabled){opacity:.8}.login-modal-forgot-btn:disabled{cursor:not-allowed;opacity:.5}.login-modal-submit-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;height:56px;background-color:#11487b;border-radius:12px;border:none;font-size:16px;font-weight:500;color:#fff;cursor:pointer;margin-bottom:24px;transition:opacity .2s ease}.login-modal-submit-btn:hover:not(:disabled){opacity:.9}.login-modal-submit-btn:disabled{cursor:not-allowed;opacity:.5}.login-modal-footer{text-align:center}.login-modal-footer-text{color:#4d4d4d}.login-modal-footer-text,.login-modal-register-btn{font-family:LotaGrotesque-Regular,system-ui,sans-serif;font-size:14px}.login-modal-register-btn{color:#11487b;background:none;border:none;cursor:pointer;font-weight:400;margin-left:4px;text-decoration:underline;transition:opacity .2s ease}.login-modal-register-btn:hover:not(:disabled){opacity:.8}.login-modal-register-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.login-modal-container{width:95%;max-width:500px;padding:32px 24px;border-radius:20px}.login-modal-title{font-size:24px;line-height:32px}.login-modal-subtitle{font-size:13px;line-height:18px}.login-modal-subtitle br{display:none}.login-modal-input{height:52px;font-size:14px;padding-left:16px;padding-right:48px}.login-modal-submit-btn{height:52px;font-size:15px}}@media (max-width:480px){.login-modal-container{margin:0 .75rem;padding:28px 20px;border-radius:16px}.login-modal-close-btn{width:28px;height:28px;top:12px;right:12px}.login-modal-header{margin-bottom:24px}.login-modal-title{font-size:22px;line-height:28px;margin-bottom:6px}.login-modal-subtitle{font-size:12px;line-height:16px}.login-modal-input-wrapper{margin-bottom:10px}.login-modal-input{height:48px;font-size:13px;padding-left:14px;padding-right:44px;border-radius:8px}.login-modal-input-icon,.login-modal-toggle-btn{right:12px}.login-modal-forgot-password{margin-bottom:20px}.login-modal-forgot-btn{font-size:13px}.login-modal-submit-btn{height:48px;font-size:14px;border-radius:10px;margin-bottom:20px}.login-modal-footer-text,.login-modal-register-btn{font-size:13px}.login-modal-error-alert{padding:10px}.login-modal-error-text{font-size:13px}}@media (max-width:360px){.login-modal-container{padding:24px 16px}.login-modal-title{font-size:20px;line-height:26px}.login-modal-subtitle{font-size:11px}.login-modal-input{height:46px;font-size:12px}.login-modal-submit-btn{height:46px;font-size:13px}}.registration-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center}.registration-modal-backdrop{position:absolute;inset:0;background-color:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.registration-modal-container{position:relative;margin:0 1rem;max-height:90vh;overflow-y:auto;background-color:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);width:518px;max-width:100%;border-radius:24px;border:1px solid #e8eff8;padding:40px}.registration-modal-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:12px;padding:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;background:transparent;border:none;cursor:pointer}.registration-modal-close-btn:hover{background-color:#f3f4f6}.registration-modal-content{margin-top:20px}.registration-modal-title{font-family:LotaGrotesque-Regular,system-ui,sans-serif;font-weight:400;font-size:18px;line-height:24px;color:#4d4d4d;margin-bottom:32px}.registration-modal-options{margin-bottom:40px}.registration-modal-option{display:flex;align-items:center;cursor:pointer;transition:opacity .2s ease;margin-bottom:12px}.registration-modal-option:hover{opacity:.8}.registration-modal-option:last-child{margin-bottom:0}.registration-modal-radio{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:2px solid #abbed1;margin-right:12px;flex-shrink:0;transition:border-color .2s ease}.registration-modal-radio.active{border-color:#11487b}.registration-modal-radio-inner{width:12px;height:12px;border-radius:50%;background-color:#11487b}.registration-modal-option-label{font-family:LotaGrotesque-Regular,system-ui,sans-serif;font-size:16px;color:#000;font-weight:400}.registration-modal-continue-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;height:56px;background-color:#11487b;border-radius:12px;border:none;font-size:16px;font-weight:500;color:#fff;cursor:pointer;margin-bottom:24px;transition:opacity .2s ease}.registration-modal-continue-btn:hover{opacity:.9}.registration-modal-footer{text-align:center}.registration-modal-footer-text{color:#4d4d4d}.registration-modal-footer-text,.registration-modal-login-btn{font-family:LotaGrotesque-Regular,system-ui,sans-serif;font-size:14px}.registration-modal-login-btn{color:#11487b;background:none;border:none;cursor:pointer;font-weight:400;text-decoration:underline;transition:opacity .2s ease}.registration-modal-login-btn:hover{opacity:.8}@media (max-width:768px){.registration-modal-container{width:95%;max-width:450px;padding:32px 24px;border-radius:20px}.registration-modal-title{font-size:17px;line-height:22px;margin-bottom:28px}.registration-modal-options{margin-bottom:32px}.registration-modal-option-label{font-size:15px}.registration-modal-continue-btn{height:52px;font-size:15px}}@media (max-width:480px){.registration-modal-container{margin:0 .75rem;padding:28px 20px;border-radius:16px}.registration-modal-close-btn{width:28px;height:28px;top:12px;right:12px}.registration-modal-content{margin-top:16px}.registration-modal-title{font-size:16px;line-height:20px;margin-bottom:24px}.registration-modal-options{margin-bottom:28px}.registration-modal-option{margin-bottom:16px}.registration-modal-radio{width:22px;height:22px;margin-right:10px}.registration-modal-radio-inner{width:10px;height:10px}.registration-modal-option-label{font-size:14px}.registration-modal-continue-btn{height:48px;font-size:14px;border-radius:10px;margin-bottom:20px}.registration-modal-footer-text,.registration-modal-login-btn{font-size:13px}}@media (max-width:360px){.registration-modal-container{padding:24px 16px}.registration-modal-title{font-size:15px;line-height:19px;margin-bottom:20px}.registration-modal-options{margin-bottom:24px}.registration-modal-option{margin-bottom:14px}.registration-modal-radio{width:20px;height:20px;margin-right:8px}.registration-modal-radio-inner{width:9px;height:9px}.registration-modal-option-label{font-size:13px}.registration-modal-continue-btn{height:46px;font-size:13px}.registration-modal-footer-text,.registration-modal-login-btn{font-size:12px}}.app-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:80px;overflow-x:hidden;overflow-y:hidden;width:100%;max-width:100vw}.app-header:before{content:"";position:absolute;width:100%;height:100%;background:linear-gradient(135deg,#99bcd6 -305%,#11487b)}.app-header:after{content:"";position:absolute;top:0;right:-80px;width:30%;height:120%;background-color:#3e444e;transform:skewX(30deg);transform-origin:top right;z-index:1}.app-header__container{margin:-8px auto;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:100px;gap:2rem;position:relative;z-index:2}.app-header__logo{display:flex;align-items:center;flex-shrink:0;margin-right:1rem}.app-header__logo-image{height:60px;width:auto;position:relative;bottom:2px;filter:brightness(0) invert(1)}.app-header__nav{display:flex;align-items:center;gap:2rem;flex:1;justify-content:center;margin:0 1rem}.app-header__nav-link{color:#fff;text-decoration:none;font-weight:500;font-size:1rem;padding:.75rem 0;position:relative;transition:all .2s ease;white-space:nowrap}.app-header__nav-link:hover{opacity:.8}.app-header__nav-link--active{font-weight:600}.app-header__nav-link--active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#fff;border-radius:1px}.app-header__actions{display:flex;align-items:center;gap:1rem;flex-shrink:0;margin-left:1rem}.app-header__action-btn{color:#fff;background:transparent;border:1px solid hsla(0,0%,100%,.3);width:40px;height:40px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.app-header__action-btn:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.5);transform:scale(1.05)}.app-header__brand{display:flex;align-items:center}.app-header__brand-logo{height:45px;width:auto;filter:brightness(0) invert(1)}.app-header__dashboard-link{color:#e0e7ff!important;background:transparent;border:1px solid hsla(0,0%,100%,.2);padding:8px 12px;border-radius:6px;font-weight:600;font-size:14px;transition:all .2s ease;white-space:nowrap;text-decoration:none}.app-header__dashboard-link:hover{background:hsla(0,0%,100%,.1);color:#fff!important;border-color:hsla(0,0%,100%,.4)}.app-header__dashboard-link--active{background:hsla(0,0%,100%,.15)!important;color:#fff!important;border-color:hsla(0,0%,100%,.5)}.app-header__hamburger{display:none;background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem;z-index:1001;transition:transform .3s ease}.app-header__hamburger:hover{transform:scale(1.1)}.app-header__mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1100;backdrop-filter:blur(4px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-header__mobile-menu{position:absolute;top:0;right:0;bottom:0;width:85%;max-width:400px;background:linear-gradient(135deg,#99bcd6 -305%,#11487b);box-shadow:-4px 0 20px rgba(0,0,0,.3);display:flex;flex-direction:column;animation:slideIn .3s ease;overflow-y:auto}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.app-header__mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid hsla(0,0%,100%,.1)}.app-header__mobile-logo{height:45px;width:auto;filter:brightness(0) invert(1)}.app-header__mobile-close{background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.app-header__mobile-close:hover{transform:rotate(90deg)}.app-header__mobile-links{flex:1;padding:1.5rem 0;display:flex;flex-direction:column}.app-header__mobile-link{color:#fff;text-decoration:none;padding:1rem 1.5rem;font-size:1.1rem;font-weight:500;transition:all .2s ease;border-left:3px solid transparent}.app-header__mobile-link:hover{background:hsla(0,0%,100%,.1);border-left-color:#fff}.app-header__mobile-link--active{background:hsla(0,0%,100%,.15);border-left-color:#fff;font-weight:600}.app-header__mobile-link--dashboard{margin-top:1rem;border-top:1px solid hsla(0,0%,100%,.1);padding-top:1.5rem}.app-header__mobile-actions{padding:1.5rem;border-top:1px solid hsla(0,0%,100%,.1)}.app-header__mobile-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.app-header__mobile-btn--login{background:#fff;color:#11487b}.app-header__mobile-btn--login:hover{background:hsla(0,0%,100%,.9);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.app-header__mobile-btn--logout{background:hsla(0,0%,100%,.1);color:#fff;border:1px solid hsla(0,0%,100%,.3)}.app-header__mobile-btn--logout:hover{background:rgba(255,107,53,.2);border-color:rgba(255,107,53,.5)}.app-header__mobile-footer{padding:1.5rem;display:flex;justify-content:center;border-top:1px solid hsla(0,0%,100%,.1)}.app-header__mobile-brand-logo{filter:brightness(0) invert(1);opacity:.7}@media (max-width:1300px){.app-header__nav{gap:1.5rem}.app-header__nav-link{font-size:.95rem}.app-header__container{padding:0 2rem;gap:1.5rem}.app-header__actions{gap:.75rem}}@media (max-width:1600px){.app-header:after{right:-90px;width:32%}}@media (max-width:1400px){.app-header:after{right:-100px;width:34%}}@media (max-width:1200px){.app-header__nav{gap:1.2rem}.app-header__nav-link{font-size:.9rem}.app-header__container{padding:0 1.5rem}.app-header__logo-image{height:55px}.app-header__brand-logo{height:40px}.app-header:after{right:-110px;width:36%}}@media (max-width:1024px){.app-header__hamburger{display:block}.app-header:after,.app-header__nav{display:none}.app-header__container{padding:0 1rem;justify-content:space-between;max-width:100%;width:100%}.app-header__logo{order:2;flex:1 1 auto;justify-content:center;min-width:0}.app-header__hamburger{order:1;flex:0 0 auto;flex-shrink:0}.app-header__actions{order:3;flex:0 0 auto;display:flex!important;gap:0;margin-left:0;margin-right:0}.app-header__action-btn:not(:first-child),.app-header__brand,.app-header__dashboard-link{display:none!important}.app-header__action-btn:first-child{display:flex;width:36px;height:36px;flex-shrink:0}.app-header__logo-image{display:none}.app-header__logo:after{content:"";display:block;width:120px;height:40px;background:url(/images/u4h-logo.png) no-repeat 50%;background-size:contain;filter:brightness(0) invert(1)}}@media (max-width:768px){.app-header{height:80px}.app-header__container{padding:0 .75rem;gap:.5rem}.app-header__hamburger{padding:.25rem;flex-shrink:0}.app-header__logo:after{width:100px;height:35px}.app-header__action-btn:first-child{width:34px;height:34px;flex-shrink:0}.app-header__mobile-menu{width:90%}}@media (max-width:480px){.app-header__container{padding:0 .5rem}.app-header__logo:after{width:90px;height:32px}.app-header__action-btn:first-child{width:32px;height:32px;flex-shrink:0}.app-header__hamburger{padding:.2rem}.app-header__mobile-menu{width:95%}.app-header__mobile-link{font-size:1rem;padding:.875rem 1.25rem}.app-header__mobile-logo{height:40px}}@media (min-width:1920px){.app-header:after{right:-70px;width:28%}}@media (min-width:2560px){.app-header:after{right:-60px;width:26%}}