:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#312e2b;color:#fff;font-size:14px;line-height:1.4}.App{min-height:100vh;background:#101827}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;background:#101827;margin-left:200px;display:flex;flex-direction:column;min-height:100vh}.main-content.with-status-bar{margin-top:50px}.page-content{flex:1;min-height:0}.sidebar{width:200px;background:#1f2937;border-right:1px solid #374151;display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0;z-index:1000;overflow:visible;box-shadow:2px 0 4px #0000001a}.sidebar-brand{display:flex;align-items:center;gap:16px;padding:24px 8px;text-decoration:none;color:#fff;transition:all .2s ease}.sidebar-brand:hover{background:#ffffff14}.sidebar-brand .brand-icon{display:flex;align-items:center;justify-content:center}.brand-text{font-size:22px;font-weight:700;color:#fff;line-height:1.2}.sidebar-nav{flex:1;padding:8px 0;overflow:visible}.nav-group{margin-bottom:0;position:relative}.nav-group-header{width:100%;display:flex;align-items:center;gap:10px;padding:16px;background:none;border:none;color:#d1d5db;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;text-decoration:none;border-radius:0;margin:0;min-height:52px;position:relative;outline:none}.nav-group-header:hover{background:#ffffff1f;color:#fff;transform:translate(2px)}.nav-group-header.active{color:#e22f14;background:#e22f1426;border-right:none}.nav-group-header.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#e22f14}.nav-icon{font-size:16px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-label{flex:1;font-size:14px;font-weight:500}.expand-arrow{font-size:10px;transition:transform .15s ease;color:#a6a6a6;opacity:.7;width:12px;height:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-group:hover .expand-arrow,.nav-group-header.active .expand-arrow{transform:rotate(-90deg)}.nav-dropdown{position:fixed;top:0;left:200px;width:220px;height:100vh;background:#0f172a;border:1px solid #374151;border-left:none;box-shadow:4px 0 12px #0009;padding-top:16px;z-index:9999;display:flex;flex-direction:column;opacity:0;transform:translate(-8px);transition:opacity .15s ease,transform .15s ease}.nav-dropdown:before{content:"";position:absolute;top:0;left:-5px;width:5px;height:100%;background:transparent;z-index:-1}.nav-group:hover .nav-dropdown{opacity:1;transform:translate(0)}.nav-group:after{content:"";position:absolute;top:0;left:0;right:-10px;bottom:0;background:transparent;z-index:0;pointer-events:none}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#d1d5db;text-decoration:none;font-size:14px;font-weight:500;transition:all .15s ease;white-space:nowrap;min-height:36px;border-radius:6px;margin:0 16px 8px}.nav-item:hover{background:#ffffff26;transform:translate(2px)}.nav-item.active{background:#e22f14;color:#fff;font-weight:600}.nav-item.active .nav-icon{color:#fff}.nav-item:last-child{margin-bottom:0}.coming-soon-item{cursor:default!important;opacity:.6;color:#9ca3af!important;position:relative}.coming-soon-item:hover{background:#ffffff0d!important;transform:none!important;color:#9ca3af!important}.coming-soon-item:after{content:"⏰";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.7}.sidebar-user{padding:16px;display:flex;align-items:center;gap:10px;min-height:52px}.user-info{display:flex;align-items:center;gap:10px;flex:1}.user-avatar{width:28px;height:28px;border-radius:50%;background:#769656;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:12px}.user-details{flex:1}.username{font-weight:500;color:#fff;font-size:12px;display:flex;flex-direction:column;align-items:flex-start}.user-status{font-size:10px;color:#e22f14}.logout-btn{background:none;border:none;color:#9ca3af;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.logout-btn:hover{background:#ef44441a;color:#ef4444}.connection-status-indicator{display:flex;align-items:center;gap:4px;margin-bottom:2px}.status-dot{width:8px;height:8px;border-radius:50%;transition:all .3s ease}.status-dot.connected{background:#81b64c;box-shadow:0 0 8px #81b64c66;animation:pulse 2s ease-in-out infinite}.status-dot.disconnected{background:#666}.status-dot.error{background:#e74c3c;box-shadow:0 0 2px #e74c3c66}.status-text{font-size:10px;font-weight:400;color:#9ca3af}.status-dot.connected+.status-text{color:#e22f14}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#312e2b;padding:20px}.login-card{background:#262421;border-radius:8px;padding:40px;max-width:400px;width:100%;border:1px solid #3d3a37;box-shadow:0 8px 24px #0000004d}.login-header{text-align:center;margin-bottom:24px}.login-header .brand-icon{font-size:40px;width:64px;height:64px;margin:0 auto 16px;background:#81b64c;border-radius:8px;display:flex;align-items:center;justify-content:center}.login-title{font-size:28px;font-weight:700;color:#fff;margin-bottom:8px}.login-subtitle{color:#b8b5b2;font-size:14px;font-weight:400}.login-content h2{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px;text-align:center}.login-content p{color:#b8b5b2;font-size:14px;text-align:center;margin-bottom:24px;line-height:1.5}.features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.feature{display:flex;align-items:center;gap:8px;padding:12px;background:#3d3a37;border-radius:6px;border:1px solid #4a4643}.feature-icon{font-size:18px}.feature span:last-child{font-weight:500;color:#fff;font-size:13px}.login-button{width:100%;background:#e22f14;color:#fff;border:none;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.login-button:hover{background:#b8251a;transform:translateY(-1px)}.loading-spinner{display:flex;align-items:center;justify-content:center;color:#b8b5b2;font-size:14px;gap:12px;opacity:0;animation:fadeInLoading .4s ease-out forwards}.loading-spinner:before{content:"";width:18px;height:18px;border:2px solid transparent;border-top:2px solid #81b64c;border-right:2px solid #81b64c;border-radius:50%;animation:professionalSpin .8s cubic-bezier(.68,-.55,.265,1.55) infinite}@keyframes professionalSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInLoading{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.sidebar{width:180px}.main-content{margin-left:180px}.features{grid-template-columns:1fr}}@media (max-width: 768px){.sidebar{width:100%;position:relative;height:auto}.main-content{margin-left:0}.app-layout{flex-direction:column}.login-card{padding:24px;margin:16px}.login-title{font-size:24px}.features{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.pulse{animation:pulse 2s ease-in-out infinite}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#2d2b28cc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeInLoading .3s ease-out}.loading-overlay .loading-spinner{background:#3d3a37e6;padding:24px 32px;border-radius:12px;border:1px solid #4a453e;box-shadow:0 8px 24px #0000004d}.card{background:#262421;border:1px solid #3d3a37;border-radius:12px;box-shadow:0 4px 16px #0000004d;overflow:hidden}.card-header{background:#3d3a37;padding:1rem 1.25rem;border-bottom:1px solid #4a4643;display:flex;align-items:center;justify-content:space-between}.card-title{font-size:1.125rem;font-weight:600;color:#fff;margin:0}.page-header{text-align:center;margin-bottom:2rem;padding:2rem 1rem}.page-title{font-size:2rem;font-weight:700;color:#fff;margin:0 0 .5rem}.page-subtitle{font-size:1rem;color:#b8b5b2;margin:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.w-full{width:100%}.h-full{height:100%}.rounded{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.shadow{box-shadow:0 1px 3px #0000001a}.shadow-lg{box-shadow:0 10px 15px #0000001a}.shadow-xl{box-shadow:0 20px 25px #0000001a}.global-status-bar{position:fixed;top:0;left:200px;right:0;height:80px;background:#101827;border-bottom:1px solid #1F2937;z-index:998;box-sizing:border-box}.status-content{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 40px}.status-content .welcome-section{display:flex;flex-direction:column;justify-content:center}.status-content .welcome-section h2{font-size:24px;font-weight:700;color:#fff;margin:0 0 4px;line-height:1.2}.status-content .welcome-section p{font-size:16px;color:#b8b5b2;margin:0;line-height:1.2}.clickable-username-dashboard{color:#60a5fa;cursor:pointer;text-decoration:none;border-bottom:1px solid #60A5FA;transition:all .3s ease}.clickable-username-dashboard:hover{color:#93c5fd;border-bottom-color:#93c5fd}.status-info{display:flex;align-items:center;gap:24px}.status-item{display:flex;align-items:center;gap:8px}.status-badge{background:#60a5fa;color:#fff;padding:4px 12px;border-radius:12px;font-size:14px;font-weight:600}.status-label{color:#9ca3af;font-size:14px}.status-value{color:#ef4444;font-size:24px;font-weight:700}@media (max-width: 1024px){.global-status-bar{left:180px}}@media (max-width: 768px){.global-status-bar{left:0;position:relative;height:auto;min-height:80px}.main-content{margin-top:0}.status-content{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.status-content .welcome-section h2{font-size:20px}.status-content .welcome-section p{font-size:14px}}
