/* Admin console: a desk, not a garden. Same tokens, quieter, denser. */
body.adm { background: var(--bg); padding-bottom: calc(var(--pocbar-h) + var(--s-6)); font-size: var(--t-15); }
.an { position: sticky; top: 0; z-index: var(--z-sticky); background: var(--surface); border-bottom: var(--rule); }
.an-in { display: flex; align-items: center; gap: var(--s-5); width: min(100% - 2 * var(--gutter), 1360px); margin: 0 auto; min-height: 56px; }
.an-brand { display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--ink); font: 700 var(--t-18)/1 var(--font-display); letter-spacing: -0.02em; flex: none; }
.an-brand em { font: 700 var(--t-11) var(--font-body); font-style: normal; color: var(--primary); background: var(--primary-soft); padding: 3px 7px; border-radius: var(--r-full); letter-spacing: 0; }
.an-nav { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; flex: 1; }
.an-nav a { position: relative; padding: 0 var(--s-3); min-height: 56px; display: flex; align-items: center; white-space: nowrap; text-decoration: none; color: var(--muted); font-weight: 700; font-size: var(--t-14); }
.an-nav a:hover { color: var(--ink); }
.an-nav a[aria-current="page"] { color: var(--ink); }
.an-nav a[aria-current="page"]::after { content: ""; position: absolute; left: var(--s-3); right: var(--s-3); bottom: -1px; height: 2px; background: var(--primary); border-radius: 2px; }
.an-me { display: flex; align-items: center; gap: var(--s-2); font-size: var(--t-13); color: var(--ink-2); flex: none; }
.adm-main { width: min(100% - 2 * var(--gutter), 1360px); margin: 0 auto; padding-top: var(--s-6); }

.ah { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; margin-bottom: var(--s-5); }
.ah h1 { font-size: var(--t-28); margin: 0; letter-spacing: -0.025em; }
.ah p { margin: 4px 0 0; color: var(--muted); max-width: 70ch; }
.ah .acts { display: flex; gap: var(--s-2); flex-wrap: wrap; }

/* KPI strip: one face, hairline dividers, no card grid */
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); background: var(--surface); border: var(--rule); border-radius: var(--r-card); margin-bottom: var(--s-5); }
.kpis > div { padding: var(--s-4) var(--s-5); border-left: var(--rule); }
.kpis > div:first-child { border-left: 0; }
.kpis b { display: block; font: 600 var(--t-28)/1.1 var(--font-display); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.kpis span { font-size: var(--t-13); color: var(--muted); }
.kpis em { display: block; font-style: normal; font-size: var(--t-12); font-weight: 700; color: var(--success-ink); margin-top: 2px; }
.kpis em.down { color: var(--danger-ink); }
.kpis em.flat { color: var(--muted); }

.g2 { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--s-5); align-items: start; }
.g2e { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-5); align-items: start; }
.panel { background: var(--surface); border: var(--rule); border-radius: var(--r-card); }
.panel > header { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding: var(--s-4) var(--s-5); border-bottom: var(--rule); }
.panel > header h2 { font-size: var(--t-16); margin: 0; }
.panel > header a, .panel > header button.lnk { font: 700 var(--t-13) var(--font-body); color: var(--primary); background: none; border: 0; text-decoration: none; }
.panel > .pb { padding: var(--s-4) var(--s-5); }
.panel .tbl-wrap { border: 0; border-radius: 0 0 var(--r-card) var(--r-card); }
.stack-g { display: grid; gap: var(--s-5); }
.feed-a .li { padding: var(--s-3) var(--s-5); min-height: 0; align-items: flex-start; }
.feed-a .li .t { font-weight: 400; }
.feed-a .li .t b { font-weight: 700; }
.feed-a .li.fresh { background: var(--accent-soft); }
.filters { display: flex; gap: var(--s-3); flex-wrap: wrap; align-items: center; margin-bottom: var(--s-3); }
.filters .input-affix { width: 280px; }
.tbl tr[data-row] { cursor: pointer; }
.tbl tr.fresh td { background: var(--accent-soft); }
.who { display: inline-flex; align-items: center; gap: var(--s-2); }

/* board (service jobs) */
.board { display: grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: var(--s-3); overflow-x: auto; }
.col { background: var(--surface-2); border-radius: var(--r-card); padding: var(--s-3); min-height: 320px; }
.col h2 { font-size: var(--t-14); margin: 0 0 var(--s-3); display: flex; justify-content: space-between; }
.col h2 span { color: var(--muted); font-family: var(--font-body); }
.jc { background: var(--surface); border: var(--rule); border-radius: var(--r-ctl); padding: var(--s-3); margin-bottom: var(--s-2); display: grid; gap: 4px; cursor: pointer; font-size: var(--t-13); }
.jc:hover { border-color: var(--root); }
.jc b { font-size: var(--t-14); }
.jc.fresh { border-color: var(--accent-strong); box-shadow: 0 0 0 2px var(--accent-soft); }
.jc .spread { color: var(--muted); }

.dl { display: grid; grid-template-columns: 140px 1fr; gap: var(--s-2) var(--s-4); font-size: var(--t-14); margin: 0 0 var(--s-4); }
.dl dt { color: var(--muted); }
.dl dd { margin: 0; }

@media (max-width: 1080px) { .g2, .g2e { grid-template-columns: 1fr; } .an-me .hide-sm { display: none; } }
@media (max-width: 640px) { .kpis > div { border-left: 0; border-top: var(--rule); } .kpis > div:first-child { border-top: 0; } .filters .input-affix { width: 100%; } .dl { grid-template-columns: 1fr; } }
