body { font-family: Arial, sans-serif; margin: 0; background: #f5f7fa; color: #333; }
.login-page { display: flex; align-items: center; justify-content: center; height: 100vh; }
.login-box { background: white; padding: 2rem; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
.login-box h2 { margin-top: 0; }
.login-box input[type="password"] { width: 100%; padding: 0.5rem; margin: 0.5rem 0; }
.login-box button { width: 100%; padding: 0.5rem; background: #1a73e8; color: white; border: none; border-radius: 4px; cursor: pointer; }
.error { color: red; }

.topbar { background: white; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 2rem; }
.logout-btn { background: #dc3545; color: white; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; }

.servers-grid { display: flex; flex-wrap: wrap; gap: 1rem; padding: 0 2rem 2rem; }
.server-card { background: white; border-radius: 8px; padding: 1rem; width: 220px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); text-align: center; }
.server-icon { font-size: 2rem; }
.fetch-btn { margin: 0.5rem 0; padding: 0.4rem 1rem; background: #28a745; color: white; border: none; border-radius: 4px; cursor: pointer; }
.fetch-btn:disabled { background: #6c757d; cursor: not-allowed; }
.status { font-size: 0.8rem; color: #666; }
.spinner { border: 3px solid #f3f3f3; border-top: 3px solid #3498db; border-radius: 50%; width: 20px; height: 20px; animation: spin 1s linear infinite; margin: 0.5rem auto; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.summary-section { margin: 2rem; background: white; padding: 1rem; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); max-width: 800px; }
