/* admin.css — the operator admin surface in the Drawing Set: dashboard, client hub, lists, request queue, checklist,
   integrations, audit, Databricks apps. Composition only: every colour, size and type role is an --rc-* token from
   style.css, markup prefers the rc-* primitives in rc.css, and the prefix here is adm-.
   Loads after style.css on every page, so the few legacy blocks that other surfaces still read stay at the top
   (.mcp-activity-*, .stats/.stat for activity.html and people.html, the page-editor rules S-admin2 overrides in editor.css). */

/* ── legacy blocks still read by other surfaces (activity.html, people.html, page editor) ── */
.mcp-activity-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.mcp-activity-heading h3 { margin:0; }
.mcp-activity-source { margin-block:16px; }
.mcp-activity-counts { display:flex; flex-wrap:wrap; gap:16px 32px; padding-block:12px; border-block:1px solid var(--line); }
.mcp-activity-counts dt { color:var(--muted); font-size:.85rem; }
.mcp-activity-counts dd { margin:0; font-size:1.25rem; font-weight:650; font-variant-numeric:tabular-nums; }
.mcp-state-ok { color:var(--status-ok-ink); background:var(--status-ok-bg); }
.mcp-state-warning { color:var(--status-warn-ink); background:var(--status-warn-bg); }
.mcp-state-muted { color:var(--status-neutral-ink); background:var(--status-neutral-bg); }
.mcp-activity-tool { overflow-wrap:anywhere; min-width:150px; }

.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; margin: 16px 0; }
.stat { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; box-shadow: var(--shadow); }
.stat .num { font-size: 26px; font-weight: 700; }
.stat .lbl { color: var(--muted); font-size: 13px; }

.mermaid-block textarea { width: 100%; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; border: 1px solid var(--line); border-radius: 8px; padding: 10px; }

/* Keep the authoring surface light (Notion-like) even in dark mode. */
:root[data-theme="dark"] .editor-holder { background: #fff; color: #1c2230; border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; }
:root[data-theme="dark"] .editor-holder a { color: var(--brand-ink); }

/* ══ 1 · ADMIN NAVIGATION: section tabs + mono breadcrumb ══════════════════════════════════════════════ */
.adm-tabbar { margin: -8px 0 20px; border-bottom: 1px solid var(--rc-line); }
.adm-tabs { position: relative; margin-left: -14px; overflow-x: auto; scrollbar-width: none; }
.adm-tabs::-webkit-scrollbar { display: none; }
.rc-tabs.adm-tabs { scroll-snap-type: none; }   /* rc.css snaps tab starts on phones, which would undo the exact centring of the current tab (admin.js) */
.adm-tabs .rc-tab::after { bottom: 0; }
.adm-tabs .rc-tab { text-decoration: none; }
.adm-tabs .rc-count { margin-left: 2px; }
.adm-crumb { margin: 0 0 18px; }
.adm-crumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; padding: 0; list-style: none;
  font: 500 12px/1.2 var(--rc-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--rc-text-mute); }
