/* APD Checker design system — tokens first, then components, then screens.
   No external fonts or assets. Colors chosen for WCAG 2.2 AA contrast on their surfaces. */
:root{
  --bg:#f4f6f8; --surface:#ffffff; --surface-2:#f8fafc; --line:#dde3ea; --line-strong:#c2ccd6;
  --ink:#172231; --ink-2:#2f3b4a; --muted:#5b6774; --muted-2:#7a8591;
  --navy:#0f2740; --navy-2:#173a5c; --accent:#1b5e8f; --accent-ink:#164d75; --accent-bg:#e9f1f8; --teal:#0f766e; --teal-bg:#e6f4f2;
  --red:#b42318; --red-bg:#fdecea; --red-line:#f3b4ad; --amber:#8a5a00; --amber-bg:#fff4d6; --amber-line:#f1d58a;
  --green:#1a6b3c; --green-bg:#e5f5ec; --green-line:#a9dcbd; --gray:#5b6774; --gray-bg:#eef1f4; --blue:#1d4ed8; --blue-bg:#e8eefc; --purple:#6b3fa0; --purple-bg:#f1eafb;
  --radius:8px; --radius-sm:6px; --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
  --focus:0 0 0 3px rgba(27,94,143,.35);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs-xs:.75rem; --fs-sm:.8125rem; --fs-base:.9375rem; --fs-md:1.0625rem; --fs-lg:1.25rem; --fs-xl:1.5rem;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-base);line-height:1.5}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent-ink)}
h1,h2,h3,h4{color:var(--ink);line-height:1.25;margin:0 0 var(--s3);font-weight:650}
h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}h4{font-size:var(--fs-base)}
p{margin:0 0 var(--s3)}code,pre,.mono{font-family:var(--mono);font-size:.875em}
pre{white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s3)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--focus)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--s3);top:-48px;background:var(--surface);color:var(--accent);padding:var(--s2) var(--s3);border-radius:var(--radius-sm);z-index:100;border:1px solid var(--line)}.skip-link:focus{top:var(--s3)}
.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.mt{margin-top:var(--s4)}.mb0{margin-bottom:0}.wide{width:100%}.nowrap{white-space:nowrap}
.row{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.row-between{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap}
.icon{width:1em;height:1em;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- shell ---------- */
.topbar{background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-inner{max-width:1360px;margin:0 auto;padding:0 var(--s4);height:52px;display:flex;align-items:center;gap:var(--s4)}
.brand{color:#fff;text-decoration:none;font-weight:700;font-size:var(--fs-md);display:flex;align-items:center;gap:var(--s2);margin-right:var(--s2)}
.brand .pilot{font-size:var(--fs-xs);font-weight:600;background:rgba(255,255,255,.14);padding:1px 7px;border-radius:999px;letter-spacing:.02em}
.topnav{display:flex;gap:var(--s1);flex:1}
.topnav a{color:rgba(255,255,255,.86);text-decoration:none;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:500}
.topnav a:hover,.topnav a[aria-current=page]{background:rgba(255,255,255,.12);color:#fff}
.account{position:relative;margin-left:auto}
.account>summary{list-style:none;cursor:pointer;color:#fff;display:flex;align-items:center;gap:var(--s2);padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--fs-sm)}
.account>summary::-webkit-details-marker{display:none}.account>summary:hover,.account[open]>summary{background:rgba(255,255,255,.12)}
.avatar{width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700}
.account-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(16,24,40,.14);padding:var(--s2);z-index:50}
.account-menu .who{padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);margin-bottom:var(--s2)}.account-menu .who strong{display:block}
.account-menu a,.account-menu button{display:block;width:100%;text-align:left;padding:8px 12px;border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}
.account-menu a:hover,.account-menu button:hover{background:var(--surface-2)}
.notice{background:#fffaf0;border-bottom:1px solid var(--amber-line);color:#5c4400;font-size:var(--fs-sm)}
.notice-inner{max-width:1360px;margin:0 auto;padding:6px var(--s4);display:flex;gap:var(--s2);align-items:flex-start}
.notice .icon{margin-top:3px;color:var(--amber)}.notice summary{cursor:pointer;color:var(--accent-ink);display:inline;margin-left:var(--s1)}
.notice details{display:inline}.notice details[open] summary{display:block;margin:0 0 2px}
.container{max-width:1360px;margin:0 auto;padding:var(--s4) var(--s4) var(--s6)}
.footer{text-align:center;color:var(--muted-2);font-size:var(--fs-xs);padding:var(--s5) var(--s4)}
.breadcrumb{font-size:var(--fs-sm);color:var(--muted);margin:0 0 var(--s2)}.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s1)}
.breadcrumb li+li::before{content:"›";margin:0 var(--s1);color:var(--muted-2)}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent);text-decoration:underline}
.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s4)}
.page-header h1{margin-bottom:2px}.page-header .subtitle{color:var(--muted);font-size:var(--fs-sm);margin:0}.page-header .actions{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}

