/* VeriForward staff admin portal — "Admin design system" board of the Holder Upload & Org
 * Verification UI deck. Same tokens as the organization app (Georgia headings, Instrument Sans UI,
 * cream page, dark green sidebar, green actions), denser: 14px tables, 40px controls, 240px sidebar.
 * Everything is scoped under body.adm so it can't leak into the organization app. */
body.adm {
  --a-ink: #1d2a19; --a-muted: #5b6557; --a-page: #f5f3ec; --a-surface: #fff; --a-border: #e3e0d4; --a-line: #ece9df;
  --a-sidebar: #27321f; --a-primary: #3f7a22; --a-accent: #b6d95c; --a-field: #c9c6b8;
  margin: 0; background: var(--a-page); color: var(--a-ink); font-family: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.4;
}
body.adm *, body.adm *::before, body.adm *::after { box-sizing: border-box; }
body.adm [hidden] { display: none !important; }
body.adm a { color: #2e4228; }
body.adm a:hover { color: var(--a-primary); }
body.adm .adm-mono, body.adm code { font-family: ui-monospace, Menlo, monospace; font-size: 13px; }
body.adm .adm-serif { font-family: Georgia, 'Times New Roman', serif; }
body.adm .adm-muted { color: var(--a-muted); }
body.adm .adm-sm { font-size: 13px; }
body.adm .adm-num { font-variant-numeric: tabular-nums; }
body.adm .adm-eyb { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--a-muted); }
body.adm .adm-link { font-weight: 700; text-decoration: none; }

