.setup-page {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 32px 24px 64px;
  color: #dce3ef;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.setup-page h1 { margin: 0; font-size: clamp(26px, 4vw, 36px); letter-spacing: -.04em; color: #f1f5ff; }
.setup-page h2 { margin: 0 0 8px; font-size: 19px; color: #e4e9ff; }
.setup-page h3, .setup-page h4 { margin: 0; }
.setup-page p { margin: 8px 0 16px; font-size: 13px; }
.setup-page a { color: #b4bfff; text-underline-offset: 4px; }
.setup-page .setup-muted { color: #a0aec2; font-size: 12px; }
.setup-page .setup-eyebrow { margin: 0 0 6px; color: #9eaaff; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.setup-header, .setup-section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.setup-secondary-link { flex-shrink: 0; font-size: 13px; }
.setup-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 28px; }
.setup-nav a { padding: 7px 13px; border: 1px solid #303a50; border-radius: 20px; text-decoration: none; font-size: 12px; }
.setup-nav a:hover { background: #26314a; }
.setup-panel { min-width: 0; padding: 24px; border: 1px solid #30394b; border-radius: 14px; background: #191f2c; scroll-margin-top: 20px; }
.setup-health { margin-bottom: 24px; background: linear-gradient(135deg, #1b2337, #171e2a); }
.setup-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.setup-stack { display: grid; gap: 24px; }
.setup-ai { margin-top: 24px; }
.observability-page #github-actions { margin-top: 24px; }
.setup-page form { margin: 12px 0; }
.setup-page label { display: block; font-size: 12px; color: #c1cada; margin: 0 0 6px; }
.setup-page input:not([type="checkbox"]), .setup-page select { width: 100%; min-width: 0; border: 1px solid #44516b; background: #101621; color: #e1e7f1; border-radius: 7px; padding: 11px 12px; font-size: 14px; }
.setup-page form > div { margin-bottom: 16px; }
.setup-page button, .setup-page input[type="submit"] { border: 1px solid #8b98ff; border-radius: 7px; background: #5967d9; color: #fff; cursor: pointer; min-height: 44px; padding: 10px 16px; font-size: 13px; font-weight: 600; }
.setup-page button:disabled { cursor: not-allowed; background: #293143; color: #a0abc0; border-color: #44516b; }
.setup-page :is(a, button, input, select, summary):focus-visible { outline: 2px solid #b4bfff !important; outline-offset: 4px; }
.setup-page button:hover:not(:disabled), .setup-page input[type="submit"]:hover { filter: brightness(1.12); }
.setup-check-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.setup-check-actions form { margin: 0; }
.setup-empty { padding: 16px; border: 1px dashed #52617d; border-radius: 8px; color: #b9c5d9; }
.setup-page code { color: #bcc5ff; }
.setup-page [aria-label="Currently deployed commit"] { padding: 12px; border: 1px solid #354159; border-radius: 8px; margin: 16px 0; background: #111824; }
.setup-danger { border-color: #743943; background: #291b24; }
.setup-danger h2 { color: #ffb3b8; }
.setup-danger button { background: #a82f42; border-color: #d05b6e; }
.setup-page #flash-alert, .setup-page #flash-notice { padding: 16px; border-radius: 8px; margin-bottom: 20px; }
.setup-page #flash-alert { color: #ffc0c5; background: #3b202a; border: 1px solid #a34c5e; }
.setup-page #flash-notice { color: #a5ead6; background: #163930; border: 1px solid #3e8e78; }
.setup-ai form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
.setup-ai form > div { margin: 0; }
.setup-ai form > div:has(.signal-ai-provider) { grid-column: 1 / -1; padding: 16px; background: #111824; border: 1px solid #354159; border-radius: 8px; }
.setup-ai form > div > div:has(.signal-ai-provider) { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; padding: 12px 0; }
.setup-ai input[type="checkbox"] { accent-color: #9aa6ff; width: 18px; height: 18px; }
.setup-ai input + input { margin-top: 8px; }
.resource-report { margin-top: 24px; }
.resource-overall { display: flex; gap: 16px; align-items: center; border: 1px solid currentColor; border-radius: 10px; padding: 16px; background: #111824; }
.resource-overall h3 { font-size: 18px; }
.resource-overall p { margin: 4px 0 0; color: #c1cada; }
.resource-status-icon { font-size: 28px; width: 44px; height: 44px; display: grid; place-items: center; border: 2px solid currentColor; border-radius: 50%; flex-shrink: 0; }
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.resource-card { padding: 16px; border: 1px solid #354159; border-top: 3px solid currentColor; border-radius: 9px; background: #111824; min-width: 0; }
.resource-card-heading { display: flex; gap: 8px; justify-content: space-between; align-items: start; }
.resource-card h4 { color: #dce3ef; font-size: 13px; }
.resource-badge { border: 1px solid currentColor; border-radius: 12px; padding: 1px 8px; font-size: 10px; white-space: nowrap; }
.resource-state-healthy { color: #7edcc2; }
.resource-state-warning { color: #ffd17a; }
.resource-state-critical { color: #ffa1ad; }
.resource-state-unavailable { color: #bac5db; }
.resource-state-info { color: #a9baff; }
.setup-page .resource-value { margin: 12px 0 6px; font-weight: 600; }
.resource-card meter { width: 100%; height: 16px; accent-color: currentColor; }
.resource-card meter::-webkit-meter-bar { background: #293143; border: 0; }
.resource-card meter::-webkit-meter-optimum-value, .resource-card meter::-webkit-meter-suboptimum-value, .resource-card meter::-webkit-meter-even-less-good-value { background: currentColor; }
.resource-card meter::-moz-meter-bar { background: currentColor; }
.resource-card details { margin-top: 12px; color: #aebbd0; font-size: 12px; }
.resource-card summary { cursor: pointer; padding: 4px 0; }
.resource-card pre { white-space: pre-wrap; overflow-wrap: anywhere; color: #dce3ef; font-size: 11px; }
.resource-card-processes { grid-column: 1 / -1; }
.resource-card h5 { margin: 18px 0 8px; color: #dce3ef; font-size: 14px; }
.resource-process-table { max-height: 420px; max-width: 100%; overflow: auto; color: #dce3ef; }
.resource-process-table table { width: 100%; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; }
.resource-process-table caption { text-align: left; padding: 8px; }
.resource-process-table th, .resource-process-table td { padding: 8px; text-align: left; border-bottom: 1px solid #354159; white-space: nowrap; }
.resource-process-table th { position: sticky; top: 0; background: #111824; }
.resource-error { color: #ffc0c5; }
@media (max-width: 700px) {
  .setup-page { padding: 16px 12px 40px; }
  .setup-header, .setup-section-heading { align-items: start; flex-direction: column; gap: 8px; }
  .setup-columns, .resource-grid, .setup-ai form { grid-template-columns: minmax(0, 1fr); }
  .setup-panel { padding: 18px; }
  .setup-check-actions { flex-direction: column; }
  .setup-check-actions button { width: 100%; }
  .setup-page input:not([type="checkbox"]), .setup-page select { font-size: 16px; }
}