.adm-crumb li { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.adm-crumb li + li::before { content: "/"; color: var(--rc-text-faint); }
.adm-crumb a { color: var(--rc-text-mute); text-decoration: none; }
.adm-crumb a:hover { color: var(--rc-text); text-decoration: none; }
.adm-crumb [aria-current="page"] { color: var(--rc-text); overflow-wrap: anywhere; }
.adm-crumb__raw { text-transform: none; letter-spacing: .02em; }

/* ══ 2 · PAGE HEAD, KPI STRIP, SECTIONS ═════════════════════════════════════════════════════════════════ */
.adm-pagehead { margin-bottom: 0; }
.adm-pagehead h1 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.adm-pagehead .actions form { margin: 0; }
.adm-btncount { display: inline-flex; align-items: center; gap: 6px; height: 20px; margin-left: 6px; padding: 0 7px; background: var(--rc-card); color: var(--rc-text); font: 500 12px/1 var(--rc-font-mono); letter-spacing: 0; text-transform: none; font-variant-numeric: tabular-nums; }
.adm-idstamp { font-size: 12px; letter-spacing: .02em; text-transform: none; }
.adm-observed { margin: 10px 0 0; font: 500 12px/1.4 var(--rc-font-mono); letter-spacing: .02em; color: var(--rc-text-mute); }
.adm-observed strong { color: var(--rc-text); font-weight: 600; }
.adm-of { font: 500 14px/1 var(--rc-font-mono); letter-spacing: 0; color: var(--rc-text-mute); }
.adm-kpis { margin-top: 24px; }
.adm-kpi { color: inherit; text-decoration: none; transition: background-color var(--rc-dur-fast) var(--rc-ease); }
a.adm-kpi:hover { background: var(--sec-band, var(--rc-hover)); text-decoration: none; }
a.adm-kpi:focus-visible { outline-offset: -2px; }
.adm-kpi__s { display: flex; align-items: flex-start; gap: 8px; font: 400 13px/1.45 var(--rc-font-sans); color: var(--rc-text-mute); }
.adm-seats .adm-kpi__s { flex-wrap: wrap; align-items: center; }
.adm-kpi__s .rc-i { vertical-align: -2px; }
.adm-kpi__s > .rc-glyph { margin-top: 5px; }
.adm-kpi__s > .rc-i { margin-top: 3px; }
.adm-kpis .rc-kpi__v { white-space: normal; }
.adm-kpi .rc-rollup { flex-wrap: wrap; gap: 4px 14px; }
.adm-sec { margin-top: 40px; min-width: 0; }
.adm-sec--first, .adm-pagehead + .adm-sec { margin-top: 28px; }
.adm-sec > .rc-gline + * { margin-top: 20px; }
:target.adm-sec .rc-gname { color: var(--rc-accent); }
.adm-bar { gap: 8px 12px; flex-wrap: wrap; padding-block: 6px; }
.adm-bar__meta { min-width: 0; font: 400 13px/1.4 var(--rc-font-sans); color: var(--rc-text-mute); }
.adm-bar .btn.sm { margin-block: 4px; }
.adm-bar form { margin-block: 4px; }
.adm-push, .adm-bar .adm-push { margin-left: auto; }
.adm-sec code, .adm-savebar code, .adm-bar code, .adm-hint code { font-variant-ligatures: none; }
.adm-strong { font-weight: 600; color: var(--rc-text); }
a.adm-strong { color: var(--rc-accent); }
.adm-nowrap { white-space: nowrap; }
.adm-hint { display: block; margin: 0; font: 400 13px/1.45 var(--rc-font-sans); color: var(--rc-text-mute); }
.adm-empty { margin: 0; max-width: 560px; }
.adm-empty > p { margin: 0 0 12px; }
.rc-panel > .adm-empty { margin: 16px; max-width: none; }
.adm-stack > .adm-empty { margin: 0; max-width: none; }
.adm-okline { margin: 0; padding: 14px 16px; }
.adm-note { display: block; font: 400 13px/1.5 var(--rc-font-sans); color: var(--rc-text-mute); }
.adm-stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-content: start; min-width: 0; }

