:root { color: #172435; background: #fff; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
* { box-sizing: border-box; }
body { margin: 0; color: #172435; background: #fff; font-size: 15px; line-height: 1.6; }
a { color: #08779f; text-underline-offset: 3px; }
.topbar { min-height: 62px; display: flex; align-items: center; gap: 18px; padding: 10px 28px; color: #fff; background: #081330; border-bottom: 3px solid #37b7e6; }
.topbar img { width: 174px; display: block; }
.topbar span { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.28); font-weight: 650; }
.edition { margin-left: auto; padding: 3px 8px; border: 1px solid rgba(255,255,255,.3); border-radius: 3px; color: #dbe8f4; font-size: 12px; }
.shell { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 52px 0 80px; }
.breadcrumb { margin-bottom: 22px; color: #637386; font-size: 13px; }
.breadcrumb a { color: #52667b; text-decoration: none; }
h1, h2 { color: #081330; letter-spacing: 0; }
h1 { max-width: 760px; margin: 0; font-size: 38px; line-height: 1.15; }
.lead { max-width: 800px; margin: 15px 0 38px; color: #526477; font-size: 18px; }
.hub-search { position: relative; max-width: 820px; margin: 28px 0 36px; padding: 20px; border: 1px solid #c8d3de; border-left: 4px solid #37b7e6; background: #f8fafc; }
.hub-search label { display: block; margin-bottom: 8px; color: #081330; font-size: 14px; font-weight: 750; }
.hub-search input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #aebdca; border-radius: 4px; background: #fff; color: #172435; font: inherit; }
.hub-search input:focus { border-color: #087fad; outline: 2px solid rgba(55,183,230,.2); }
.hub-search-results { position: absolute; z-index: 10; top: 96px; right: 20px; left: 20px; max-height: 440px; overflow: auto; border: 1px solid #aebdca; background: #fff; box-shadow: 0 10px 26px rgba(8,19,48,.14); }
.hub-search-result { display: block; padding: 12px 14px; border-bottom: 1px solid #e2e8ee; color: #172435; text-decoration: none; }
.hub-search-result:hover, .hub-search-result:focus { background: #edf7fb; }
.hub-search-result small { display: block; color: #08779f; font-weight: 750; }
.hub-search-result strong { display: block; margin-top: 2px; color: #081330; }
.hub-search-result span { display: block; margin-top: 3px; color: #526477; font-size: 13px; }
.hub-search-empty { padding: 14px; color: #647386; }
.section-heading { margin: 44px 0 16px; padding-bottom: 10px; border-bottom: 1px solid #d8e0e8; font-size: 23px; }
.family-grid, .product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.doc-card { display: flex; min-height: 184px; flex-direction: column; padding: 22px; border: 1px solid #c8d3de; border-top: 4px solid #788ba0; border-radius: 5px; background: #fff; text-decoration: none; }
.doc-card.primary { border-top-color: #087fad; }
.doc-card:hover { border-color: #6caec8; box-shadow: 0 5px 16px rgba(8,19,48,.09); }
.doc-card small { color: #647589; font-weight: 720; text-transform: uppercase; }
.doc-card strong { display: block; margin-top: 8px; color: #081330; font-size: 23px; line-height: 1.25; }
.doc-card p { margin: 8px 0 18px; color: #526477; }
.doc-card .open { margin-top: auto; color: #08779f; font-weight: 700; }
.dependency { margin: 26px 0; padding: 16px 18px; border-left: 4px solid #087fad; background: #edf7fb; }
.dependency strong { display: block; color: #081330; }
.sequence { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0; }
.sequence span { padding: 8px 11px; border: 1px solid #c4cfda; border-radius: 4px; background: #f8fafc; font-weight: 650; }
.sequence i { color: #708195; font-style: normal; }
.footer { margin-top: 54px; padding-top: 18px; border-top: 1px solid #d8e0e8; color: #647386; font-size: 13px; }
@media (max-width: 700px) {
  .topbar { padding: 10px 16px; }
  .topbar img { width: 138px; }
  .topbar span { display: none; }
  .shell { width: min(100% - 32px, 1120px); padding-top: 36px; }
  h1 { font-size: 30px; }
  .lead { font-size: 16px; }
  .family-grid, .product-grid { grid-template-columns: 1fr; }
}
@media print { .topbar { position: static; } .shell { width: 100%; padding: 24px; } .doc-card { break-inside: avoid; } }
