:root {
  --ink: #14181f;
  --panel: #1b212b;
  --line: #2b3340;
  --paper: #f5f6f4;
  --signal: #ffb000;      /* amber: the dock/loading-bay signal colour */
  --live: #2fbf71;
  --hold: #e4572e;
  --muted: #8a93a2;
}
body { background: var(--paper); color: var(--ink); font-family: -apple-system, "Segoe UI", Roboto, system-ui, sans-serif; }

.lbdh-nav { background: var(--ink); border-bottom: 3px solid var(--signal); }
.lbdh-nav .nav-link, .lbdh-nav .navbar-text { color: #cdd4de; }
.lbdh-nav .nav-link:hover { color: #fff; }
.lbdh-mark { font-weight: 800; letter-spacing: .12em; color: var(--signal); }
.lbdh-sub { color: var(--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .18em; }

h1, h2, h3 { font-weight: 700; letter-spacing: -.01em; }
.page-eyebrow { text-transform: uppercase; letter-spacing: .2em; font-size: .72rem; color: var(--muted); }

.card { border: 1px solid #e4e6e2; border-radius: 10px; }
.state-pill { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; padding: .15rem .5rem; border-radius: 999px; font-weight: 700; }
.state-LIVE { background: rgba(47,191,113,.15); color: #1c7a47; }
.state-REJECTED, .state-PARSE_FAILED { background: rgba(228,87,46,.15); color: #b33417; }
.state-PROMOTED { background: rgba(47,191,113,.15); color: #1c7a47; }
.state-STAGING, .state-VALIDATED, .state-RECEIVED { background: rgba(255,176,0,.18); color: #8a5d00; }
.state-RETIRED { background: #eceef0; color: var(--muted); }

.kpi { font-size: 1.6rem; font-weight: 800; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
pre.payload { background: var(--ink); color: #e6e9ee; padding: 1rem; border-radius: 8px; max-height: 320px; overflow: auto; font-size: .8rem; }
.login-wrap { max-width: 380px; margin: 8vh auto; }
.btn-signal { background: var(--signal); border-color: var(--signal); color: #1a1300; font-weight: 600; }
.btn-signal:hover { background: #e69e00; border-color: #e69e00; }
table.dense td, table.dense th { padding: .4rem .6rem; font-size: .88rem; }
