body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-layout{background-color:#343a40;display:flex;flex-direction:column;min-height:100vh;position:relative}.content{background-color:#fff;box-sizing:border-box;flex:1 1}.content-desktop{margin-left:200px;padding:90px 20px 20px;width:calc(100% - 200px)}.content-mobile{margin-left:0;padding:50px 20px 20px;width:100%}.app-header{background:linear-gradient(45deg,#222 30%,#667eea);box-sizing:border-box;color:#fff;height:70px;justify-content:space-between;left:0;padding:10px 20px;position:fixed;top:0;width:100%;z-index:1000}.app-header,.header-brand{align-items:center;display:flex}.header-brand{gap:15px}.header-logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));height:80px;margin-right:0;padding-bottom:0;transition:transform .3s ease;width:auto}.header-logo:hover{transform:scale(1.05)}.header-title{color:#fff;font-size:1.8rem;font-weight:600;letter-spacing:.5px;line-height:1.2;margin:0;text-shadow:0 2px 4px #0000004d}.header-user{align-items:center;display:flex;margin-left:auto}.authenticated-user,.guest-user{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;display:flex;padding:8px 16px;transition:all .3s ease}.authenticated-user:hover,.guest-user:hover{background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.lock-icon{font-size:1.2rem;margin-left:10px}.authenticated-user i{font-size:1.2rem;margin-right:8px}.mobile-nav-bar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 20px #0000004d;box-sizing:border-box;color:#fff;display:flex;height:60px;justify-content:space-between;left:0;padding:10px 20px;position:fixed;right:0;top:0;z-index:1000}.mobile-menu-title,.mobile-nav-title{font-size:1.3rem;font-weight:600;text-shadow:0 2px 4px #0000004d}.menu-close,.menu-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:1.3rem;padding:8px;transition:all .3s ease}.menu-close:hover,.menu-toggle:hover{background:#ffffff4d;transform:scale(1.1)}.mobile-menu-overlay{color:#fff;height:100vh;left:0;overflow-y:auto;position:fixed;width:100vw;z-index:999}.mobile-menu-header,.mobile-menu-overlay{background:linear-gradient(135deg,#667eea,#764ba2);box-sizing:border-box;top:0}.mobile-menu-header{align-items:center;border-bottom:1px solid #ffffff4d;display:flex;height:70px;justify-content:space-between;padding:15px 20px;position:sticky}.mobile-menu-content{box-sizing:border-box;padding:20px}.side-menu{-ms-overflow-style:none;background:linear-gradient(180deg,#222 20%,#667eea);box-shadow:2px 0 10px #0000004d;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:space-between;left:0;overflow-y:auto;padding-top:70px;position:fixed;scrollbar-width:none;top:0;width:200px}.side-menu::-webkit-scrollbar{display:none}.menu-items{flex:1 1;padding-bottom:0}.menu-footer{background:#0000;color:#fffc;font-size:.5em;padding:15px 20px 20px;text-align:center}.menu-link,.nav-link{box-sizing:border-box;color:#fff;display:block;position:relative;text-decoration:none;transition:all .3s ease}.menu-link:hover,.nav-link:hover{background:linear-gradient(90deg,#667eea4d,#764ba24d);padding-left:25px}.menu-link.level-0{border-bottom:1px solid #ffffff1a;font-size:1rem;font-weight:500;padding:15px 20px}.nav-link.level-0{font-size:1rem;font-weight:400;padding:6px 20px}.menu-link.level-1,.nav-link.level-1{background:#0000001a;font-size:.9rem;padding:10px 20px}.menu-link.level-1:hover,.nav-link.level-1:hover{background:linear-gradient(90deg,#667eea66,#764ba266)}.submenu{background:#0000000d;padding-left:15px}*{box-sizing:border-box}body,html{max-width:100%;overflow-x:hidden}@media (max-width:768px){.content-desktop{margin-left:0;padding:60px 15px 15px;width:100%}.header-logo{height:50px}.header-title{font-size:1.4rem}.mobile-menu-title,.mobile-nav-title{font-size:1.2rem}.app-header{height:65px;padding:8px 15px}}.login-container{align-items:center;background:linear-gradient(135deg,#7f08ff,#ff671f);bottom:0;display:flex;height:100vh;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.login-form{background:#fff;border-radius:10px;box-shadow:0 10px 20px rgba(20,13,13,.966);max-width:400px;padding:40px;text-align:center;width:100%}h2{color:#333;font-size:2rem}.form-group,h2{margin-bottom:20px}.form-group{text-align:left}label{color:#555;font-size:.9rem}input{border:1px solid #ccc;border-radius:5px;font-size:1rem;margin-top:5px;padding:10px;width:100%}input:focus{border-color:#2575fc;outline:none}button.login-btn{background-color:#2575fc;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px;transition:background-color .3s ease;width:100%}button.login-btn:hover{background-color:#6a11cb}.error-message{color:red;font-size:.9rem;margin-bottom:15px}.forgot-password{margin-top:20px}.forgot-password a{color:#2575fc;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;vertical-align:middle;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-btn:disabled{cursor:not-allowed;opacity:.7}.header{align-items:center;background-color:#343a40;color:#fff;display:flex;height:60px;justify-content:space-between;padding:10px 20px;position:fixed;width:100%;z-index:1000}.header img{height:70px;margin-right:15px}.header h1{color:#fff;font-size:1.5rem;line-height:1;margin:0;padding:0}.right-section{align-items:center;color:#fff;display:flex;font-size:1rem;margin-left:auto;padding-right:2em}.fas.fa-user{font-size:1.2rem;margin-right:8px}.fas.fa-user:hover,.lock-icon:hover{color:#ccc}