*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;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;background-color:#f5f5f5}body{color:#333;line-height:1.6}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.card,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4a90e2}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary{background-color:#4a90e2;color:#fff}.btn-primary:hover{background-color:#357abd}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.btn:disabled{opacity:.6;cursor:not-allowed}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-running{background-color:#d4edda;color:#155724}.status-initializing{background-color:#fff3cd;color:#856404}.status-error,.status-stopped{background-color:#f8d7da;color:#721c24}.table{width:100%;border-collapse:collapse;margin-top:16px}.table td,.table th{padding:12px;text-align:left;border-bottom:1px solid #ddd}.table th{font-weight:600;color:#555}.table th,.table tr:hover{background-color:#f8f9fa}.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px}.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px}.loading{text-align:center;padding:20px;color:#666}