@tailwind base;@tailwind components;@tailwind utilities;:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--secondary-color: #6b7280;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--background-color: #f8fafc;--surface-color: #ffffff;--text-primary: #1f2937;--text-secondary: #6b7280;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background-color);color:var(--text-primary);line-height:1.6}.loading-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--surface-color);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-section{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-container{background:var(--surface-color);padding:2rem;border-radius:1rem;box-shadow:var(--shadow-lg);width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.login-header p{color:var(--text-secondary);font-size:.875rem}.auth-tabs{display:flex;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.auth-tab{flex:1;padding:.75rem;background:none;border:none;cursor:pointer;font-weight:500;color:var(--text-secondary);transition:all .2s}.auth-tab.active{color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;transition:border-color .2s}.auth-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.auth-help{margin-top:1rem;text-align:center;font-size:.875rem;color:var(--text-secondary)}.auth-help a{color:var(--primary-color);text-decoration:none}.auth-help a:hover{text-decoration:underline}.main-app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface-color);border-bottom:1px solid var(--border-color);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.header-left{display:flex;align-items:center;gap:2rem}.header-left h1{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.connection-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--secondary-color);transition:background-color .2s}.connection-status.connecting .status-indicator{background:var(--warning-color);animation:pulse 2s infinite}.connection-status.connected .status-indicator{background:var(--success-color)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.header-right{display:flex;align-items:center;gap:1rem}.user-info{font-size:.875rem;color:var(--text-secondary)}.header-controls{display:flex;align-items:center;gap:1rem}.header-controls .connection-status{margin-right:1rem}.app-main{flex:1;display:flex;height:calc(100vh - 80px)}.app-sidebar{width:900px;min-width:900px;max-width:900px;background:var(--surface-color);border-right:1px solid var(--border-color);padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.sidebar-section{margin-bottom:1.5rem;background:var(--background-color);border-radius:.75rem;padding:1rem;border:1px solid var(--border-color)}.sidebar-section h3{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.status-grid{display:grid;gap:1rem}.status-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--background-color);border-radius:.5rem;font-size:.875rem}.status-item label{color:var(--text-secondary)}.status-item span{font-weight:500;color:var(--text-primary)}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.control-grid .btn{padding:.5rem;font-size:.875rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.app-content{flex:1;display:flex;flex-direction:column;background:var(--surface-color)}.content-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--surface-color)}.content-tab{padding:1rem 1.5rem;background:none;border:none;cursor:pointer;font-weight:500;color:var(--text-secondary);transition:all .2s;border-bottom:2px solid transparent}.content-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-content{flex:1;display:none;padding:1.5rem;overflow:hidden}.tab-content.active{display:flex;flex-direction:column}.editor-container{flex:1;display:flex;flex-direction:column}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.editor-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.editor-actions{display:flex;gap:.75rem}.editor-workspace{flex:1;border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden;min-height:400px}#monaco-editor{width:100%;height:100%}.execution-status{margin-top:1rem;padding:1rem;background:var(--background-color);border-radius:.5rem}.progress-bar{width:100%;height:4px;background:var(--border-color);border-radius:2px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--primary-color);transition:width .3s ease;width:0}.progress-text{font-size:.875rem;color:var(--text-secondary)}.logs-container{flex:1;display:flex;flex-direction:column}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.logs-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.logs-actions{display:flex;gap:.75rem}.logs-content{flex:1;background:var(--text-primary);color:#0f0;font-family:JetBrains Mono,monospace;font-size:.875rem;padding:1rem;border-radius:.5rem;overflow-y:auto;min-height:400px}.log-entry{display:flex;gap:.75rem;padding:.5rem;border-bottom:1px solid var(--border-color);font-family:JetBrains Mono,monospace;font-size:.85rem}.log-timestamp{color:var(--text-secondary);min-width:80px}.log-type{min-width:80px;padding:.25rem .5rem;border-radius:.25rem;font-weight:500;text-align:center}.log-serial{background:var(--primary-color);color:#fff}.log-command{background:var(--success-color);color:#fff}.log-error{background:var(--danger-color);color:#fff}.log-info{background:var(--secondary-color);color:#fff}.log-message{flex:1;color:var(--text-primary);word-break:break-word}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover:not(:disabled){background:var(--background-color)}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-info{background:#0ea5e9;color:#fff}.btn-info:hover:not(:disabled){background:#0284c7}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-emergency{background:var(--danger-color);color:#fff;animation:pulse-red 2s infinite}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.8}}.btn.loading{position:relative;color:transparent}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;color:#fff}.w-full{width:100%}.notifications-container{position:fixed;top:1rem;right:1rem;z-index:1000;max-width:400px}.notification{background:var(--surface-color);border-radius:.5rem;box-shadow:var(--shadow-lg);margin-bottom:1rem;overflow:hidden;animation:slideIn .3s ease-out}.notification-success{border-left:4px solid var(--success-color)}.notification-error{border-left:4px solid var(--danger-color)}.notification-warning{border-left:4px solid var(--warning-color)}.notification-content{padding:1rem;position:relative}.notification-content h4{font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.notification-content p{color:var(--text-secondary);font-size:.875rem}.notification-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-close:hover{color:var(--text-primary)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.modal-container{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:1000}.modal-container.show{display:flex}.modal{background:var(--surface-color);border-radius:.5rem;max-width:500px;width:90%;max-height:90%;overflow:hidden;box-shadow:var(--shadow-lg)}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem}.troubleshooting-modal{background:var(--surface-color);border-radius:.5rem;max-width:600px;width:90%;padding:2rem;box-shadow:var(--shadow-lg)}.troubleshooting-modal h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.troubleshooting-modal ol{margin:1rem 0;padding-left:1.5rem}.troubleshooting-modal li{margin-bottom:.5rem;line-height:1.5}.troubleshooting-modal strong{color:var(--primary-color)}.troubleshooting-modal .btn{margin-top:1rem}.alternative-connection-modal{background:var(--surface-color);border-radius:.75rem;max-width:800px;width:95%;padding:2rem;box-shadow:var(--shadow-lg);margin:2rem}.alternative-connection-modal h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.alternative-connection-modal h4{color:var(--text-primary);margin:1.5rem 0 1rem;font-size:1.1rem}.connection-options{display:grid;gap:1.5rem;margin:1.5rem 0}.option{border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;background:var(--background-color);transition:all .2s ease}.option:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.option.recommended{border-color:var(--success-color);background:linear-gradient(135deg,#f0fdf4 0%,var(--background-color) 100%)}.option-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.option h5{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.badge{font-size:.75rem;padding:.25rem .5rem;border-radius:1rem;font-weight:500}.recommended-badge{background:var(--success-color);color:#fff}.option p{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.5}.option ul{list-style:none;margin:1rem 0;padding:0}.option li{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0;padding-left:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}@media(max-width:640px){.modal-actions{flex-direction:column}.alternative-connection-modal{padding:1.5rem;margin:1rem}.connection-options{gap:1rem}.option{padding:1rem}}@media(max-width:1400px){.app-sidebar{width:700px;min-width:700px;max-width:700px}.protocol-buttons{grid-template-columns:repeat(2,1fr)}.flight-buttons{grid-template-columns:repeat(4,1fr)}}@media(max-width:1200px){.app-sidebar{width:50%;min-width:500px;max-width:600px}.protocol-buttons,.flight-buttons{grid-template-columns:1fr}.status-grid-inline,.connection-status-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.app-sidebar{width:100%;min-width:auto;max-width:none}.status-grid-inline,.connection-status-grid{grid-template-columns:1fr}}@media(max-width:768px){.header-controls{flex-direction:column;align-items:stretch;gap:.5rem}.header-controls .connection-status{margin-right:0;margin-bottom:.5rem}}.position-control-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:1200px){.position-control-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.position-control-grid{grid-template-columns:1fr}}.hardware-control-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:768px){.hardware-control-grid{grid-template-columns:1fr}}.protocol-help{font-size:.8rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:1.4;padding:.5rem;background:rgba(59,130,246,.1);border-radius:.375rem;border-left:3px solid var(--primary-color)}.protocol-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.protocol-buttons .btn{font-size:.85rem;padding:.6rem .75rem;text-align:left;justify-content:flex-start}.flight-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.flight-buttons .btn{font-size:.85rem;padding:.7rem .75rem;text-align:left;justify-content:flex-start}.control-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.input-group{background:var(--surface-color);border-radius:.5rem;padding:.75rem;border:1px solid var(--border-color)}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.85rem;font-weight:500;color:var(--text-primary)}.input-group .form-control{padding:.5rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;background-color:var(--surface-color);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.input-group .form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.input-group select.form-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.velocity-inputs{display:flex;gap:.5rem;align-items:end}.velocity-inputs .form-control{flex:1;min-width:0}.velocity-inputs button{margin-top:.5rem}.sidebar-section h4{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:1rem 0 .5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.sidebar-section h4:first-of-type{border-top:none;margin-top:.5rem}.input-group input[type=number]{max-width:80px}.velocity-inputs input[type=number]{max-width:60px}.flight-help{font-size:.8rem;color:var(--warning-color);background-color:#fef3c7;padding:.5rem;border-radius:.375rem;margin-bottom:1rem;border-left:3px solid var(--warning-color)}.btn.btn-secondary{background-color:var(--secondary-color);border-color:var(--secondary-color)}.btn.btn-secondary:hover{background-color:#4b5563;border-color:#4b5563}.interface-view{background:var(--background-color)}.interface-header{background:var(--surface-color);box-shadow:var(--shadow-md);z-index:10}.interface-header .connection-status{background:var(--background-color);padding:.5rem 1rem;border-radius:2rem;border:1px solid var(--border-color)}.app-sidebar{background:var(--surface-color);box-shadow:var(--shadow-md);z-index:5}.sidebar-section{background:#fff;margin-bottom:1.5rem;padding:1rem;border-radius:.75rem;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.sidebar-section h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.status-grid{display:grid;gap:.75rem}.status-item{background:var(--background-color);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;transition:all .2s ease}.status-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.status-item label{font-size:.8rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:.25rem}.status-item span{font-weight:600;color:var(--text-primary);font-family:JetBrains Mono,monospace}.protocol-help{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:.5rem;padding:.5rem;margin-bottom:.75rem;font-size:.8rem;color:#0369a1;line-height:1.3}.protocol-buttons .btn{font-size:.85rem;padding:.6rem 1rem;text-align:left;display:flex;align-items:center;gap:.5rem}.flight-commands-section{border-left:4px solid var(--warning-color);background:linear-gradient(135deg,#fefbf0,#fff)}.flight-warning{background:#fef3c7;border:1px solid var(--warning-color);border-radius:.5rem;padding:.5rem;margin-bottom:1rem;font-size:.8rem;color:#92400e;font-weight:500;text-align:center}.hardware-warning{background:#fee2e2;border:1px solid var(--danger-color);border-radius:.5rem;padding:.4rem;margin-bottom:.75rem;font-size:.75rem;color:#991b1b;text-align:center}.input-group{background:var(--background-color);border-radius:.5rem;padding:.75rem;border:1px solid var(--border-color)}.input-group label{font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.25rem}.input-with-btn{display:flex;gap:.5rem;align-items:center}.input-with-btn .btn{padding:.5rem .75rem;font-size:.8rem;min-width:60px}.yaw-controls{display:grid;grid-template-columns:1fr 80px 60px;gap:.5rem;align-items:center}.velocity-controls{display:grid;grid-template-columns:1fr 1fr 1fr 80px;gap:.5rem;align-items:end}.motor-controls{display:grid;grid-template-columns:1fr 60px 60px;gap:.5rem;align-items:center}.led-controls{display:grid;grid-template-columns:1fr 1fr 1fr 60px;gap:.5rem;align-items:center}.servo-controls{display:grid;grid-template-columns:1fr 1fr 80px;gap:.5rem;align-items:center}.buzzer-controls{display:flex;gap:.5rem;align-items:center}.buzzer-controls .form-control{flex:1}.buzzer-controls .btn{padding:.5rem .75rem;font-size:.8rem}.heartbeat-controls{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.diagnostic-tabs{display:flex;background:var(--surface-color);border-bottom:2px solid var(--border-color);box-shadow:var(--shadow-sm)}.diagnostic-tabs .tab-button{padding:1rem 1.5rem;background:none;border:none;cursor:pointer;font-weight:500;color:var(--text-secondary);transition:all .2s ease;border-bottom:3px solid transparent;position:relative}.diagnostic-tabs .tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:linear-gradient(135deg,#f0f9ff 0%,var(--surface-color) 100%)}.diagnostic-tabs .tab-button:hover:not(.active){color:var(--text-primary);background:var(--background-color)}.console-header{background:var(--surface-color);padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.console-header h3{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:600}.console-controls{display:flex;gap:.75rem}.console-controls .btn{padding:.5rem 1rem;font-size:.8rem}.console-output{flex:1;background:#1a1a1a;color:#0f0;font-family:JetBrains Mono,monospace;font-size:.85rem;padding:1rem;overflow-y:auto;max-height:60vh;border:1px solid var(--border-color);margin:1rem 1.5rem 0;border-radius:.5rem}.console-input{padding:1rem 1.5rem;background:var(--surface-color);border-top:1px solid var(--border-color);display:flex;gap:.75rem}.console-input input{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.log-message{display:flex;gap:.5rem;padding:.5rem;border-bottom:1px solid #333;align-items:flex-start;line-height:1.4}.log-message .timestamp{color:#888;min-width:80px;font-size:.8rem}.log-message .log-type{min-width:70px;padding:.2rem .4rem;border-radius:.25rem;font-weight:600;text-align:center;font-size:.7rem;text-transform:uppercase}.log-message .log-type.info{background:#0ea5e9;color:#fff}.log-message .log-type.success{background:#10b981;color:#fff}.log-message .log-type.warning{background:#f59e0b;color:#fff}.log-message .log-type.error{background:#ef4444;color:#fff}.log-message .message{flex:1;color:#0f0;word-break:break-word}.telemetry-header{background:var(--surface-color);padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.telemetry-controls{display:flex;gap:.75rem}.telemetry-display{padding:1.5rem;background:var(--background-color)}.telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.telemetry-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:.75rem;padding:.75rem;box-shadow:var(--shadow-sm);transition:all .2s ease;min-height:auto}.telemetry-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.telemetry-card h4{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.4rem;display:flex;align-items:center;gap:.4rem}.telemetry-value{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.2}.connection-header{background:var(--surface-color);padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.connection-display{padding:1.5rem;background:var(--background-color)}.status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.status-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:.75rem;padding:1.25rem;box-shadow:var(--shadow-sm);transition:all .2s ease}.status-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.status-card h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.status-value{font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.status-details{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.system-status-section,.connection-status-section{background:var(--background-color);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem;margin-bottom:1rem}.system-status-section h4,.connection-status-section h4{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.status-grid-inline{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.status-item-inline{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:var(--surface-color);border-radius:.5rem;font-size:.875rem;text-align:center}.status-item-inline label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem}.status-item-inline span{font-weight:600;color:var(--text-primary);font-size:.9rem}.connection-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.connection-status-item{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:var(--surface-color);border-radius:.5rem;font-size:.875rem;text-align:center}.connection-status-item label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem}.connection-status-item span{font-weight:600;color:var(--text-primary);font-size:.9rem}.protocol-buttons .btn,.flight-buttons .btn{min-height:2.5rem;font-size:.8rem;padding:.5rem .75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.protocol-help{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem;font-style:italic}.control-group .input-group{margin-bottom:.75rem}.control-group label{display:block;margin-bottom:.25rem;font-size:.85rem;font-weight:500}.motor-controls,.led-controls,.servo-controls,.buzzer-controls,.velocity-controls,.yaw-controls{display:flex;gap:.5rem;align-items:center}.motor-controls .form-control,.led-controls .form-control,.servo-controls .form-control,.buzzer-controls .form-control,.velocity-controls .form-control,.yaw-controls .form-control{flex:1;min-width:0}.input-with-btn{display:flex;gap:.5rem}.input-with-btn .form-control{flex:1}.input-with-btn .btn{white-space:nowrap}.section-header{cursor:pointer;user-select:none;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.5rem;margin:0}.section-header:hover{background:var(--surface-secondary)}.section-header .section-icon{font-size:1.1rem}.section-header .section-title{flex:1;font-weight:600}.section-header .toggle-icon{transition:transform .2s ease;font-size:.8rem;opacity:.7}.section-header.collapsed .toggle-icon{transform:rotate(-90deg)}.section-content{transition:all .3s ease;overflow:hidden}.section-content.hidden{max-height:0;opacity:0;margin-top:0;padding-top:0;padding-bottom:0}.simple-movement-grid{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0;padding:1rem;background:var(--surface-secondary);border-radius:.75rem;border:1px solid var(--border-color)}.movement-row{display:flex;gap:.5rem;justify-content:center}.movement-btn{min-width:80px;padding:.5rem .75rem;font-size:.9rem;transition:all .2s ease}.movement-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-sm)}.movement-btn:active{transform:scale(.95)}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.1)}.logos{display:flex;align-items:center;gap:20px;margin:10px auto;text-align:center}.logos img{height:60px;margin:0}.user-info{display:flex;align-items:center;gap:15px}.center-screen{display:inline-block;position:fixed;top:0;bottom:0;left:0;right:0;width:50%;height:50%;margin:auto;text-align:center}.big-button{text-align:center;background-color:#9fd500;width:400px;padding:20px;margin:20px auto;height:30px;cursor:pointer;border-radius:3px;box-shadow:1px 1px 5px rgba(0,0,0,.2);font-size:16px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}.big-button:hover{transform:translateY(-2px);box-shadow:2px 4px 8px rgba(0,0,0,.3);filter:brightness(1.1)}.big-button:active{transform:translateY(0);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.interface-view{display:none;height:100vh;background:#f8fafc}.interface-view.active{display:flex;flex-direction:column}.interface-header{display:flex;align-items:center;gap:20px;padding:20px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.1)}.interface-header h1{flex:1;margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.interface-content{flex:1;padding:40px;text-align:center}.interface-content p{font-size:1.2rem;color:#6b7280;margin-bottom:20px}.main-menu{height:100vh;background:#fbfeff;overflow:hidden}.login-section .logos{margin-bottom:30px}.login-section .logos img{height:80px}.language-selector{position:relative;display:inline-block}.lang-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.lang-button:hover{background:#f9fafb;border-color:#9ca3af}.lang-flag{font-size:16px}.lang-name{color:#374151;font-weight:500}.lang-arrow{color:#9ca3af;font-size:12px;transition:transform .2s ease}.lang-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 6px rgba(0,0,0,.1);z-index:1000;margin-top:4px}.lang-dropdown.hidden{display:none}.lang-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;font-size:14px;transition:background-color .2s ease;text-align:left}.lang-option:hover{background:#f3f4f6}.lang-option.active{background:#eff6ff;color:#2563eb}.lang-option.active .lang-name{color:#2563eb;font-weight:600}.lang-option:first-child{border-radius:6px 6px 0 0}.lang-option:last-child{border-radius:0 0 6px 6px}.menu-header .language-selector{margin-left:auto}.login-section .language-selector{position:absolute;top:20px;right:20px}@media(max-width:768px){.center-screen{width:90%;height:auto;position:relative;margin:20px auto}.big-button{width:100%;max-width:350px}.logos{flex-direction:column;gap:10px}.menu-header{flex-direction:column;gap:15px}.interface-header{flex-wrap:wrap}}.loading-screen{background:#fbfeff}.btn-secondary{background:#6b7280;color:#fff;border:none}.btn-secondary:hover{background:#4b5563}.hidden{display:none!important}.active{display:block!important}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