/* ══ 3 · TABLES INSIDE PANELS (stacked records on phones) ═══════════════════════════════════════════════════ */
.adm-flush .rc-table { border-top: 0; }
.adm-flush .rc-table thead th { background: var(--sec-wash, transparent); }
.adm-flush .rc-table th:first-child, .adm-flush .rc-table td:first-child { padding-left: 16px; }
.adm-flush .rc-table th:last-child, .adm-flush .rc-table td:last-child { padding-right: 16px; }
.adm-flush .rc-table tr:last-child td { border-bottom: 0; }
.adm-rtable td { overflow-wrap: anywhere; }
.adm-rtable th.adm-r, .adm-rtable td.num { text-align: right; }
.adm-rtable td code, .adm-matrix td code { font: 500 12px/1.4 var(--rc-font-mono); color: var(--rc-text); }
.adm-clip { display: inline-block; max-width: 22ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.adm-small td, .adm-small th { padding-block: 8px; }
.adm-nm { display: inline-flex; align-items: center; gap: 10px; color: var(--rc-text); }
.adm-acts { display: inline-flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.adm-acts form { margin: 0; }
.adm-rtable td:last-child:has(.adm-acts) { text-align: right; }
.adm-rtable td .rc-stamp { margin-left: 0; }
.adm-rtable tr.adm-rotate td { border-top: 0; padding-top: 0; }
.adm-ico { display: inline-grid; place-items: center; flex: none; width: 32px; height: 32px; border: 1px solid var(--sec-rule, var(--rc-line-strong)); background: var(--sec-band, var(--rc-card-soft)); color: var(--sec, var(--rc-text-soft)); }
.adm-ico--sm { width: 24px; height: 24px; }
.adm-ico--sm svg { width: 14px; height: 14px; }
.adm-kv { border-top: 0; display: block; columns: 2; column-gap: 0; }
.adm-kv > div { break-inside: avoid; align-items: center; justify-content: space-between; padding: 10px 16px; border-bottom: 1px solid var(--rc-line); }
.adm-kv dd { display: flex; align-items: center; gap: 12px; min-width: 0; }
.adm-bval { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 12px/1.4 var(--rc-font-mono); color: var(--rc-text-mute); }
.adm-subbar { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 10px 16px; border-bottom: 1px solid var(--rc-line); background: var(--sec-wash, var(--rc-band)); }
.adm-key { display: block; padding: 0; font: inherit; }
.adm-key > summary { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; cursor: pointer; list-style: none; font: 500 13px/1.2 var(--rc-font-sans); color: var(--rc-text-soft); }
.adm-key > summary::-webkit-details-marker { display: none; }
.adm-key > summary:hover { color: var(--rc-text); background: var(--rc-hover); }
.adm-key > summary svg { color: var(--rc-text-faint); transition: transform var(--rc-dur-base) var(--rc-ease-out); }
.adm-key[open] > summary svg { transform: rotate(90deg); }
.adm-key[open] > summary { border-bottom: 1px solid var(--rc-line); }
.adm-key .adm-flush .rc-table { border-top: 0; }

/* ══ 4 · ADMIN AREAS (dashboard) ═════════════════════════════════════════════════════════════════════════════ */
.adm-areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rc-gap); }
.adm-area { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); grid-template-areas: "i t" "i d" "i f"; column-gap: 14px; row-gap: 4px; align-content: start;
  padding: 16px; background: var(--rc-raised); border: 1px solid var(--rc-line-strong); border-top: var(--sec-w, 1px) solid var(--sec, var(--rc-line-strong)); color: inherit; text-decoration: none;
  transition: border-color var(--rc-dur-fast) var(--rc-ease), background-color var(--rc-dur-fast) var(--rc-ease); }
.adm-area:hover { border-color: var(--rc-line-bright); border-top-color: var(--sec, var(--rc-line-bright)); background: var(--sec-wash, var(--rc-hover)); text-decoration: none; }
.adm-area:focus-visible { outline: 2px solid var(--rc-focus); outline-offset: 2px; }
.adm-area > .adm-ico { grid-area: i; }
.adm-area__t { grid-area: t; align-self: center; font: 600 16px/1.3 var(--rc-font-display); letter-spacing: -.005em; color: var(--rc-text); }
.adm-area__d { grid-area: d; font: 400 13px/1.45 var(--rc-font-sans); color: var(--rc-text-soft); }
.adm-area__f { grid-area: f; padding-top: 4px; }

