/* SPDX-License-Identifier: AGPL-3.0-only */
:root {
  color-scheme: dark;
  --ink: #f6f0e2;
  --muted: #bfb8aa;
  --paper: #111715;
  --panel: #18221f;
  --line: #4f665e;
  --accent: #b5e3c5;
  --danger: #ff9b8f;
  --focus: #f7c873;
  font: 100%/1.6 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body { margin: 0; min-width: 18rem; }
a { color: var(--accent); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .16em; }
button, input, select, textarea { font: inherit; }
button, .button {
  display: inline-block;
  border: .12rem solid var(--ink);
  border-radius: .2rem;
  background: var(--ink);
  color: var(--paper);
  padding: .65rem 1rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
button.secondary, .secondary { background: transparent; color: var(--ink); }
button.danger, .danger { border-color: var(--danger); color: var(--danger); }
:focus-visible { outline: .2rem solid var(--focus); outline-offset: .2rem; }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  left: 1rem;
  top: -8rem;
  z-index: 10;
  background: var(--ink);
  color: var(--paper);
  padding: .6rem;
}
.skip-link:focus { top: 1rem; }

.site-header, .site-footer, main {
  width: 100%;
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 4rem);
}
main { min-width: 0; }
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1.25rem;
  border-bottom: .08rem solid var(--line);
}
.site-header:not(.app-sidebar) nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-header [aria-current="page"] { color: var(--ink); font-weight: 800; }
.wordmark { color: var(--ink); font-weight: 800; text-decoration: none; letter-spacing: .02em; }
.wordmark span { color: var(--accent); }
.app-sidebar { align-items: stretch; flex-direction: column; justify-content: flex-start; gap: 1.5rem; background: #0d1311; }
.sidebar-nav { gap: 1.35rem; }
.sidebar-nav { display: grid; }
.sidebar-group { display: grid; gap: .15rem; }
.sidebar-group h2 { margin: 0 0 .35rem; color: var(--muted); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.sidebar-group a { display: block; border-left: .2rem solid transparent; padding: .38rem .65rem; color: var(--muted); text-decoration: none; }
.sidebar-group a:hover { background: var(--panel); color: var(--ink); }
.sidebar-group a[aria-current="page"] { border-left-color: var(--accent); background: var(--panel); color: var(--ink); }
.sidebar-signout { margin-top: auto; border-top: .08rem solid var(--line); padding-top: 1rem; }
.sidebar-signout button { width: 100%; }
.site-footer {
  margin-top: 4rem;
  padding-block: 2rem;
  border-top: .08rem solid var(--line);
  color: var(--muted);
}

h1, h2, h3 { line-height: 1.1; text-wrap: balance; }
h2 { margin: .15em 0; font-size: clamp(2rem, 5vw, 4.5rem); }
h3 { font-size: 1.4rem; }
code { overflow-wrap: anywhere; }
.eyebrow {
  color: var(--accent);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hero { max-width: 72rem; padding-block: clamp(4rem, 12vw, 9rem); }
.hero h1 {
  max-width: 11ch;
  margin: .15em 0;
  font-size: clamp(3rem, 10vw, 8rem);
  line-height: .9;
  letter-spacing: -.055em;
}
.lede { max-width: 48rem; color: var(--muted); font-size: clamp(1.15rem, 2vw, 1.5rem); }
.section-grid {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(0, 2fr);
  gap: clamp(2rem, 6vw, 7rem);
  padding-block: clamp(3rem, 7vw, 6rem);
  border-top: .08rem solid var(--line);
}
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cards article, .auth-card, .signal-card {
  min-width: 0;
  border: .08rem solid var(--line);
  background: var(--panel);
  padding: clamp(1rem, 3vw, 2rem);
}

.auth-shell { display: grid; min-height: 70vh; place-items: center; }
.auth-card { width: min(34rem, 100%); margin-block: 4rem; }
.auth-card h1 { font-size: clamp(2.3rem, 8vw, 4rem); }
form { display: grid; gap: .55rem; }
label { margin-top: .6rem; font-weight: 700; }
input, select, textarea {
  width: 100%;
  border: .1rem solid var(--line);
  border-radius: .2rem;
  background: var(--paper);
  color: var(--ink);
  padding: .7rem;
}
textarea { resize: vertical; }
.form-error {
  border-left: .3rem solid var(--danger);
  background: #301b1b;
  padding: .7rem;
}
.form-notice {
  border-left: .3rem solid var(--accent);
  background: var(--panel);
  padding: .7rem;
}
.credential-result {
  margin-block: 1rem 3rem;
  border: .12rem solid var(--accent);
  background: var(--panel);
  padding: clamp(1rem, 3vw, 2rem);
}
.credential-result h2 { font-size: clamp(2rem, 5vw, 3.5rem); }
.credential-result textarea { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }

.app-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-block: 3rem;
}
.app-intro h1 { margin: .1em 0; font-size: clamp(2.6rem, 7vw, 6rem); }
.logout { display: block; }
.organization-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem 1rem;
  border-block: .08rem solid var(--line);
  padding-block: 1rem;
}
.organization-nav a[aria-current="page"] { color: var(--ink); font-weight: 800; }
.signal-card + .signal-card { margin-top: 1rem; }
.source-management-heading, .source-actions, .source-facts {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem 1rem;
}
.source-management-heading h3, .source-management-heading p { margin-block: .2rem; }
.source-status { border: .08rem solid currentColor; border-radius: 999px; padding: .2rem .65rem; text-transform: capitalize; }
.source-status-active { color: var(--accent); }
.source-status-revoked { color: var(--danger); }
.source-facts { margin-block: 1.2rem; }
.source-facts div { min-width: 8rem; }
.source-facts dt { color: var(--muted); font-size: .86rem; }
.source-facts dd { margin: 0; font-weight: 700; }
.rotation-status { border-left: .2rem solid var(--focus); padding-left: 1rem; }
.source-actions { justify-content: flex-start; margin-top: 1.2rem; }
.source-actions form { display: block; }
.table-wrap { max-width: 100%; overflow-x: auto; border: .08rem solid var(--line); }
table { width: 100%; min-width: 46rem; border-collapse: collapse; }
caption { padding: .7rem; text-align: left; font-weight: 800; }
th, td {
  border-top: .06rem solid var(--line);
  padding: .55rem .7rem;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
th { color: var(--accent); }

.metrics-workspace { padding-block: 1.5rem 4rem; }
.metrics-controls, .explorer-controls {
  display: grid;
  grid-template-columns: minmax(18rem, 2fr) repeat(2, minmax(10rem, 1fr)) auto;
  align-items: end;
  gap: .7rem 1rem;
  border: .08rem solid var(--line);
  background: var(--panel);
  padding: clamp(1rem, 3vw, 2rem);
}
.metrics-controls, .explorer-controls, .log-controls { margin-inline: clamp(.25rem, .75vw, 1rem); }
.metrics-controls label, .explorer-controls label { margin: 0; }
.metrics-controls button, .explorer-controls button { min-height: 3rem; }
.metric-expression-controls { grid-column: 1 / -1; border: .08rem solid var(--line); padding: 1rem; }
.metric-expression-controls summary { color: var(--accent); cursor: pointer; font-weight: 800; }
.metric-expression-controls[open] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); gap: .7rem 1rem; align-items: end; }
.metric-expression-controls[open] summary, .metric-expression-controls[open] > p { grid-column: 1 / -1; }
.source-picker { min-width: 0; margin: 0; border: 0; padding: 0; }
.source-picker legend { margin-bottom: .55rem; font-weight: 800; }
.source-picker legend span { color: var(--muted); font-size: .82rem; font-weight: 500; }
.source-picker label { display: inline-flex; align-items: center; gap: .45rem; margin: 0 .8rem .45rem 0; }
.source-picker input { width: auto; min-height: auto; }
.live-indicator { color: var(--muted); min-height: 1.6em; }
.metric-result { padding-block: 2rem; }
.metric-result-heading {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(0, 2fr);
  gap: clamp(1rem, 4vw, 5rem);
  align-items: end;
}
.metric-result-heading h2 { overflow-wrap: anywhere; }
.metric-chart {
  width: 100%;
  min-height: 22.5rem;
  margin-block: 1.5rem;
  border: .08rem solid var(--line);
  background: var(--paper);
  overflow: clip;
}
.metric-chart .uplot { max-width: 100%; margin-inline: auto; }
.metric-chart canvas { max-width: 100%; }
.metric-chart .u-legend { color: var(--ink); font: inherit; }
.metric-chart .u-legend .u-series > * { padding: .3rem .5rem; }
.data-disclosure { margin-block: .65rem; font-size: .92rem; }
.data-disclosure summary {
  width: fit-content;
  color: var(--accent);
  cursor: pointer;
  font-weight: 800;
}
.data-disclosure[open] summary { margin-bottom: .7rem; }
.metric-summaries {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: .8rem;
  margin-block: 1.5rem;
}
.metric-summaries article { border: .08rem solid var(--line); background: var(--panel); padding: 1rem; }
.metric-summaries h3, .metric-summaries p { margin-block: .2rem; }
.log-controls {
  display: grid;
  grid-template-columns: minmax(18rem, 2fr) minmax(10rem, 1fr) auto;
  align-items: end;
  gap: 1rem;
  border: .08rem solid var(--line);
  background: var(--panel);
  padding: clamp(1rem, 3vw, 2rem);
}
.log-controls > button { min-height: 3rem; }
.reporting-controls { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .8rem; margin: 0; border: .08rem solid var(--line); padding: 1rem; }
.reporting-controls legend { padding-inline: .35rem; font-weight: 800; }
.reporting-controls > div { display: grid; align-content: start; gap: .35rem; }
.reporting-controls small { color: var(--muted); line-height: 1.35; }
.filter-controls { grid-column: 1 / -1; margin: 0; border: 0; padding: 0; }
.filter-controls legend { margin-bottom: .55rem; font-weight: 800; }
.filter-controls legend span { color: var(--muted); font-size: .82rem; font-weight: 500; }
.filter-state-note { margin: 0 0 .75rem; color: var(--muted); line-height: 1.45; }
.filter-rows { display: grid; gap: .8rem; }
.filter-row { display: grid; grid-template-columns: auto minmax(10rem, 1fr) auto minmax(12rem, 1.4fr) auto; grid-template-areas: "field-label field value-label value remove"; align-items: start; gap: .45rem .7rem; padding-top: .75rem; border-top: .08rem solid var(--line); }
.filter-row label { margin: 0; }
.filter-row > label:first-child { grid-area: field-label; padding-top: .75rem; }
.filter-row > select { grid-area: field; }
.filter-row > label:nth-of-type(2) { grid-area: value-label; padding-top: .75rem; }
.filter-value-control { grid-area: value; display: grid; gap: .35rem; }
.filter-value-entry { display: grid; grid-template-columns: minmax(8rem, 1fr) auto; gap: .45rem; }
.filter-value-list { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.filter-value-list li { display: inline-flex; align-items: center; gap: .35rem; border: .08rem solid var(--line); background: var(--paper); padding: .25rem .35rem .25rem .55rem; }
.filter-value-list button { min-height: 2rem; padding: .25rem .5rem; }
.filter-help { color: var(--muted); line-height: 1.35; }
.filter-remove { grid-area: remove; }
.filter-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: .85rem; }
.filter-actions span { color: var(--muted); font-size: .86rem; }
.filter-row[data-high-cardinality="true"] .filter-value-control { border-left: .2rem solid var(--accent); padding-left: .7rem; }
.log-records { padding-block: 2rem 4rem; }
.log-records code { white-space: pre-wrap; word-break: break-word; }
.empty-state {
  border: .08rem solid var(--line);
  background: var(--panel);
  padding: clamp(1rem, 3vw, 2rem);
}

