.sm20lib,.sm20doc{max-width:1100px;margin:0 auto;padding:32px 20px 72px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202529}.sm20lib h1,.sm20doc h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:.2em 0}.eyebrow,.cat{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.filters{margin:28px 0}.filters input{width:100%;padding:14px 16px;border:1px solid #cfd5da;border-radius:12px;font-size:1rem}.docgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.doccard{padding:22px;border:1px solid #e1e5e8;border-radius:18px;background:white}.doccard h2{font-size:1.3rem}.doccard a{color:inherit}.doccard .more{text-decoration:none;font-weight:700}.sm20doc .meta{color:#69727a;margin:12px 0 24px}.familysum{background:#f4f7f8;padding:22px;border-radius:16px;margin:24px 0}.actions{margin:26px 0}.btnpdf{display:inline-block;padding:12px 16px;border:1px solid #202529;border-radius:10px;text-decoration:none;color:#202529;font-weight:700}.content{font-size:1.05rem;line-height:1.7}.content h2{margin-top:2em}.crumb{font-size:.9rem;color:#69727a;margin-bottom:22px}.crumb a{color:inherit}@media(max-width:600px){.sm20lib,.sm20doc{padding-top:22px}.docgrid{grid-template-columns:1fr}}

.cardtop{display:flex;align-items:center;justify-content:space-between;gap:12px}.fresh{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800}.fresh-ok{background:#e8f6eb;color:#28643a}.fresh-warning{background:#fff3cd;color:#795b00}.fresh-expired{background:#fde8e8;color:#8a2626}.docmeta{font-size:.88rem;color:#69727a;margin:-4px 0 14px}.emptydocs{padding:24px;border:1px dashed #cfd5da;border-radius:16px;background:#fafbfb}.dochead{padding-bottom:8px}.actions{display:flex;flex-wrap:wrap;gap:10px}.btnprimary,.btnpdf{display:inline-block;padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:750}.btnprimary{background:#173a63;color:#fff}.btnpdf{border:1px solid #173a63;color:#173a63}.content{scroll-margin-top:24px}.content h2{padding-top:.25em;border-top:1px solid #edf0f2}.content h3{margin-top:1.6em}.content ul,.content ol{padding-left:1.4em}

/* v0.1.25 — Document page visual system */
.sm20lib-document{max-width:1180px;margin:0 auto;padding:32px 24px 56px;color:#142f52}
.sm20lib-document a{color:inherit}
.sm20lib-doc-hero{border:1px solid #e7e4de;border-radius:18px;background:#fff;padding:34px;box-shadow:0 8px 28px rgba(22,47,82,.05)}
.sm20lib-doc-kicker{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#e45b21}
.sm20lib-doc-title{font-size:clamp(2.35rem,5vw,4.4rem);line-height:.98;letter-spacing:-.04em;margin:12px 0 16px;max-width:760px}
.sm20lib-doc-lead{max-width:700px;font-size:1.05rem;line-height:1.65;color:#303b49}
.sm20lib-doc-status{display:inline-flex;align-items:center;gap:8px;background:#eaf7ec;color:#19713a;border-radius:999px;padding:8px 13px;font-weight:700;font-size:.85rem}
.sm20lib-doc-meta{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:20px;margin-top:28px}
.sm20lib-doc-meta dt{font-size:.75rem;color:#6e7782;margin-bottom:5px}.sm20lib-doc-meta dd{margin:0;font-weight:650;line-height:1.35}
.sm20lib-family-summary{margin:28px 0 0;background:#f3f7fa;border-radius:14px;padding:24px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.sm20lib-family-summary h2{margin:0 0 8px;font-size:1.35rem}.sm20lib-family-summary p{margin:0;line-height:1.6;color:#384452}
.sm20lib-doc-actions{display:flex;flex-direction:column;gap:9px;min-width:245px}
.sm20lib-btn{display:block;padding:13px 18px;border-radius:9px;text-align:center;text-decoration:none;font-weight:750;border:1px solid #173b67}
.sm20lib-btn-primary{background:#173b67;color:#fff!important}.sm20lib-btn-secondary{background:#fff}
.sm20lib-doc-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;margin-top:32px}
.sm20lib-doc-content{max-width:790px}.sm20lib-doc-content h2{font-size:1.55rem;margin:0 0 10px}.sm20lib-doc-content h3{font-size:1.05rem;margin:18px 0 8px}
.sm20lib-doc-content section{padding:25px 0;border-top:1px solid #eceae5}.sm20lib-doc-content p,.sm20lib-doc-content li{line-height:1.7;color:#384452}
.sm20lib-doc-toc{position:sticky;top:24px;align-self:start;border:1px solid #e7e4de;border-radius:14px;padding:22px;background:#fff}
.sm20lib-doc-toc h2{font-size:1.1rem;margin:0 0 15px}.sm20lib-doc-toc ol{margin:0;padding-left:22px}.sm20lib-doc-toc li{margin:10px 0;line-height:1.4}.sm20lib-doc-toc a{text-decoration:none}
.sm20lib-doc-note{margin-top:24px;padding:18px 20px;border-radius:12px;background:#f3f7fa;border:1px solid #dce7f0;line-height:1.55}
@media(max-width:900px){.sm20lib-doc-meta{grid-template-columns:repeat(2,1fr)}.sm20lib-family-summary{grid-template-columns:1fr}.sm20lib-doc-actions{min-width:0;flex-direction:row}.sm20lib-doc-grid{grid-template-columns:1fr}.sm20lib-doc-toc{position:static;order:-1}}
@media(max-width:600px){.sm20lib-document{padding:20px 14px 40px}.sm20lib-doc-hero{padding:22px}.sm20lib-doc-title{font-size:2.45rem}.sm20lib-doc-meta{grid-template-columns:1fr 1fr;gap:15px}.sm20lib-doc-actions{flex-direction:column}}

/* v0.1.26 — real document template mapping */
.sm20lib-breadcrumb{display:flex;gap:8px;align-items:center;margin:0 0 16px;font-size:.82rem;color:#69727c}
.sm20lib-breadcrumb a{text-decoration:none}
.sm20lib-doc-hero-top{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:36px;align-items:start}
.sm20lib-doc-official{display:flex;flex-direction:column;gap:16px;align-items:stretch}
.sm20lib-doc-official-card{background:#faf8f5;border-radius:14px;padding:24px;text-align:center;display:flex;flex-direction:column;gap:8px;color:#233954}
.sm20lib-doc-official-card span{font-size:.8rem;line-height:1.45;color:#6a7078}
.sm20lib-doc-fileicon{font-size:3.1rem;line-height:1;color:#df6925;margin-bottom:6px}
.sm20lib-doc-meta>div{min-width:0}
.sm20lib-doc-content>h2{padding-top:28px;margin-top:0;border-top:1px solid #eceae5}
.sm20lib-doc-content>h2:first-child{border-top:0;padding-top:0}
.sm20lib-doc-toc-help{font-size:.85rem;line-height:1.55;color:#69727c;margin:0}
.sm20lib-doc-reviewbox{margin-top:22px;background:#fff7e6;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:5px}
.sm20lib-doc-reviewbox span{font-size:.78rem;color:#9c6418}.sm20lib-doc-reviewbox strong{font-size:1rem}
@media(max-width:900px){.sm20lib-doc-hero-top{grid-template-columns:1fr}.sm20lib-doc-official{align-items:flex-start}.sm20lib-doc-official-card{display:none}}