/* ══ 5 · CLIENT HUB: sticky "On this page" rail + sections ═══════════════════════════════════════════════════ */
.adm-hub { display: grid; grid-template-columns: var(--rail-w) minmax(0, 1fr); gap: 32px; margin-top: 8px; align-items: start; }
.adm-hub__main { min-width: 0; }
.adm-hub__main > .adm-sec:first-child { margin-top: 32px; }
.adm-rail { position: sticky; top: calc(var(--rc-chrome-h) + 16px); align-self: start; margin-top: 32px; }
.adm-rail__panel { padding: 0 0 8px; }
.adm-rail__h { padding: 14px 12px 8px 12px; }
.adm-grp { cursor: default; font-weight: 600; }
.adm-rail .rc-tree__children > .rc-tree__row { grid-template-columns: minmax(0, 1fr) auto; padding: 0 8px 0 12px; }
.adm-chipdept { display: none; }
.adm-rail .rc-tree__row--dept { grid-template-columns: 24px 12px minmax(0, 1fr) auto 12px; }
.adm-rail .rc-tree__row--dept .rc-tree__count:empty { display: none; }
/* the rail wears each group's hue: tinted group rows with a 10px square, hue connectors and ports, hue wash under the pointer */
.adm-rail .rc-tree__row--dept { margin-top: 6px; background: var(--sec-band); border: 1px solid var(--sec-rule); }
.adm-rail .rc-tree__row--dept .rc-dept { width: 10px; height: 10px; }
.adm-rail .rc-tree__row--dept .rc-tree__name { color: var(--rc-text); }
.adm-rail .rc-tree__children::before, .adm-rail .rc-tree__children > .rc-tree__row::before { background: var(--sec-rule); }
.adm-rail .rc-tree__port { box-shadow: inset 0 0 0 1px var(--sec); }
.adm-rail .rc-tree__children > .rc-tree__row:hover { background: var(--sec-wash); }

/* ══ 6 · FORMS ═════════════════════════════════════════════════════════════════════════════════════════════════ */
.adm-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.adm-form--pad { padding: 16px; }
.adm-form .field { margin: 0; align-content: start; }
.adm-form--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.adm-form--link { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 2fr); }
.adm-form--link .adm-span2 { grid-column: 2 / -1; }
.adm-form--src { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr); }
.adm-form--filter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; }
.adm-span2, .adm-span-all, .adm-sw-field { grid-column: 1 / -1; }
.adm-form--link .adm-sw-field { grid-column: 1 / -1; }
.adm-form input[readonly], .adm-form textarea[readonly] { border-style: dashed; background: transparent; color: var(--rc-text-mute); cursor: default; }
.adm-form input.mono, .adm-form textarea.mono { font-family: var(--rc-font-mono); font-size: 13px; }
.adm-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.adm-fieldset:disabled { opacity: 1; }
.adm-savebar { flex-wrap: nowrap; align-items: center; padding: 12px 16px; font: 400 13px/1.45 var(--rc-font-sans); }
.adm-savebar > span { max-width: 62ch; }
.adm-inline { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 0; }
.adm-inline .field { flex: 1 1 280px; margin: 0; align-content: start; }
.adm-inline--tight { align-items: center; gap: 8px; }
.adm-inline--tight input { max-width: 320px; }
.adm-addfoot { display: block; padding: 12px 16px; font: inherit; }
.adm-addfoot .adm-hint { margin-top: 12px; max-width: 80ch; }
.adm-add > summary { display: inline-flex; list-style: none; cursor: pointer; }
.adm-add > summary::-webkit-details-marker { display: none; }
.adm-add[open] > summary { border-color: var(--rc-accent-ui); color: var(--rc-accent); }
.adm-add__form { margin-top: 16px; }
.adm-assign { display: grid; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--rc-line); justify-items: start; }
.adm-assign--plain { margin-top: 0; padding-top: 0; border-top: 0; }
.adm-assign .checkgrid { width: 100%; }
.checkgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px 16px; max-height: 320px; overflow-y: auto; padding: 12px; border: 1px solid var(--rc-line-strong); background: var(--rc-field); }
.checkgrid .check { min-width: 0; overflow-wrap: anywhere; }
.adm-checkgrid { max-height: none; overflow: visible; border: 0; padding: 0; background: none; }