.dashboard-index-grid { display: grid; gap: 3rem; padding-block: 1.5rem 4rem; }
.dashboard-create { border: .08rem solid var(--line); background: var(--panel); }
.dashboard-create > summary { padding: 1rem 1.25rem; color: var(--accent); cursor: pointer; font-size: 1.15rem; font-weight: 800; }
.dashboard-create[open] > summary { border-bottom: .08rem solid var(--line); }
.dashboard-disclosure-body { padding: clamp(1rem, 3vw, 2rem); }
.dashboard-create h2, .dashboard-index-grid h2, .dashboard-add-controls h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.dashboard-create form { max-width: 48rem; }
.dashboard-create details summary, .dashboard-settings summary { color: var(--accent); cursor: pointer; font-weight: 800; }
.dashboard-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); gap: 1rem; }
.dashboard-list article { display: grid; align-content: space-between; min-height: 13rem; border: .08rem solid var(--line); background: var(--panel); padding: 1.25rem; }
.dashboard-list h3 { margin-block: .2rem; }
.dashboard-list p { color: var(--muted); }
.dashboard-list dl { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-bottom: 0; }
.dashboard-list dt { color: var(--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-list dd { margin: 0; }
.dashboard-star { display: block; margin-top: 1rem; }
.dashboard-star button { width: 100%; }
.dashboard-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; padding-block: 2rem 1.25rem; }
.dashboard-heading h1 { margin: .1em 0; font-size: clamp(2.8rem, 7vw, 6rem); }
.dashboard-heading-actions, .dashboard-add-controls > div:last-child, .dashboard-targets { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
.dashboard-workspace { min-width: 0; padding-bottom: 3rem; }
.dashboard-scope { display: grid; grid-template-columns: minmax(18rem, 2fr) minmax(10rem, 1fr) auto; align-items: end; gap: 1rem; margin-block: .625rem; border: .08rem solid var(--line); background: var(--panel); padding: clamp(1rem, 3vw, 2rem); }
.dashboard-save-default { display: flex; justify-content: flex-end; margin-block: .7rem 2rem; }
.dashboard-add-controls { display: grid; grid-template-columns: minmax(14rem, 2fr) minmax(14rem, 1fr); align-items: end; gap: 2rem; margin-block: 2rem; padding-block: 2rem; border-block: .08rem solid var(--line); }
.dashboard-grid { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .75rem; margin-block: .625rem; align-items: start; }
.dashboard-widget { grid-column: span 6; width: 100%; min-width: 0; max-width: 100%; overflow-wrap: anywhere; border: .08rem solid var(--line); background: var(--panel); padding: .75rem; }
.dashboard-widget-small { grid-column: span 4; }
.dashboard-widget-medium { grid-column: span 6; }
.dashboard-widget-wide { grid-column: span 8; }
.dashboard-widget-full { grid-column: span 12; }
.dashboard-widget > * { min-width: 0; max-width: 100%; }
.dashboard-widget > header { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: .6rem; }
.dashboard-widget h2 { font-size: clamp(1.6rem, 3vw, 2.6rem); overflow-wrap: anywhere; }
.dashboard-widget header p { margin-block: .2rem; color: var(--muted); font-size: .92rem; }
.dashboard-widget .dashboard-chart { width: 100%; min-height: 16rem; overflow: clip; }
.widget-series-summary { margin-block: .75rem; color: var(--muted); font-size: .9rem; }
.widget-series-summary ul { margin: 0; padding-inline-start: 1.25rem; }
.widget-series-summary li + li { margin-top: .3rem; }
.dashboard-widget .dashboard-chart .uplot, .dashboard-widget .dashboard-chart canvas { max-width: 100%; }
.dashboard-widget-error { border-color: var(--danger); }
.widget-disabled { border: .08rem solid var(--line); border-radius: 999px; padding: .2rem .6rem; color: var(--muted); }
.widget-actions { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; margin-top: 1rem; border-top: .08rem solid var(--line); padding-top: 1rem; }
.widget-actions form { display: flex; min-width: 0; max-width: 100%; flex-direction: row; flex-wrap: wrap; align-items: end; gap: .35rem; }
.widget-actions select { min-width: min(7rem, 100%); }
.dashboard-settings { margin-top: 3rem; border-top: .08rem solid var(--line); padding-top: 1.5rem; }
.dashboard-settings-grid { display: grid; grid-template-columns: minmax(18rem, 2fr) minmax(16rem, 1fr); gap: 2rem; margin-top: 1rem; border: .08rem solid var(--line); background: var(--panel); padding: clamp(1rem, 3vw, 2rem); }
.dashboard-save-card { margin-top: 1.5rem; border: .08rem solid var(--line); background: var(--panel); padding: 1rem; }
.dashboard-save-card form { grid-template-columns: minmax(12rem, 2fr) minmax(8rem, 1fr) auto; align-items: end; }
.dashboard-save-card form > button { min-height: 3rem; }

.administration-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: 1rem; padding-block: 1.5rem 4rem; }
.administration-grid h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.administration-current { border-color: var(--accent); }
.administration-note { margin-block: 0 4rem; border-left: .25rem solid var(--accent); background: var(--panel); padding: 1rem 1.25rem; }
.account-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; margin: 0 0 1.5rem; }
.account-facts dt { color: var(--muted); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.account-facts dd { margin: .2rem 0 0; overflow-wrap: anywhere; }

@media (min-width: 64.0625rem) {
  .app-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 5; width: 15rem; overflow-y: auto; border-right: .08rem solid var(--line); border-bottom: 0; padding: 1.5rem 1rem; }
  .app-sidebar ~ main, .app-sidebar ~ .site-footer { width: calc(100% - 15rem); margin-left: 15rem; padding-inline: clamp(.75rem, 1.1vw, 1.25rem); }
  .app-sidebar ~ main { padding-top: 1rem; }

  .sidebar-nav { display: grid; }
}

