:root { color-scheme: light; --ink:#11130f; --muted:#777c73; --line:#dfe2d9; --paper:#f6f7f2; --panel:#fff; --acid:#c9ff3f; --mono:"DM Mono",monospace; --sans:Inter,"Noto Sans SC",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:14px; }
button,input,select { font:inherit; }
a { color:inherit; }
button { cursor:pointer; }
.audit-workspace { max-width:1800px; margin:auto; padding:30px; }
.page-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; padding-bottom:25px; }
.eyebrow { margin:0 0 8px; color:#687063; font:11px var(--mono); letter-spacing:.1em; }
h1,h2,p { margin-top:0; }
h1 { margin-bottom:8px; font-size:31px; letter-spacing:-.04em; }
.page-heading p:not(.eyebrow) { margin-bottom:0; color:#646b61; line-height:1.6; }
.snapshot-note { border-left:3px solid var(--acid); padding-left:15px; white-space:pre-line; color:#667064; font:11px/1.8 var(--mono); min-width:260px; }
.summary-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:#eff1ea; border:1px solid var(--line); margin-bottom:15px; }
.summary-strip>div { min-height:113px; padding:18px 20px; border-right:1px solid var(--line); display:flex; flex-direction:column; }
.summary-strip>div:last-child { border-right:0; }
.summary-strip span { color:#666c63; font-size:12px; }
.summary-strip strong { margin:7px 0 2px; font:700 26px var(--mono); letter-spacing:-.05em; }
.summary-strip small { color:#737970; font-size:11px; }
.audit-panel { background:var(--panel); border:1px solid var(--line); padding:22px; margin-bottom:15px; }
.panel-heading { display:flex; justify-content:space-between; align-items:end; gap:15px; margin-bottom:20px; }
.panel-heading h2 { margin:0; font-size:19px; letter-spacing:-.02em; }
.panel-heading>span { color:#737970; font-size:11px; line-height:1.5; text-align:right; }
.coverage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.coverage-card { padding:18px; background:#fafbf8; min-width:0; }
.coverage-top,.coverage-foot { display:flex; justify-content:space-between; gap:8px; align-items:baseline; }
.coverage-top span { font-weight:600; }
.coverage-top strong { font:700 18px var(--mono); }
.coverage-top em { font:400 12px var(--mono); color:#8a9087; }
.meter { height:5px; margin:16px 0 10px; background:#e8ebe2; overflow:hidden; }
.meter span { height:100%; display:block; background:#91c718; }
.coverage-foot { font:11px var(--mono); color:#4d554a; }
.coverage-foot small { font:11px var(--sans); color:#848a80; text-align:right; }
.publication-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.publication-card { border:1px solid var(--line); background:#fafbf8; padding:16px; min-width:0; }
.publication-card span,.publication-card small { display:block; }
.publication-card span { font-size:12px; font-weight:600; }
.publication-card strong { display:block; margin:8px 0 4px; font:700 24px var(--mono); }
.publication-card small { color:#697267; line-height:1.5; }
.lifecycle-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.lifecycle-card { border:1px solid var(--line); background:#fafbf8; padding:14px; text-align:left; min-height:86px; }
.lifecycle-card:hover,.lifecycle-card:focus-visible { border-color:#91c718; outline:0; }
.lifecycle-card strong { display:block; font:700 22px var(--mono); margin-top:7px; }
.lifecycle-card small { display:block; color:#737970; font-size:11px; margin-top:4px; }
.lifecycle-card.unknown { background:#fff8f2; border-color:#ead9cd; }
.caliber-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; border-top:1px solid var(--line); margin-top:17px; padding-top:17px; }
.caliber-grid div { min-width:0; }
.caliber-grid strong { display:block; font-size:12px; margin-bottom:5px; }
.caliber-grid span { color:#747b71; font-size:11px; line-height:1.55; }
.two-column { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:15px; }
.two-column .audit-panel { min-width:0; }
.table-scroll { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th { background:#f0f2ec; color:#687067; text-align:left; font:11px var(--mono); white-space:nowrap; }
th,td { padding:12px 11px; border-bottom:1px solid #eceee8; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#f8faf4; }
.category-table th:not(:first-child),.category-table td:not(:first-child) { text-align:right; }
.category-table button { border:0; padding:0; background:transparent; font-weight:600; color:#252a20; }
.category-table button:hover { text-decoration:underline; }
.integrity-list { border-top:1px solid var(--line); }
.integrity-row { display:grid; grid-template-columns:minmax(110px,1fr) 55px 1.6fr; gap:12px; padding:13px 0; border-bottom:1px solid #eceee8; align-items:baseline; }
.integrity-row>span { font-weight:600; }
.integrity-row strong { font:700 14px var(--mono); color:#547b10; }
.integrity-row strong.warning { color:#bf642d; }
.integrity-row small { color:#838a80; line-height:1.4; }
.method-note { color:#7d847a; font-size:11px; line-height:1.6; margin:17px 0 0; }
.audit-filters { display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1.6fr; gap:10px; margin-bottom:16px; }
.audit-filters label { display:flex; flex-direction:column; gap:6px; color:#747b71; font-size:11px; }
.audit-filters select,.audit-filters input { width:100%; min-height:41px; border:1px solid #d8ddd1; border-radius:2px; background:#fafbf8; padding:8px 11px; color:#252a20; outline:none; }
.audit-filters select:focus,.audit-filters input:focus { border-color:#91c718; box-shadow:0 0 0 2px #c9ff3f55; }
.backlog-table { min-width:1000px; }
.backlog-table th:first-child { width:21%; }
.backlog-table th:nth-child(2) { width:13%; }
.backlog-table th:nth-child(3) { width:20%; }
.backlog-table th:nth-child(4) { width:27%; }
.backlog-table td { vertical-align:top; }
.backlog-table td strong { display:block; font-size:13px; line-height:1.5; }
.backlog-table td small { display:block; color:#8a9087; margin-top:3px; line-height:1.4; }
.backlog-table a { color:#385dca; text-decoration:none; }
.backlog-table a:hover { text-decoration:underline; }
.gap-cell span { display:inline-block; padding:4px 7px; margin:0 4px 4px 0; background:#f0f2ec; color:#545c50; font-size:11px; white-space:nowrap; }
.empty-row { text-align:center; color:#777; padding:30px; }
.table-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:17px; color:#687067; font:11px var(--mono); }
.table-footer div { display:flex; gap:7px; }
.table-footer button { border:1px solid var(--line); background:#f9faf6; padding:7px 12px; }
.table-footer button:disabled { opacity:.4; cursor:not-allowed; }
.load-error { border:1px solid #e9aa90; background:#fff4ef; color:#883f28; padding:12px 15px; }
@media(max-width:1100px) { .two-column { grid-template-columns:1fr; }.audit-filters { grid-template-columns:repeat(2,1fr); }.caliber-grid,.publication-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .audit-workspace { padding:18px 12px; }.page-heading { display:block; }.snapshot-note { margin-top:18px; }.summary-strip { grid-template-columns:repeat(2,1fr); }.summary-strip>div:nth-child(2) { border-right:0; }.summary-strip>div:nth-child(-n+2) { border-bottom:1px solid var(--line); }.summary-strip>div { padding:14px; min-height:100px; }.summary-strip strong { font-size:21px; }.coverage-grid { grid-template-columns:1fr; }.lifecycle-grid,.caliber-grid,.publication-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.audit-panel { padding:16px; }.panel-heading { align-items:start; }.panel-heading>span { max-width:45%; }.audit-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.integrity-row { grid-template-columns:1fr 45px; }.integrity-row small { grid-column:1/-1; } }
