:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #182230;
  background: #f3f6f9;
  font-synthesis: none;
}

* { box-sizing: border-box; }

body {
  min-width: 280px;
  min-height: 100vh;
  margin: 0;
  background: #f3f6f9;
}

.app-shell {
  width: min(100%, 44rem);
  margin: 0 auto;
  padding: max(1rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom));
}

.app-header { margin-bottom: 1rem; }
.eyebrow { margin: 0 0 .25rem; color: #526273; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
h1, h2 { margin: 0; line-height: 1.2; }
h1 { font-size: clamp(1.7rem, 8vw, 2.25rem); }
h2 { margin-bottom: 1rem; font-size: 1.15rem; }

.card {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid #d8e0e8;
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 1px 3px rgb(24 34 48 / 8%);
}

.status-list { margin: 0; }
.status-list > div { display: grid; grid-template-columns: minmax(7.5rem, 1fr) minmax(8rem, 1.25fr); gap: .75rem; padding: .7rem 0; border-top: 1px solid #e8edf2; }
.status-list dt { color: #526273; }
.status-list dd { margin: 0; font-weight: 650; text-align: right; overflow-wrap: anywhere; }
.status-list--compact > div { font-size: .9rem; }
[data-status="connected"] { color: #137333; }
[data-status="waiting"] { color: #805d00; }
[data-status="error"] { color: #b3261e; }

.technical-status { margin-top: .65rem; }
.technical-status summary { cursor: pointer; color: #34495e; font-weight: 650; }
.technical-status[open] summary { margin-bottom: .5rem; }
.message { padding: .85rem 1rem; border-radius: .6rem; }
.message--error { border: 1px solid #f1b8b3; color: #8c1d18; background: #fff2f1; }
.empty-state { margin: 0; color: #657586; }

@media (min-width: 40rem) {
  .app-shell { padding-right: 1.5rem; padding-left: 1.5rem; }
  .card { padding: 1.25rem; }
}

