* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: system-ui, -apple-system, sans-serif; background: #0e1116; color: #e6e6e6; line-height: 1.5; }
main { max-width: 1200px; margin: 0 auto; padding: 16px; }
.login-form { max-width: 360px; margin: 80px auto; display: flex; flex-direction: column; gap: 12px; }
.login-form h1 { text-align: center; margin-bottom: 8px; }
.login-form input, .login-form button { padding: 10px 12px; border: 1px solid #2a2f3a; border-radius: 6px; background: #1a1f29; color: inherit; font-size: 14px; }
.login-form button { background: #2563eb; border: none; cursor: pointer; font-weight: 600; }
.login-form .error { color: #ef4444; text-align: center; }

.hero-alerts { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; }
.hero-alerts.ok { background: rgba(95,185,95,0.10); border: 1px solid rgba(95,185,95,0.30); color: #5fb95f; }
.hero-alerts.has-alerts { background: rgba(239,68,68,0.10); border: 1px solid rgba(239,68,68,0.40); color: #ef4444; }

.panel { background: #1a1f29; border: 1px solid #2a2f3a; border-radius: 8px; padding: 14px; margin-bottom: 12px; }
.panel h2 { font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.7; margin-bottom: 8px; }
.panel.stale { opacity: 0.6; }
.panel .stale-badge { display: inline-block; background: #f59e0b; color: #000; font-size: 10px; padding: 2px 6px; border-radius: 4px; margin-left: 8px; }

.grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 720px) {
  .grid-2col { grid-template-columns: 1fr; }
}

#enable-push-btn { margin-top: 12px; padding: 8px 16px; background: #2563eb; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-size: 13px; }