/* Shell */
.adm-shell { display: flex; min-height: 100vh; }
.adm-side { width: 240px; flex-shrink: 0; background: var(--a-sidebar); display: flex; flex-direction: column; padding: 22px 10px 16px; color: #dfe7d2; position: sticky; top: 0; height: 100vh; }
.adm-brand { padding: 0 12px; font-family: Georgia, 'Times New Roman', serif; font-size: 24px; color: #fff; }
.adm-brand span { color: var(--a-accent); }
.adm-staff-tag { margin: 6px 12px 18px; display: inline-flex; width: fit-content; height: 22px; align-items: center; padding: 0 8px; border-radius: 4px; background: #3c4833; color: #dfe7d2; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.adm-nav { display: flex; flex-direction: column; gap: 2px; }
body.adm .adm-nav-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; padding: 0 12px; border-radius: 8px; text-decoration: none; font-size: 15px; color: #dfe7d2; }
body.adm .adm-nav-item:hover { background: #2f3d27; color: #fff; }
body.adm .adm-nav-item.is-active { background: #34412b; color: #fff; }
.adm-nav-label { display: flex; align-items: center; gap: 12px; }
.adm-badge { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: #3c4833; color: #fff; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.adm-badge.is-hot { background: var(--a-accent); color: var(--a-ink); }
.adm-side-grow { flex-grow: 1; }
.adm-user { border-top: 1px solid #3c4833; padding: 14px 8px 0; display: flex; flex-direction: column; gap: 6px; }
.adm-user-row { display: flex; align-items: center; gap: 10px; }
.adm-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--a-accent); color: var(--a-ink); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.adm-user-name { display: block; font-size: 14px; font-weight: 700; color: #fff; }
.adm-user-role { display: block; font-size: 12px; color: #aebb9d; }
body.adm .adm-logout { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 2px; color: #dfe7d2; background: none; border: 0; font: inherit; font-size: 14px; text-decoration: none; cursor: pointer; width: 100%; text-align: left; }
body.adm .adm-logout:hover { color: #fff; }
.adm-main { flex-grow: 1; min-width: 0; padding: 26px 36px 80px; display: flex; flex-direction: column; gap: 18px; }

/* Page header */
.adm-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; border-bottom: 1px solid #dcd9cc; padding-bottom: 18px; flex-wrap: wrap; }
body.adm .adm-h1 { font-family: Georgia, 'Times New Roman', serif; font-size: 36px; font-weight: 400; margin: 0; line-height: 1.15; }
body.adm .adm-h2 { font-family: Georgia, 'Times New Roman', serif; font-size: 22px; font-weight: 400; margin: 0; }
.adm-sub { font-size: 15px; color: var(--a-muted); margin: 6px 0 0; line-height: 1.5; }
.adm-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.adm-crumbs { font-size: 14px; color: var(--a-muted); margin: 0 0 6px; }
.adm-crumbs a { color: var(--a-muted); text-decoration: none; }
.adm-crumbs a:hover { text-decoration: underline; }

/* Controls */
body.adm .adm-btn, body.adm .adm-btn2, body.adm .adm-btn3, body.adm .adm-btnx { box-sizing: border-box; min-height: 40px; border-radius: 8px; font: inherit; font-size: 14px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; white-space: nowrap; text-decoration: none; }
body.adm .adm-btn { border: 0; background: var(--a-primary); color: #fff; padding: 0 16px; }
body.adm .adm-btn:hover { color: #fff; background: #346a1b; }
body.adm .adm-btn2 { border: 1px solid var(--a-field); background: #fff; color: var(--a-ink); padding: 0 14px; }
body.adm .adm-btn2:hover { color: var(--a-ink); border-color: var(--a-ink); }
body.adm .adm-btn3 { border: 0; background: transparent; color: #2e4228; padding: 0 10px; }
body.adm .adm-btn3:hover { background: #ece9df; color: #2e4228; }
body.adm .adm-btnx { border: 1px solid #d9a69e; background: #fff; color: #8a1c12; padding: 0 14px; }
body.adm .adm-btnx:hover { color: #8a1c12; border-color: #8a1c12; }
body.adm .adm-sm-btn { min-height: 32px; padding: 0 12px; font-size: 13px; }
body.adm [aria-disabled="true"], body.adm button:disabled { background: #e4e4da !important; color: #6b7266 !important; border-color: transparent !important; cursor: not-allowed; }
.adm-card { background: #fff; border: 1px solid var(--a-border); border-radius: 10px; }
.adm-pad { padding: 20px 22px; }
.adm-inp { width: 100%; height: 40px; border: 1px solid var(--a-field); border-radius: 8px; padding: 0 12px; font: inherit; font-size: 14px; background: #fff; color: var(--a-ink); }
.adm-inp:focus, .adm-ta:focus, .adm-select:focus, .adm-flt:focus { outline: 2px solid var(--a-primary); outline-offset: 1px; }
.adm-inp[aria-invalid="true"] { border-color: #b3261e; }
.adm-select { height: 40px; border: 1px solid var(--a-field); border-radius: 8px; padding: 0 30px 0 12px; font: inherit; font-size: 14px; background: #fff; color: var(--a-ink); width: 100%; }
.adm-ta { width: 100%; border: 1px solid var(--a-field); border-radius: 8px; padding: 10px 12px; font: inherit; font-size: 14px; background: #fff; color: var(--a-ink); resize: vertical; }
.adm-lbl { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.adm-field { display: block; margin-bottom: 14px; }
.adm-help { font-size: 13px; color: var(--a-muted); margin-top: 4px; }
.adm-error { font-size: 13px; color: #8a1c12; margin-top: 4px; font-weight: 600; }
.adm-ok { font-size: 13px; color: #2d5a17; font-weight: 700; }
.adm-cb { width: 18px; height: 18px; margin: 0; accent-color: var(--a-primary); }
.adm-search { position: relative; width: 320px; max-width: 100%; }
.adm-search .adm-inp { height: 38px; padding-left: 36px; }
.adm-search svg { position: absolute; left: 12px; top: 11px; color: var(--a-muted); }
.adm-flt-wrap { position: relative; display: inline-flex; align-items: center; }
.adm-flt { box-sizing: border-box; height: 38px; border: 1px solid #d9d6c8; border-radius: 8px; background: #fff; padding: 0 30px 0 12px; font: inherit; font-size: 14px; color: var(--a-ink); appearance: none; -webkit-appearance: none; cursor: pointer; }
.adm-flt.on { border-color: var(--a-primary); background: #f3f8e8; }
.adm-flt-wrap::after { content: ""; position: absolute; right: 12px; top: 15px; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); pointer-events: none; color: var(--a-muted); }
.adm-filters { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.adm-filter-note { font-size: 13px; color: var(--a-muted); margin-left: auto; }
.adm-note-row { margin: 0 0 8px; text-align: right; }
.adm-callout { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 8px; background: #fdf6e3; border: 1px solid #ecd7a0; color: #5e4100; font-size: 14px; line-height: 1.5; }
.adm-callout svg { flex-shrink: 0; margin-top: 1px; }
.adm-callout.is-info { background: #eef3e2; border-color: #d3deb8; color: #2d4a12; }
.adm-callout.is-danger { background: #fbe9e6; border-color: #e6bcb5; color: #8a1c12; }

/* Tables */
.adm-tablewrap { overflow-x: auto; }
body.adm .adm-tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
body.adm .adm-tbl th { text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--a-muted); background: #faf9f4; padding: 11px 10px; border-bottom: 1px solid var(--a-border); }
body.adm .adm-tbl td { padding: 11px 10px; border-top: 1px solid var(--a-line); vertical-align: middle; }
body.adm .adm-tbl tbody tr:first-child td { border-top: 0; }
.adm-tbl tr.is-sel td { background: #f3f8e8; }
.adm-tbl tr.is-hot td { background: #fffaf0; }
.adm-tbl td.adm-cell-check, .adm-tbl th.adm-cell-check { width: 44px; padding-right: 0; }
.adm-tbl .adm-name { font-weight: 700; color: var(--a-ink); text-decoration: none; }
.adm-tbl .adm-name:hover { text-decoration: underline; }
.adm-tbl .adm-sub-line { display: block; font-size: 13px; color: var(--a-muted); }
.adm-tbl .adm-right { text-align: right; }
.adm-tbl .adm-org { min-width: 170px; }
.adm-tbl .adm-ellipsis { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-tbl .adm-nowrap { white-space: nowrap; }
.adm-row-actions { display: flex; gap: 8px; align-items: center; justify-content: flex-end; }
.adm-pagination { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-top: 1px solid var(--a-border); font-size: 13px; color: var(--a-muted); gap: 12px; flex-wrap: wrap; }
.adm-pages { display: flex; gap: 4px; align-items: center; }
body.adm .adm-page { min-width: 32px; height: 32px; padding: 0 8px; border: 1px solid transparent; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: var(--a-ink); font-weight: 600; }
body.adm a.adm-page:hover { border-color: var(--a-field); }
body.adm .adm-page.is-current { background: var(--a-sidebar); color: #fff; }
body.adm .adm-page.is-disabled { color: #a3a89c; }
.adm-empty { padding: 48px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.adm-empty b { font-family: Georgia, serif; font-size: 20px; font-weight: 400; }

/* Skeletons: the frame keeps its height while it reloads */
.adm-skel { display: block; height: 12px; border-radius: 6px; background: #ebe8de; }
.adm-skel-rows { display: none; }
turbo-frame#adm-table { display: block; position: relative; }
turbo-frame#adm-table[busy] > .adm-live { visibility: hidden; }
turbo-frame#adm-table[busy] > .adm-skel-rows { display: block; position: absolute; inset: 0 0 auto 0; }
.adm-skel-rows table { width: 100%; border-collapse: collapse; }
.adm-skel-rows td { padding: 15px 14px; border-top: 1px solid var(--a-line); }

/* Status families */
.adm-tone-gray { --t-bg: #efefe6; --t-fg: #3f453c; --t-dot: #8a9185; }
.adm-tone-amber { --t-bg: #fbeac4; --t-fg: #5e4100; --t-dot: #c98a1a; }
.adm-tone-blue { --t-bg: #dde8f6; --t-fg: #1c3d6b; --t-dot: #3a6fb0; }
.adm-tone-orange { --t-bg: #fde1c4; --t-fg: #6e3600; --t-dot: #d9771f; }
.adm-tone-green { --t-bg: #e1efcf; --t-fg: #2d5a17; --t-dot: #3f7a22; }
.adm-tone-red { --t-bg: #f7dcd7; --t-fg: #8a1c12; --t-dot: #b3261e; }
.adm-tone-purple { --t-bg: #ebe3f3; --t-fg: #4b2d6b; --t-dot: #7a5aa6; }
.adm-tone-teal { --t-bg: #d8efe9; --t-fg: #145449; --t-dot: #1f8a77; }
.adm-pill { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: 999px; background: var(--t-bg); color: var(--t-fg); font-size: 12px; font-weight: 700; white-space: nowrap; }
.adm-pill .adm-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--t-dot); }
.adm-pill.is-removed { text-decoration: line-through; }
.adm-tag { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 4px; background: var(--t-bg); color: var(--t-fg); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.adm-claim { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px; border: 1.5px solid var(--t-dot); color: var(--t-fg); background: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; }
.adm-outreach { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 6px; background: var(--t-bg); color: var(--t-fg); font-size: 12px; font-weight: 600; white-space: nowrap; }
.adm-prio { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; }
.adm-prio-high { color: #8a1c12; } .adm-prio-medium { color: #5e4100; } .adm-prio-low { color: #3f453c; }
.adm-bars { display: inline-flex; align-items: flex-end; gap: 2px; height: 12px; }
.adm-bar { width: 3px; border-radius: 1px; background: #d9d6c8; }
.adm-bar:nth-child(1) { height: 6px; } .adm-bar:nth-child(2) { height: 9px; } .adm-bar:nth-child(3) { height: 12px; }
.adm-prio-high .adm-bar.is-on { background: #b3261e; } .adm-prio-medium .adm-bar.is-on { background: #c98a1a; } .adm-prio-low .adm-bar.is-on { background: #8a9185; }
.adm-risk { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--t-fg); white-space: nowrap; }
.adm-risk svg { color: var(--t-dot); }
.adm-overdue { color: #8a4b00; font-weight: 700; }

/* Tabs, stats, key-value */
.adm-tabs { display: flex; gap: 2px; border-bottom: 1px solid #dcd9cc; overflow-x: auto; }
body.adm .adm-tab { padding: 10px 14px; font-size: 14px; font-weight: 600; color: #525c4e; border-bottom: 2px solid transparent; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; white-space: nowrap; margin-bottom: -1px; }
body.adm .adm-tab:hover { color: var(--a-ink); }
body.adm .adm-tab.is-on { color: var(--a-ink); border-bottom-color: var(--a-sidebar); }
.adm-cnt { font-size: 12px; font-weight: 700; padding: 1px 7px; border-radius: 999px; background: #ebe8de; color: #3f453c; }
.adm-kv { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid var(--a-line); font-size: 14px; align-items: center; }
.adm-kv:first-of-type { border-top: 0; }
.adm-k { color: var(--a-muted); }
.adm-grid-7 { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
.adm-grid-5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.adm-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.adm-grid-2 { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; }
.adm-stat { padding: 14px 16px; display: block; text-decoration: none; color: inherit; }
body.adm a.adm-stat:hover { border-color: var(--a-primary); color: inherit; }
.adm-stat.is-on { border-color: var(--a-primary); background: #f3f8e8; box-shadow: inset 0 0 0 1px var(--a-primary); }
.adm-stat .adm-eyb { font-size: 10px; line-height: 1.3; min-height: 26px; display: block; }
.adm-stat-num { font-family: Georgia, serif; font-size: 30px; margin: 4px 0 2px; display: block; }
.adm-stat-foot { font-size: 13px; color: var(--a-muted); }
.adm-funnel-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) 70px 54px; gap: 12px; align-items: center; font-size: 14px; }
.adm-funnel-bar { height: 14px; background: #f0eee6; border-radius: 4px; }
.adm-funnel-bar span { display: block; height: 14px; background: var(--a-primary); border-radius: 0 4px 4px 0; }
.adm-attn { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--a-line); }
.adm-attn i { width: 8px; height: 8px; border-radius: 50%; background: #c98a1a; }
.adm-bulk { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 14px; background: #f3f8e8; border: 1px solid #cfe0b4; border-radius: 10px; }
.adm-bulk b { margin-right: 6px; }
.adm-bulk-note { font-size: 13px; color: var(--a-muted); margin-left: auto; display: flex; gap: 6px; align-items: center; }
.adm-pending-bar { display: block; width: 80px; height: 6px; border-radius: 3px; background: #ebe8de; margin-top: 4px; }
.adm-pending-bar span { display: block; height: 6px; border-radius: 3px; background: var(--a-primary); }
.adm-chip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 999px; background: #eef3e2; font-size: 13px; font-weight: 600; color: #2d4a12; }
.adm-pagehead-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }

/* Row menu (details/summary: no JS needed to open) */
.adm-menu { position: relative; display: inline-block; }
.adm-menu > summary { list-style: none; width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--a-muted); }
.adm-menu > summary::-webkit-details-marker { display: none; }
.adm-menu > summary:hover, .adm-menu[open] > summary { background: #ece9df; color: var(--a-ink); }
.adm-menu-list { position: absolute; right: 0; top: 36px; z-index: 30; min-width: 230px; background: #fff; border: 1px solid var(--a-border); border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,.14); padding: 6px; display: flex; flex-direction: column; }
.adm-menu-list > a, .adm-menu-list > form > button, .adm-menu-list > button { display: flex; align-items: center; width: 100%; min-height: 36px; padding: 0 10px; border: 0; border-radius: 6px; background: none; text-align: left; font: inherit; font-size: 14px; color: var(--a-ink); text-decoration: none; cursor: pointer; }
.adm-menu-list > a:hover, .adm-menu-list > form > button:hover, .adm-menu-list > button:hover { background: #f3f8e8; color: var(--a-ink); }
.adm-menu-list .is-danger { color: #8a1c12 !important; border-top: 1px solid var(--a-line); border-radius: 0 0 6px 6px; margin-top: 4px; }
.adm-menu-list form { margin: 0; }

/* Modals and drawers (rendered into turbo-frame#adm-modal) */
.adm-overlay { position: fixed; inset: 0; z-index: 60; background: rgba(29, 42, 25, .45); display: flex; align-items: center; justify-content: center; padding: 20px; }
.adm-overlay.is-drawer { justify-content: flex-end; align-items: stretch; padding: 0; }
.adm-dialog { width: 520px; max-width: 100%; max-height: calc(100vh - 40px); overflow: auto; background: #fff; border-radius: 12px; box-shadow: 0 24px 64px rgba(0,0,0,.28); padding: 24px; }
.adm-overlay.is-drawer .adm-dialog { width: 520px; max-height: none; height: 100%; border-radius: 0; padding: 28px; }
.adm-dialog h2 { margin: 0 0 4px; font-family: Georgia, serif; font-size: 24px; font-weight: 400; }
.adm-dialog-foot { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.adm-dialog-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid var(--a-line); font-size: 14px; }
.adm-dialog-close { position: absolute; right: 16px; top: 16px; }
body.adm.adm-modal-open { overflow: hidden; }

/* Toasts */
.adm-toasts { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 80; display: flex; flex-direction: column; gap: 10px; align-items: center; width: max-content; max-width: calc(100vw - 32px); }
.adm-toast { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 10px; background: #1d2a19; color: #f5f3ec; font-size: 14px; box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.adm-toast-icon { width: 24px; height: 24px; border-radius: 50%; background: var(--a-primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #fff; }
.adm-toast.is-error .adm-toast-icon { background: #b3261e; }
.adm-toast-detail { color: #c9d3bd; }
.adm-toast form { margin: 0 0 0 12px; }
body.adm .adm-toast-undo { background: none; border: 0; color: var(--a-accent); font: inherit; font-weight: 700; cursor: pointer; padding: 0; }
body.adm .adm-toast-close { background: none; border: 0; color: #c9d3bd; cursor: pointer; padding: 2px; display: flex; }

/* Review detail (p.7) */
.adm-review { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.adm-viewer { background: #e9e6da; border: 1px solid var(--a-border); border-radius: 10px; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.adm-viewer-stage { background: #fff; border-radius: 6px; min-height: 420px; display: flex; align-items: center; justify-content: center; overflow: auto; }
.adm-viewer-stage img, .adm-viewer-stage iframe, .adm-viewer-stage embed { max-width: 100%; transition: transform .15s; transform-origin: center; }
.adm-viewer-stage iframe, .adm-viewer-stage embed { width: 100%; height: 560px; border: 0; }
.adm-viewer-tools { display: flex; align-items: center; gap: 8px; }
.adm-section { padding: 18px 20px; }
.adm-section + .adm-section { margin-top: 14px; }
.adm-pagination-mini { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--a-muted); }

/* Public page preview (p.5) */
.adm-preview { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.adm-preview-frame { background: #fff; border: 1px solid var(--a-border); border-radius: 10px; overflow: hidden; margin: 0 auto; width: 100%; transition: width .2s; }
.adm-preview-frame.is-mobile { width: 390px; }
.adm-preview-bar { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #faf9f4; border-bottom: 1px solid var(--a-border); font-size: 13px; flex-wrap: wrap; }
.adm-preview-body { background: #f7f5ec; padding: 0 24px 24px; }
.adm-preview-body .outstanding, .adm-preview-body .outstanding-claim { margin-left: -24px; margin-right: -24px; }
.adm-preview-body .outstanding { margin-top: 0; padding: 32px 28px; gap: 18px; }
.adm-preview-body .outstanding-head h2 { font-size: 26px; margin: 10px 0 6px; }
.adm-preview-body .outstanding-head p { font-size: 14px; }
.adm-preview-body .outstanding-row { min-height: 52px; padding: 0 18px; font-size: 14px; }
.adm-preview-body .outstanding-chip { min-height: 34px; padding: 0 12px; font-size: 13px; }
.adm-preview-body .outstanding-claim { padding: 28px; gap: 24px; }
.adm-preview-body .outstanding-claim h2 { font-size: 22px; }
.adm-preview-body .outstanding-claim p { font-size: 14px; }
.adm-preview-body .outstanding-claim-button { min-height: 44px; padding: 0 20px; font-size: 12px; }
.adm-preview-frame.is-mobile .adm-preview-body .outstanding-row { grid-template-columns: 1fr; gap: 4px; padding: 16px; }
.adm-preview-frame.is-mobile .adm-preview-body .outstanding-row-head { display: none; }
.adm-preview-frame.is-mobile .adm-preview-body .outstanding-row [data-label]::before { content: attr(data-label) ": "; color: var(--vf-mute); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.adm-preview-frame.is-mobile .adm-preview-body .outstanding-row span:first-child::before { content: none; }
.adm-preview-frame.is-mobile .adm-preview-body .outstanding-head h2 { font-size: 24px; }
.adm-preview-frame.is-mobile .adm-preview-body .outstanding-claim { flex-direction: column; align-items: flex-start; padding: 28px 20px; }
.adm-preview-frame.is-mobile .adm-preview-body .outstanding { padding: 32px 20px; }
.adm-toggle { display: inline-flex; border: 1px solid var(--a-field); border-radius: 8px; overflow: hidden; background: #fff; }
.adm-toggle button { border: 0; background: #fff; height: 38px; padding: 0 16px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; color: var(--a-ink); }
.adm-toggle button.is-on { background: var(--a-sidebar); color: #fff; }
.adm-contract li { list-style: none; display: flex; gap: 8px; align-items: center; padding: 4px 0; font-size: 14px; }
.adm-contract ul { margin: 6px 0 14px; padding: 0; }

/* Claims */
.adm-claim-card { padding: 18px 20px; }
.adm-claim-card + .adm-claim-card { margin-top: 12px; }
.adm-claim-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.adm-note-input { display: flex; gap: 8px; align-items: center; }

/* Pitch snapshot, activity feed */
.adm-pitch { background: #f7f9ef; border: 1px solid #dfe6c8; border-radius: 10px; padding: 16px; }
.adm-feed { list-style: none; margin: 0; padding: 0; }
.adm-feed li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-top: 1px solid var(--a-line); font-size: 14px; }
.adm-feed li:first-child { border-top: 0; }
.adm-feed time { color: var(--a-muted); font-size: 13px; }
.adm-note-item { padding: 12px 0; border-top: 1px solid var(--a-line); }
.adm-note-item:first-child { border-top: 0; }
.adm-contact { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--a-line); }
.adm-contact:first-of-type { border-top: 0; }
.adm-primary-flag { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 4px; background: #e1efcf; color: #2d5a17; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.adm-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.adm-slug { display: flex; align-items: center; border: 1px solid var(--a-field); border-radius: 8px; background: #fff; overflow: hidden; height: 40px; }
.adm-slug span { padding: 0 0 0 12px; color: var(--a-muted); white-space: nowrap; font-size: 13px; }
.adm-slug .adm-slug-suffix { padding: 0 12px 0 0; }
.adm-slug input { border: 0; height: 38px; flex: 1; padding: 0 12px 0 2px; font: inherit; font-family: ui-monospace, Menlo, monospace; font-size: 13px; min-width: 0; background: transparent; }
.adm-slug input:focus { outline: none; }
.adm-slug:focus-within { outline: 2px solid var(--a-primary); outline-offset: 1px; }
.adm-seg { display: inline-flex; border: 1px solid var(--a-field); border-radius: 8px; overflow: hidden; }
.adm-seg label { margin: 0; }
.adm-seg input { position: absolute; opacity: 0; pointer-events: none; }
.adm-seg span { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; font-weight: 600; cursor: pointer; background: #fff; }
.adm-seg input:checked + span { background: var(--a-sidebar); color: #fff; }
.adm-seg input:focus-visible + span { outline: 2px solid var(--a-primary); outline-offset: -2px; }
.adm-form-narrow { max-width: 760px; }
.adm-form-top { margin-top: 12px; }
.adm-form-row { display: flex; gap: 10px; align-items: center; }
.adm-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; }

@media (max-width: 1100px) {
  .adm-grid-7 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .adm-grid-2, .adm-review, .adm-preview, .adm-claim-grid { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .adm-shell { flex-direction: column; }
  .adm-side { width: auto; height: auto; position: static; padding-bottom: 8px; }
  .adm-nav { flex-direction: row; flex-wrap: wrap; }
  .adm-user, .adm-side-grow { display: none; }
  .adm-main { padding: 18px 16px 80px; }
  .adm-grid-5, .adm-grid-4, .adm-grid-7 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
