:root { color-scheme: light; --ink:#17212b; --muted:#66727f; --line:#dce3e8; --line-strong:#cdd4e0; --paper:#fff; --wash:#f4f7f8; --brand:#0a6c73; --brand-dark:#074b50; --focus:#3350d6; --action-soft:#e7ecfb; --good:#16794a; --positive-soft:#e2f3ea; --warn:#985000; --warning-soft:#f8efdd; --bad:#a12b2b; --critical-soft:#fbe9e6; }
* { box-sizing:border-box; }
html { scroll-padding-top:16px; }
body { margin:0; background:var(--wash); color:var(--ink); font:15px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--brand-dark); }
.skip-link { position:fixed; z-index:100; inset:8px auto auto 8px; transform:translateY(-150%); padding:10px 14px; border-radius:8px; background:var(--paper); color:var(--ink); font-weight:800; }
.skip-link:focus-visible { transform:translateY(0); }
:where(a,button,input,select,summary):focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.topbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; min-height:58px; padding:8px 28px; background:var(--ink); color:white; }
.account-link { display:inline-flex; align-items:center; min-height:44px; color:white; font-size:13px; white-space:nowrap; text-decoration:none; }
.account-link:hover { text-decoration:underline; }
.brandmark { color:white; font-weight:800; text-decoration:none; letter-spacing:.08em; }
.logout { margin-left:auto; }
.text-button { border:0; background:transparent; color:white; padding:8px 12px; cursor:pointer; }
.shell { width:min(1180px,calc(100% - 32px)); margin:32px auto 64px; }
.pagehead { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; }
.eyebrow { color:var(--brand); font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(28px,4vw,44px); line-height:1.1; margin-bottom:8px; }
h2 { font-size:20px; }
.muted { color:var(--muted); }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:20px 0; }
.metrics-source { display:flex; grid-column:1/-1; align-items:baseline; gap:8px 12px; margin-bottom:-4px; font-size:13px; }
.metrics-source strong { white-space:nowrap; }
.card,.panel,.auth-card { background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:0 2px 12px rgb(20 36 47 / 5%); }
.card { padding:18px; }
.metric { display:block; margin:6px 0; font-size:30px; font-weight:800; line-height:1; }
.delta { font-size:13px; color:var(--muted); }
.delta.good { color:var(--good); }.delta.bad { color:var(--bad); }
.panel { padding:22px; margin-top:18px; overflow:hidden; }
.panel-head { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.rank-movement-head { padding-bottom:18px; }
.rank-movement-head h2 { margin-bottom:0; }
.rank-movement-note { max-width:72ch; margin:8px 0 0; font-size:13px; }
.rank-movement-actions { display:flex; align-items:center; gap:14px; flex:0 0 auto; font-size:13px; font-weight:750; }
.rank-movement-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; padding:14px 0; border-block:1px solid var(--line); }
.rank-movement-summary div { min-width:0; padding:0 16px; border-left:1px solid var(--line); }
.rank-movement-summary div:first-child { padding-left:0; border-left:0; }
.rank-movement-summary dt { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.rank-movement-summary dd { margin:3px 0 0; font-size:20px; font-weight:800; font-variant-numeric:tabular-nums; }
.rank-movement-summary dd span { margin-left:3px; font-size:12px; }
.good { color:var(--good); }.bad { color:var(--bad); }
.rank-crossings { display:flex; flex-wrap:wrap; gap:7px 18px; margin:14px 0 18px; color:var(--muted); font-size:13px; }
.rank-crossings strong { color:var(--ink); }
.rank-crossings span { font-variant-numeric:tabular-nums; }
.movement-ledgers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.movement-ledger { min-width:0; padding-top:18px; }
.movement-ledger + .movement-ledger { margin-left:22px; padding-left:22px; border-left:1px solid var(--line); }
.movement-ledger h3 { display:flex; align-items:center; gap:8px; margin-bottom:6px; font-size:16px; }
.movement-count { display:inline-flex; min-width:24px; min-height:24px; align-items:center; justify-content:center; padding:1px 7px; border-radius:999px; background:var(--wash); color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
.movement-ledger ol { margin:0; padding:0; list-style:none; }
.movement-ledger.is-expanded ol { max-height:520px; padding-right:10px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.movement-ledger li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 16px; align-items:start; padding:13px 0; border-bottom:1px solid var(--line); }
.movement-ledger [data-movement-row][hidden] { display:none; }
.movement-ledger li:last-child { border-bottom:0; }
.movement-keyword { min-width:0; }
.movement-keyword a { font-weight:750; overflow-wrap:anywhere; }
.movement-keyword > span { display:block; margin-top:3px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.movement-reading { display:grid; justify-items:end; gap:2px; font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.movement-reading strong { font-size:14px; }
.movement-delta { margin-left:4px; font-size:11px; }
.movement-reading > span:not(.movement-tag) { color:var(--muted); }
.movement-tag { margin-top:4px; padding:2px 6px; border-radius:5px; background:var(--positive-soft); font-size:11px; font-weight:800; }
.movement-tag.bad { background:var(--critical-soft); }
.movement-empty { color:var(--muted); }
.movement-ledger-footer { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; padding-top:12px; color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.movement-toggle { flex:0 0 auto; }
.movement-toggle[hidden] { display:none; }
.traffic-head { margin-bottom:14px; }
.panel-context { display:flex; flex-wrap:wrap; gap:5px 8px; margin:6px 0 0; color:var(--muted); font-size:13px; }
.panel-context strong { color:var(--ink); }
.table-scroll { overflow:auto; max-height:min(480px,70dvh); overscroll-behavior-x:contain; }
.table-scroll-rows { border-block:1px solid var(--line); scrollbar-gutter:stable; }
.table-scroll table { border-collapse:separate; border-spacing:0; }
.table-scroll thead { position:sticky; top:0; z-index:5; background:var(--paper); box-shadow:0 1px 0 var(--line); }
.table-scroll-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0 8px; }
.table-scroll-tools[hidden] { display:none; }
.table-scroll-copy { display:grid; gap:3px; min-width:0; color:var(--muted); font-size:14px; }
.table-scroll-actions { display:flex; flex:0 0 auto; gap:6px; }
.table-scroll-actions button { width:44px; min-width:44px; min-height:44px; padding:10px; }
.table-scroll-actions button:disabled { opacity:.4; cursor:default; }
.table-scroll-actions svg { width:20px; height:20px; }
.table-landscape-hint { display:none; }
.table-scroll-rows tbody tr:hover { background:#f7fafb; }
.table-scroll-rows .row-index { width:44px; color:#8a949e; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.sortable-header { padding:0; }
button.sort-button { width:100%; min-height:42px; justify-content:flex-start; gap:7px; padding:8px 10px; border-radius:0; background:transparent; color:var(--muted); font-size:12px; font-weight:inherit; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.num button.sort-button { justify-content:flex-end; }
button.sort-button:hover { background:var(--wash); color:var(--ink); }
button.sort-button:focus-visible { position:relative; z-index:2; border-radius:5px; outline:3px solid var(--focus); outline-offset:-4px; }
.sort-indicator { width:12px; color:#a0aab3; font-size:13px; line-height:1; text-align:center; }
.sort-indicator::before { content:"↕"; }
.sortable-header[aria-sort="ascending"] .sort-button,
.sortable-header[aria-sort="descending"] .sort-button { color:var(--ink); }
.sortable-header[aria-sort="ascending"] .sort-indicator::before { content:"↑"; color:var(--brand); }
.sortable-header[aria-sort="descending"] .sort-indicator::before { content:"↓"; color:var(--brand); }
.status.opportunity-rule { background:var(--warning-soft); color:var(--warn); }
.capture-rate { display:inline-block; min-width:58px; padding:3px 7px; border-radius:99px; background:var(--warning-soft); color:var(--warn); font-size:12px; font-weight:800; text-align:center; font-variant-numeric:tabular-nums; }
.empty-row { padding:28px 10px; color:var(--muted); text-align:center; }
.table-foot { display:flex; justify-content:space-between; gap:10px 24px; margin-top:12px; color:var(--muted); font-size:13px; }
.table-foot span:first-child { flex:0 0 auto; color:var(--ink); font-weight:700; }
table { width:100%; border-collapse:collapse; }
th,td { padding:11px 10px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
th { color:var(--muted); font-size:12px; letter-spacing:.05em; text-transform:uppercase; }
td.num,th.num { text-align:right; font-variant-numeric:tabular-nums; }
.spark-chart { position:relative; margin-top:4px; }
.spark { display:grid; grid-template-columns:repeat(56,1fr); align-items:end; height:174px; gap:3px; padding-top:44px; background:linear-gradient(to right,transparent calc(50% - .5px),var(--line) calc(50% - .5px),var(--line) calc(50% + .5px),transparent calc(50% + .5px)); cursor:crosshair; }
.spark:focus-visible { border-radius:6px; outline:3px solid var(--focus); outline-offset:4px; }
.spark-bar { display:block; min-height:3px; border-radius:4px 4px 0 0; background:color-mix(in srgb,var(--brand) 55%,white); opacity:.88; transition:background-color 120ms ease-out,opacity 120ms ease-out; }
.spark-bar:nth-child(n+29) { background:var(--brand); }
.spark-bar:hover,.spark-bar.is-active { background:var(--focus); opacity:1; }
.spark-tooltip { position:absolute; z-index:2; left:0; top:0; display:grid; min-width:116px; padding:7px 9px; border:1px solid var(--line-strong); border-radius:6px; background:var(--ink); color:white; box-shadow:0 5px 14px rgb(20 36 47 / 18%); font-size:12px; line-height:1.25; font-variant-numeric:tabular-nums; pointer-events:none; opacity:0; visibility:hidden; transform:translate(-50%,-100%); transition:opacity 100ms ease-out; }
.spark-tooltip.is-visible { opacity:1; visibility:visible; }
.spark-tooltip span { color:#d8e1e6; }
.spark-tooltip strong { margin-top:2px; font-size:14px; }
.spark-tooltip strong span { color:white; }
.spark-periods { display:grid; grid-template-columns:1fr 1fr; margin-top:8px; color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.04em; }
.spark-periods span:last-child { text-align:right; }
.button,button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border:0; border-radius:8px; background:var(--brand); color:white; padding:10px 14px; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.button.secondary { background:white; color:var(--brand-dark); border:1px solid var(--line); }
.notice { width:min(1180px,calc(100% - 32px)); margin:16px auto; padding:12px 14px; border-radius:8px; background:#e7f4f5; }
.notice.error { color:var(--bad); background:#faeaea; }.notice.success { color:var(--good); background:#e8f6ef; }
.auth-card { width:min(440px,calc(100% - 32px)); margin:10vh auto; padding:32px; }
.stack { display:grid; gap:16px; }.stack label { display:grid; gap:6px; font-weight:700; }
input { width:100%; min-height:44px; border:1px solid #aeb9c2; border-radius:8px; padding:10px 12px; font:inherit; }
select { width:100%; min-height:44px; border:1px solid #aeb9c2; border-radius:8px; background:white; padding:10px 12px; font:inherit; }
textarea { width:100%; border:1px solid #aeb9c2; border-radius:8px; padding:10px 12px; font:inherit; resize:vertical; }
.crawler-config { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.crawler-config label { display:grid; align-content:start; gap:6px; font-weight:700; }
.crawler-config small { color:var(--muted); font-weight:400; }
.crawler-config .field-wide { grid-column:1/-1; }
.crawler-config .check { display:flex; align-items:center; min-height:44px; grid-template-columns:24px 1fr; cursor:pointer; }
.crawler-config .check input { width:20px; min-height:20px; }
.crawl-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.evidence-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 24px; margin:0; }
.evidence-grid dt { color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; }
.evidence-grid dd { margin:4px 0 0; overflow-wrap:anywhere; }
.subsection { margin-top:24px; }
.brand-list { display:grid; gap:12px; list-style:none; padding:0; }.brand-list a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px; background:white; border:1px solid var(--line); border-radius:10px; text-decoration:none; }
.brand-card-copy { display:grid; gap:3px; }.brand-card-copy > span { color:var(--muted); font-size:13px; }.brand-card-departments { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.actions { display:flex; gap:10px; flex-wrap:wrap; }
.button.compact,button.compact { min-height:34px; padding:6px 10px; font-size:13px; }
.task-fab { position:fixed; right:24px; bottom:24px; z-index:30; display:inline-flex; align-items:center; gap:8px; min-height:46px; padding:10px 16px; border:1px solid var(--brand-dark); border-radius:999px; background:var(--brand-dark); color:white; box-shadow:0 8px 24px rgb(23 74 79 / 24%); font-weight:800; text-decoration:none; }
.task-fab:hover,.task-fab:focus-visible { background:var(--focus); color:white; transform:translateY(-1px); }
.task-fab > span { font-size:20px; font-weight:500; line-height:1; }
.task-fab-setup { background:var(--paper); color:var(--brand-dark); }
.section-task-toolbar { display:flex; grid-column:1/-1; justify-content:flex-end; min-height:34px; margin:-4px 0 10px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.section-task-button { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:5px 10px; border:1px solid var(--brand); border-radius:8px; background:#e7f4f5; color:var(--brand-dark); font-size:14px; font-weight:800; }
.section-task-button:hover,.section-task-button:focus-visible { background:var(--brand-dark); color:white; }
.section-task-button span { font-size:16px; font-weight:500; line-height:1; }
.task-connection-alert { margin:-8px 0 18px; padding:12px 14px; border:1px solid var(--line-strong); border-radius:8px; background:var(--warning-soft); color:var(--warn); }
.taskable-cell { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.taskable-path { min-width:0; }
.col-task,.row-task-column,.row-task-cell { width:54px; min-width:54px; max-width:54px; }
.row-task-column,.row-task-cell { position:sticky; left:0; z-index:2; padding-inline:6px!important; background:var(--paper); text-align:center!important; }
.row-task-column { z-index:4; color:var(--muted); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.row-task-cell { box-shadow:1px 0 0 var(--line); }
.row-task-button { display:inline-grid; place-items:center; width:30px; min-width:30px; min-height:30px; padding:0; border:1px solid var(--line-strong); border-radius:8px; background:var(--paper); color:var(--brand-dark); font-size:18px; line-height:1; }
.row-task-button:hover,.row-task-button:focus-visible,tr:focus-within .row-task-button { border-color:var(--brand); background:#e7f4f5; color:var(--brand-dark); }
.ledger-keywords.task-row-table .keyword-column { left:54px; }
.task-drawer-backdrop { position:fixed; z-index:40; inset:0; background:rgb(23 33 43 / 32%); }
.task-drawer { position:fixed; z-index:41; inset:0 0 0 auto; width:min(470px,100%); overflow-y:auto; padding:24px; border-left:1px solid var(--line-strong); background:var(--paper); box-shadow:-14px 0 40px rgb(23 33 43 / 18%); }
.task-drawer[hidden],.task-drawer-backdrop[hidden] { display:none; }
.task-drawer-open { overflow:hidden; }
.task-drawer-head { display:flex; align-items:start; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.task-drawer-head h2 { margin-bottom:5px; font-size:24px; }
.task-drawer-head p { margin-bottom:0; overflow-wrap:anywhere; }
.task-drawer-close { min-width:44px; padding:4px 10px; background:transparent; color:var(--muted); font-size:28px; line-height:1; }
.task-form { display:grid; gap:18px; padding-top:20px; }
.task-form > label,.task-form-grid label { display:grid; gap:6px; font-weight:750; }
.task-form fieldset { display:grid; gap:10px; margin:0; padding:15px; border:1px solid var(--line); border-radius:10px; }
.task-form legend { padding:0 5px; font-weight:800; }
.task-destination-state { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--muted); font-size:13px; }
.task-destination-state .text-button { min-height:32px; padding:3px 8px; }
[data-task-destination-fields] { display:grid; gap:10px; }
[data-task-destination-fields][hidden] { display:none; }
.task-radio { display:flex; align-items:center; gap:8px; font-weight:750; }
.task-radio input { width:18px; min-height:18px; }
.task-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.task-evidence-note { display:grid; gap:3px; padding:12px 14px; border:1px solid var(--line); border-radius:8px; background:var(--wash); }
.task-evidence-note span { overflow-wrap:anywhere; }
.task-evidence-note small { color:var(--muted); }
.task-drawer-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:4px; }
.task-history-list { margin-top:10px; }
.task-history-list article { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 0; border-top:1px solid var(--line); }
.task-history-list article > div:first-child { display:grid; gap:2px; min-width:0; }
.task-history-list span,.task-history-list small { color:var(--muted); overflow-wrap:anywhere; }
.task-history-list small { color:var(--bad); }
.status { display:inline-block; padding:3px 8px; border-radius:99px; background:#e7f4f5; color:var(--brand-dark); font-size:12px; font-weight:800; }
.workspace-context { display:flex; align-items:center; gap:8px; margin-bottom:8px; color:var(--muted); font-size:13px; }
.workspace-context strong { color:var(--ink); }
.workspace-separator { color:#9aa5af; }
.brand-header { display:flex; align-items:end; justify-content:space-between; gap:32px; margin:26px 0 40px; padding-bottom:28px; border-bottom:1px solid var(--line-strong); }
.brand-header h1 { margin-bottom:10px; }
.brand-header p:last-child { margin-bottom:0; }
.brand-facts { display:flex; gap:28px; margin:0; }
.brand-facts div { min-width:120px; }
.brand-facts dt { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.brand-facts dd { margin:4px 0 0; font-weight:750; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:14px; }
.section-heading h2 { margin-bottom:0; }
.department-list { display:grid; gap:12px; }
.department-card { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:18px; min-height:112px; padding:22px 24px; border:1px solid var(--line-strong); border-radius:12px; background:var(--paper); color:var(--ink); text-decoration:none; box-shadow:0 2px 12px rgb(20 36 47 / 5%); transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease; }
.department-card:hover { border-color:var(--brand); transform:translateY(-2px); box-shadow:0 10px 28px rgb(20 36 47 / 10%); }
.department-index { align-self:start; color:var(--brand); font-size:12px; font-weight:850; letter-spacing:.08em; }
.department-copy { display:grid; gap:5px; }
.department-copy strong { font-size:24px; line-height:1.1; }
.department-copy span { color:var(--muted); }
.department-copy .department-state { width:max-content; color:inherit; }
.department-detail { font-size:13px; }
.department-action { color:var(--brand-dark); font-weight:800; white-space:nowrap; }
.department-state { display:inline-flex; align-items:center; width:max-content; padding:3px 8px; border-radius:999px; background:#eef1f3; color:var(--muted); font-size:12px; font-weight:800; }
.department-state.current { background:var(--positive-soft); color:var(--good); }.department-state.processing { background:var(--action-soft); color:var(--focus); }.department-state.stale,.department-state.setup,.department-state.empty { background:var(--warning-soft); color:var(--warn); }.department-state.failed { background:var(--critical-soft); color:var(--bad); }
.brand-header-actions { display:flex; justify-content:flex-end; margin:-28px 0 26px; }.empty-departments { margin-top:0; }.empty-departments p { margin:5px 0 0; }
.settings-shell { max-width:900px; }.settings-panel + .settings-panel { margin-top:20px; }.settings-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }.settings-form label { display:grid; gap:6px; font-weight:750; }.settings-form input[type="text"] { width:100%; }.settings-form .field-wide { grid-column:1/-1; }.settings-form .check { display:flex; align-items:center; grid-template-columns:24px 1fr; }.settings-form .check input { width:20px; min-height:20px; }.field-error { color:var(--bad); font-weight:650; }.enrollment-list { display:grid; margin-top:18px; border-top:1px solid var(--line); }.enrollment-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }.enrollment-row > span { display:grid; gap:3px; }.enrollment-row small { color:var(--muted); }.enrollment-toggle { display:flex; align-items:center; gap:7px; font-weight:750; }.enrollment-toggle input { width:20px; min-height:20px; }
.home-admin-link { margin-top:18px; }
.form-error-summary { padding:12px 14px; border:1px solid var(--bad); border-radius:8px; background:var(--critical-soft); color:var(--bad); }.form-error-summary p { margin:3px 0 0; }
.settings-form small { color:var(--muted); font-weight:400; }.settings-form .field-error { color:var(--bad); font-weight:650; }
.checkbox-fieldset { margin:0; padding:14px 16px; border:1px solid var(--line); border-radius:10px; }.checkbox-fieldset legend { padding:0 6px; font-weight:800; }.checkbox-fieldset ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:4px 0 8px; padding:0; list-style:none; }.checkbox-fieldset label { display:flex; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:8px; }.checkbox-fieldset input { width:20px; min-height:20px; }
.setup-panel { margin-bottom:32px; }.setup-ledger { display:grid; margin-top:16px; border-top:1px solid var(--line); }.setup-ledger > div { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(130px,.5fr) minmax(240px,1.3fr); align-items:center; gap:12px 20px; padding:13px 0; border-bottom:1px solid var(--line); }.setup-ledger small { color:var(--muted); }.setup-ledger .department-state { justify-self:start; }
.membership-list { display:grid; margin-top:18px; border-top:1px solid var(--line); }.membership-row { display:grid; grid-template-columns:minmax(150px,1fr) minmax(320px,auto) auto; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }.membership-row > span { display:grid; gap:3px; }.membership-row small { color:var(--muted); }.membership-role-form { display:flex; align-items:center; gap:8px; }.membership-role-form select,.membership-add-form select,.connection-destination-form select { min-height:44px; border:1px solid #aeb9c2; border-radius:8px; padding:9px 34px 9px 11px; background:var(--paper); color:var(--ink); font:inherit; }.membership-add-form { display:grid; grid-template-columns:minmax(0,1fr) 180px auto; align-items:end; gap:12px; margin-top:20px; }.membership-add-form label,.registry-row label,.archive-form label { display:grid; gap:6px; font-weight:750; }
.danger-button { border-color:var(--bad)!important; color:var(--bad)!important; }.danger-button:hover,.danger-button:focus-visible { background:var(--critical-soft); }
.lifecycle-panel { border-color:color-mix(in srgb,var(--bad) 45%,var(--line)); }.archive-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; margin-top:18px; }
.registry-panel { margin-top:20px; }.registry-list { display:grid; margin-top:16px; border-top:1px solid var(--line); }.registry-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,.35fr) auto auto; align-items:end; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }.registry-row > span { display:grid; gap:3px; }.registry-row small { color:var(--muted); }.registry-edit-row { background:var(--wash); }.registry-empty { padding:20px 0; }.registry-empty p { margin:4px 0 0; }
.connection-state { display:inline-flex; padding:4px 9px; border-radius:999px; background:var(--warning-soft); color:var(--warn); font-size:12px; font-weight:800; white-space:nowrap; }.connection-state.configured { background:var(--positive-soft); color:var(--good); }.connection-state.issue { background:var(--critical-soft); color:var(--bad); }
.connection-pair-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; margin-top:20px; }.connection-pair-form label,.connection-destination-form > label { display:grid; gap:6px; font-weight:750; }.connection-help { margin:9px 0 0; font-size:13px; }.connection-empty { margin:18px 0 0; }
.connection-summary { display:grid; gap:3px; margin-top:18px; padding:14px 0; border-block:1px solid var(--line); }.connection-summary span { color:var(--muted); font-size:13px; overflow-wrap:anywhere; }.connection-error { margin:16px 0 0; padding:12px 14px; border-radius:8px; background:var(--critical-soft); color:var(--bad); }
.connection-destination-form { display:grid; gap:16px; margin-top:18px; }.connection-destination-form fieldset { display:grid; gap:10px; margin:0; padding:16px; border:1px solid var(--line); border-radius:10px; }.connection-destination-form legend { padding:0 6px; font-weight:800; }.connection-destination-form .choice { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:8px; font-weight:700; }.connection-destination-form .choice input { width:20px; min-height:20px; }.connection-disconnect { margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }
.brand-workspace { margin-bottom:32px; }
.source-consumer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.source-consumer + .source-consumer { margin-top:6px; }
.tabs { display:flex; gap:6px; overflow:auto; margin-bottom:24px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.tabs a { display:flex; align-items:center; min-height:44px; padding:8px 11px; border-radius:7px; text-decoration:none; font-weight:700; white-space:nowrap; }
.tabs a:hover,.tabs a.active { background:#e7f4f5; color:var(--brand-dark); }
.tall { max-height:68dvh; }
.rank { display:inline-block; min-width:62px; padding:3px 8px; border-radius:99px; background:#eef1f3; color:var(--muted); text-align:center; font-size:12px; font-weight:800; white-space:nowrap; }
.rank.top { background:#def4e8; color:var(--good); }.rank.p1 { background:#e7f4f5; color:var(--brand-dark); }.rank.p2 { background:var(--warning-soft); color:var(--warn); }
.history { display:flex; align-items:end; gap:6px; overflow:auto; padding:12px 0 4px; }
.history span { min-width:40px; padding:8px 6px; border:1px solid var(--line); border-radius:6px; text-align:center; font-variant-numeric:tabular-nums; }
.ours { background:#f0f8f8; }
.path-title { overflow-wrap:anywhere; }
.recovery-form { margin-top:18px; }
.finding-layout { display:grid; grid-template-columns:minmax(240px,300px) minmax(0,1fr); gap:18px; align-items:start; }
.finding-layout .panel { margin-top:0; }
.finding-filters { position:sticky; top:18px; }
.filter-family + .filter-family { margin-top:22px; }
.filter-family h2 { margin-bottom:7px; color:var(--muted); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.filter-link,.status-switch a { display:flex; align-items:center; justify-content:space-between; min-height:44px; gap:12px; padding:9px 10px; border-radius:7px; color:var(--ink); text-decoration:none; }
.filter-link:hover,.filter-link.active,.status-switch a:hover,.status-switch a.active { background:#e7f4f5; color:var(--brand-dark); }
.status-switch { display:flex; gap:8px; margin:14px 0; }
.status-switch a { border:1px solid var(--line); }
.ledger-fixed { width:var(--ledger-width,100%); min-width:var(--ledger-width,100%); table-layout:fixed; }
.ledger-full-serp { min-width:560px; }

/* Page Library ─ the shared page store's two screens.
   Five derived states, so five pills. Fresh and Stale are the everyday pair; Never crawled is
   deliberately quiet rather than alarming, because it is an absence, not a failure. */
.job-state.fresh { background:var(--positive-soft); color:var(--good); }
.job-state.stale { background:var(--warning-soft); color:var(--warn); }
.job-state.crawling { background:#e7f4f5; color:var(--brand-dark); }
.job-state.blocked { background:var(--warning-soft); color:var(--warn); }
.job-state.never { background:#eef1f3; color:var(--muted); }
.library-filters { display:grid; grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,200px)) auto auto; align-items:end; gap:12px; margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.library-filters label { display:grid; gap:5px; color:var(--muted); font-size:12px; font-weight:800; }
.library-filters input,.library-filters select { width:100%; min-height:44px; border:1px solid #aeb9c2; border-radius:8px; padding:9px 11px; background:var(--paper); color:var(--ink); font:inherit; }
/* Every ledger here states its width and scrolls inside its panel, as the rest of the house
   does. A column left unsized is squeezed to nothing the moment the panel is narrower than the
   sized columns — on a phone that stacks the heading one letter per line. */
.ledger-library-pages { --ledger-width:956px; }
.ledger-library-snapshots { --ledger-width:900px; }
.ledger-library-attempts { --ledger-width:1116px; }
.ledger-library-references { --ledger-width:812px; }
/* Outcomes here are sentences ("Fetched, content unchanged"), not one-word states, so the pill
   wraps rather than spilling across the next column. Same exception as `.inventory-issues`. */
.ledger-library-attempts .job-state { white-space:normal; }
.detail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 28px; margin:18px 0 0; }
.detail-facts dt { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.detail-facts dd { margin:4px 0 0; min-width:0; font-weight:750; }
/* The held copy, read as prose. The page's own words are not a status line, so they are set at
   reading weight rather than the ledger's 750, and the body scrolls inside the panel instead of
   pushing the history below it out of reach — same 480px measure as `.table-scroll-rows`. */
.page-copy-read { white-space:nowrap; }
.page-copy-facts dd { font-weight:600; }
.page-copy-wide { grid-column:1/-1; }
.page-copy-notice { margin:16px 0 0; padding:10px 14px; border:1px solid var(--warn); border-radius:8px; background:var(--warning-soft); font-size:14px; }
.page-copy-part { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.page-copy-part h3 { display:flex; align-items:baseline; gap:10px; margin-bottom:10px; font-size:15px; }
.page-copy-part h3 small { font-weight:700; }
.page-copy-part .heading-outline li.h4 { padding-left:48px; }
.page-copy-part .heading-outline li.h5 { padding-left:64px; }
.page-copy-part .heading-outline li.h6 { padding-left:80px; }
.page-copy-body { max-height:480px; overflow-y:auto; overscroll-behavior:contain; padding:14px 16px; border:1px solid var(--line); border-radius:8px; background:var(--wash); scrollbar-gutter:stable; }
.page-copy-body p { max-width:78ch; margin-bottom:12px; overflow-wrap:anywhere; }
.page-copy-body p:last-child { margin-bottom:0; }
/* Which version the panel above is showing, marked on the row that produced it. */
.ledger-library-snapshots tr.is-shown { background:var(--wash); }
.ledger-library-snapshots tr.is-shown td:first-child { box-shadow:inset 3px 0 0 var(--brand); }
.ledger-library-snapshots td small { display:block; margin-top:2px; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
@media (max-width:900px) { .library-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.detail-facts { grid-template-columns:1fr; } }
@media (max-width:600px) { .library-filters { grid-template-columns:1fr; }.library-filters .button,.library-filters button { width:100%; } }
.ledger-fixed th,.ledger-fixed td { white-space:normal; overflow-wrap:break-word; word-break:normal; }
.ledger-fixed .sort-button { align-items:center; line-height:1.25; white-space:normal; }
/* A numeric header's label is an anonymous flex item with min-width:auto, so a label wider than
   its column overflowed left across the previous column - covering that column's sort button and
   taking its clicks. Letting the indicator wrap below the label keeps the label inside its cell. */
.ledger-fixed .num .sort-button { flex-wrap:wrap; }
.ledger-keywords { --ledger-width:1460px; }
.ledger-keywords.task-row-table { --ledger-width:1514px; }
.ledger-tracked-serp { min-width:680px; }
.ledger-traffic,.ledger-failed-runs { min-width:800px; }
.ledger-internal-links { min-width:680px; }
.ledger-pages { --ledger-width:1470px; }
.ledger-findings { --ledger-width:var(--finding-ledger-width,1180px); }
.ledger-page-keywords { --ledger-width:1136px; }
.ledger-competitors { --ledger-width:1284px; }
.ledger-operations { --ledger-width:1160px; }
.ledger-source-updates { --ledger-width:1456px; }
.ledger-crawls { --ledger-width:1230px; }
.inventory-ledger-overview { --ledger-width:1688px; }
.inventory-ledger-title,.inventory-ledger-meta,.inventory-ledger-h1 { --ledger-width:1148px; }
.inventory-ledger-h2,.inventory-ledger-h3 { --ledger-width:1268px; }
.inventory-ledger-outline { --ledger-width:1364px; }
.col-index { width:44px; }
.col-rank { width:96px; }
.col-number { width:104px; }
.col-number-compact { width:80px; }
.col-number-wide { width:128px; }
.col-short { width:112px; }
.col-status { width:128px; }
.col-date { width:144px; }
.col-action { width:104px; }
.col-page-name { width:180px; }
.col-keyword { width:225px; }
.col-path { width:210px; }
.col-domain-count { width:150px; }
.col-text { width:270px; }
.col-evidence { width:300px; }
.col-description { width:360px; }
.col-outline { width:480px; }
.col-checks { width:225px; }
.keyword-column,.path-column,.evidence-column,.text-column { white-space:normal; overflow-wrap:break-word; word-break:normal; }
/* Evidence columns total 1460px. The injected Task column adds exactly 54px;
   positional selectors would shift every width when that column is present. */
.ledger-keywords .col-task { width:54px; }
.ledger-keywords .col-keyword { width:220px; }
.ledger-keywords .col-page-name { width:160px; }
.ledger-keywords .col-rank { width:96px; }
.ledger-keywords .col-short { width:104px; }
.ledger-keywords .col-status { width:128px; }
.ledger-keywords .col-number-compact { width:80px; }
.ledger-keywords .col-path { width:180px; }
.ledger-keywords .col-domain-count { width:120px; }
.ledger-keywords th.keyword-column,.ledger-keywords td.keyword-column { position:sticky; left:0; background:var(--paper); }
.ledger-keywords th.keyword-column { z-index:3; }
.ledger-keywords td.keyword-column { z-index:2; box-shadow:1px 0 0 var(--line); }
.compact { min-height:44px; padding:6px 10px; white-space:nowrap; }
.wrap { min-width:220px; white-space:normal; overflow-wrap:anywhere; }
.run-banner { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 20px; padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.run-banner p { margin:3px 0 0; }
.run-banner.current { background:var(--positive-soft); border-color:var(--line-strong); color:var(--good); }
.run-banner.processing { background:var(--action-soft); border-color:var(--line-strong); color:var(--brand-dark); }
.run-banner.warning { background:var(--warning-soft); border-color:var(--line-strong); color:var(--warn); }
.run-banner.error { background:var(--critical-soft); border-color:var(--line-strong); color:var(--bad); }
.run-banner .button { flex:0 0 auto; }
.job-state { display:inline-block; padding:3px 8px; border-radius:99px; background:#eef1f3; color:var(--muted); font-size:12px; font-weight:800; white-space:nowrap; }
.job-state.success,.job-state.active,.job-state.superseded { background:#def4e8; color:var(--good); }
.job-state.queued,.job-state.running,.job-state.pending { background:#e7f4f5; color:var(--brand-dark); }
.job-state.failed { background:#faeaea; color:var(--bad); }
.job-state.missing { background:var(--warning-soft); color:var(--warn); }
.operator-guide li + li { margin-top:8px; }
summary { min-height:44px; cursor:pointer; }
.evidence-disclosure-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; }
.evidence-disclosure-summary::-webkit-details-marker { display:none; }
.evidence-disclosure-copy { min-width:0; }
.evidence-disclosure-title { display:block; font-size:20px; font-weight:700; line-height:1.3; }
.evidence-disclosure-copy .muted { display:block; margin-top:8px; }
.evidence-disclosure-meta { display:flex; align-items:center; flex:0 0 auto; gap:10px; }
.evidence-disclosure-chevron { width:20px; height:20px; color:var(--muted); transition:transform 160ms ease-out; }
.evidence-disclosure[open] .evidence-disclosure-chevron { transform:rotate(180deg); }
.evidence-disclosure-content { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
.finding-summaries { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.finding-summary { padding:14px; border:1px solid var(--line); border-radius:9px; }
.finding-summary h3 { margin-bottom:6px; }
.finding-summary p:last-child { margin-bottom:0; }
.finding-provenance { display:flex; flex-wrap:wrap; gap:4px 8px; margin:12px 0 16px; color:var(--muted); font-size:13px; }
.finding-provenance strong { color:var(--ink); }
.serp-ledger { display:grid; gap:12px; }
.serp-group { border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }
.serp-group > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; }
.serp-group > summary span:first-child { display:grid; gap:3px; }
.serp-group > summary small { color:var(--muted); font-weight:400; }
.serp-group .table-scroll { border-block:1px solid var(--line); }
.serp-decision { margin:0; padding:13px 16px; color:var(--muted); }
.path-title span { color:var(--muted); font-weight:650; }
.page-evidence-source { margin:0 0 2px; }
.page-read { display:grid; grid-template-columns:minmax(210px,.72fr) minmax(0,1.6fr); gap:12px 34px; }
.page-read h2,.page-read > p { margin-bottom:0; }
.page-read .rank-context-line { grid-column:2; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.decision-panel { border-color:var(--line-strong); }
.evidence-empty { display:grid; gap:4px; margin-top:14px; padding:14px 16px; border:1px dashed var(--line-strong); border-radius:8px; background:var(--wash); }
.evidence-empty span { color:var(--muted); font-size:13px; }
.comparison-block { margin-top:20px; }
.comparison-block + .comparison-block { padding-top:20px; border-top:1px solid var(--line); }
.comparison-table { border:1px solid var(--line); border-radius:9px; overflow:hidden; }
.comparison-row { display:grid; grid-template-columns:140px minmax(0,1fr) minmax(0,1fr) 112px; }
.comparison-row > * { min-width:0; padding:11px 12px; overflow-wrap:anywhere; border-top:1px solid var(--line); }
.comparison-row > * + * { border-left:1px solid var(--line); }
.comparison-head { background:var(--wash); color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.comparison-head > * { border-top:0; }
.comparison-status { display:inline-flex; padding:3px 7px; border-radius:5px; font-size:12px; font-weight:800; white-space:nowrap; }
.comparison-status.match { background:var(--positive-soft); color:var(--good); }
.comparison-status.different,.comparison-status.missing { background:var(--critical-soft); color:var(--bad); }
.comparison-status.unplanned { background:var(--warning-soft); color:var(--warn); }
.technical-facts { display:grid; grid-template-columns:120px 120px minmax(220px,1fr) 150px; gap:0; margin:20px 0 0; padding-top:16px; border-top:1px solid var(--line); }
.technical-facts div { min-width:0; padding:0 14px; border-left:1px solid var(--line); }
.technical-facts div:first-child { padding-left:0; border-left:0; }
.technical-facts dt { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.technical-facts dd { margin:4px 0 0; overflow-wrap:anywhere; }
.page-keyword-ledger { max-height:min(560px,70dvh); }
.movement-inline { white-space:nowrap; font-variant-numeric:tabular-nums; }
.evidence-unavailable > h2 { margin-bottom:0; }
.next-review { display:flex; align-items:center; justify-content:space-between; gap:28px; border-color:var(--line-strong); }
.next-review p:last-child { max-width:76ch; margin-bottom:0; color:var(--muted); }
.next-review .actions { flex:0 0 auto; }
.inventory-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:20px 0; border-block:1px solid var(--line-strong); background:var(--paper); }
.inventory-summary div { display:grid; gap:2px; padding:14px 16px; border-left:1px solid var(--line); }
.inventory-summary div:first-child { border-left:0; }
.inventory-summary strong { font-size:22px; font-variant-numeric:tabular-nums; }
.inventory-summary span { color:var(--muted); font-size:12px; }
.inventory-head { margin-bottom:18px; }
.inventory-head p { max-width:75ch; margin-bottom:0; }
.inventory-kind-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.inventory-kind-tabs a { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:7px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-weight:750; text-decoration:none; }
.inventory-kind-tabs a:hover,.inventory-kind-tabs a.active { border-color:var(--brand); background:#e7f4f5; color:var(--brand-dark); }
.inventory-kind-tabs span { min-width:22px; padding:1px 6px; border-radius:999px; background:var(--wash); color:var(--muted); font-size:11px; text-align:center; font-variant-numeric:tabular-nums; }
.inventory-field-tabs { margin-bottom:16px; }
.inventory-toolbar { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.inventory-search { display:grid; flex:1 1 560px; max-width:680px; gap:5px; }
.inventory-search label { font-size:12px; font-weight:800; }
.inventory-search div { display:flex; gap:8px; }
.inventory-search input { min-width:0; }
.inventory-toolbar .button.active { border-color:var(--brand); background:#e7f4f5; }
.inventory-table { border-block:1px solid var(--line); }
.inventory-table table { min-width:1040px; }
.inventory-table th { background:var(--paper); }
.inventory-table td { vertical-align:top; }
.inventory-kind { display:inline-block; padding:2px 7px; border-radius:5px; background:#eef1f3; color:var(--muted); font-size:11px; font-weight:800; text-transform:capitalize; }
.inventory-kind.category { background:#e7f4f5; color:var(--brand-dark); }
.inventory-kind.blog { background:var(--action-soft); color:var(--focus); }
.inventory-kind.other { background:var(--warning-soft); color:var(--warn); }
.inventory-kind-meta,.inventory-note { display:block; margin-top:4px; color:var(--muted); font-size:11px; white-space:normal; }
.ledger-pages .inventory-kind { display:block; width:max-content; margin-top:4px; }
.inventory-issues { display:flex; flex-wrap:wrap; gap:5px; }
.inventory-issues .job-state { white-space:normal; }
.inventory-clear { color:var(--good); font-size:12px; font-weight:750; }
.outline-column { min-width:44ch; max-width:64ch; white-space:normal; }
.heading-outline { display:grid; gap:4px; margin:0; padding:0; list-style:none; }
.heading-outline li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:6px; overflow-wrap:anywhere; }
.heading-outline li.h2 { padding-left:16px; }
.heading-outline li.h3 { padding-left:32px; }
.heading-level-list li { padding-left:0; }
.heading-outline span { color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.05em; }
@media (max-width:760px) { .brand-list a { align-items:flex-start; flex-direction:column; }.brand-card-departments { justify-content:flex-start; }.settings-form { grid-template-columns:1fr; }.enrollment-row { grid-template-columns:1fr auto; }.enrollment-row .button { grid-column:1/-1; } }
@media (max-width:760px) { .connection-pair-form { grid-template-columns:1fr; }.connection-pair-form .button,.connection-destination-form .button { width:100%; }.basecamp-settings .panel-head { flex-direction:column; } }
@media (max-width:760px) { .checkbox-fieldset ul { grid-template-columns:1fr; }.setup-ledger > div { grid-template-columns:1fr; gap:3px; }.membership-row,.membership-add-form,.registry-row,.archive-form { grid-template-columns:1fr; align-items:stretch; }.membership-role-form { align-items:stretch; flex-direction:column; }.membership-row .button,.membership-add-form .button,.registry-row .button,.archive-form .button { width:100%; }.registry-edit-row { padding-inline:10px; } }
@media (max-width:760px) { .metrics,.crawler-config,.crawl-actions,.evidence-grid { grid-template-columns:1fr; }.metrics-source { align-items:flex-start; flex-direction:column; gap:2px; }.crawler-config .field-wide { grid-column:auto; }.pagehead,.brand-header { align-items:start; flex-direction:column; }.brand-facts { width:100%; }.department-card { grid-template-columns:38px minmax(0,1fr); padding:20px 18px; }.department-action { grid-column:2; }.topbar { padding:0 16px; }.shell { width:min(100% - 20px,1180px); }.panel { padding:16px; }.rank-movement-head,.rank-movement-actions { align-items:flex-start; flex-direction:column; }.rank-movement-head { gap:12px; }.rank-movement-actions { gap:8px; }.rank-movement-summary { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:14px; }.rank-movement-summary div:nth-child(4) { padding-left:0; border-left:0; }.movement-ledgers { grid-template-columns:1fr; }.movement-ledger + .movement-ledger { margin:0; padding:18px 0 0; border-left:0; border-top:1px solid var(--line); }.run-banner { align-items:flex-start; flex-direction:column; }.run-banner .button { width:100%; }.evidence-disclosure-summary { align-items:flex-start; }.evidence-disclosure-meta { flex-direction:column; align-items:flex-end; }.evidence-disclosure-copy .muted { max-width:42ch; }.table-foot { align-items:flex-start; flex-direction:column; }.table-scroll-rows { max-height:62vh; } input,textarea { font-size:16px; } }
@media (max-width:900px) { .finding-layout { grid-template-columns:1fr; }.finding-filters { position:static; }.filter-family { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }.filter-family h2 { grid-column:1/-1; } }
@media (max-width:440px) { .metrics,.finding-summaries { grid-template-columns:1fr; }.rank-movement-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.rank-movement-summary div:nth-child(odd) { padding-left:0; border-left:0; }.rank-movement-summary div:nth-child(4) { padding-left:16px; border-left:1px solid var(--line); }.movement-ledger li { grid-template-columns:1fr; }.movement-reading { justify-items:start; }.movement-ledger-footer { align-items:flex-start; flex-direction:column; }.movement-toggle { width:100%; } }
@media (max-width:760px) { .page-detail .panel-head { flex-direction:column; }.page-read { grid-template-columns:1fr; }.page-read .rank-context-line { grid-column:auto; }.comparison-head { display:none; }.comparison-row { grid-template-columns:1fr; }.comparison-row > * { border-left:0!important; }.comparison-row > [data-label]::before { content:attr(data-label); display:block; margin-bottom:3px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.technical-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 0; }.technical-facts div:nth-child(3) { padding-left:0; border-left:0; }.next-review { align-items:flex-start; flex-direction:column; }.next-review .actions { width:100%; }.next-review .button { flex:1 1 auto; } }
@media (max-width:760px) { .inventory-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.inventory-summary div:nth-child(odd) { border-left:0; }.inventory-head { flex-direction:column; }.inventory-toolbar { align-items:stretch; flex-direction:column; }.inventory-search { width:100%; flex-basis:auto; }.inventory-toolbar .button { width:100%; } }

/* Google Ads · evidence-led campaign performance */
.ads-verdict { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:16px; padding:22px 24px; border:1px solid var(--line-strong); border-radius:10px; background:var(--paper); }
.ads-verdict.positive { border-color:var(--good); }.ads-verdict.critical { border-color:var(--bad); }
.ads-verdict h2,.ads-verdict p { margin-bottom:4px; }.ads-verdict-number { display:grid; justify-items:end; flex:0 0 auto; }.ads-verdict-number strong { font-size:42px; line-height:1; font-variant-numeric:tabular-nums; }.ads-verdict-number span { margin-top:6px; color:var(--muted); font-size:13px; }
.ads-verdict-detail { max-width:78ch; padding-top:6px; }.ads-confidence-note { max-width:82ch; color:var(--muted); font-size:12px; }
.ads-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:20px; border-block:1px solid var(--line-strong); background:var(--paper); }
.ads-metrics article { display:grid; gap:4px; min-width:0; padding:14px 16px; border-left:1px solid var(--line); }.ads-metrics article:first-child { border-left:0; }.ads-metrics span { color:var(--muted); font-size:12px; }.ads-metrics strong { overflow-wrap:anywhere; font-size:20px; font-variant-numeric:tabular-nums; }
.ads-signal-list { display:grid; gap:0; border-top:1px solid var(--line); }.ads-signal { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; padding:16px 0; border-bottom:1px solid var(--line); }.ads-signal h3 { margin:7px 0 4px; }.ads-signal p { margin-bottom:3px; }
.ads-campaign-table table { min-width:1260px; }.ads-campaign-table td { vertical-align:top; }.ads-cell-note { display:block; margin-top:4px; color:var(--muted); font-size:11px; }.ads-signal-copy { min-width:250px; color:var(--muted); font-size:12px; }
.ads-source-status { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:32px; border-style:dashed; }.ads-source-notes p { margin-bottom:8px; }.ads-target-current h2 { margin-bottom:4px; font-size:34px; }
.ads-source-ledger { display:grid; border-top:1px solid var(--line); }.ads-source-ledger > div { display:grid; grid-template-columns:minmax(170px,1fr) auto; gap:4px 12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }.ads-source-ledger small { grid-column:1/-1; color:var(--muted); }
.ads-campaign-focus .notice { width:auto; margin:16px 0; }.ads-fact-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:16px 0 20px; border-block:1px solid var(--line); }.ads-fact-grid div { padding:13px 14px; border-left:1px solid var(--line); }.ads-fact-grid div:first-child { border-left:0; }.ads-fact-grid dt { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.ads-fact-grid dd { margin:3px 0 0; font-size:18px; font-weight:800; font-variant-numeric:tabular-nums; }
.ads-weekly-summary { margin:-4px 0 18px; color:var(--muted); }.ads-device-ledger { margin:18px 0; }.ads-device-ledger h3 { margin-bottom:10px; }.ads-device-ledger table { min-width:680px; }
.table-link,.text-link { color:var(--brand-dark); font-weight:750; text-underline-offset:3px; }.table-link:hover,.text-link:hover { color:var(--focus); }
.ads-source-note { border-style:dashed; }.ads-source-note p:last-child { max-width:75ch; margin-bottom:0; }
.ads-queue-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-bottom:20px; border-block:1px solid var(--line-strong); background:var(--paper); }.ads-queue-strip a { display:grid; align-content:start; gap:2px; min-height:76px; padding:12px 14px; border-left:1px solid var(--line); color:var(--ink); text-decoration:none; }.ads-queue-strip a:first-child { border-left:0; }.ads-queue-strip a:hover,.ads-queue-strip a.active { background:#e7f4f5; }.ads-queue-strip a.active { box-shadow:inset 0 -3px var(--brand); }.ads-queue-strip strong { font-size:20px; font-variant-numeric:tabular-nums; }.ads-queue-strip span { color:var(--muted); font-size:12px; }
.ads-ledger-filters { display:grid; grid-template-columns:minmax(180px,240px) minmax(220px,1fr) auto auto; align-items:end; gap:12px; margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid var(--line); }.ads-ledger-filters label { display:grid; gap:5px; color:var(--muted); font-size:12px; font-weight:800; }.ads-ledger-filters select { width:100%; min-height:44px; border:1px solid #aeb9c2; border-radius:8px; padding:9px 34px 9px 11px; background:var(--paper); color:var(--ink); font:inherit; }.ads-ledger-filters .text-link { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.ads-keyword-table table { min-width:1500px; }.ads-term-table table { min-width:1400px; }.ads-negative-table table { min-width:1120px; }.ads-keyword-table td,.ads-term-table td,.ads-negative-table td { vertical-align:top; }.ads-keyword-table .job-state,.ads-term-table .job-state,.ads-negative-table .job-state { margin:0 4px 4px 0; }
.ads-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; color:var(--muted); font-size:13px; }.ads-threshold-note { max-width:85ch; margin:14px 2px 0; color:var(--muted); font-size:13px; }.ads-period-warning { display:flex; gap:12px 20px; margin-bottom:16px; padding:12px 16px; border:1px solid var(--line-strong); border-radius:8px; background:var(--warning-soft); color:var(--warn); }.ads-period-warning span { color:var(--warn); }.ads-filter-context { margin:-7px 0 18px; padding:9px 11px; background:var(--wash); }.ads-coverage-line { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }.ads-coverage-line h2 { margin-bottom:4px; }.ads-coverage-line p { margin-bottom:0; color:var(--muted); }.ads-coverage-line strong { color:var(--ink); }
.ads-finding-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }.ads-review-queue { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; border-block:1px solid var(--line); }.ads-review-queue a { display:grid; min-height:92px; align-content:center; padding:13px 16px; border-left:1px solid var(--line); color:var(--ink); text-decoration:none; }.ads-review-queue a:nth-child(3n+1) { border-left:0; }.ads-review-queue a:hover { background:var(--wash); }.ads-review-queue strong { font-size:24px; font-variant-numeric:tabular-nums; }.ads-review-queue span { font-weight:750; }.ads-review-queue small { color:var(--muted); }
.ads-coverage-alert { display:flex; align-items:center; justify-content:space-between; gap:24px; border-color:var(--warn); }.ads-coverage-alert p { max-width:78ch; margin-bottom:0; }.ads-search-coverage .panel-head p { max-width:76ch; margin:4px 0 0; }.ads-coverage-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:16px; border-block:1px solid var(--line); }.ads-coverage-metrics article { display:grid; gap:3px; padding:14px 16px; border-left:1px solid var(--line); }.ads-coverage-metrics article:first-child { border-left:0; }.ads-coverage-metrics span,.ads-coverage-metrics small { color:var(--muted); }.ads-coverage-metrics strong { font-size:22px; font-variant-numeric:tabular-nums; }
@media (max-width:900px) { .ads-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.ads-metrics article:nth-child(3) { border-left:0; } }
@media (max-width:900px) { .ads-fact-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.ads-fact-grid div:nth-child(4) { border-left:0; }.ads-queue-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }.ads-queue-strip a:nth-child(odd) { border-left:0; }.ads-ledger-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.ads-review-queue { grid-template-columns:repeat(2,minmax(0,1fr)); }.ads-review-queue a:nth-child(3n+1) { border-left:1px solid var(--line); }.ads-review-queue a:nth-child(odd) { border-left:0; } }
@media (max-width:600px) { .ads-verdict,.ads-signal,.ads-source-status,.ads-period-warning,.ads-coverage-alert { align-items:flex-start; grid-template-columns:1fr; flex-direction:column; }.ads-verdict-number { justify-items:start; }.ads-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.ads-metrics article:nth-child(odd) { border-left:0; }.ads-metrics article:nth-child(4) { border-left:1px solid var(--line); }.ads-signal .button,.ads-coverage-alert .button { width:100%; }.ads-fact-grid,.ads-queue-strip,.ads-ledger-filters,.ads-coverage-line,.ads-review-queue,.ads-coverage-metrics { grid-template-columns:1fr; }.ads-fact-grid div,.ads-queue-strip a,.ads-review-queue a,.ads-review-queue a:nth-child(3n+1),.ads-coverage-metrics article { border-left:0; }.ads-coverage-metrics article { border-top:1px solid var(--line); }.ads-coverage-metrics article:first-child { border-top:0; }.ads-queue-strip a { border-top:1px solid var(--line); }.ads-queue-strip a:first-child { border-top:0; }.ads-ledger-filters .button,.ads-ledger-filters .text-link { width:100%; }.ads-pagination { align-items:flex-start; flex-direction:column; }.ads-pagination .actions { width:100%; }.ads-pagination .button { flex:1; }.ads-finding-actions { width:100%; justify-content:flex-start; }.ads-finding-actions .button { flex:1; } }
@media (max-width:760px) { .task-fab { right:14px; bottom:14px; min-height:44px; }.section-task-toolbar { margin-top:0; }.task-form-grid { grid-template-columns:1fr; }.task-drawer { padding:18px; }.task-history-list article { align-items:flex-start; flex-direction:column; }.task-drawer-actions { position:sticky; bottom:-18px; margin-inline:-18px; padding:12px 18px; border-top:1px solid var(--line); background:var(--paper); }.task-drawer-actions button { flex:1; } }

/* Social Media · editorial runway */
.social-shell { width:min(1280px,calc(100% - 32px)); }
.social-pagehead { align-items:flex-end; padding:8px 0 4px; }
.social-pagehead h1 { margin-bottom:7px; }
.social-pagehead p:last-child { max-width:76ch; margin-bottom:0; }
.social-runway { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:6px 0 24px; border-block:1px solid var(--line-strong); background:var(--paper); }
.social-runway-stage { position:relative; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; gap:0 12px; min-height:94px; align-content:center; padding:15px 20px; border-left:1px solid var(--line); }
.social-runway-stage:first-child { border-left:0; }
.social-runway-stage::after { content:""; position:absolute; right:-5px; top:50%; z-index:1; width:9px; height:9px; border-top:1px solid var(--line-strong); border-right:1px solid var(--line-strong); background:var(--paper); transform:translateY(-50%) rotate(45deg); }
.social-runway-stage:last-child::after { display:none; }
.social-runway-stage > span { grid-row:1/-1; align-self:center; color:#9aa5af; font:750 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.social-runway-stage strong { font-size:25px; line-height:1.05; font-variant-numeric:tabular-nums; }
.social-runway-stage small { color:var(--muted); font-size:12px; font-weight:750; }
.social-runway-stage.published { box-shadow:inset 0 -3px var(--good); }
.social-plan-ledger { padding-bottom:8px; }
.social-plan-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(440px,.9fr); gap:28px; align-items:center; border-top:4px solid var(--brand); }
.social-plan-tools h2 { margin-bottom:5px; }
.social-plan-tools p { max-width:66ch; margin-bottom:0; }
.social-plan-template-actions { display:flex; align-items:end; justify-content:flex-end; gap:10px; }
.social-plan-template-actions form { display:grid; grid-template-columns:minmax(210px,1fr) auto; align-items:end; gap:10px; margin:0; }
.social-plan-template-actions label { display:grid; gap:5px; color:var(--muted); font-size:12px; font-weight:800; }
.social-plan-template-actions input[type="file"] { max-width:310px; padding:7px; background:var(--wash); color:var(--ink); font-size:13px; }
.social-brief-list { margin-top:8px; }
.social-brief-row { display:grid; grid-template-columns:66px minmax(0,1fr) auto; gap:18px; align-items:center; min-height:128px; padding:18px 0; border-top:1px solid var(--line); }
.social-brief-row:first-child { border-top:0; }
.social-brief-date { display:grid; align-content:center; justify-items:center; min-height:72px; padding:8px; border:1px solid var(--line); border-radius:8px; background:var(--wash); }
.social-brief-date strong { font-size:25px; line-height:1; font-variant-numeric:tabular-nums; }
.social-brief-date span { margin-top:4px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.social-brief-main { min-width:0; }
.social-brief-main h3 { margin:6px 0 4px; font-size:19px; }
.social-brief-main h3 a { color:var(--ink); text-decoration:none; }
.social-brief-main h3 a:hover { color:var(--brand-dark); text-decoration:underline; text-underline-offset:3px; }
.social-brief-main > p { max-width:82ch; margin-bottom:8px; color:var(--muted); overflow-wrap:anywhere; }
.social-brief-meta,.social-brief-foot { display:flex; flex-wrap:wrap; gap:5px 12px; align-items:center; color:var(--muted); font-size:11px; }
.social-brief-foot span + span::before { content:"·"; margin-right:12px; color:#a8b1ba; }
.social-channel { color:var(--brand-dark); font-size:11px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.job-state.planned { background:var(--action-soft); color:var(--focus); }
.job-state.handed_off { background:var(--warning-soft); color:var(--warn); }
.job-state.ready { background:#e7f4f5; color:var(--brand-dark); }
.job-state.published { background:var(--positive-soft); color:var(--good); }
.social-empty { display:grid; grid-template-columns:90px minmax(0,1fr); gap:24px; align-items:start; padding:42px 12px; border-top:1px solid var(--line); }
.social-empty > span { color:var(--line-strong); font-size:54px; font-weight:850; line-height:1; }
.social-empty h2 { margin-bottom:6px; }
.social-empty p { max-width:65ch; color:var(--muted); }
.social-editor { display:grid; gap:4px; }
.social-editor-section { display:grid; grid-template-columns:48px 210px minmax(0,1fr); gap:16px 24px; align-items:start; }
.social-editor-section h2 { margin-bottom:5px; }
.social-editor-section > div:nth-child(2) p { margin-bottom:0; font-size:13px; }
.social-editor-index { color:var(--brand); font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.social-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.social-form-grid label { display:grid; align-content:start; gap:6px; min-width:0; font-weight:750; }
.social-form-grid label > small { color:var(--muted); font-weight:400; }
.social-form-grid .field-wide { grid-column:1/-1; }
.social-form-grid select { width:100%; min-height:44px; border:1px solid #aeb9c2; border-radius:8px; padding:9px 34px 9px 11px; background:var(--paper); color:var(--ink); font:inherit; }
.social-form-grid input[type="file"] { padding:7px; background:var(--wash); }
.social-current-asset { grid-column:3; margin:16px 0 0; padding-top:14px; border-top:1px solid var(--line); }
.social-editor-actions { position:sticky; z-index:2; bottom:12px; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-top:10px; padding:12px; border:1px solid var(--line-strong); border-radius:10px; background:rgb(255 255 255 / 94%); box-shadow:0 8px 28px rgb(20 36 47 / 12%); backdrop-filter:blur(8px); }
.social-revisions ol { display:grid; margin:14px 0 0; padding:0; border-top:1px solid var(--line); list-style:none; }
.social-revisions li { display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }
.social-revisions li span,.social-revisions li small { color:var(--muted); }
.social-handoff { border-top:4px solid var(--brand); }
.social-handoff > label { display:block; margin:18px 0 6px; font-weight:800; }
.social-handoff textarea { width:100%; font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }
.social-handoff .actions { align-items:center; margin-top:12px; }
.social-handoff .actions form { margin:0; }
.social-production-table { margin-top:14px; border-top:1px solid var(--line); }
.social-production-table table { min-width:980px; }
.social-production-table td { vertical-align:top; }
.social-production-table td small { display:block; margin-top:3px; color:var(--muted); }
.social-select { width:42px; text-align:center; }
.social-select input { width:18px; min-height:18px; }
.social-readiness { color:var(--warn); font-size:12px; font-weight:800; }
.social-readiness.complete { color:var(--good); }
.social-production-actions { display:flex; align-items:center; gap:16px; margin-top:18px; }
.social-published-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.social-published-card { margin-top:0; }
.social-published-card h2 { margin:14px 0 7px; font-size:23px; }
.social-published-card > p { min-height:63px; color:var(--muted); }
.social-published-top { display:flex; justify-content:space-between; gap:16px; color:var(--muted); font-size:12px; }
.social-published-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:18px 0; border-block:1px solid var(--line); }
.social-published-card dl div { padding:11px; border-left:1px solid var(--line); }
.social-published-card dl div:first-child { border-left:0; }
.social-published-card dt { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.social-published-card dd { margin:3px 0 0; overflow-wrap:anywhere; font-size:13px; font-weight:750; }
.social-empty-wide { grid-column:1/-1; margin-top:0; padding:42px; text-align:center; }
.social-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; border-block:1px solid var(--line-strong); background:var(--paper); }
.social-metrics article { display:grid; gap:3px; padding:16px 18px; border-left:1px solid var(--line); }
.social-metrics article:first-child { border-left:0; }
.social-metrics span { color:var(--muted); font-size:12px; }
.social-metrics strong { font-size:28px; line-height:1; font-variant-numeric:tabular-nums; }
.social-analytics-lock { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:22px; align-items:center; padding:22px; border:1px dashed var(--line-strong); border-radius:12px; background:linear-gradient(110deg,var(--paper),#f8fafb); }
.social-lock-mark { display:grid; place-items:center; width:64px; height:64px; border:1px solid var(--line-strong); border-radius:50%; color:var(--muted); font:850 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.social-analytics-lock h2 { margin-bottom:5px; }
.social-analytics-lock p:last-child { max-width:83ch; margin-bottom:0; color:var(--muted); }
.social-channel-counts { display:flex; gap:0; margin:16px 0; border-block:1px solid var(--line); }
.social-channel-counts div { display:grid; min-width:120px; gap:2px; padding:12px 18px; border-left:1px solid var(--line); }
.social-channel-counts div:first-child { border-left:0; }
.social-channel-counts strong { font-size:23px; }
.social-channel-counts span { color:var(--muted); font-size:12px; }
.social-evidence-list { display:grid; }
.social-evidence-list article { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 0; border-top:1px solid var(--line); }
.social-evidence-list article > div { display:grid; gap:3px; }
.social-evidence-list small { color:var(--muted); }
.social-finding-list { margin-top:14px; border-top:1px solid var(--line); }
.social-finding-list article { display:grid; grid-template-columns:150px minmax(0,1fr); gap:20px; align-items:start; padding:16px 0; border-bottom:1px solid var(--line); }
.social-finding-list h3 { margin:0 0 4px; }
.social-finding-list p { margin-bottom:3px; }
.social-finding-list small { color:var(--muted); }
@media (max-width:900px) { .social-editor-section { grid-template-columns:42px minmax(0,1fr); }.social-editor-section > .social-form-grid,.social-current-asset { grid-column:1/-1; }.social-published-grid { grid-template-columns:1fr; } }
@media (max-width:900px) { .social-plan-tools { grid-template-columns:1fr; }.social-plan-template-actions { justify-content:flex-start; } }
@media (max-width:700px) { .social-runway { grid-template-columns:repeat(2,minmax(0,1fr)); }.social-runway-stage:nth-child(3) { border-left:0; }.social-runway-stage:nth-child(2)::after { display:none; }.social-plan-template-actions,.social-plan-template-actions form { width:100%; grid-template-columns:1fr; flex-direction:column; align-items:stretch; }.social-plan-template-actions input[type="file"] { max-width:none; }.social-plan-template-actions .button,.social-plan-template-actions button { width:100%; }.social-brief-row { grid-template-columns:54px minmax(0,1fr); }.social-brief-row > .button { grid-column:2; width:max-content; }.social-form-grid { grid-template-columns:1fr; }.social-form-grid .field-wide { grid-column:auto; }.social-editor-section { grid-template-columns:32px minmax(0,1fr); gap:12px; }.social-editor-actions { position:static; justify-content:stretch; }.social-editor-actions .button { width:100%; }.social-production-actions,.social-analytics-lock { align-items:flex-start; grid-template-columns:1fr; flex-direction:column; }.social-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.social-metrics article:nth-child(odd) { border-left:0; }.social-published-card dl { grid-template-columns:1fr; }.social-published-card dl div { border-top:1px solid var(--line); border-left:0; }.social-published-card dl div:first-child { border-top:0; }.social-finding-list article { grid-template-columns:1fr; gap:8px; }.social-handoff .actions,.social-handoff .actions form { width:100%; }.social-handoff .actions .button { width:100%; } }

/* Brand Library · accepted reference beside dated operational evidence */
.shared-workspace-list { display:grid; gap:12px; }
.brand-library-shell { scroll-padding-top:20px; }
.library-head { display:flex; align-items:end; justify-content:space-between; gap:32px; margin:24px 0 18px; padding-bottom:24px; border-bottom:1px solid var(--line-strong); }
.library-head h1 { margin-bottom:8px; }
.library-head p:last-child { max-width:76ch; margin-bottom:0; }
.library-jump { position:sticky; z-index:5; top:0; display:flex; gap:4px; overflow-x:auto; margin-bottom:20px; padding:8px; border:1px solid var(--line); border-radius:10px; background:rgb(255 255 255 / 96%); }
.library-jump a { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:7px 10px; border-radius:7px; color:var(--ink); font-size:13px; font-weight:750; text-decoration:none; white-space:nowrap; }
.library-jump a:hover,.library-jump a:focus-visible { background:var(--wash); color:var(--brand-dark); }
.library-jump span { min-width:22px; padding:2px 6px; border-radius:999px; background:var(--warning-soft); color:var(--warn); font-size:11px; text-align:center; }
.library-summary { display:grid; grid-template-columns:1.25fr repeat(5,1fr); margin-bottom:20px; border-block:1px solid var(--line-strong); background:var(--paper); }
.library-summary article { display:grid; gap:2px; min-width:0; padding:15px 16px; border-left:1px solid var(--line); }
.library-summary article:first-child { border-left:0; }
.library-summary span,.library-summary small { color:var(--muted); font-size:11px; }
.library-summary span { font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.library-summary strong { font-size:26px; line-height:1.05; font-variant-numeric:tabular-nums; }
.library-section { scroll-margin-top:70px; }
.library-attention { margin-top:0; scroll-margin-top:70px; border-top:4px solid var(--warn); }
.attention-list { display:grid; margin-top:14px; border-top:1px solid var(--line); }
.attention-row { display:grid; grid-template-columns:90px minmax(0,1fr) auto; align-items:center; gap:16px; min-height:62px; padding:11px 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.attention-row:hover { background:var(--wash); }
.attention-row > span:nth-child(2) { display:grid; gap:2px; }
.attention-row small { color:var(--muted); }
.attention-row time { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.attention-state { width:max-content; padding:3px 7px; border-radius:5px; background:var(--warning-soft); color:var(--warn); font-size:11px; font-weight:850; text-transform:uppercase; }
.attention-row.critical .attention-state { background:var(--critical-soft); color:var(--bad); }
.attention-row.review .attention-state { background:#eef1f3; color:var(--muted); }
.library-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; margin-top:18px; }
.library-form > label { display:grid; align-content:start; gap:6px; min-width:0; font-weight:750; }
.library-form > label:has(textarea),.profile-form > label:nth-of-type(2),.profile-form > label:nth-of-type(3),.profile-form > label:nth-of-type(4) { grid-column:1/-1; }
.library-form label small { color:var(--muted); font-weight:400; }
.library-form label .field-error { color:var(--bad); font-weight:650; }
.library-form .check { display:flex; align-items:center; gap:8px; min-height:44px; }
.library-form .check input { width:20px; min-height:20px; }
.library-form select { width:100%; }
.library-form .field-wide { grid-column:1/-1; }
.library-readonly { display:grid; grid-template-columns:1fr 1fr; gap:18px 26px; margin:18px 0 0; }
.library-readonly div:nth-child(2) { grid-column:1/-1; }
.library-readonly dt,.record-facts dt { color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.library-readonly dd { margin:4px 0 0; }
.library-records { display:grid; margin-top:16px; border-top:1px solid var(--line); }
.library-record { scroll-margin-top:70px; padding:18px 0; border-bottom:1px solid var(--line); }
.record-main { display:flex; align-items:start; justify-content:space-between; gap:22px; }
.record-main h3 { margin:4px 0 5px; font-size:19px; overflow-wrap:anywhere; }
.record-main p { margin-bottom:0; color:var(--muted); }
.record-kind { color:var(--brand-dark); font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.07em; text-transform:uppercase; }
.record-status { flex:0 0 auto; padding:4px 8px; border-radius:6px; background:#eef1f3; color:var(--muted); font-size:11px; font-weight:850; text-transform:uppercase; }
.record-status.active,.record-status.approved { background:var(--positive-soft); color:var(--good); }
.record-status.review,.record-status.draft { background:var(--warning-soft); color:var(--warn); }
.record-status.blocked { background:var(--critical-soft); color:var(--bad); }
.record-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:15px 0; border-block:1px solid var(--line); }
.record-facts div { padding:10px 12px; border-left:1px solid var(--line); }
.record-facts div:first-child { border-left:0; }
.record-facts dd { margin:3px 0 0; overflow-wrap:anywhere; font-size:13px; font-weight:750; }
.observation-strip { display:grid; grid-template-columns:1.15fr repeat(4,1fr); background:var(--wash); }
.observation-strip span { display:grid; gap:3px; padding:9px 11px; border-left:1px solid var(--line); color:var(--muted); font-size:11px; }
.observation-strip span:first-child { border-left:0; }
.observation-strip strong { color:var(--ink); font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
.record-empty { margin:12px 0 0; padding:12px 14px; border:1px dashed var(--line-strong); border-radius:8px; color:var(--muted); }
.record-provenance { margin:10px 0 0; color:var(--muted); font-size:11px; }
.record-editor,.add-record { margin-top:13px; }
.record-editor summary,.add-record summary { width:max-content; cursor:pointer; color:var(--brand-dark); font-size:12px; font-weight:800; }
.record-editor[open],.add-record[open] { padding:14px; border:1px solid var(--line); border-radius:9px; background:var(--wash); }
.record-editor[open] summary,.add-record[open] summary { margin-bottom:3px; }
.compact-records .library-record { padding-block:15px; }
.add-record { padding-top:15px; border-top:1px solid var(--line); }
.product-boundary { display:flex; align-items:center; justify-content:space-between; gap:28px; border-style:dashed; }
.product-boundary p:last-child { max-width:82ch; margin-bottom:0; color:var(--muted); }
@media (max-width:900px) { .library-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }.library-summary article:nth-child(4) { border-left:0; }.observation-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }.observation-strip span:nth-child(4) { border-left:0; } }
@media (max-width:700px) { .library-head,.product-boundary { align-items:stretch; flex-direction:column; }.library-head button,.product-boundary .button { width:100%; }.library-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.library-summary article:nth-child(odd) { border-left:0; }.library-summary article:last-child { border-top:1px solid var(--line); }.attention-row { grid-template-columns:78px minmax(0,1fr); gap:10px; }.attention-row time,.attention-row > span:last-child { grid-column:2; }.library-form,.library-readonly,.record-facts,.observation-strip { grid-template-columns:1fr; }.library-form > label:has(textarea),.profile-form > label:nth-of-type(2),.profile-form > label:nth-of-type(3),.profile-form > label:nth-of-type(4),.library-readonly div:nth-child(2) { grid-column:auto; }.record-facts div,.observation-strip span,.observation-strip span:nth-child(4) { border-top:1px solid var(--line); border-left:0; }.record-facts div:first-child,.observation-strip span:first-child { border-top:0; }.record-main { align-items:flex-start; flex-direction:column; gap:10px; }.record-status { order:-1; }.library-form .field-wide { grid-column:auto; }.library-form button { width:100%; } }
.mode-switch { margin-left:4px; color:white; font-size:13px; text-decoration:none; opacity:.82; }.mode-switch:hover { opacity:1; text-decoration:underline; }
.mode-picker .pagehead { margin-bottom:28px; }
.mode-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; list-style:none; padding:0; margin:0; }
.mode-tile > a,.mode-tile > div { display:grid; align-content:start; gap:8px; height:100%; padding:22px 20px; background:white; border:1px solid var(--line); border-radius:10px; text-decoration:none; color:var(--ink); }
.mode-tile > a:hover { border-color:var(--line-strong); box-shadow:0 2px 12px rgb(20 36 47 / 8%); }
.mode-tile strong { font-size:22px; letter-spacing:-.01em; color:var(--brand-dark); }
.mode-blurb { color:var(--muted); font-size:13.5px; line-height:1.45; }
.mode-status { margin-top:2px; color:var(--warn); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mode-tile.unavailable > div { background:var(--wash); }
.mode-tile.unavailable strong { color:var(--muted); }
.people-row td { white-space:normal; }
.people-off td { opacity:.6; }
.people-who { display:grid; gap:2px; }
.people-who small { color:var(--muted); }
.people-kind { display:inline-block; margin-left:6px; padding:3px 8px; border-radius:99px; background:#e7f4f5; color:var(--brand-dark); font-size:12px; font-weight:800; vertical-align:middle; }
.people-kind:first-child { margin-left:0; }
.people-kind.client { background:#efe9fb; color:#5b3fb0; }
.people-kind.team { background:#e7f4f5; color:var(--brand-dark); }
.people-kind.admin { background:var(--warning-soft); color:var(--warn); }
.people-kind.off { background:var(--critical-soft); color:var(--bad); }
.people-never { color:var(--warn); font-weight:700; }
.people-brands summary { min-height:0; margin-top:4px; color:var(--brand-dark); font-weight:700; }
.people-brands[open] summary { margin-bottom:4px; }
.people-brands p { margin:0; }
.people-note { max-width:78ch; margin:18px 0 0; padding-left:13px; border-left:1px solid var(--line-strong); color:var(--muted); font-size:13px; }
.people-note strong { color:var(--ink); }
.people-note-crit { border-color:var(--bad); }
.people-kind-help { margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:13px; }
.people-kind-help li { margin:3px 0; }
.people-kind-help b { color:var(--ink); }
.people-surfaces { display:grid; margin-top:18px; border-top:1px solid var(--line); }
.people-surface { padding:16px 0; border-bottom:1px solid var(--line); }
.people-surface:last-child { border-bottom:0; }
.people-surface-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.people-surface-head h3 { margin:0; font-size:15px; }
.people-holdings { margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:13.5px; }
.people-holdings li { margin:3px 0; }
.people-holdings b { color:var(--ink); }
.people-ungathered { max-width:78ch; margin:10px 0 0; color:var(--muted); font-size:13px; }
.people-kind-form { display:grid; grid-template-columns:minmax(0,220px) auto; align-items:end; gap:12px; margin-top:18px; }
.people-kind-form label { display:grid; gap:6px; font-weight:750; }
.people-kind-form select { min-height:44px; border:1px solid #aeb9c2; border-radius:8px; padding:9px 34px 9px 11px; background:var(--paper); color:var(--ink); font:inherit; }
.people-account-actions { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.people-warning { border-color:color-mix(in srgb,var(--warn) 45%,var(--line)); }
.people-warning h2 { font-size:16px; }
.people-warning p { max-width:80ch; margin-bottom:0; }
.pagehead > .button,.pagehead > .actions { flex:0 0 auto; white-space:nowrap; }
.people-row .col-action { white-space:nowrap; text-align:right; }
.people-door-state { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.people-door-state form { margin:0; }
.brand-access-row { padding:18px 0; border-bottom:1px solid var(--line); }
.brand-access-row:last-child { border-bottom:0; }
.brand-access-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.brand-access-head h3 { margin:0; font-size:15px; }
.brand-access-head .actions { flex:0 0 auto; }
.brand-access-row form { margin:0; }
.brand-access-bundles { display:flex; flex-wrap:wrap; gap:10px 18px; margin:12px 0 0; padding:0; border:0; }
.brand-access-bundles legend { padding:0; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.brand-access-bundles label { display:flex; align-items:start; gap:8px; flex:1 1 240px; font-size:13px; }
.brand-access-bundles input { width:20px; min-height:20px; margin-top:1px; }
.brand-access-bundles small { display:block; color:var(--muted); }
.brand-access-roles { display:flex; align-items:center; gap:10px; margin-top:10px; }
.brand-access-empty { margin:10px 0 0; padding:10px 13px; border-radius:8px; background:var(--warning-soft); color:var(--warn); font-size:13px; font-weight:650; }

/* Tools panel on a person's page — one row per standalone tool. The address is shown beside
   the name because two tools can have near-identical names ("Product Machine", "Product
   Machine V2") and the address is the thing the guard actually matches on. */
.people-toolgroup { margin-top: 1.1rem; }
.people-toolgroup:first-of-type { margin-top: 0.4rem; }
.people-toolgroup h3 {
  font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--muted, #5b6675); margin: 0 0 0.4rem;
}
.people-tools { list-style: none; margin: 0; padding: 0; }
.people-tool { border-top: 1px solid var(--line, #e0e5ee); }
.people-tool label,
.people-tool .people-tool-static {
  display: flex; align-items: baseline; gap: 0.6rem;
  padding: 0.55rem 0.2rem; cursor: pointer;
}
.people-tool .people-tool-static { cursor: default; }
.people-tool-name { font-weight: 600; }
.people-tool-address { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 0.75rem; color: var(--muted, #697586); }
/* Listed but never tickable: outside our reverse proxy, so a tick would refuse nothing. */
.people-tool.beyond { opacity: 0.6; }
.people-tool-why { font-size: 0.75rem; color: var(--warn, #a9701a); padding: 0 0.2rem 0.5rem; display: block; }

.spinner { display:inline-block; width:14px; height:14px; margin-right:4px; vertical-align:-2px; border:2px solid var(--line-strong); border-top-color:var(--brand); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner { animation:none; } }

/* DataForSEO history keeps dated evidence readable inside its own scroll region. */
.dfs-history { min-width: 1120px; }
.dfs-keyword { padding: 12px 0; border-bottom: 1px solid var(--line); }
.dfs-keyword summary { cursor: pointer; overflow-wrap: anywhere; }

/* Narrow screens keep controls and summaries inside the page; evidence tables scroll. */
@media (max-width:760px) {
  .brand-facts { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
  .brand-facts div { min-width:0; }
  .brand-facts dd { overflow-wrap:anywhere; }
  .panel-head { flex-direction:column; align-items:flex-start; gap:12px; }
  .panel-head > div { min-width:0; }
  .button.compact,button.compact { min-height:44px; white-space:normal; }
  .section-task-button,.task-destination-state .text-button,button.sort-button { min-height:44px; }
  .row-task-button { width:44px; min-width:44px; min-height:44px; }
  .ledger-keywords th.keyword-column,.ledger-keywords td.keyword-column { position:static; box-shadow:none; }

  .social-channel-counts { flex-wrap:wrap; }
  .social-channel-counts div { flex:1 1 120px; }

  .people-surface-head,.people-door-state { flex-wrap:wrap; }
  .brand-access-head .actions { flex:1 1 100%; min-width:0; }
  .brand-access-head .actions form,.brand-access-head .actions .button { width:100%; }
  .people-kind-form { grid-template-columns:minmax(0,1fr); }
  .people-tool label { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:4px 10px; }
  .people-tool label input[type="checkbox"] { grid-row:1/3; width:20px; min-height:20px; margin:2px 0 0; }
  .people-tool label .people-tool-address { grid-column:2; }
  .people-tool .people-tool-static { display:grid; gap:4px; }
  .people-tool-name,.people-tool-address { min-width:0; overflow-wrap:anywhere; }

  .serp-group { min-width:0; }
  .serp-group > summary { flex-direction:column; align-items:flex-start; }
  .serp-group .ledger-fixed { min-width:640px; }
}

/* Short landscape screens need room for headings and touch controls too. */
@media (orientation:landscape) and (max-height:500px) {
  .table-scroll { max-height:70dvh; }
}
@media (orientation:landscape) and (min-width:600px) and (max-width:760px) {
  .ledger-keywords th.keyword-column,.ledger-keywords td.keyword-column { position:sticky; }
}
@media (orientation:portrait) and (max-width:600px) {
  .table-landscape-hint { display:block; }
}
@media (pointer:coarse) {
  .table-scroll button.compact,.table-scroll .button.compact,
  .section-task-button,button.sort-button { min-height:44px; }
  .row-task-button { width:44px; min-width:44px; min-height:44px; }
}

/* Read the section first; keep its task action beside the heading or after its content. */
.section-task-toolbar { margin:12px 0 0; padding:0; border:0; }
.panel-head > .section-task-toolbar { flex:0 0 auto; margin:0; }
.metrics-source { flex-wrap:wrap; }
.reading-note { margin:8px 0; }
.rank-band-key { display:flex; flex-wrap:wrap; gap:8px 20px; margin:12px 0 16px; padding:0; list-style:none; color:var(--muted); font-size:14px; }
.rank-band-key strong { margin-right:4px; color:var(--ink); }
.page-read .rank-context-line { padding-top:0; border:0; }
.people-toolgroup > summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:14px; font-weight:700; }
.people-toolgroup > summary .muted { margin-left:8px; font-weight:400; }
@media (max-width:760px) {
  .topbar > span { display:none; }
  .topbar .mode-switch { margin-left:auto; }
  .topbar .logout { margin-left:0; }
  .topbar .logout button { white-space:nowrap; }
  .pagehead { gap:12px; margin-bottom:16px; }
  .pagehead p:last-child { margin-bottom:0; }
  .metrics-compact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .metrics-compact > .card { min-width:0; padding:12px; font-size:14px; }
  .metrics-compact .metric { font-size:24px; line-height:1.2; }
  .metrics-compact .card > .muted:last-child { overflow-wrap:anywhere; }
  .metrics-compact > .section-task-toolbar { margin:0; }
  .panel-head:has(> .section-task-toolbar) { flex-direction:row; flex-wrap:wrap; gap:8px 12px; }
  .panel-head:has(> .section-task-toolbar) > div:not(.section-task-toolbar) { flex:1 1 160px; }
  .panel-head > .section-task-toolbar { order:1; }
  .panel-head:has(> .section-task-toolbar) > .status { order:2; }
  .panel-head h2 { margin-bottom:8px; }
  .rank-band-key { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
}
@media (max-width:359px) {
  .metrics-compact { grid-template-columns:minmax(0,1fr); }
  .metrics-compact > .card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 12px; }
  .metrics-compact .metric { margin:0; grid-column:2; grid-row:1/3; }
  .metrics-compact .card > :last-child:not(.metric) { grid-column:1; }
}
@media (max-width:760px), (orientation:landscape) and (max-height:500px) {
  .task-page-action { position:static; min-height:44px; border-radius:8px; box-shadow:none; }
}
.guidelines-head .actions { align-items:center; }
.guidelines-replace { position:relative; }
.guidelines-replace > summary { list-style:none; }
.guidelines-replace > summary::-webkit-details-marker { display:none; }
.guidelines-replace > summary::after { content:"▾"; margin-left:8px; font-size:12px; }
.guidelines-replace[open] > summary { border-color:var(--brand); }
.guidelines-replace form { position:absolute; top:calc(100% + 8px); right:0; z-index:20; display:grid; gap:10px; width:340px; padding:16px; border:1px solid var(--line-strong); border-radius:10px; background:var(--paper); box-shadow:0 12px 32px rgb(23 74 79 / 16%); white-space:normal; }
.guidelines-replace label { font-size:13px; font-weight:700; }
.guidelines-replace input[type="file"] { width:100%; padding:7px; border:1px solid var(--line); border-radius:8px; background:var(--wash); font-size:13px; }
.guidelines-replace input[type="file"]::file-selector-button { margin-right:10px; padding:6px 10px; border:1px solid var(--line); border-radius:6px; background:white; color:var(--brand-dark); font:inherit; font-weight:700; cursor:pointer; }
.guidelines-replace p { margin:0; font-size:13px; }
.guidelines-frame { display:block; width:100%; height:calc(100vh - 120px); min-height:560px; border:1px solid var(--line-strong); border-radius:8px; background:#fff; }
@media (max-width:700px) { .guidelines-head .actions > * { flex:1 1 100%; }.guidelines-replace > summary { width:100%; }.guidelines-replace form { position:static; width:auto; margin-top:8px; box-shadow:none; }.guidelines-frame { height:calc(100vh - 80px); } }