/* ---------- surfaces ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4) var(--s5);margin-bottom:var(--s4);box-shadow:var(--shadow)}
.card.narrow{max-width:460px;margin:var(--s6) auto}.card>h2:first-child,.card>h3:first-child{margin-top:0}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s3)}.card-head h2,.card-head h3{margin:0}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.grid2>*,.grid3>*{min-width:0}
@media(max-width:900px){.grid2,.grid3{grid-template-columns:1fr}}
.empty{text-align:center;color:var(--muted);padding:var(--s5) var(--s4);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-2)}
.empty .icon{width:28px;height:28px;color:var(--muted-2);margin-bottom:var(--s2)}.empty strong{display:block;color:var(--ink-2);margin-bottom:2px}
.kv{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);word-break:break-word;gap:var(--s1) var(--s4);font-size:var(--fs-sm);margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}
.divider{border:0;border-top:1px solid var(--line);margin:var(--s4) 0}

/* ---------- forms ---------- */
label{display:block;margin:0 0 var(--s3);font-weight:600;font-size:var(--fs-sm);color:var(--ink-2)}
label>input,label>select,label>textarea,.input,.select,.textarea{display:block;width:100%;min-width:0;max-width:100%;margin-top:4px;font:inherit;font-size:var(--fs-base);font-weight:400;color:var(--ink);padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface)}
label>input:focus-visible,label>select:focus-visible,label>textarea:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--accent);outline:none;box-shadow:var(--focus)}
label.check,label.radio{font-weight:400;display:flex;align-items:flex-start;gap:var(--s2);margin-bottom:var(--s2)}label.check input,label.radio input{width:auto;margin:4px 0 0}
textarea{min-height:96px;resize:vertical;display:block;width:100%;max-width:100%;font:inherit;font-size:var(--fs-base);color:var(--ink);padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface)}textarea:focus-visible{border-color:var(--accent);outline:none;box-shadow:var(--focus)}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3) var(--s4);margin:0 0 var(--s4)}legend{font-weight:600;font-size:var(--fs-sm);color:var(--ink-2);padding:0 var(--s1)}
.help{color:var(--muted);font-size:var(--fs-xs);font-weight:400;margin-top:4px}
button,.button{font:inherit;font-size:var(--fs-sm);font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;line-height:1.2;min-height:36px}
button:hover,.button:hover{background:var(--surface-2);color:var(--ink)}
button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover,.button.primary:hover{background:var(--accent-ink);color:#fff}
button.danger{color:var(--red);border-color:var(--red-line)}button.danger:hover{background:var(--red-bg)}
button.ghost,.button.ghost{border-color:transparent;background:transparent;color:var(--accent)}button.ghost:hover{background:var(--accent-bg)}
button.small,.button.small{padding:4px 10px;min-height:28px;font-size:var(--fs-xs)}
button.linklike{background:none;border:0;padding:0;min-height:0;color:inherit;font-weight:inherit;text-decoration:underline;cursor:pointer}
button[disabled],.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}
form.inline{display:inline}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;line-height:1.5;white-space:nowrap;border:1px solid transparent;vertical-align:middle}
.badge .icon{width:.9em;height:.9em}
.b-red{background:var(--red-bg);color:var(--red);border-color:var(--red-line)}.b-amber{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-line)}.b-green{background:var(--green-bg);color:var(--green);border-color:var(--green-line)}
.b-gray{background:var(--gray-bg);color:var(--gray);border-color:#dbe1e8}.b-blue{background:var(--blue-bg);color:var(--blue);border-color:#c7d4f8}.b-teal{background:var(--teal-bg);color:var(--teal);border-color:#b7dfda}.b-purple{background:var(--purple-bg);color:var(--purple);border-color:#dccdf0}.b-navy{background:#e7edf4;color:var(--navy-2);border-color:#cfdae6}
.b-outline{background:transparent;border-color:var(--line-strong);color:var(--muted)}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;background:var(--gray-bg);color:var(--gray)}
.pill-ok{background:var(--green-bg);color:var(--green)}.pill-warn{background:var(--amber-bg);color:var(--amber)}.pill-err{background:var(--red-bg);color:var(--red)}.pill-muted{background:var(--gray-bg);color:var(--gray)}.pill-info{background:var(--blue-bg);color:var(--blue)}
.sev{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--ink-2)}.sev::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted-2)}
.sev.high::before{background:var(--red)}.sev.medium::before{background:#d08700}.sev.low::before{background:#7d8a99}.sev.info::before{background:#b8c1cc}

/* ---------- alerts / flashes ---------- */
.alert,.flash{display:flex;gap:var(--s2);align-items:flex-start;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid;font-size:var(--fs-sm);margin-bottom:var(--s3)}
.alert .icon,.flash .icon{margin-top:2px}
.flash-info,.alert-info{background:var(--blue-bg);border-color:#c7d4f8;color:#1e3a8a}.flash-success,.alert-success{background:var(--green-bg);border-color:var(--green-line);color:var(--green)}
.flash-warning,.alert-warning{background:var(--amber-bg);border-color:var(--amber-line);color:var(--amber)}.flash-error,.alert-error{background:var(--red-bg);border-color:var(--red-line);color:var(--red)}

/* ---------- tables, tabs ---------- */
.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th,.table td{text-align:left;padding:10px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.table th{color:var(--muted);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2)}.table tbody tr:hover{background:#fbfcfd}
.table-wrap{overflow-x:auto;position:relative}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:var(--s4);overflow-x:auto}
.tabs a{padding:10px 14px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent;font-size:var(--fs-sm);font-weight:600;white-space:nowrap;margin-bottom:-1px}
.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page],.tabs a.active{color:var(--accent-ink);border-color:var(--accent)}
.progress{height:8px;background:var(--gray-bg);border-radius:4px;overflow:hidden;display:flex}.progress>div{height:100%;background:var(--accent)}
.progress .seg-accepted{background:var(--green)}.progress .seg-rejected{background:#9aa5b1}.progress .seg-deferred{background:#d08700}
details.disclosure>summary{cursor:pointer;color:var(--accent-ink);font-weight:600;font-size:var(--fs-sm);list-style:none;display:inline-flex;align-items:center;gap:4px}
details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary .chev{transition:transform .15s}details.disclosure[open]>summary .chev{transform:rotate(180deg)}
details.disclosure>.disclosure-body{margin-top:var(--s3)}

/* ---------- review overview ---------- */
.mode-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;border:1px solid}
.mode-mock{background:var(--purple-bg);color:var(--purple);border-color:#dccdf0}.mode-ai{background:var(--teal-bg);color:var(--teal);border-color:#b7dfda}.mode-det{background:var(--gray-bg);color:var(--gray);border-color:#dbe1e8}
.overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4);align-items:stretch;margin-bottom:var(--s4)}.overview>*{min-width:0}
@media(max-width:1000px){.overview{grid-template-columns:1fr}}
.tiles{display:flex;gap:var(--s2);flex-wrap:wrap}
.tile{display:flex;flex-direction:column;gap:2px;min-width:104px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.tile:hover{border-color:var(--line-strong)}.tile[aria-current=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.tile .n{font-size:var(--fs-xl);font-weight:700;line-height:1.1}.tile .l{font-size:var(--fs-xs);color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:6px}
.tile.high .n{color:var(--red)}.tile.medium .n{color:#9a6700}.tile.low .n{color:var(--ink-2)}.tile.info .n{color:var(--muted)}
.progress-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;min-width:min(280px,100%);box-shadow:var(--shadow);font-size:var(--fs-sm)}
.progress-card .legend{display:flex;gap:var(--s3);flex-wrap:wrap;color:var(--muted);font-size:var(--fs-xs);margin-top:6px}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}

/* ---------- findings workspace ---------- */
.workspace{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:var(--s4);align-items:start}.workspace>*{min-width:0}
.findings-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:sticky;top:var(--s3);max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}
.panel-head{padding:var(--s3) var(--s3) var(--s2);border-bottom:1px solid var(--line);background:var(--surface)}
.search{position:relative}.search .icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted-2)}.search input{padding-left:30px;margin:0}
.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:var(--s2)}.filters select{margin:0;font-size:var(--fs-xs);padding:5px 6px;min-width:0;width:100%}
.filters .full{grid-column:1/-1}
.results-bar{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-xs);color:var(--muted);padding:6px var(--s3);border-bottom:1px solid var(--line);background:var(--surface-2)}
.flist{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}
.flist li{border-bottom:1px solid var(--line);border-left:3px solid transparent}.flist li.high{border-left-color:var(--red)}.flist li.medium{border-left-color:#d08700}.flist li.low{border-left-color:#aeb8c4}.flist li.info{border-left-color:#dfe4ea}
.flist a{display:block;padding:10px 12px 10px 11px;text-decoration:none;color:inherit}.flist a:hover{background:#fbfcfd}
.flist li.active{background:var(--accent-bg)}.flist li.active a{box-shadow:inset 3px 0 0 var(--accent)}
.flist a:focus-visible{outline-offset:-2px}
.f-title{font-weight:600;font-size:var(--fs-sm);line-height:1.35;display:block;margin-bottom:4px}
.f-meta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:var(--fs-xs);color:var(--muted)}
.f-meta .decided{color:var(--green);font-weight:600}.f-meta .rejected{color:var(--gray);font-weight:600}.f-meta .deferred{color:var(--amber);font-weight:600}
.mobile-only{display:none}
@media(max-width:1000px){.workspace{grid-template-columns:1fr}.findings-panel{position:static;max-height:46vh}.mobile-only{display:inline-flex}}

/* ---------- finding detail ---------- */
.detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--s5)}
.detail-head{margin-bottom:var(--s4)}.detail-head .badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--s2)}.detail-head h2{font-size:var(--fs-lg);margin-bottom:4px}
.detail h3{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:var(--s5) 0 var(--s2);font-weight:700}.detail h3:first-of-type{margin-top:0}
.issue{font-size:var(--fs-base);white-space:pre-wrap}
.next-action{display:flex;gap:var(--s3);align-items:flex-start;background:var(--accent-bg);border:1px solid #cfe0ee;border-radius:var(--radius);padding:var(--s3) var(--s4);margin:var(--s4) 0}
.next-action .icon{color:var(--accent-ink);width:20px;height:20px;margin-top:2px}.next-action strong{display:block;color:var(--accent-ink);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin-top:var(--s4)}.compare>*{min-width:0}@media(max-width:1200px){.compare{grid-template-columns:1fr}}
.panel{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.panel>header{padding:8px 12px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:8px;justify-content:space-between}
.panel.src>header{background:#eef3f8;color:var(--navy-2)}.panel.apd>header{background:var(--teal-bg);color:var(--teal)}.panel.ai>header{background:var(--purple-bg);color:var(--purple)}
.panel>.body{padding:var(--s3) var(--s4)}
.quote{border-left:3px solid var(--line-strong);padding:6px 12px;margin:6px 0;background:var(--surface-2);font-size:var(--fs-sm);white-space:pre-wrap;border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.panel.src .quote{border-left-color:var(--navy-2)}.panel.apd .quote{border-left-color:var(--teal)}.panel.ai .quote{border-left-color:var(--purple)}
.ev{padding:8px 0;border-bottom:1px dashed var(--line)}.ev:last-child{border-bottom:0}.ev .where{font-size:var(--fs-xs);color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ev .where .loc{flex:1 1 220px;min-width:0}.quote-inline{font-family:var(--mono);font-size:var(--fs-sm);background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:1px 6px;color:var(--ink)}
.calc{font-family:var(--mono);font-size:var(--fs-xs);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s3)}.calc .table{font-family:var(--mono);font-size:var(--fs-xs)}.calc .table th{background:transparent}
.questions{margin:0;padding-left:1.2rem}.questions li{margin-bottom:4px}
.seg{display:flex;flex-wrap:wrap;gap:4px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:4px;background:var(--surface-2);width:fit-content;max-width:100%}
.seg input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.seg label{margin:0;font-weight:600;font-size:var(--fs-sm);padding:6px 12px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);border:1px solid transparent}
.seg label:hover{background:var(--surface)}.seg input:focus-visible+label{outline:2px solid var(--accent);outline-offset:1px}
.seg input:checked+label{background:var(--surface);border-color:var(--line-strong);box-shadow:var(--shadow);color:var(--ink)}
.seg input:checked+label.ok{color:var(--green)}.seg input:checked+label.no{color:var(--red)}.seg input:checked+label.later{color:var(--amber)}
.seg input:disabled+label{opacity:.45;cursor:not-allowed}
.save-row{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s3)}
.save-state{font-size:var(--fs-xs);color:var(--muted);display:inline-flex;align-items:center;gap:4px}.save-state.saved{color:var(--green)}.save-state.dirty{color:var(--amber)}.save-state.error{color:var(--red)}
.comment{display:flex;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.comment:last-of-type{border-bottom:0}.comment .avatar{background:var(--navy-2)}.comment .meta{font-size:var(--fs-xs);color:var(--muted);margin-bottom:2px}.comment .text{white-space:pre-wrap;font-size:var(--fs-sm)}
.export-list{display:grid;gap:var(--s2)}.export-item{display:flex;justify-content:space-between;gap:var(--s3);align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap}.export-item .desc{font-size:var(--fs-xs);color:var(--muted)}
.jobrow{padding:8px 0}

/* ---------- document / misc ---------- */
.blocks td.txt{white-space:pre-wrap;max-width:760px}.corrected{background:#fffaf0}.orig{color:var(--muted);text-decoration:line-through;font-size:var(--fs-xs)}
.sheet{overflow:auto;max-height:420px;border:1px solid var(--line);border-radius:var(--radius-sm);position:relative}.sheet table{border-collapse:collapse;font-size:var(--fs-xs)}.sheet td,.sheet th{border:1px solid #e6ebf0;padding:3px 6px;white-space:nowrap}.sheet td.num{text-align:right;font-family:var(--mono)}.sheet td.formula{background:#f1f6fc}.sheet td.corr{background:var(--amber-bg)}
.codes{columns:2;font-size:var(--fs-md)}.qr svg{max-width:220px}.warnlist{margin:0;padding-left:1.1rem}.warnlist li{margin:4px 0}
.stat{display:flex;flex-direction:column}.stat .n{font-size:var(--fs-xl);font-weight:700}.stat .l{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
@media(max-width:700px){.container{padding:var(--s3)}.kv{grid-template-columns:1fr}.kv dt{margin-top:6px}.card{padding:var(--s3) var(--s4)}.topnav{display:none}.page-header h1{font-size:var(--fs-lg)}.detail{padding:var(--s4)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{.topbar,.notice,.findings-panel,.footer,button,.seg{display:none!important}.workspace{display:block}.detail{border:0;box-shadow:none}}
