body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-container{max-width:450px;width:100%}.login-card{animation:slideUp .5s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:2.5rem}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:2rem;text-align:center}.login-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;margin-bottom:.5rem}.login-header p{color:#7f8c8d;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input{background:#fff;border:2px solid #ecf0f1;border-radius:10px;font-size:1rem;padding:.9rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background:#f8f9fa;cursor:not-allowed}.error-message{align-items:center;animation:shake .5s ease;background:#fee;border:1px solid #e74c3c;border-radius:8px;color:#c0392b;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1rem;padding:.8rem 1rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.error-icon{font-size:1.2rem}.login-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.login-btn:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.7}.login-footer{margin-top:1.5rem;text-align:center}.demo-note{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:.85rem;line-height:1.5;padding:.8rem 1rem}.demo-note strong{color:#d68910}@media (max-width:480px){.login-card{padding:2rem 1.5rem}.login-header h2{font-size:1.6rem}}.machine-list{margin:0 auto;max-width:1200px;padding:2rem}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.list-header h2{color:#2c3e50;font-size:1.8rem;margin:0}.agent-count{background:#3498db;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.machines-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.machine-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:all .3s ease}.machine-card:hover{border-color:#3498db;box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.machine-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.machine-header h3{color:#2c3e50;font-size:1.2rem;margin:0}.status-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:.4rem .8rem}.status-badge.online{background:#d4edda;color:#155724}.machine-info{margin-bottom:1.5rem}.info-row{display:flex;font-size:.9rem;justify-content:space-between;padding:.5rem 0}.info-row .label{color:#7f8c8d;font-weight:500}.info-row .value{color:#2c3e50;font-weight:600;text-align:right}.connect-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.8rem;transition:all .3s ease;width:100%}.connect-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:scale(1.02)}.connect-btn:disabled{cursor:not-allowed;opacity:.7}.btn-spinner{animation:spin .6s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;height:16px;width:16px}.loading-container{align-items:center;color:#7f8c8d;display:flex;flex-direction:column;justify-content:center;padding:4rem}.spinner{animation:spin .8s linear infinite;border:4px solid #ecf0f1;border-radius:50%;border-top-color:#3498db;height:50px;margin-bottom:1rem;width:50px}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.error-container h3{color:#e74c3c;margin-bottom:.5rem}.error-container p{color:#7f8c8d;margin-bottom:1.5rem}.retry-btn{background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:all .3s ease}.retry-btn:hover{background:#2980b9;transform:scale(1.05)}.empty-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-container h3{color:#2c3e50;margin-bottom:.5rem}.empty-container p{color:#7f8c8d}.header-actions{align-items:center;display:flex;gap:1rem}.change-pass-btn{background-color:#6c757d;font-size:.9rem;padding:.5rem 1rem;width:auto}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;position:relative;width:90%}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;padding:0;position:absolute;right:10px;top:10px;width:auto}.close-btn:hover{background:none;color:#333}.remote-desktop{background-color:#1a1a1a;color:#fff;display:flex;flex-direction:column;height:100vh}.desktop-header{background:linear-gradient(135deg,#2c3e50,#34495e);border-bottom:2px solid #3498db;box-shadow:0 2px 10px #0000004d;justify-content:space-between;padding:1rem 1.5rem}.desktop-header,.header-left{align-items:center;display:flex}.header-left{gap:1rem}.desktop-header h2{font-size:1.3rem;font-weight:600;margin:0}.session-id{background:#3498db33;border:1px solid #3498db;border-radius:8px;color:#3498db;font-family:monospace;font-size:.85rem;padding:.4rem .8rem}.status-container{display:flex;flex:1 1;justify-content:center}.status{align-items:center;border-radius:20px;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.5rem 1rem}.status.success{background:#2ecc7133;border:1px solid #2ecc71;color:#2ecc71}.status.error{background:#e74c3c33;border:1px solid #e74c3c;color:#e74c3c}.controls{display:flex;gap:.5rem}.control-btn,.disconnect-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1rem;transition:all .3s ease}.control-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.control-btn:hover{box-shadow:0 4px 12px #3498db66;transform:translateY(-2px)}.disconnect-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.disconnect-btn:hover{box-shadow:0 4px 12px #e74c3c66;transform:translateY(-2px)}.error-banner{align-items:center;animation:slideDown .3s ease;background:linear-gradient(135deg,#e74c3c,#c0392b);display:flex;gap:1rem;padding:1rem 1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.error-icon{font-size:1.5rem}.error-close{background:#fff3;border:1px solid #fff;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-left:auto;padding:.5rem 1rem;transition:all .3s ease}.error-close:hover{background:#ffffff4d}.video-container{background:radial-gradient(circle,#2c3e50 0,#1a1a1a 100%);flex-grow:1;overflow:hidden;position:relative}.loading-overlay,.video-container{align-items:center;display:flex;justify-content:center}.loading-overlay{background:#1a1a1af2;bottom:0;flex-direction:column;left:0;position:absolute;right:0;top:0;z-index:10}.spinner-large{animation:spin .8s linear infinite;border:4px solid #3498db33;border-radius:50%;border-top-color:#3498db;height:60px;margin-bottom:1.5rem;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay p{color:#3498db;font-size:1.1rem;font-weight:500}.remote-video{background:#000;height:100%;object-fit:contain;width:100%}.desktop-footer{background:linear-gradient(135deg,#2c3e50,#34495e);border-top:2px solid #3498db;display:flex;justify-content:center;padding:.8rem 1.5rem}.footer-info{color:#95a5a6;font-size:.85rem;gap:1rem}.footer-info,.footer-info span{align-items:center;display:flex}.footer-info span{gap:.3rem}.remote-video:fullscreen{object-fit:contain}.remote-video:-webkit-full-screen{object-fit:contain}@media (max-width:768px){.desktop-header{flex-direction:column;gap:.5rem;padding:.8rem}.header-left{justify-content:space-between;width:100%}.controls,.status-container{width:100%}.controls{justify-content:space-between}.control-btn,.disconnect-btn{flex:1 1;font-size:.8rem;padding:.5rem}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{min-height:100vh}.App{display:flex;flex-direction:column}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:2rem}.header-content{margin:0 auto;max-width:1200px}.App-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:.5rem}.subtitle{color:#7f8c8d;font-size:1.1rem;font-weight:500}.App-main{background:#ffffffe6;border-radius:20px;box-shadow:0 8px 32px #0000001a;flex:1 1;margin:2rem;overflow:hidden}.App-footer,.App-main{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.App-footer{align-items:center;background:#fffffff2;color:#7f8c8d;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;padding:1rem 2rem;text-align:center}.status-dot{animation:pulse 2s infinite;background:#2ecc71;border-radius:50%;display:inline-block;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.App-header h1{font-size:1.8rem}.subtitle{font-size:.9rem}.App-main{margin:1rem}}
/*# sourceMappingURL=main.ade46f8d.css.map*/