@media (max-width: 75rem) {
  .dashboard-widget-small { grid-column: span 4; }
  .dashboard-widget-medium { grid-column: span 6; }
  .dashboard-widget-wide, .dashboard-widget-full { grid-column: span 12; }
}

@media (max-width: 64rem) {
  .app-sidebar { position: static; width: 100%; }
  .sidebar-menu { width: 100%; }
  .sidebar-nav { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); width: 100%; }
  .dashboard-widget-small, .dashboard-widget-medium { grid-column: span 6; }
  .dashboard-widget-wide, .dashboard-widget-full { grid-column: span 12; }
}

@media (max-width: 55rem) {
  .section-grid, .cards, .metric-result-heading { grid-template-columns: 1fr; }
  .metrics-controls, .explorer-controls, .log-controls { grid-template-columns: 1fr 1fr; }
  .filter-row { grid-template-columns: minmax(7rem, 1fr) minmax(12rem, 3fr); grid-template-areas: "field-label field" "value-label value" ". remove"; }
  .app-intro { align-items: start; flex-direction: column; }
  .hero h1 { letter-spacing: -.035em; }
  .site-header { align-items: flex-start; flex-direction: column; }
  .dashboard-heading, .dashboard-add-controls { align-items: flex-start; grid-template-columns: 1fr; flex-direction: column; }
  .dashboard-scope, .dashboard-settings-grid, .dashboard-save-card form { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-widget, .dashboard-widget-small, .dashboard-widget-medium, .dashboard-widget-wide, .dashboard-widget-full { grid-column: 1; }
  .dashboard-heading-actions, .dashboard-targets, .widget-actions { align-items: stretch; flex-direction: column; }
  .dashboard-heading-actions > *, .dashboard-targets > *, .widget-actions > *, .widget-actions form, .widget-actions form > * { width: 100%; }
}

@media (max-width: 28rem) {
  :root { font-size: 95%; }
  .hero h1 { font-size: 2.75rem; letter-spacing: -.025em; }
  .site-header, .site-footer, main { padding-inline: .8rem; }
  .metrics-controls, .explorer-controls, .log-controls { grid-template-columns: 1fr; }
  .filter-row { grid-template-columns: 1fr; grid-template-areas: "field-label" "field" "value-label" "value" "remove"; }
  .filter-row > label:first-child, .filter-row > label:nth-of-type(2) { padding-top: 0; }
}

/* Application density is independent of the public landing and sign-in pages. */
:root:has(.app-sidebar) { font-size: 87.5%; line-height: 1.45; --app-space: .85rem; }
:root[data-density="comfortable"]:has(.app-sidebar) { font-size: 100%; --app-space: 1.2rem; }
[hidden] { display: none !important; }
.app-sidebar { gap: .9rem; }
.app-sidebar .wordmark { font-size: 1.1rem; line-height: 1.3; letter-spacing: -.02em; }
.app-sidebar .wordmark span { font-size: .85rem; color: var(--muted); }
.nav-toggle { align-self: flex-start; min-height: 2.75rem; padding: .45rem .7rem; }
.sidebar-menu { width: 100%; }
.sidebar-nav { gap: 1.1rem; }
.sidebar-group a { min-height: 2.5rem; display: flex; align-items: center; padding: .4rem .6rem; }
.app-sidebar [aria-current="page"] { font-weight: 600; }
.sidebar-group h2 { font-size: .85rem; font-weight: 600; letter-spacing: .08em; }
.sidebar-preferences { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .6rem; border-top: 1px solid var(--line); margin-top: 1rem; padding-top: .8rem; }
.sidebar-preferences label { margin: 0; color: var(--muted); font-size: .85rem; }
.sidebar-signout { margin-top: .8rem; padding-top: .8rem; }
.app-sidebar ~ main { min-width: 0; }
.app-sidebar ~ main :is(h1, h2, h3) { text-wrap: pretty; font-weight: 600; }
.app-sidebar ~ main h1 { font-size: 2rem; line-height: 1.2; overflow-wrap: anywhere; }
.app-sidebar ~ main h2 { font-size: 1.3rem; line-height: 1.3; }
.app-sidebar ~ main h3 { font-size: 1.15rem; }
.app-sidebar ~ main .eyebrow { margin-block: 0 .35rem; font-size: .85rem; font-weight: 600; letter-spacing: .08em; }
.app-sidebar ~ main .lede { font-size: 1rem; line-height: 1.5; }
.app-sidebar ~ main :is(button, .button, label, summary) { font-weight: 500; }
.app-sidebar ~ main :is(button, .button, input, select) { min-height: 2.5rem; padding: .45rem .7rem; }
.app-sidebar ~ main input[type="checkbox"] { min-height: auto; width: 1rem; height: 1rem; }
.app-sidebar ~ main :is(.app-intro, .dashboard-heading) { padding-block: .75rem 1rem; gap: 1rem; align-items: flex-start; }
.app-intro p { margin-block: .4rem; }
.app-sidebar ~ main .section-grid { gap: 1.5rem; padding-block: 1.5rem; }
.app-sidebar ~ main :is(.signal-card, .dashboard-list article, .metrics-controls, .explorer-controls, .log-controls, .dashboard-scope) { padding: var(--app-space); }
.app-sidebar ~ main :is(.dashboard-index-grid, .administration-grid) { gap: 1rem; padding-block: .75rem 2rem; }
.app-sidebar ~ main .signal-card + .signal-card { margin-top: 0; }
.dashboard-list article { min-height: 0; gap: .65rem; }
.dashboard-list p { margin-block: .35rem; }
.dashboard-star { margin-top: .5rem; }
.dashboard-star button { width: auto; }
.dashboard-heading > div:first-child { min-width: 0; }
.dashboard-heading-actions { flex-shrink: 0; gap: .4rem; }
.dashboard-description { max-width: 52rem; margin-top: .5rem; color: var(--muted); }
.dashboard-description summary, .widget-details summary { cursor: pointer; width: fit-content; min-height: 2rem; padding-block: .3rem; color: var(--accent); }
.dashboard-scope { grid-template-columns: minmax(12rem, 1fr) repeat(3, minmax(5rem, 8rem)) auto auto; gap: .75rem; }
@media (min-width: 55.0625rem) and (max-width: 75rem) {
  .dashboard-scope { grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto; }
  .dashboard-scope .dashboard-sources { grid-column: 1 / -1; }
}
.source-picker legend { margin-bottom: .25rem; }
.source-picker label { min-height: 2.5rem; margin-bottom: 0; font-weight: 500; }
.dashboard-widget { padding: var(--app-space); }
.dashboard-widget > header .eyebrow { display: none; }
.dashboard-widget h2 { margin: 0; font-size: 1.2rem; }
.dashboard-widget .live-indicator { font-size: .85rem; margin-block: .4rem; }
.dashboard-widget .dashboard-chart { margin-block: .5rem; min-height: 0; border: 0; }
.widget-details { border-top: 1px solid var(--line); font-size: .9rem; }
.widget-details p { margin-block: .5rem; color: var(--muted); }
.metric-chart .u-legend { font-size: .85rem; }
.metric-chart .u-legend .u-series > * { padding: .15rem .3rem; }
.source-facts { gap: .65rem 1rem; margin-block: .8rem; }
.source-facts dd { font-weight: 500; }
.app-sidebar ~ .site-footer { margin-top: 1rem; padding-block: 1rem; font-size: .85rem; }
@media (min-width: 64.0625rem) {
  .app-sidebar { padding: 1rem .8rem; }
  .nav-toggle { display: none; }
}
@media (max-width: 64rem) {
  :root:has(.app-sidebar) { font-size: 100%; }
  .app-sidebar { position: sticky; top: 0; z-index: 5; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: .65rem .85rem; gap: .65rem; }
  .app-sidebar .wordmark span { display: inline; }
  .nav-toggle { grid-column: 2; grid-row: 1; min-height: 2.75rem; }
  .sidebar-menu { grid-column: 1 / -1; max-height: 75dvh; overflow-y: auto; }
  .sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidebar-group a { min-height: 2.75rem; }
  .sidebar-preferences { max-width: 24rem; }
  .sidebar-signout button { width: auto; min-height: 2.75rem; }
  .app-sidebar ~ main { padding: .75rem; }
  .app-sidebar ~ main :is(button, .button, input, select) { min-height: 2.75rem; }
  .app-sidebar ~ main input[type="checkbox"] { min-height: auto; }
  .app-sidebar ~ main h1 { font-size: 1.75rem; }
}
@media (max-width: 55rem) {
  .dashboard-heading { flex-direction: column; }
  .dashboard-scope { grid-template-columns: minmax(0, 1fr) auto; }
  .dashboard-scope .source-picker { grid-column: 1 / -1; }
  .dashboard-heading-actions { flex-direction: row; align-items: center; width: auto; }
  .dashboard-heading-actions > * { width: auto; }
}
@media (max-width: 28rem) {
  .dashboard-heading-actions { gap: .35rem; }
  .dashboard-heading-actions .button { padding-inline: .5rem; font-size: .9rem; }
  .source-picker label { min-height: 2.75rem; }
}

.sidebar-administration summary { color: var(--muted); cursor: pointer; min-height: 2.75rem; padding-block: .65rem; font-size: .8rem; }
.sidebar-administration[open] summary { margin-bottom: .3rem; }
.metric-chart .u-legend { min-width: 0; width: 100%; }
.metric-chart .u-legend tbody { display: flex; flex-wrap: wrap; justify-content: center; gap: .15rem .5rem; }
.metric-chart .u-legend tr { margin: 0; max-width: 100%; }
.metric-chart .u-legend th, .metric-chart .u-legend td { border: 0; color: var(--ink); font-weight: 400; }
.metric-chart .u-legend th { overflow-wrap: anywhere; }
.metric-chart .u-legend .u-label { max-width: 100%; }
.dashboard-sources { min-width: 0; }
.dashboard-sources > summary { min-height: 2.5rem; padding-block: .45rem; color: var(--accent); cursor: pointer; }
.dashboard-sources[open] > summary { margin-bottom: .25rem; }
.dashboard-sources .source-picker legend { font-size: .85rem; color: var(--muted); }
@media (max-width: 55rem) {
  .dashboard-scope .dashboard-sources { grid-column: 1 / -1; }
  .dashboard-sources > summary { min-height: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  button, .button, .auth-card, .signal-card, .cards article, .table-wrap, .metrics-controls, .explorer-controls, .log-controls, .metric-chart, .metric-summaries article, .empty-state, .dashboard-create, .dashboard-list article, .dashboard-scope, .dashboard-widget, .dashboard-settings-grid, .dashboard-save-card, .administration-note { border: 1px solid CanvasText; }
  .eyebrow, a { color: LinkText; }
}

@media print {
  * { color: #000 !important; background: #fff !important; }
  .site-header nav, .logout, .button, script { display: none !important; }
  .site-header, .site-footer, .section-grid { border-color: #777; }
  .cards, .section-grid { display: block; }
  .cards article, .signal-card { break-inside: avoid; margin-block: 1rem; }
  .table-wrap { overflow: visible; }
  table { min-width: 0; font-size: 9pt; }
}

.host-inventory { margin-block: .75rem; border: 1px solid var(--line); background: var(--panel); }
.host-inventory table { min-width: 0; table-layout: fixed; font-variant-numeric: tabular-nums; }
.host-inventory th, .host-inventory td { padding: .45rem .7rem; font-weight: 400; vertical-align: middle; }
.host-inventory th:first-child { width: 40%; }
.host-inventory tbody th { border-left: 3px solid transparent; color: var(--ink); }
.host-inventory small { display: block; color: var(--muted); font-size: .8rem; }
@media (max-width: 48rem) {
  .host-inventory { font-size: .85rem; }
  .host-inventory th, .host-inventory td { padding: .3rem .4rem; line-height: 1.25; }
  .host-inventory thead th { font-size: .85em; }
  .host-inventory thead th:not(:first-child), .host-inventory td { white-space: nowrap; }
  .host-inventory small { font-size: .75rem; }
}

.inventory-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .4rem .7rem; }
.app-sidebar ~ main .inventory-toolbar h2 { font-size: 1rem; margin: 0; }
.app-sidebar ~ main .inventory-toolbar button { font-size: .85rem; min-height: 2rem; padding: .25rem .5rem; }
.administration-grid .source-facts { display: grid; grid-template-columns: auto minmax(0, 1fr); }
.administration-grid .source-facts div { min-width: 0; }
.administration-grid .source-facts dd { font-size: .9rem; }
