*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#1e293b,#2a3441 50%,#1e293b);background-attachment:fixed;color:#ffffffe6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.sidebar{background-color:#1e293b;border-right:1px solid #334155;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:260px}.sidebar-logo{align-items:center;border-bottom:1px solid #334155;display:flex;gap:12px;padding:24px}.sidebar-logo img{height:40px;width:40px}.sidebar-brand h2{color:#fff;font-size:1.25rem;font-weight:700;margin:0}.sidebar-brand span{color:#94a3b8;font-size:.75rem}.sidebar-menu{flex:1 1;overflow-y:auto;padding:16px}.sidebar-menu-item{align-items:center;border-radius:8px;color:#94a3b8;display:flex;margin-bottom:4px;padding:12px 16px;text-decoration:none;transition:all .2s}.sidebar-menu-item:hover{background-color:#334155;color:#fff}.sidebar-menu-item.active{background-color:#3b82f6;color:#fff}.sidebar-menu-item svg{height:20px;margin-right:12px;width:20px}.sidebar-footer{border-top:1px solid #334155;padding:16px}.sidebar-user-info p{font-size:.875rem;margin:0}.sidebar-user-info .username{color:#fff;font-weight:600}.sidebar-user-info .role{color:#94a3b8;font-size:.75rem;text-transform:uppercase}.header{align-items:center;background-color:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px 0 #0000001a;display:flex;height:64px;justify-content:space-between;left:260px;padding:0 24px;position:fixed;right:0;top:0;z-index:1000}.header-title{color:#1e293b;font-size:1.25rem;font-weight:600}.header-actions{gap:16px}.header-notifications{cursor:pointer;position:relative}.header-notifications .badge{align-items:center;background-color:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:600;height:18px;justify-content:center;position:absolute;right:-4px;top:-4px;width:18px}.header-user{align-items:center;cursor:pointer;display:flex;gap:12px}.header-user-info{text-align:right}.header-user-name{color:#1e293b;font-size:.875rem;font-weight:600}.header-user-role{color:#64748b;font-size:.75rem;text-transform:uppercase}.header-avatar{align-items:center;background-color:#3b82f6;border-radius:50%;color:#fff;display:flex;font-weight:600;height:32px;justify-content:center;width:32px}.dashboard-layout{background-color:#f1f5f9;display:flex;min-height:100vh}.dashboard-main{display:flex;flex:1 1;flex-direction:column;margin-left:260px;min-height:100vh}.dashboard-content{flex:1 1;margin-top:64px;padding:24px}@media (max-width:768px){.dashboard-main{margin-left:0}.dashboard-content{padding:16px}}.auth-container{align-items:center;background:linear-gradient(135deg,#1e3a8a,#3b82f6 50%,#8b5cf6);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.auth-container:before{animation:particleFloat 20s linear infinite;background-image:radial-gradient(circle,#ffffff1a 1px,#0000 0);background-size:50px 50px;content:"";height:100%;position:absolute;width:100%}@keyframes particleFloat{0%{transform:translateY(0)}to{transform:translateY(-50px)}}.auth-glass-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffc2;border:1px solid #fff6;border-radius:24px;box-shadow:0 8px 32px 0 #1f268780,inset 0 0 20px #ffffff1a;max-width:450px;padding:3rem 2.5rem;position:relative;width:100%;z-index:1}.auth-logo{align-items:center;display:flex;flex-direction:column;margin-bottom:1rem}.logo-image{filter:drop-shadow(0 4px 20px rgba(59,130,246,.6));height:80px;margin-bottom:.8rem;width:80px}.auth-title{color:#1e293b;font-size:2.2rem;font-weight:900;letter-spacing:.1em;margin:0;text-align:center;text-shadow:none}.auth-subtitle{color:#475569;font-size:.95rem;letter-spacing:.05em;margin-bottom:2.5rem;text-align:center;text-transform:uppercase}.auth-form,.form-group{margin-bottom:1.5rem}.form-group label{color:#1e293b;display:block;font-size:.9rem;font-weight:500;letter-spacing:.03em;margin-bottom:.6rem}.form-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:2px solid #94a3b866;border-radius:12px;color:#1e293b;font-size:1rem;font-weight:500;padding:.9rem 1rem;transition:all .3s ease;width:100%}.form-input::placeholder{color:#1e293b80;font-weight:400}.form-input:focus{background:#ffffffb3;border-color:#3b82f699;box-shadow:0 0 20px #3b82f64d;outline:none}.form-input:disabled{cursor:not-allowed;opacity:.6}.auth-error{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ef444426;border:1px solid #ef444466;border-radius:12px;color:#dc2626;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-bottom:1rem;padding:.9rem 1rem}.error-icon{font-size:1.2rem}.btn-submit{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#3b82f6cc,#8b5cf6cc);border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 4px 15px #3b82f666;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-transform:uppercase;transition:all .3s ease;width:100%}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 6px 25px #3b82f699;transform:translateY(-2px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.auth-footer{border-top:1px solid #64748b33;margin-top:1rem;padding-top:1.5rem}.auth-info{color:#64748b;font-size:.85rem;letter-spacing:.03em;margin:0;text-align:center}@media (max-width:600px){.auth-container{padding:1rem}.auth-glass-card{padding:2.5rem 1.5rem}.auth-title{font-size:1.8rem}.logo-hexagon{font-size:3rem}.auth-subtitle{font-size:.85rem}}.App{display:flex;flex-direction:column;min-height:100vh}.app-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#216099;border-bottom:1px solid #21609980;box-shadow:0 2px 8px #21609966;color:#fff;display:flex;justify-content:space-between;padding:.6rem 1.2rem;position:relative}.app-header:after{background:linear-gradient(90deg,#0000,#93c5fd80,#0000);bottom:-1px;content:"";height:1px;left:0;position:absolute;right:0}.app-header h1{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.1rem;font-weight:700;gap:.8rem;letter-spacing:1.5px;margin:0;text-shadow:0 2px 8px #0009}.xop-logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));height:40px;transition:transform .3s ease;width:auto}.xop-logo:hover{transform:scale(1.05)}.brand-name{display:flex;flex-direction:column;line-height:1.2}.brand-name-main{color:#fff;font-size:1.1rem;font-weight:700}.brand-name-sub{color:#ffffffb3;font-size:.65rem;font-weight:400;letter-spacing:2px;text-transform:uppercase}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.header-actions{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.header-stats{border-right:1px solid #ffffff1a;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;gap:1.5rem;margin-right:1.5rem;padding-right:1.5rem}.stat-item{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;display:flex;flex-direction:column;gap:.2rem;padding:.3rem .8rem;transition:all .3s ease}.stat-item:hover{background:#ffffff1f;border-color:#93c5fd66;transform:translateY(-1px)}.stat-label{color:#fff9;font-size:.65rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#93c5fd;font-size:1.1rem;font-weight:700;line-height:1}.btn-logout,.btn-refresh{border:none;border-radius:6px;box-shadow:0 2px 4px #0003;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.5px;overflow:hidden;padding:.5rem 1rem;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-logout:before,.btn-refresh:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-logout:hover:before,.btn-refresh:hover:before{height:300px;width:300px}.btn-refresh{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff}.btn-refresh:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.btn-refresh:active:not(:disabled){transform:translateY(0)}.btn-refresh:disabled{background:linear-gradient(135deg,#555,#666);cursor:not-allowed;opacity:.5}.btn-logout{background:linear-gradient(135deg,#d63031,#ff6b6b);color:#fff}.btn-logout:hover{box-shadow:0 4px 8px #d6303166;transform:translateY(-2px)}.error-message{align-items:center;background-color:#2a1515;border:1px solid #d63031;color:#ff6b6b;display:flex;font-family:Courier New,monospace;font-size:.85rem;justify-content:space-between;margin:0;padding:.5rem 1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-close{background:none;border:none;color:#c33;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 .5rem}.btn-close:hover{color:#a11}.loading-message{background-color:#1a1a1a;color:#00a86b;font-family:Courier New,monospace;font-size:.9rem;padding:1rem;text-align:center}.content-container{background:linear-gradient(135deg,#1e293b,#334155);display:flex;flex:1 1;gap:1px;min-height:calc(100vh - 120px);padding:0}.map-container{flex:1 1;max-width:50%;min-width:50%;position:relative}.list-container{background:#1e293b99;max-width:50%;min-width:50%}.map-container:after{background:linear-gradient(180deg,#0000,#00a86b4d,#0000);bottom:0;content:"";position:absolute;right:0;top:0;width:1px}.list-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f141980;flex:1 1;min-width:0;overflow-y:auto}.no-devices-message{color:#999;font-size:1.1rem;padding:3rem;text-align:center}@media (max-width:1024px){.content-container{flex-direction:column}.list-container{max-width:100%;min-width:100%}}@media (max-width:768px){.app-header{align-items:flex-start;flex-direction:column;gap:1rem}.app-header h1{font-size:1.5rem}.header-actions{justify-content:flex-end;width:100%}.search-container{align-items:stretch;flex-direction:column}.btn-clear-search{width:100%}.content-container{padding:1rem}}
/*# sourceMappingURL=main.546c9b2f.css.map*/