/* ---------- Admin (W2 Task 20): the jobs row and the layout's column map (royal.css 515-529); .approved and .check-burst are in viewer.css ---------- */
.mk .jobs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--m-line)}
.mk .job{padding:12px 14px;border-left:1px solid var(--m-line);display:grid;gap:2px}
.mk .job:first-child{border-left:0}
.mk .job span{font-family:var(--m-caps);font-size:9px;letter-spacing:.14em;color:var(--m-muted);text-transform:uppercase}
.mk .job b{font-size:16px;font-weight:600}
.mk .job small{font-size:10.5px;color:var(--m-faint)}
.mk .map{display:grid;grid-template-columns:1fr 24px 1fr auto;gap:8px 12px;align-items:center;font-size:12.5px}
.mk .map .arrow{color:var(--m-gold);text-align:center}
.mk .map .h{font-family:var(--m-caps);font-size:9px;letter-spacing:.14em;color:var(--m-faint);text-transform:uppercase}
.mk.phone .jobs{grid-template-columns:1fr 1fr}
.mk.phone .job:nth-child(odd){border-left:0}
.mk.phone .job{border-top:1px solid var(--m-line)}
.mk.phone .map{grid-template-columns:1fr 16px 1fr}
.mk.phone .map .conf{display:none}
/* The design wrote these two as style attributes (screens.js 469 and 472); the CSP allows classes. */
.mk .map-why{margin-bottom:10px}
.mk .map-act{margin-top:14px;justify-content:flex-end}
/* Several proposals can wait: the second one is set off from the first. */
.mk .map-one + .map-one{margin-top:18px;padding-top:18px;border-top:1px solid var(--m-line)}
/* Not a list: the row leaves as a queue row does (queues.css .qrow.leaving); the empty lines are the design's (screens.js 464, 467). */
.mk .doc.leaving{animation:leave .55s var(--ease) forwards;pointer-events:none}
.mk .sec-empty{font-size:12.5px}
.mk .approved:focus-visible{outline:2px solid var(--m-gold);outline-offset:4px}
/* ---------- Admin's tiles (W2 Task 33; royal.css 505-514, 524; K7 and K6, mock.css 79-89; the state words beside the dot are not built) ---------- */
.mk .health{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mk .hc{border:1px solid var(--m-line);background:linear-gradient(180deg,var(--m-panel),#0b1020);padding:14px 16px;display:grid;gap:4px;position:relative}
.mk .hc .lbl{font-family:var(--m-caps);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--m-muted)}
.mk .hc b{font-size:22px;font-weight:600}
.mk .hc .sub{font-size:11.5px;color:var(--m-muted)}
.mk .hc .sub.w{color:var(--m-amber)}
.mk .hc .st{position:absolute;right:14px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--m-good);box-shadow:0 0 10px rgba(85,197,146,.6)}
.mk .hc .st.w{background:var(--m-amber);box-shadow:0 0 10px rgba(238,140,95,.6)}
.mk .meter{height:4px;background:rgba(242,235,219,.07);margin-top:4px}
.mk .meter i{display:block;height:100%;background:linear-gradient(90deg,#7d6232,#e2c27d);transform-origin:left}
.mk .enter .meter i{animation:grow 1s var(--ease) both}
.mk .hc.warn .meter i{background:linear-gradient(90deg,#8a4a2a,var(--m-amber))}
.mk .hc .st.u{background:transparent;box-shadow:none;border:1.5px dashed var(--m-muted);width:10px;height:10px;right:13px;top:13px}
.mk .hc.unk{border-style:dashed;background:linear-gradient(180deg,#0c1120,#0a0e1b)}
.mk .hc.unk b{font-size:17px;color:var(--m-muted);font-weight:500}
.mk.phone .health{grid-template-columns:1fr 1fr}
/* K6: the AI reader line under the jobs, in the jobs' own style: the same frame with no top border */
.mk .ai-wait{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;border:1px solid var(--m-line);border-top:0;padding:11px 14px;margin-top:-18px}
.mk.phone .ai-wait{margin-top:-12px}
.mk .ai-wait span.l{font-family:var(--m-caps);font-size:9px;letter-spacing:.14em;color:var(--m-muted);text-transform:uppercase}
.mk .ai-wait b{font-size:16px;font-weight:600}
.mk .ai-wait b.z{color:var(--m-muted)}
.mk .ai-wait small{font-size:10.5px;color:var(--m-faint)}
