body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{display:flex;flex-direction:column;height:100vh}.header{background:#001529;color:#fff;padding:16px;text-align:center}.content{flex:1;padding:24px;overflow-y:auto}.server-status{margin-bottom:20px;padding:16px;background:#f0f2f5;border-radius:8px}.server-status.running{background:#f6ffed;border:1px solid #b7eb8f}.server-status.stopped{background:#fff2f0;border:1px solid #ffccc7}.server-controls{display:flex;gap:10px;margin-top:10px}.status-indicator.running{background:#52c41a}.status-indicator.stopped{background:#ff4d4f}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion: no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;padding:20px;color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-card{margin-bottom:16px}.status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.status-indicator.running{background-color:#52c41a}.status-indicator.stopped{background-color:#ff4d4f}.status-indicator.warning{background-color:#faad14}.upload-area{border:2px dashed #d9d9d9;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:border-color .3s}.upload-area:hover{border-color:#1890ff}.upload-area.dragover{border-color:#1890ff;background-color:#f0f8ff}.progress-container{margin:16px 0}.device-table .ant-table-tbody>tr.upgrade-failed{background-color:#fff2f0}.device-table .ant-table-tbody>tr.upgrade-success{background-color:#f6ffed}.device-table .ant-table-tbody>tr.upgrade-progress{background-color:#e6f7ff}.drag-region{-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.no-drag-region{-webkit-app-region:no-drag}
