/* Buildout HQ — switchgear navy + copper; status colours are semantic only.
   Display: Barlow Condensed (equipment signage) · Body: Public Sans · Data: JetBrains Mono */
:root{
  --bg:#EDF0F4; --panel:#FFFFFF; --panel2:#F6F8FB; --ink:#0F1B2D; --ink2:#43516A; --ink3:#6D7990; --rule:#DAE0E8;
  --navy:#13203A; --navy2:#1D2D4D; --copper:#B26E28; --copper2:#D08A3E; --copper-soft:#F5E7D6;
  --ok:#12855A; --ok-soft:#E1F2E9; --warn:#B87900; --warn-soft:#FBEFD2; --bad:#CC3A33; --bad-soft:#FBE3E1;
  --idle:#8B95A8; --idle-soft:#E8ECF2; --up:#12855A; --down:#CC3A33;
  --f-disp:"Barlow Condensed","Arial Narrow",sans-serif; --f-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:12px; --shadow:0 1px 0 rgba(15,27,45,.04),0 8px 24px -16px rgba(15,27,45,.25);
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0A111E; --panel:#111A2B; --panel2:#0E1627; --ink:#E7ECF4; --ink2:#AEB8CB; --ink3:#7E899F; --rule:#1F2B41;
  --navy:#060C17; --navy2:#101B31; --copper:#E09D55; --copper2:#F0B679; --copper-soft:#3A2915;
  --ok:#35C284; --ok-soft:#0F2A1F; --warn:#E6A93A; --warn-soft:#2F2411; --bad:#F2645D; --bad-soft:#35181A;
  --idle:#6F7B92; --idle-soft:#1A2437; --up:#35C284; --down:#F2645D; --shadow:none;
}}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--copper);outline-offset:2px;border-radius:4px}
.mono{font-family:var(--f-mono);font-feature-settings:"tnum" 1}

/* ---- top bar ---- */
.top{background:var(--navy);color:#fff;border-bottom:2px solid var(--copper)}
.top .in{max-width:1240px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:18px;min-height:56px;flex-wrap:wrap}
.brand{font:700 19px/1 var(--f-disp);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.brand b{color:var(--copper2);font-weight:700}
.tabs{display:flex;gap:4px;align-self:stretch}
.tabs a{display:flex;align-items:center;padding:0 12px;text-decoration:none;font:600 15px var(--f-disp);letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.62);border-bottom:3px solid transparent;margin-bottom:-2px}
.tabs a:hover{color:#fff}
.tabs a.on{color:#fff;border-bottom-color:var(--copper2)}
.tabs .cnt:not(:empty){margin-left:6px;background:var(--copper);color:#fff;font:700 11px/1 var(--f-mono);letter-spacing:0;padding:3px 6px;border-radius:9px}
.top .sp{flex:1}
.clock{font:500 13px var(--f-mono);color:rgba(255,255,255,.72);white-space:nowrap}
.ibtn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:8px;
  padding:6px 11px;font:600 13px var(--f-body);cursor:pointer;text-decoration:none;white-space:nowrap}
.ibtn:hover{background:rgba(255,255,255,.16)}

main{max-width:1240px;margin:0 auto;padding:20px 16px 48px}

/* ---- panels ---- */
.panel{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px;min-width:0}
.eyebrow{font:600 13px/1 var(--f-disp);letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin:0 0 14px;
  display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--copper);border-radius:1px;flex:none}
.eyebrow .aside{margin-left:auto;letter-spacing:.04em;text-transform:none;font:500 12px var(--f-mono);color:var(--ink3)}
.eyebrow .aside::before{display:none}

/* ---- status atoms ---- */
.st{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}
.st.ok{background:var(--ok)} .st.warn{background:var(--warn)} .st.bad{background:var(--bad)}
.st.wait,.st.due{background:var(--idle)} .st.upcoming,.st.off{background:transparent;border:2px solid var(--idle)}
.lines{display:flex;flex-direction:column}
.line{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:4px 10px;padding:10px 0;border-top:1px solid var(--rule);align-items:start}
.line:first-child{border-top:0;padding-top:2px}
.line .st{margin-top:6px}
.line .t{font-weight:600}
.line .d{grid-column:2;color:var(--ink2);font-size:14px;overflow-wrap:anywhere}
.line .lk{font:500 12px var(--f-mono);color:var(--ink3);text-decoration:none;border:1px solid var(--rule);border-radius:6px;padding:2px 7px}
.line .lk:hover{color:var(--copper);border-color:var(--copper)}

.big{font:600 40px/1 var(--f-disp);letter-spacing:.01em}
.nums{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:12px}
.nums .l{font-size:12.5px;color:var(--ink3);margin-top:4px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:500 12.5px var(--f-mono);background:var(--panel2);border:1px solid var(--rule);border-radius:6px;padding:2px 8px;text-decoration:none}
a.chip:hover{border-color:var(--copper);color:var(--copper)}
.muted{color:var(--ink3);font-size:13px}
.new{font:700 10.5px/1 var(--f-mono);letter-spacing:.06em;background:var(--copper);color:#fff;border-radius:4px;padding:3px 5px;margin-right:7px;vertical-align:2px}
.up{color:var(--up)} .down{color:var(--down)}

/* ---- entrance (quiet) ---- */
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .5s cubic-bezier(.2,.7,.2,1) both}
  @keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}
@media (max-width:560px){
  .tabs{overflow-x:auto;max-width:100%}.tabs a{padding:0 8px;font-size:14px}
  .top .in{gap:10px;padding:8px 12px}
  .clock{order:9;width:100%;font-size:12px}
  main{padding:14px 12px 40px}
  .panel{padding:15px 15px}
  .big{font-size:34px}
}
