/* Hermes System Status — styles built ON shared brand.css tokens. No new colors. */

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-ui);
  color: var(--text);
  background: var(--cream);
  line-height: 1.5;
}

.masthead {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 28px;
  background: #121536;
  color: var(--cream);
}
.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.brand-lockup { height: 34px; width: auto; display: block; }
.brand-tag {
  font-family: var(--font-ui); font-size: 11px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase; color: var(--gold);
  padding-left: 14px; border-left: 1px solid rgba(244,241,235,.22);
}
.masthead .who .label-smallcaps { color: var(--gold); }

.wrap { max-width: 920px; margin: 44px auto; padding: 0 28px; }
h1 { font-family: var(--font-display); font-weight: 500; font-size: 32px; margin: 6px 0 8px; color: var(--navy); }
h2 { font-family: var(--font-display); font-weight: 500; font-size: 20px; margin: 36px 0 12px; color: var(--navy); }
.lede { font-family: var(--font-body); font-size: 16px; color: var(--navy-75); max-width: 62ch; }
.muted { color: var(--muted); }
.small { font-size: 13px; }

/* Cluster cards */
.cards {
  display: grid; gap: 16px; margin: 12px 0 30px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.cluster-card {
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 20px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  border-radius: 12px;
}
.cluster-name { font-family: var(--font-display); font-weight: 500; font-size: 17px; color: var(--navy); }
.cluster-desc { font-size: 13px; color: var(--muted); }
.cluster-members { font-size: 12.5px; color: var(--navy-75); margin-top: 4px; }

/* Agent table */
.agent-table-wrap {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
table.agents { width: 100%; border-collapse: collapse; font-size: 13.5px; }
table.agents th, table.agents td {
  text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--line);
}
table.agents th {
  font-family: var(--font-ui); font-size: 11px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
}
table.agents tr:last-child td { border-bottom: none; }

.status-pill {
  display: inline-block; padding: 3px 10px; border-radius: 999px;
  font-size: 11.5px; font-weight: 600; letter-spacing: .02em;
}
.status-OK { background: #e5f3ea; color: #1f6b3a; }
.status-DUE_SOON { background: #fdf1d8; color: #92620b; }
.status-OVERDUE { background: #fbe3e0; color: #9c2c22; }
.status-STALE_NOT_CLEANED { background: #fbe3e0; color: #9c2c22; }
.status-NO_KEY { background: #eee; color: var(--muted); }
.status-MISSING { background: #eee; color: var(--muted); }
.status-UNKNOWN { background: #eee; color: var(--muted); }

a { color: var(--navy); }
