:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; line-height: 1.5; color: #e8eaed; background: #0f1419; } * { box-sizing: border-box; } body { margin: 0; } a { color: #7eb8ff; } .layout { width: 100%; max-width: none; margin: 0; padding: 1rem 1rem 2rem; } .app-shell { display: flex; width: 100%; min-height: 100vh; margin: 0; padding: 0; } .app-main { flex: 1; min-width: 0; padding: 1rem 1.25rem 2rem; } .layout-login { min-height: 100vh; } table { width: 100%; border-collapse: collapse; font-size: 0.9rem; } th, td { text-align: left; padding: 0.5rem 0.65rem; border-bottom: 1px solid #2a3441; } th { color: #9aa4b2; font-weight: 600; } .th-sort { background: transparent; border: 0; color: inherit; padding: 0; cursor: pointer; font-weight: 600; } .sev-critical, .sev-high { color: #ff6b6b; } .sev-warning { color: #ffc857; } .sev-info { color: #7eb8ff; } .status-open { color: #ff6b6b; } .status-acknowledged { color: #ffc857; } .status-resolved { color: #6bcb77; } td.actions { display: flex; gap: 0.35rem; flex-wrap: wrap; } .card { background: #1a2332; border: 1px solid #2a3441; border-radius: 8px; padding: 1rem; margin-bottom: 1rem; } .timeline-table td:nth-child(5) { max-width: 28rem; word-break: break-word; } input, select, button { font: inherit; padding: 0.4rem 0.6rem; border-radius: 6px; border: 1px solid #3d4f63; background: #0f1419; color: inherit; } button { cursor: pointer; background: #2563eb; border-color: #2563eb; } button.secondary { background: transparent; border-color: #3d4f63; } button.danger { background: transparent; border-color: #b91c1c; color: #f87171; } button.danger:hover:not(:disabled) { background: #3f1515; } button:disabled { opacity: 0.5; cursor: not-allowed; } .filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; } .error { color: #ff6b6b; } pre { overflow: auto; font-size: 0.8rem; background: #0f1419; padding: 0.75rem; border-radius: 6px; } .dashboard-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; } .dashboard-panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; } .dash-panel { background: #1a2332; border: 1px solid #2a3441; border-radius: 8px; padding: 1rem; } .dash-panel h2 { margin-top: 0; font-size: 1rem; } .dash-table { width: 100%; } .dash-table td:last-child, .dash-table th:last-child { text-align: right; width: 5rem; } .muted { color: #9aa4b2; margin: 0; } .dash-card { background: #1a2332; border: 1px solid #2a3441; border-radius: 8px; padding: 1rem 1.25rem; } .dash-value { font-size: 2rem; font-weight: 700; color: #fff; } .dash-label { color: #9aa4b2; margin: 0.25rem 0 0.5rem; } .dash-card.dash-warn { border-color: #ff6b6b; } .severity-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem; } .agent-online { color: #6bcb77; } .agent-stale { color: #ff6b6b; } .agent-unknown { color: #9aa4b2; } .live-badge { color: #6bcb77; font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .report-intro { color: #9aa4b2; margin-top: -0.5rem; } .reports-table .report-row { cursor: pointer; } .reports-table .report-row:hover, .reports-table .report-row:focus { background: #1a2332; outline: none; } .report-summary-cell { max-width: 420px; } .report-card { background: #1a2332; border: 1px solid #2a3441; border-radius: 8px; padding: 1.25rem; margin-bottom: 1rem; } .report-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0.75rem; margin-bottom: 1.25rem; } .report-stat { background: #0f1419; border: 1px solid #2a3441; border-radius: 8px; padding: 0.75rem; text-align: center; } .report-stat-value { font-size: 1.5rem; font-weight: 700; color: #fff; } .report-stat-label { font-size: 0.8rem; color: #9aa4b2; margin-top: 0.25rem; } .report-active-users { list-style: none; padding: 0; margin: 0 0 1rem; font-size: 0.9rem; line-height: 1.5; } .report-active-users li { padding: 0.2rem 0; font-family: ui-monospace, monospace; } .report-body-html { line-height: 1.55; font-size: 0.95rem; } .report-body-html .agent-report { white-space: normal; } .report-body-plain { white-space: pre-wrap; word-break: break-word; margin: 0; font-family: inherit; font-size: 0.9rem; background: #0f1419; padding: 1rem; border-radius: 6px; border: 1px solid #2a3441; } .report-empty, .report-fallback { color: #9aa4b2; } .report-summary-line { color: #9aa4b2; margin-bottom: 0.75rem; } .report-meta { margin-bottom: 1rem; } .raw-details { margin-top: 1rem; } .raw-details summary { cursor: pointer; color: #9aa4b2; margin-bottom: 0.5rem; }