:root { --ink:#17212b; --muted:#6b7682; --line:#dfe3e8; --bg:#f4f5f7; --accent:#1c69d4; --sel:#ffe9a8; }
body { background:var(--bg); color:var(--ink); min-height:100vh; display:flex; flex-direction:column; }
.site-header { background:var(--ink); padding:.7rem 0; }
.site-brand { color:#fff; font-weight:600; font-size:1.1rem; text-decoration:none; }
.site-header__link { color:#c9d3dd; text-decoration:none; }
.site-search { display:flex; gap:.4rem; flex:1 1 280px; max-width:460px; }
.btn-accent { background:var(--accent); color:#fff; border:0; }
.btn-accent:hover { background:#1557b0; color:#fff; }
.site-main { flex:1; padding-top:1rem; padding-bottom:2rem; }
.site-footer { border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; padding:1rem 0; }
.breadcrumb { font-size:.9rem; margin-bottom:.75rem; }
.page-title { font-size:1.6rem; font-weight:600; margin:0 0 .25rem; }
.section-title { font-size:1.15rem; font-weight:600; margin:1.5rem 0 .75rem; }
.vehicle-plate { margin-bottom:1rem; }
.vehicle-plate__car { color:var(--muted); }
.vehicle-plate__car strong { color:var(--ink); }
.vehicle-plate__spec { display:block; font-size:.85rem; }
.login-box { max-width:380px; }
.group-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.75rem; }
@media (max-width:1199px) { .group-grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:767px)  { .group-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:479px)  { .group-grid { grid-template-columns:repeat(2,1fr); } }
.group-card { background:#fff; border:1px solid var(--line); border-top:3px solid var(--group-color); border-radius:4px; padding:.6rem; text-align:center; text-decoration:none; color:var(--ink); display:flex; flex-direction:column; align-items:center; gap:.4rem; }
.group-card:hover { border-color:var(--accent); border-top-color:var(--group-color); box-shadow:0 2px 8px rgba(0,0,0,.08); }
.group-card img, .group-card__noimg { width:150px; max-width:100%; height:100px; object-fit:contain; background:#fff; }
.group-card__noimg { background:var(--bg); }
.group-card__name { font-size:.9rem; font-weight:500; line-height:1.25; }
.subgroup-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:.75rem; }
.subgroup-card { background:#fff; border:1px solid var(--line); border-radius:4px; text-decoration:none; color:var(--ink); overflow:hidden; }
.subgroup-card:hover { border-color:var(--accent); }
.subgroup-card__img { display:block; aspect-ratio:310/216; background:#fff; }
.subgroup-card__img img { width:100%; height:100%; object-fit:contain; }
.subgroup-card__name { display:block; padding:.5rem .6rem; border-top:1px solid var(--line); font-size:.9rem; font-weight:500; }
.diagram-nav { display:flex; gap:1rem; font-size:.9rem; margin-bottom:.75rem; }
.diagram-wrap { background:#fff; border:1px solid var(--line); border-radius:4px; padding:.5rem; margin-bottom:1rem; }
.diagram { position:relative; margin:0 auto; }
.diagram img { display:block; width:100%; height:auto; }
.hotspot { position:absolute; border:2px solid transparent; border-radius:3px; }
.hotspot:hover { border-color:var(--accent); background:rgba(28,105,212,.15); }
.hotspot.is-selected { border-color:#d93025; background:rgba(217,48,37,.2); }
.diagram-note { background:#fff8e1; border:1px solid #f0dfa0; border-radius:4px; padding:.6rem .8rem; margin-bottom:1rem; font-size:.9rem; }
.diagram-note strong { display:block; }
.parts-table { width:100%; background:#fff; border:1px solid var(--line); font-size:.9rem; }
.parts-table th { background:#eef0f3; font-weight:600; padding:.45rem .6rem; white-space:nowrap; }
.parts-table td { padding:.4rem .6rem; border-top:1px solid var(--line); vertical-align:top; }
.parts-table__pos { width:3rem; text-align:center; }
.parts-table__title td { background:#f8f9fa; font-weight:600; scroll-margin-top:1rem; }
.parts-table__number { white-space:nowrap; font-variant-numeric:tabular-nums; }
.parts-table__spec { color:var(--muted); font-style:italic; margin-left:.4rem; }
.parts-table__tag { background:#e7ebf0; border-radius:3px; padding:0 .35rem; font-size:.8rem; margin-left:.4rem; }
.parts-table__ended { color:#c5221f; font-size:.8rem; margin-left:.4rem; }
.parts-table__cond, .parts-table__info { color:var(--muted); font-size:.82rem; margin-top:.2rem; }
.parts-table__info summary { color:var(--accent); cursor:pointer; }
.is-discontinued .parts-table__number a { text-decoration:line-through; color:var(--muted); }
tr.is-selected td { background:var(--sel) !important; }
.pos-btn { min-width:2rem; border:1px solid var(--line); background:#fff; border-radius:3px; font-weight:600; }
.pos-btn:hover { border-color:var(--accent); color:var(--accent); }
.part-facts { display:flex; flex-wrap:wrap; gap:1.5rem; margin:1rem 0; }
.part-facts dt { color:var(--muted); font-weight:400; font-size:.85rem; }
.part-facts dd { margin:0; font-size:1.1rem; font-weight:600; }
