:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#0f0f23;color:#e0e0e0;min-height:100vh}.app{max-width:1400px;margin:0 auto;padding:20px}.app-header{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:12px;border:1px solid #2d2d44}.app-header h1{font-size:1.8rem;color:#fff;margin-right:auto}.header-stats{display:flex;gap:20px}.stat{text-align:center;padding:10px 20px;background:#0f0f23;border-radius:8px;border:1px solid #2d2d44}.stat.healthy{border-color:#4ade80;background:#4ade801a}.stat.idle{border-color:#fbbf24;background:#fbbf241a}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#fff}.stat-label{display:block;font-size:.8rem;color:#888;text-transform:uppercase}.header-controls{display:flex;align-items:center;gap:15px}.auto-refresh{display:flex;align-items:center;gap:8px;cursor:pointer;color:#888}.auto-refresh input{cursor:pointer}.btn-refresh{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s}.btn-refresh:hover:not(:disabled){background:#2563eb}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.error-banner{padding:15px 20px;background:#ef4444;color:#fff;border-radius:8px;margin-bottom:20px}.last-update{text-align:right;color:#666;font-size:.85rem;margin-bottom:15px}.dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.health-card{background:#1a1a2e;border-radius:12px;padding:20px;border:2px solid #2d2d44;transition:transform .2s,border-color .2s}.health-card:hover{transform:translateY(-2px)}.health-card.healthy{border-color:#4ade80}.health-card.idle{border-color:#fbbf24}.health-card.warning{border-color:#ef4444}.health-card.error{border-color:#ef4444;background:#ef44441a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.card-header h3{font-size:1.1rem;color:#fff}.status-badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-badge.healthy{background:#4ade80;color:#0f0f23}.status-badge.idle{background:#fbbf24;color:#0f0f23}.status-badge.warning{background:#ef4444;color:#fff}.card-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.metric{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #2d2d44}.metric-label{color:#888;font-size:.9rem}.metric-value{font-weight:700;color:#fff}.metric-value.good{color:#4ade80}.metric-value.bad{color:#ef4444}.card-actions{display:flex;justify-content:flex-end}.btn-restart{padding:8px 16px;background:#f59e0b;color:#0f0f23;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:700;transition:background .2s}.btn-restart:hover:not(:disabled){background:#d97706}.btn-restart:disabled{background:#4ade80;color:#0f0f23;cursor:default}.error-text{color:#ef4444;font-size:.9rem}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px}.spinner{width:50px;height:50px;border:3px solid #2d2d44;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.auth-box{width:100%;max-width:400px;padding:40px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;border:1px solid #2d2d44;box-shadow:0 20px 60px #00000080}.auth-box h2{font-size:1.5rem;color:#fff;margin-bottom:8px;text-align:center}.auth-subtitle{color:#888;text-align:center;margin-bottom:30px;font-size:.9rem}.auth-error{padding:12px 16px;background:#ef444433;border:1px solid #ef4444;border-radius:8px;color:#ef4444;margin-bottom:20px;font-size:.9rem}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#888;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:12px 16px;background:#0f0f23;border:1px solid #2d2d44;border-radius:8px;color:#fff;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#3b82f6}.btn-signin{width:100%;padding:14px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s}.btn-signin:hover:not(:disabled){background:#2563eb}.btn-signin:disabled{opacity:.6;cursor:not-allowed}.user-bar{position:fixed;top:0;right:0;left:0;display:flex;justify-content:flex-end;align-items:center;gap:15px;padding:10px 20px;background:#0f0f23e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #2d2d44;z-index:1000}.user-email{color:#888;font-size:.85rem}.btn-signout{padding:6px 12px;background:transparent;border:1px solid #2d2d44;border-radius:6px;color:#888;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-signout:hover{border-color:#ef4444;color:#ef4444}.debug-panel{margin:10px 0;padding:10px;background:#1a1a2e;border:1px solid #2d2d44;border-radius:8px}.debug-panel summary{cursor:pointer;color:#888;font-size:.85rem}.debug-panel pre{margin-top:10px;color:#4ade80}@media(max-width:768px){.app-header{flex-direction:column;align-items:stretch}.header-stats{justify-content:center}.dashboard{grid-template-columns:1fr}.user-bar{justify-content:center}.auth-box{padding:30px 20px}}
