/* v1.64 The public status page (app.cenqra.com/status/). Stand-alone: it works when the app's own pages do not. */
:root { --bg: #f4f6fa; --surface: #fff; --text: #0f1b33; --muted: #5b6980; --line: #e1e6ef; --navy: #0b1b3f; --navy-2: #13295c; --primary: #1a56db;
  --ok: #1f9d55; --ok-soft: #e3f4e8; --warn: #c27c0e; --warn-soft: #fff4d9; --bad: #d64545; --bad-soft: #fbeae8; --maint: #2f6fd6; --maint-soft: #e5effc; --none: #d5dbe6; }
* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; font-size: 15px; line-height: 1.5; color: var(--text); background: var(--bg); }
[dir='rtl'] body { font-family: 'Segoe UI', Tahoma, 'Noto Sans Arabic', system-ui, sans-serif; }
a { color: var(--primary); }
.st-top { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: linear-gradient(90deg, var(--navy), var(--navy-2)); color: #fff; }
.st-brand { display: flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; font-weight: 700; font-size: 17px; }
.st-title { opacity: 0.85; flex: 1; }
.st-lang { background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.35); color: #fff; border-radius: 6px; padding: 4px 10px; font: inherit; font-size: 13px; cursor: pointer; }
.st-main { max-width: 860px; margin: 0 auto; padding: 20px 16px 32px; }
.st-loading { color: var(--muted); text-align: center; padding: 40px 0; }
.st-overall { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-radius: 10px; color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 18px; }
.st-overall.operational { background: var(--ok); }
.st-overall.degraded { background: var(--warn); }
.st-overall.partial_outage { background: #e06a2b; }
.st-overall.major_outage { background: var(--bad); }
.st-overall.maintenance { background: var(--maint); }
.st-overall small { display: block; font-weight: 400; font-size: 13px; opacity: 0.9; }
.st-card { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; }
.st-card h2 { font-size: 16px; margin: 0 0 8px; }
.st-incident { border-inline-start: 4px solid var(--warn); }
.st-incident.impact-MAJOR, .st-incident.impact-CRITICAL { border-inline-start-color: var(--bad); }
.st-incident.kind-MAINTENANCE { border-inline-start-color: var(--maint); }
.st-incident h3 { margin: 0 0 4px; font-size: 15.5px; }
.st-meta { color: var(--muted); font-size: 13px; }
.st-updates { list-style: none; padding: 0; margin: 8px 0 0; }
.st-updates li { margin: 0 0 8px; }
.st-updates strong { margin-inline-end: 6px; }
.st-comp { padding: 12px 0; border-bottom: 1px solid var(--line); }
.st-comp:last-child { border-bottom: 0; }
.st-comp-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.st-comp-name { font-weight: 600; }
.st-state { font-size: 13px; font-weight: 600; }
.st-state.operational { color: var(--ok); }
.st-state.degraded { color: var(--warn); }
.st-state.partial_outage { color: #e06a2b; }
.st-state.major_outage { color: var(--bad); }
.st-state.maintenance { color: var(--maint); }
.st-state.off { color: var(--muted); font-weight: 400; }
.st-bars { display: flex; gap: 2px; margin-top: 8px; height: 30px; direction: ltr; }
.st-bar { flex: 1 1 0; min-width: 2px; border-radius: 2px; background: var(--none); }
.st-bar.ok { background: var(--ok); }
.st-bar.degraded { background: var(--warn); }
.st-bar.down { background: var(--bad); }
.st-bar:hover { opacity: 0.75; }
.st-bars-foot { display: flex; justify-content: space-between; color: var(--muted); font-size: 12px; margin-top: 4px; direction: ltr; }
/* The bars run left to right (oldest first) in both languages, like the app's charts. */
.st-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--muted); font-size: 12px; margin-top: 8px; }
.st-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-inline-end: 5px; vertical-align: -1px; }
.st-empty { color: var(--muted); margin: 0; }
.st-foot { text-align: center; color: var(--muted); font-size: 13px; padding: 0 16px 28px; }
.st-updated { color: var(--muted); font-size: 12.5px; text-align: center; margin-top: 10px; }
@media (max-width: 600px) {
  .st-bars { height: 24px; gap: 1px; }
  .st-overall { font-size: 16px; }
}
