*{box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}*,body{margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;overflow-x:hidden}#app{margin:0}#app,.app-layout{display:flex;min-height:100vh;width:100%}.app-layout{position:relative}.app-layout .main-content{flex:1;padding:0;margin-left:70px;transition:margin-left .3s ease,width .3s ease;display:flex;flex-direction:column;width:calc(100% - 70px);min-height:100vh}.app-layout .sidebar-menu.expanded~.main-content{margin-left:200px;width:calc(100% - 200px)}.app-layout .main-content>*{width:100%;max-width:none}.app-layout .header{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px 30px;box-shadow:0 10px 30px rgba(0,0,0,.2);display:flex;justify-content:center;align-items:center;width:100%;color:#fff;border-radius:0;margin:0;text-align:center}.app-layout .header h1{color:#fff;font-size:2rem;font-weight:600;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2);text-align:center}.app-layout .page-content{width:100%;padding:20px 30px;flex:1}.app-layout .page{background:hsla(0,0%,100%,.95);border-radius:15px;padding:25px;margin-bottom:20px;box-shadow:0 5px 15px rgba(0,0,0,.1);width:100%}.app-layout .error-banner{background-color:#ffebee;color:#c62828;padding:15px 20px;border-radius:8px;margin:0 30px 20px 30px;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #c62828;width:calc(100% - 60px)}.app-layout .close-btn{background:none;border:none;color:#c62828;font-size:24px;cursor:pointer;padding:0 5px}.app-layout .close-btn:hover{color:#b71c1c}.app-layout .footer{text-align:center;margin-top:40px;color:hsla(0,0%,100%,.8);font-size:.9rem;padding:20px;width:100%}.app-layout .sidebar-menu{position:fixed;top:0;left:0;height:100vh;width:70px;background:linear-gradient(180deg,rgba(44,62,80,.95),rgba(26,37,48,.95));color:#ecf0f1;transition:width .3s ease;overflow-x:hidden;overflow-y:auto;z-index:1000;box-shadow:3px 0 15px rgba(0,0,0,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.app-layout .sidebar-menu.expanded{width:200px}.app-layout .menu-items{list-style:none;padding:20px 0;height:calc(100vh - 180px);overflow-y:auto;overflow-x:hidden;width:100%}.app-layout .menu-item{margin-bottom:5px;padding:0 10px;position:relative}.app-layout .menu-link{display:flex;align-items:center;padding:12px 10px;color:#bdc3c7;text-decoration:none;border-radius:8px;transition:all .2s ease;white-space:nowrap;overflow:hidden;cursor:pointer}.app-layout .menu-link:hover{background-color:hsla(0,0%,100%,.1);color:#fff}.app-layout .menu-item.active .menu-link{background-color:#3498db;color:#fff;box-shadow:0 4px 12px rgba(52,152,219,.3)}.app-layout .menu-link i{font-size:18px;width:20px;min-width:20px;text-align:center;margin-right:10px}.app-layout .menu-text{font-size:1rem;font-weight:500;opacity:0;transform:translateX(-10px);transition:opacity .3s ease,transform .3s ease}.app-layout .sidebar-menu.expanded .menu-text{opacity:1;transform:translateX(0)}.app-layout .menu-footer{position:absolute;bottom:0;left:0;width:100%;padding:15px;border-top:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.2);display:flex;flex-direction:column;gap:10px}.app-layout .user-info{display:flex;align-items:center;gap:12px}.app-layout .user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;flex-shrink:0}.app-layout .user-details{overflow:hidden;opacity:0;transform:translateX(-10px);transition:opacity .3s ease,transform .3s ease}.app-layout .sidebar-menu.expanded .user-details{opacity:1;transform:translateX(0)}.app-layout .user-name{font-weight:600;font-size:.9rem;color:#fff;margin:0}.app-layout .user-name,.app-layout .user-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-layout .user-role{font-size:.8rem;color:hsla(0,0%,100%,.7);margin:2px 0 0 0}.app-layout .logout-button{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(220,53,69,.2);border:1px solid rgba(220,53,69,.3);border-radius:6px;color:#ff6b6b;cursor:pointer;transition:all .3s ease;width:100%;margin-top:5px}.app-layout .logout-button:hover{background:rgba(220,53,69,.3);border-color:rgba(220,53,69,.5);color:#ff8585;transform:translateY(-2px)}.app-layout .logout-icon{font-size:1.2rem}.app-layout .logout-text{font-size:.9rem;font-weight:500}.app-layout .sidebar-menu:not(.expanded) .logout-text{display:none}.app-layout .sidebar-menu:not(.expanded) .logout-button{justify-content:center;padding:8px}.app-layout .sidebar-menu:not(.expanded) .logout-icon{margin:0}.icon-dashboard:before{content:"🛠"}.icon-profile:before{content:"🧾"}.icon-messages:before{content:"📂"}.icon-tasks:before{content:"📈"}.icon-calendar:before{content:"📝"}.icon-settings:before{content:"⚙"}.icon-files:before{content:"📟"}.icon-help:before{content:"❓"}.icon-user:before{content:"👤"}.icon-book:before{content:"📚"}.icon-production:before{content:"🏭"}.app-layout .disabled-badge{margin-left:8px;font-size:.8rem;color:#ff6b6b}.app-layout .menu-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.app-layout .menu-item.disabled .menu-link{color:#999}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);width:100%;position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000}.login-container *{box-sizing:border-box}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.1);width:100%;max-width:420px;padding:40px;animation:slideUp .5s ease;margin:auto;position:relative}.login-header{text-align:center;margin-bottom:30px}.logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.logo-icon{font-size:2.5rem}.logo h1{margin:0;color:#333;font-size:1.8rem;font-weight:600}.subtitle{color:#666;font-size:.95rem;margin:0}.error-message{background:#fef2f2;border-left:4px solid #ef4444;color:#b91c1c;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{display:flex;align-items:center;gap:8px;font-weight:600;color:#374151;font-size:.9rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding:12px 16px;padding-right:45px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s;background:#f9fafb}.input-wrapper input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:1.1rem;padding:4px;color:#6b7280}.form-options{justify-content:space-between;margin-top:10px}.form-options,.remember-me{display:flex;align-items:center}.remember-me{gap:8px;color:#4b5563;font-size:.9rem;cursor:pointer}.remember-me input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.forgot-password{color:#667eea;text-decoration:none;font-size:.9rem;font-weight:600}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s;margin-top:10px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px rgba(102,126,234,.3)}.login-footer{margin-top:30px;text-align:center;color:#9ca3af;font-size:.8rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.app-layout .sidebar-menu{width:60px}.app-layout .sidebar-menu.expanded{width:200px}.app-layout .main-content{margin-left:60px;width:calc(100% - 60px)}.app-layout .header{padding:15px 20px}.app-layout .header h1{font-size:1.5rem}.app-layout .page-content{padding:15px 20px}.app-layout .error-banner{margin:0 20px 20px 20px;width:calc(100% - 40px)}}