/* colour picker: every stored label keeps its hex; the swatch is the department square it snaps to */
.adm-swatches { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.adm-swatches legend { margin: 0 0 6px; padding: 0; font: 500 12px/1.2 var(--rc-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--rc-text-mute); }
.adm-sw { position: relative; display: inline-flex; }
.adm-sw input { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.adm-sw__chip { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 10px; border: 1px solid var(--rc-line-strong); background: transparent; color: var(--rc-text-soft);
  font: 500 13px/1 var(--rc-font-sans); white-space: nowrap; transition: border-color var(--rc-dur-fast) var(--rc-ease), background-color var(--rc-dur-fast) var(--rc-ease), color var(--rc-dur-fast) var(--rc-ease); }
.adm-sw:hover .adm-sw__chip { border-color: var(--rc-line-bright); background: var(--rc-hover); color: var(--rc-text); }
.adm-sw:has(input:checked) .adm-sw__chip { border-color: var(--rc-accent-ui); background: var(--rc-accent-wash); color: var(--rc-text); }
.adm-sw:has(input:checked) .adm-sw__chip::after { content: ""; width: 10px; height: 6px; margin-left: 2px; border: 2px solid var(--rc-accent); border-top: 0; border-right: 0; transform: translateY(-1px) rotate(-45deg); }
.adm-sw:has(input:focus-visible) .adm-sw__chip { outline: 2px solid var(--rc-focus); outline-offset: 2px; }
.adm-sw__none { display: inline-block; flex: none; width: 8px; height: 8px; border: 1px dashed var(--rc-line-bright); }

/* people (company managers) */
.adm-people { margin: 0; padding: 0; list-style: none; border: 1px solid var(--rc-line); }
.adm-people li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 14px; }
.adm-people .rc-monogram { display: inline-grid; }
.adm-people li + li { border-top: 1px solid var(--rc-line); }
.adm-people__id { display: grid; min-width: 0; }
.adm-people__id strong { font: 600 14px/1.3 var(--rc-font-sans); color: var(--rc-text); }
.adm-people__id span { overflow: hidden; text-overflow: ellipsis; font: 500 12px/1.4 var(--rc-font-mono); color: var(--rc-text-mute); }
.adm-people__act { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.adm-people__act form { margin: 0; }

/* quick links: one collapsed record each */
.adm-linklist { margin: 0; padding: 0; list-style: none; }
.adm-linkrec { border-bottom: 1px solid var(--rc-line); }
.adm-linkrec > details > summary { display: grid; grid-template-columns: 12px 24px minmax(0, 1.2fr) minmax(0, 1.8fr) auto; align-items: center; gap: 12px; min-height: 52px; padding: 8px 16px; cursor: pointer; list-style: none; transition: background-color var(--rc-dur-fast) var(--rc-ease); }
.adm-linkrec > details > summary::-webkit-details-marker { display: none; }
.adm-linkrec > details > summary:hover { background: var(--rc-hover); }
.adm-linkrec > details[open] > summary { background: var(--rc-accent-wash); border-bottom: 1px solid var(--rc-line); }
.adm-linkrec__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 14px/1.3 var(--rc-font-sans); color: var(--rc-text); }
.adm-linkrec__meta { display: flex; align-items: center; gap: 12px; min-width: 0; }
.adm-linkrec__host { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 12px/1.2 var(--rc-font-mono); color: var(--rc-text-mute); }
.adm-linkrec__edit { display: inline-flex; align-items: center; gap: 6px; font: 500 13px/1 var(--rc-font-sans); color: var(--rc-text-mute); }
.adm-linkrec__edit svg { transition: transform var(--rc-dur-base) var(--rc-ease-out); }
.adm-linkrec > details[open] .adm-linkrec__edit svg { transform: rotate(180deg); }
.adm-linkrec__body { display: grid; gap: 14px; padding: 16px; }
.adm-linkrec__act { display: flex; flex-wrap: wrap; gap: 8px; }
.adm-linkrec__act form { margin: 0; }

/* native bootstrap requirements (Databricks apps) */
.adm-info { margin-top: 24px; border: 1px solid var(--rc-line-strong); background: var(--rc-raised); }
.adm-info > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; cursor: pointer; list-style: none; font: 500 13px/1.2 var(--rc-font-sans); color: var(--rc-text-soft); }
.adm-info > summary::-webkit-details-marker { display: none; }
.adm-info > summary:hover { color: var(--rc-text); background: var(--rc-hover); }
.adm-info > summary svg { color: var(--rc-text-faint); transition: transform var(--rc-dur-base) var(--rc-ease-out); }
.adm-info[open] > summary svg { transform: rotate(90deg); }
.adm-info[open] > summary { border-bottom: 1px solid var(--rc-line); }
.adm-info__body { padding: 4px 16px 12px; }
.adm-info__body p { max-width: 78ch; font-size: 13.5px; line-height: 1.6; color: var(--rc-text-soft); }

