/* «Сканчек» в языке J (ТЗ 2026-10-16-site-apple-redesign, раздел «Инструменты»): шапка, подвал, шрифт, токены и компоненты
   pf-* (капсулы, плашки, пейволл, ошибка, заголовок, значки) — platform.css (копия platform-ui); здесь только своё у «Сканчека». */
:root{--tl:#f2f5f8}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
body>main.wrap{width:100%}  /* body платформы — flex-колонка: без ширины контейнер сжался бы по контенту */
.pf-header section{margin-top:0}  /* колонки панели «Платформа» — не секции страницы */
h2{font-size:22px;letter-spacing:-.01em;margin-bottom:6px}
.sub{color:var(--mut);margin-bottom:18px}
section{margin-top:64px}
.hero{padding-top:var(--pf-gap-hero);max-width:760px}.hero h1{font-size:64px;line-height:1.02;letter-spacing:-.04em;font-weight:800;margin:22px 0 14px}
.hero-id{display:flex;align-items:center;gap:14px}
.lead{font-size:19px;color:var(--mut)}.lead.ink{color:var(--ink);font-weight:600}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px}
.fact{display:flex;gap:14px;align-items:flex-start;padding:22px}.fact+.fact{box-shadow:inset 1px 0 0 var(--hair)}.fact b{display:block}.fact span{color:var(--mut)}
.fact .pf-gl{background:var(--tl);background:color-mix(in srgb,var(--c-tools) 12%,#fff)}
.facts.one{grid-template-columns:1fr}.facts.one .fact{padding:12px 0}.facts.one .fact+.fact{box-shadow:inset 0 1px 0 var(--hair)}
.note{margin-top:28px;background:#fff;background:var(--mat-thick);box-shadow:inset 0 0 0 1px var(--hair);border-radius:var(--r-m);padding:14px 18px;color:var(--mut);font-size:14px}
.two{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start;margin-top:var(--pf-gap-page)}
.two .pf-app-head{padding-bottom:14px}
.panel{background:#fff;background:var(--mat-thick);border-radius:var(--r-l);padding:24px;box-shadow:inset 0 1px 0 var(--edge),0 0 0 1px var(--hair),0 1px 2px rgba(24,35,31,.04)}
.panel h2{font-size:18px}
.pf-alert{margin-top:14px;margin-bottom:0}
.drop{display:block;border:1.5px dashed #c3ccd5;border-radius:var(--r-m);padding:26px 22px;text-align:center;color:var(--mut);background:rgba(255,255,255,.55);cursor:pointer}
.drop b{display:block;color:var(--ink);margin-bottom:2px;font-size:17px}.drop .pf-icon{margin:0 auto 12px}
.drop.big{margin-top:22px;padding:34px}.drop.over,.drop.done{border-style:solid;border-color:var(--c-tools);background:var(--tl)}
.inp{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font:15px Onest,sans-serif;background:#fff;color:var(--ink)}
.acts{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;align-items:center}.acts form{display:contents}
.pages{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.mt14{margin-top:14px}.mt48{margin-top:48px}.mt56{margin-top:56px}
.h1e,.h1s{font-size:32px;line-height:1.1;letter-spacing:-.025em;font-weight:700;margin:var(--pf-gap-page) 0 6px}
.hint{color:var(--mut);font-size:13px;margin-top:10px;min-height:1em}
.privacy{font-size:13px;color:var(--mut);margin-top:12px}
.hidden,[hidden]{display:none !important}
.state{margin:var(--pf-gap-page) auto 0}.pf-pw .pf-alert{text-align:left;margin:4px 0 0}.pf-pw .acts{justify-content:center;margin-top:8px}.pf-pw .pf-cap{margin-top:0}
.pf-err .acts{margin-top:8px}
.lost-head{padding-top:var(--pf-gap-page)}
@media (max-width:900px){.hero h1{font-size:44px}.fact+.fact{box-shadow:inset 0 1px 0 var(--hair)}}
@media (max-width:720px){.wrap{padding:0 16px}.panel{padding:16px}.acts .pf-cap{width:100%}}

/* --- отчёт, партия, сравнение (макеты scancheck-*) --- */
.mt20{margin-top:20px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pick{margin-top:12px}
.drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.drop{position:relative}
.files{list-style:none;margin-top:14px}.files .f{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-s);background:#fff;background:var(--mat-thick);box-shadow:inset 0 0 0 1px var(--hair);margin-bottom:8px;font-size:14px}.files .f span{color:var(--mut)}.files .f span.bad{color:#b42318;font-weight:600}
.files .f b{overflow-wrap:anywhere;font-weight:600}
.files .x{border:0;background:none;font-size:20px;line-height:1;color:var(--mut);cursor:pointer;padding:0 4px}
.grade{display:flex;gap:18px;align-items:center;border-radius:var(--r-l);padding:20px 22px;border:1px solid;margin-top:16px}
.grade .g{width:64px;height:64px;border-radius:15px;display:grid;place-items:center;font-weight:800;font-size:26px;color:#fff;flex:none}
.grade h2{font-size:24px;margin:0}.grade p{color:var(--mut)}.grade .grade-hint{font-size:12px;margin-top:6px}
.g-good{background:#eef7f2;border-color:#bfe0cf}.g-good .g{background:#0b6e4f}
.g-fair{background:#fff7e6;border-color:#f3c88d}.g-fair .g{background:#b45309}
.g-poor{background:#fdecec;border-color:#f0b4b4}.g-poor .g{background:#b42318}
.b{display:inline-block;font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px;white-space:nowrap}
.b-good{background:#e1f3ea;color:#0b6e4f}.b-fair{background:#fdf3e7;color:#b45309}.b-poor{background:#fdecec;color:#b42318}.b-mut{background:#eef2f0;color:var(--mut)}
.iss{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}
.iss:last-child{border-bottom:0}.iss .dot{width:10px;height:10px;border-radius:50%;margin-top:7px;flex:none}
.dot.d-crit{background:#b42318}.dot.d-warn{background:#b45309}.iss b{display:block}.iss span{color:var(--mut);font-size:14px}.iss .sev{display:block;font-size:12px}
.more-issues summary{cursor:pointer;font-weight:600;color:var(--c-tools);margin-top:12px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:0;font-size:14px}.kv .k{padding-right:14px}
.kv div{padding:8px 0;border-bottom:1px solid var(--line)}.kv .k{color:var(--mut)}.kv .v{text-align:right;font-weight:600}
.kv .v small{display:block;font-weight:400;color:var(--mut);font-size:12px}
.sw2{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;border:1px solid rgba(0,0,0,.15);margin-right:6px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.cards.scope.hidden{display:none}
.pages .pgbtn{border:0;border-radius:999px;padding:6px 14px;font:600 13px Onest,sans-serif;background:rgba(24,35,31,.06);color:var(--ink-2);cursor:pointer}.pages .pgbtn.on{background:var(--c-tools);color:#fff}
.tbl{overflow-x:auto}.tbl table{min-width:760px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}th{color:var(--mut);font-weight:600}
.filt{display:inline-flex;gap:2px;flex-wrap:wrap;margin:6px 0 14px;padding:3px;border-radius:var(--r-s);background:rgba(24,35,31,.07)}.filt button{border:0;border-radius:9px;padding:7px 14px;font:500 14px Onest,sans-serif;background:none;color:var(--ink-2);cursor:pointer}.filt .on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(24,35,31,.15)}
.up{color:#0b6e4f;font-weight:700}.down{color:#b42318;font-weight:700}.same{color:var(--mut)}
.json{font:12px/1.55 ui-monospace,Menlo,monospace;background:#18231f;color:#d8e4de;border-radius:var(--r-m);padding:14px 16px;overflow:auto;white-space:pre;margin-top:12px;max-width:100%}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-top:var(--pf-gap-page)}.head .h1e{margin-top:0}
.head .back{color:var(--mut);font-size:14px}.head .acts.nomt{margin:0}
.stats-line{color:var(--mut);font-size:14px;margin:8px 0}
.by{font-size:13px;color:var(--mut);display:block;margin:6px 0}
main h1{overflow-wrap:anywhere}.two>*,.cards>*,.panel{min-width:0}
.pf-alert.hidden,.panel.hidden{display:none}
details.panel summary{cursor:pointer}
.view.hidden{display:none !important}

@media (max-width:900px){.two,.facts,.cards{grid-template-columns:1fr}.grade{align-items:flex-start}}
@media (max-width:720px){.grade .g{width:48px;height:48px;font-size:20px}.h1e,.h1s{font-size:28px}.hero h1{font-size:36px}}
.drop:focus-within{outline:2px solid var(--c-tools);outline-offset:2px}

/* --- алфавит документа: таблица знаков, зелёный — есть экземпляр выше порога, жёлтый — только ниже --- */
.alpha-box{max-height:320px;overflow:auto}
.alpha-box td b{font-weight:600}
.alpha-box tr.a-good td:first-child{color:#0b6e4f}.alpha-box tr.a-fair td:first-child{color:#b45309}
.alpha-box tr.a-good{background:#e1f3ea}.alpha-box tr.a-fair{background:#fdf3e7}
