:root { --scheme-navy:#102b43; --scheme-orange:#ee7623; --scheme-line:#dbe4e8; --scheme-muted:#667784; }
.catalog-scheme-page { padding-bottom:52px; }
.catalog-scheme-page .page-heading { max-width:840px; }
.catalog-scheme-page .catalog-intro { margin:0 0 24px; padding:17px 20px; border-left:4px solid var(--scheme-orange); border-radius:6px; background:#fff; color:var(--scheme-muted); }
.scheme-catalog { display:grid; grid-template-columns:270px minmax(0,1fr); align-items:start; gap:22px; }
.scheme-catalog-nav { position:sticky; top:16px; padding:16px; border:1px solid var(--scheme-line); border-radius:10px; background:#fff; }
.scheme-catalog-nav h2 { margin:0 0 12px; color:var(--scheme-navy); font-size:17px; }
.scheme-catalog-nav ol { max-height:68vh; overflow:auto; display:grid; gap:4px; margin:0; padding:0; list-style:none; }
.scheme-catalog-nav button { width:100%; padding:9px 10px; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--scheme-navy); font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.scheme-catalog-nav button:hover, .scheme-catalog-nav button:focus-visible { background:#f4f7f8; border-color:var(--scheme-line); outline:none; }
.scheme-catalog-nav button[aria-current="true"] { background:var(--scheme-navy); color:#fff; }
.scheme-catalog-nav .scheme-index { display:inline-block; min-width:28px; margin-right:6px; color:var(--scheme-orange); font-weight:800; }
.scheme-catalog-nav button[aria-current="true"] .scheme-index { color:#fff; }
.scheme-viewer { min-width:0; border:1px solid var(--scheme-line); border-radius:10px; overflow:hidden; background:#fff; }
.scheme-viewer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:20px 22px 16px; border-bottom:1px solid var(--scheme-line); }
.scheme-viewer-head .eyebrow { margin:0 0 4px; }
.scheme-viewer-head h2 { margin:0; color:var(--scheme-navy); font-size:22px; line-height:1.25; }
.scheme-count { flex:0 0 auto; padding:6px 9px; border-radius:20px; background:#f4f7f8; color:var(--scheme-muted); font-size:12px; font-weight:700; }
.scheme-image { display:flex; justify-content:center; padding:14px; background:#f5f7f8; }
.scheme-image img { display:block; max-width:100%; height:auto; max-height:860px; object-fit:contain; }
.scheme-parts { padding:20px 22px 24px; }
.scheme-parts h3 { margin:0 0 13px; color:var(--scheme-navy); font-size:18px; }
.scheme-table-wrap { overflow:auto; border:1px solid var(--scheme-line); border-radius:7px; }
.scheme-table { width:100%; min-width:580px; border-collapse:collapse; font-size:14px; }
.scheme-table th, .scheme-table td { padding:11px 12px; border-bottom:1px solid #edf1f3; text-align:left; vertical-align:top; }
.scheme-table tr:last-child td { border-bottom:none; }
.scheme-table th { background:#f6f9fb; color:var(--scheme-muted); font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.scheme-table .position { width:68px; color:var(--scheme-orange); font-weight:800; }
.scheme-table .article { width:180px; color:var(--scheme-navy); font-weight:700; white-space:nowrap; }
.scheme-empty { padding:48px 20px; text-align:center; color:var(--scheme-muted); }
@media (max-width:860px) { .scheme-catalog { grid-template-columns:1fr; } .scheme-catalog-nav { position:static; } .scheme-catalog-nav ol { max-height:none; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); } }
@media (max-width:600px) { .catalog-scheme-page .catalog-intro { padding:14px; } .scheme-viewer-head { padding:16px; } .scheme-viewer-head h2 { font-size:19px; } .scheme-image { padding:8px; } .scheme-parts { padding:16px; } .scheme-table { font-size:13px; } .scheme-table th, .scheme-table td { padding:9px; } }