/* ══ 7 · ACCESS REQUEST QUEUE ═══════════════════════════════════════════════════════════════════════════════════ */
.adm-reqs { margin: 0; padding: 0; list-style: none; }
.adm-req { display: grid; gap: 12px; padding: 16px; border-bottom: 1px solid var(--rc-line); }
.adm-req:last-child { border-bottom: 0; }
.adm-req__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 8px 16px; }
.adm-req__id { display: grid; flex: 1 1 320px; min-width: 0; gap: 2px; }
.adm-req__id strong { font: 600 14px/1.35 var(--rc-font-sans); color: var(--rc-text); }
.adm-req__id span { font: 500 12px/1.5 var(--rc-font-mono); color: var(--rc-text-mute); overflow-wrap: anywhere; }
.adm-req__state { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.adm-req__note { margin: 0; font: 400 13px/1.5 var(--rc-font-sans); color: var(--rc-text-soft); }
.adm-req__act { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 28px; }
.adm-req__act form { display: grid; grid-template-columns: minmax(0, 1fr) auto; flex: 1 1 340px; align-items: end; gap: 8px; margin: 0; }
.adm-req__act form .field { margin: 0; }
.adm-req__act form:not(:has(.field)) { display: flex; flex: 0 0 auto; }
.bulkbar { display: inline-flex; align-items: center; gap: 10px; }
.bulkcheck { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; font: 400 13px/1 var(--rc-font-sans); color: var(--rc-text-soft); cursor: pointer; user-select: none; }

/* ══ 8 · CHECKLIST ══════════════════════════════════════════════════════════════════════════════════════════════ */
.adm-matrix th { vertical-align: bottom; }
.adm-matrix th.adm-mx-c { min-width: 44px; max-width: 96px; padding-inline: 3px; letter-spacing: .02em; white-space: normal; line-height: 1.25; text-align: center; }
/* the client name and Run now stay on screen whenever the matrix has to scroll (laptop widths and tablets) */
.adm-matrix th:first-child, .adm-matrix td:first-child { position: sticky; left: 0; z-index: 1; background: var(--rc-raised); box-shadow: inset -1px 0 var(--rc-line); }
.adm-matrix th:last-child, .adm-matrix td:last-child { position: sticky; right: 0; z-index: 1; background: var(--rc-raised); box-shadow: inset 1px 0 var(--rc-line); }
.adm-matrix td.adm-mx-c { padding-inline: 4px; text-align: center; }
.adm-cell { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 20px; min-height: 20px; color: var(--rc-text-soft); }
.adm-cell svg { color: var(--rc-text-mute); }
.adm-cell__na { font: 500 12px/1 var(--rc-font-mono); color: var(--rc-text-faint); }
.adm-matrix td { vertical-align: middle; }
.adm-matrix td.adm-nowrap { text-align: right; }
.adm-matrix form { margin: 0; }
.adm-details > .adm-detail + .adm-detail { margin-top: 16px; }
.adm-detail { border: 1px solid var(--rc-line-strong); background: var(--rc-raised); }
.adm-detail > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 48px; padding: 8px 16px; cursor: pointer; list-style: none; }
.adm-detail > summary::-webkit-details-marker { display: none; }
.adm-detail > summary:hover { background: var(--rc-hover); }
.adm-detail > summary > svg { flex: none; color: var(--rc-text-faint); transition: transform var(--rc-dur-base) var(--rc-ease-out); }
.adm-detail[open] > summary > svg { transform: rotate(90deg); }
.adm-detail[open] > summary { background: var(--rc-band); border-bottom: 1px solid var(--rc-line); }
.adm-detail__t { color: var(--rc-text); }
.adm-detail__t code { margin-left: 6px; font: 500 12px/1.4 var(--rc-font-mono); color: var(--rc-text-mute); }
.adm-detail__m { font: 500 12px/1.4 var(--rc-font-mono); color: var(--rc-text-mute); }
.adm-checks td:last-child { min-width: 200px; }
.adm-checkacts { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.adm-checkacts form { margin: 0; }
.adm-waive { display: grid; gap: 6px; width: 100%; max-width: 280px; }

/* ══ 9 · AUDIT ══════════════════════════════════════════════════════════════════════════════════════════════════ */
.adm-filter { margin-top: 24px; }
.adm-filter__act { display: flex; align-items: center; gap: 8px; }
.adm-prefixes { justify-content: flex-start; gap: 8px 12px; }
.adm-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }

