/* VideoHound portal: the unit's slate-night look (see web/style.css). */
@font-face { font-family: "Barlow"; font-weight: 400; font-display: swap; src: url(/static/fonts/barlow-400.woff2) format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 500; font-display: swap; src: url(/static/fonts/barlow-500.woff2) format("woff2"); }
@font-face { font-family: "Barlow"; font-weight: 600; font-display: swap; src: url(/static/fonts/barlow-600.woff2) format("woff2"); }
@font-face { font-family: "Barlow SC"; font-weight: 600; font-display: swap; src: url(/static/fonts/barlow-sc-600.woff2) format("woff2"); }

:root {
  --night: #18212B; --panel: #212C38; --raise: #2A3745; --line: #33424F;
  --text: #E4E9EE; --muted: #8A98A8; --person: #F2A93B; --up: #6FBF73; --down: #E5534B; --focus: #9CC2FF;
  --sans: "Barlow", system-ui, sans-serif; --cond: "Barlow SC", "Barlow", system-ui, sans-serif;
  --radius: 4px;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--night); color: var(--text); font: 400 16px/1.5 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: var(--text); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
h1 { font: 600 26px/1.15 var(--sans); margin: 0 0 14px; }
h2 { font: 600 19px/1.2 var(--sans); margin: 0; }
.muted { color: var(--muted); }
.hint { color: var(--muted); font-weight: 400; font-size: 14px; }
.ok { color: var(--up); }
.warn { color: var(--person); }
.error { color: var(--down); margin: 0; }

.top { display: flex; align-items: center; justify-content: space-between; gap: 12px;
       padding: 14px max(16px, env(safe-area-inset-left)); border-bottom: 1px solid var(--line); background: var(--panel); flex-wrap: wrap; }
.wordmark { display: flex; align-items: center; gap: 10px; font: 600 19px/1 var(--cond); text-decoration: none; }
.mark { width: 18px; height: 18px; --c: var(--person);
  background:
    linear-gradient(var(--c), var(--c)) top left / 7px 2px, linear-gradient(var(--c), var(--c)) top left / 2px 7px,
    linear-gradient(var(--c), var(--c)) top right / 7px 2px, linear-gradient(var(--c), var(--c)) top right / 2px 7px,
    linear-gradient(var(--c), var(--c)) bottom left / 7px 2px, linear-gradient(var(--c), var(--c)) bottom left / 2px 7px,
    linear-gradient(var(--c), var(--c)) bottom right / 7px 2px, linear-gradient(var(--c), var(--c)) bottom right / 2px 7px;
  background-repeat: no-repeat; }
.me { display: flex; align-items: center; gap: 8px; }
.me span { font-weight: 600; margin-right: 4px; }
.me form { margin: 0; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 24px max(16px, env(safe-area-inset-left)) 48px; }

.btn { font: 500 15px/1 var(--sans); color: var(--text); background: var(--raise); border: 1px solid var(--line);
       border-radius: var(--radius); padding: 10px 14px; cursor: pointer; text-decoration: none; display: inline-flex; gap: 6px; }
.btn:hover { border-color: var(--muted); }
.btn.primary { background: var(--person); border-color: var(--person); color: var(--night); font-weight: 600; }
.btn.ghost { background: transparent; }
.btn.small { padding: 6px 10px; font-size: 14px; }

label { display: grid; gap: 5px; font-weight: 500; }
input { font: 400 16px/1.3 var(--sans); color: var(--text); background: var(--night); border: 1px solid var(--line);
        border-radius: var(--radius); padding: 9px 11px; }
input:focus { border-color: var(--focus); outline: none; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; padding: 24px; }
.login { max-width: 380px; margin: 6vh auto 0; display: grid; gap: 16px; }
.login h1 { margin: 0; }

.list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; max-width: 640px; }
.row-link { display: grid; gap: 2px; padding: 14px 16px; background: var(--panel); border: 1px solid var(--line);
            border-radius: 6px; text-decoration: none; }
.row-link:hover { border-color: var(--muted); }

.head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.head h1 { margin: 0; }
.units { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 14px; }
.unit { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; padding: 16px 18px;
        display: grid; gap: 12px; align-content: start; }
.unit.down { border-color: var(--down); }
.unit-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dot { width: 9px; height: 9px; border-radius: 50%; background: var(--down); }
.dot.up { background: var(--up); }
.facts { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; font-size: 15px; }
.facts dt { color: var(--muted); }
.facts dd { margin: 0; }
.unit .btn { justify-self: start; }

/* staff pages */
.form { display: grid; gap: 14px; margin-top: 18px; }
.form h2 { margin: 0; }
.row { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.row label { flex: 1 1 180px; }
.row label.narrow { flex: 0 1 110px; }
label.check { display: flex; align-items: center; gap: 6px; font-weight: 400; }
select { font: 400 15px/1.3 var(--sans); color: var(--text); background: var(--night); border: 1px solid var(--line);
         border-radius: var(--radius); padding: 8px 10px; }
.addr { display: flex; align-items: center; gap: 6px; }
.addr input { flex: 1; min-width: 0; }
.tbl { width: 100%; border-collapse: collapse; font-size: 15px; }
.tbl th { text-align: left; color: var(--muted); font-weight: 500; font-size: 13px; padding: 6px 8px; border-bottom: 1px solid var(--line); }
.tbl td { padding: 8px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.tbl tr:last-child td { border-bottom: 0; }
.inline { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.secret { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 10px 14px; border: 1px solid var(--person);
          border-radius: var(--radius); background: rgba(242,169,59,.08); }
.secret code { font: 600 16px/1.3 ui-monospace, Menlo, monospace; user-select: all; }
code { font-family: ui-monospace, Menlo, monospace; font-size: .9em; background: var(--raise); padding: 1px 5px; border-radius: 3px; }
@media (max-width: 640px) { .tbl thead { display: none; } .tbl td { display: block; border: 0; padding: 4px 0; } .tbl tr { display: block; border-bottom: 1px solid var(--line); padding: 8px 0; } }