/* ══ 10 · NARROW SCREENS ═══════════════════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1099px) {
  .adm-tabs { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); }
  .adm-tabs:focus-within { -webkit-mask-image: none; mask-image: none; }
  .adm-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adm-hub { display: block; }
  .adm-rail { position: static; margin-top: 20px; }
  .adm-rail__panel { padding: 0; border: 0; background: none; }
  .adm-rail__h { display: none; }
  .adm-rail .rc-tree { display: flex; gap: 8px; padding: 0; overflow-x: auto; scrollbar-width: none; }
  .adm-rail .rc-tree::-webkit-scrollbar { display: none; }
  .adm-rail .rc-tree__children { display: contents; padding: 0; }
  .adm-rail .rc-tree__children::before, .adm-rail .rc-tree__children > .rc-tree__row::before, .adm-rail .rc-tree__port { display: none; }
  .adm-rail .rc-tree__row, .adm-rail .rc-tree__children > .rc-tree__row { flex: none; display: flex; align-items: center; gap: 8px; height: 36px; min-height: 36px; padding: 0 12px; border: 1px solid var(--rc-line-strong); }
  .adm-rail .rc-tree__row > span:empty { display: none; }
  .adm-rail .rc-tree__row.rc-tree__row--dept { display: none; }
  .adm-rail .adm-chipdept { display: inline-block; }
  .adm-rail .rc-tree__children > .rc-tree__row { border-color: var(--sec); background: var(--sec-wash); }   /* the chip strip: every chip wears its group hue */
  .adm-rail .rc-tree__name::after { content: ""; position: absolute; inset: 0; }
  .adm-hub__main > .adm-sec:first-child { margin-top: 28px; }
  .adm-kv { columns: 1; }
  .adm-form--link { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .adm-form--link .adm-span2 { grid-column: 1 / -1; }
  .adm-form--src { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .adm-areas { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .adm-area { grid-template-areas: "i t" "i f"; row-gap: 0; padding: 12px 16px; align-items: center; }
  .adm-area__d { display: none; }
  .adm-area__f { padding-top: 6px; }
  .adm-tabbar { margin-top: -4px; }
  .adm-crumb { margin-bottom: 14px; }
  .adm-crumb a { display: inline-flex; align-items: center; min-height: 44px; }
  .adm-crumb ol { row-gap: 0; }
  .adm-pagehead .actions { width: 100%; }
  .adm-pagehead .actions > .btn, .adm-pagehead .actions > form { flex: 1 1 auto; }
  .adm-pagehead .actions > form .btn { width: 100%; }
  .adm-sec { margin-top: 32px; }
  .adm-bar .rc-link { display: inline-flex; align-items: center; min-height: 44px; margin-block: -4px; }
  .adm-form, .adm-form--two, .adm-form--link, .adm-form--src, .adm-form--filter { grid-template-columns: minmax(0, 1fr); }
  .adm-form--link .adm-span2 { grid-column: auto; }
  .adm-savebar { flex-wrap: wrap; gap: 12px; }
  .adm-savebar .btn.primary { width: 100%; }
  .adm-filter__act .btn { flex: 1 1 auto; }
  .adm-linkrec > details > summary { grid-template-columns: 12px 24px minmax(0, 1fr) auto; grid-template-areas: "d i l e" ". . m m"; gap: 6px 12px; padding: 10px 16px; }
  .adm-linkrec > details > summary > .rc-dept, .adm-linkrec > details > summary > .adm-sw__none { grid-area: d; }
  .adm-linkrec > details > summary > .adm-ico { grid-area: i; }
  .adm-linkrec__label { grid-area: l; }
  .adm-linkrec__meta { grid-area: m; flex-wrap: wrap; }
  .adm-linkrec__edit { grid-area: e; }
  .adm-linkrec__act .btn { flex: 1 1 0; }
  .adm-sw__chip { height: 44px; }
  .adm-rail .rc-tree__row, .adm-rail .rc-tree__children > .rc-tree__row { height: 46px; min-height: 46px; }
  .adm-rail .rc-tree { margin-inline: -16px; padding-inline: 16px; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
  .adm-rail .rc-tree { scroll-padding-inline: 16px; }
  .adm-rail .rc-tree:focus-within { -webkit-mask-image: none; mask-image: none; }   /* never fade a keyboard focus ring */
  .adm-bval { max-width: 130px; }
  .adm-kpis .rc-kpi__v { font-size: 24px; overflow-wrap: anywhere; }
  .adm-people li { grid-template-columns: 24px minmax(0, 1fr); }
  .adm-people__act { grid-column: 1 / -1; justify-content: flex-start; }
  .adm-people__act form { flex: 1 1 100%; }
  .adm-people__act .btn { width: 100%; }
  .adm-inline .btn { width: 100%; }
  .adm-inline--tight input { max-width: none; flex: 1 1 100%; }
  .adm-req__act form { grid-template-columns: minmax(0, 1fr); flex-basis: 100%; }
  .adm-req__act form:not(:has(.field)) { display: grid; flex: 1 1 100%; }
  .adm-req__act form .btn, .adm-req__act > .btn { width: 100%; }
  .bulkcheck { min-height: 44px; }
  .adm-checkacts, .adm-waive { width: 100%; max-width: none; }
  .adm-checkacts .btn, .adm-waive .btn { width: 100%; }
  .adm-checkacts form { width: 100%; }
  .adm-matrix .adm-mx-c { display: none; }
  .adm-matrix { table-layout: fixed; }
  .adm-matrix th:first-child { width: 40%; }
  .adm-matrix th:nth-child(2) { width: 28%; }
  .adm-matrix td { overflow-wrap: anywhere; }
  .adm-matrix td.adm-nowrap { padding-inline: 8px 16px; }
  .adm-detail > summary { min-height: 56px; }
  .adm-pager .btn { min-width: 96px; }
  .adm-prefixes .conn-chip { min-height: 44px; }
  .adm-key > summary { min-height: 44px; }
  .adm-recent tbody tr:nth-child(n+6) { display: none; }

  /* tables become stacked records: label in a 100px gutter, value flows beside it (cells may hold several nodes) */
  .adm-rtable thead { display: none; }
  .adm-rtable, .adm-rtable tbody, .adm-rtable tr { display: block; width: 100%; }
  .adm-rtable tr { padding: 12px 16px; border-bottom: 1px solid var(--rc-line); }
  .adm-flush .adm-rtable tr:last-child { border-bottom: 0; }
  .adm-rtable td, .adm-flush .adm-rtable td:first-child, .adm-flush .adm-rtable td:last-child { display: block; position: relative; width: 100%; min-height: 28px; padding: 4px 0 4px 112px; border: 0; text-align: left; }
  .adm-rtable td::before { content: attr(data-label); position: absolute; left: 0; top: 5px; width: 104px; font: 500 12px/1.6 var(--rc-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--rc-text-mute); }
  .adm-rtable td[data-label=""], .adm-flush .adm-rtable td[data-label=""] { min-height: 0; padding: 10px 0 0; }
  .adm-rtable td[data-label=""]::before { content: none; }
  .adm-rtable td.num { text-align: left; font-size: 13px; }
  .adm-rtable td.empty, .adm-flush .adm-rtable td.empty { padding: 6px 0; }
  .adm-rtable td.empty::before { content: none; }
  .adm-rtable tr.adm-rotate { padding-top: 0; }
  .adm-flush .adm-rtable tr.adm-rotate td { padding: 0; }
  .adm-rtable td .rc-stamp { max-width: 100%; height: auto; min-height: 22px; padding: 3px 6px; white-space: normal; line-height: 1.3; }
  .adm-acts { justify-content: flex-start; width: 100%; }
  .adm-acts > .btn, .adm-acts > form { flex: 1 1 0; }
  .adm-acts form .btn { width: 100%; }
  .adm-rtable td:last-child:has(.adm-acts) { text-align: left; }
  .adm-clip { max-width: 100%; }
  .adm-nowrap { white-space: normal; }
}
