/* KB_VIN4: VIN check extras – summary card, progressive sections, paste/scan, typo hints. Loaded only on /vin-decoder. */
.vin-tools{display:flex;gap:6px}.vin-ico{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;gap:4px;position:relative;cursor:pointer}
.vin-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.vin-ico:focus-within{outline:2px solid #2563eb;outline-offset:2px}
.vin-recent{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.vin-rchip{display:inline-flex;gap:4px;align-items:center;max-width:100%;min-height:36px;padding:4px 10px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;font-size:.85rem;cursor:pointer}
.vin-rchip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14em}.vin-rchip code{color:var(--muted)}
.vin-sugg{margin:8px 0 12px;padding:10px 14px;border-radius:10px;background:#fffbeb;border:1px solid #fde68a}
.vin-sugg-h{margin:0 0 6px;font-weight:600}.vin-sg{margin:0 6px 6px 0;min-height:44px}.vin-sg code{font:600 1rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}
.vin-sg mark{background:#fde047;color:#0f172a;border-radius:3px;padding:0 1px}
.vin-sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 0 10px}
.vin-tile{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 12px;min-width:0}
.vin-tile dt{font-size:.78rem;color:var(--muted);margin:0}.vin-tile dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere;line-height:1.3}
.vin-tile[data-k=car]{grid-column:span 2}.vin-tile.warn{background:#fff7ed;border-color:#fed7aa}.vin-tile.ok{background:#f0fdf4;border-color:#bbf7d0}
.vin-tile[data-k=sr] dd{color:#b45309;letter-spacing:.02em}
.vin-acts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.vin-acts .btn{min-height:44px}
.vin-x h3{font-size:1.1rem;margin:1.2rem 0 .4rem}.vin-x{border-top:1px solid #f1f5f9}
/* KB_I18N2: the 'Loading…' text keeps full contrast (axe color-contrast); only a small dot before it pulses */
.vin-skel::before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;background:currentColor;margin-inline-end:.45em;vertical-align:.05em;animation:vinp 1.2s ease-in-out infinite alternate}@keyframes vinp{from{opacity:.25}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.vin-skel::before{animation:none}}
.vin-kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0 0 8px}.vin-kv dt{color:var(--muted)}.vin-kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.vin-stars{color:#b45309;font-size:1.1rem;letter-spacing:.05em}.vin-sr-d{font-weight:600;margin:.2rem 0 .4rem}.vin-sr+.vin-sr,.vin-more .vin-sr{border-top:1px dashed #e2e8f0;padding-top:6px}
.vin-stats{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.vin-stat{background:#f8fafc;border-radius:10px;padding:6px 12px;display:flex;flex-direction:column;min-width:84px}
.vin-stat b{font-size:1.15rem}.vin-stat span{font-size:.8rem;color:var(--muted)}.vin-stat.bad{background:#fef2f2}.vin-stat.bad b{color:#b91c1c}
.vin-common{background:#fff7ed;border-radius:10px;padding:8px 12px;color:#7c2d12;margin:.3rem 0}
.vin-bars{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:4px}
.vin-bars li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:8px;align-items:center;font-size:.9rem}
.vin-bl{overflow-wrap:anywhere}.vin-bar{background:#f1f5f9;border-radius:6px;height:10px;overflow:hidden;display:block}.vin-bar i{display:block;height:100%;background:#f97316;border-radius:6px}
.vin-bn{font-variant-numeric:tabular-nums;color:#475569;font-size:.85rem;white-space:nowrap}
.vin-cpi{border-top:1px solid #f1f5f9;padding:6px 0}.vin-cpi .vb{margin-inline-start:6px}
.vin-orig{font-size:.88rem;color:#334155;background:#f8fafc;border-radius:8px;padding:6px 10px;margin:4px 0;overflow-wrap:anywhere;text-align:start}
.vin-en{font-style:italic}
.vin-ivl{list-style:none;padding:0;margin:0}.vin-ivl li{padding:8px 0;border-bottom:1px solid #f1f5f9}
.vin-fsel{display:flex;flex-direction:column;gap:4px;margin:0 0 10px;font-size:.9rem}.vin-fsel select{min-height:44px;max-width:100%}
.vin-code{font:700 1.25rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;margin:.2rem 0 .6rem;overflow-wrap:anywhere;direction:ltr;text-align:left}
.vin-code span{padding:2px 3px;border-radius:4px;margin-right:2px}
.vp-wmi{background:#dbeafe}.vp-vds{background:#dcfce7}.vp-chk{background:#fef3c7}.vp-yr{background:#fce7f3}.vp-pl{background:#ede9fe}.vp-sn{background:#e2e8f0}
.vin-vp{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:4px 14px;margin:0;font-size:.92rem}.vin-vp dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.vin-vp dt span{font-family:ui-monospace,monospace;padding:0 4px;border-radius:4px;font-size:.82rem}
.vin-cant{margin-top:18px;border-top:1px solid #e5e7eb}.vin-cant h3{font-size:1.1rem;margin:1.2rem 0 .4rem}.vin-cant-l{margin:.2rem 0 .6rem;padding-inline-start:1.2em}
@media (max-width:560px){.vin-row{flex-wrap:wrap}.vin-row input{flex:1 1 100%}.vin-tools{flex:1 1 100%}.vin-tools .vin-ico{flex:1;justify-content:center}
  .vin-sum{grid-template-columns:1fr 1fr}.vin-tile[data-k=car]{grid-column:1/-1}.vin-kv,.vin-vp{grid-template-columns:1fr;gap:0}.vin-kv dd,.vin-vp dd{margin-bottom:6px}
  .vin-bars li{grid-template-columns:1fr auto}.vin-bar{grid-column:1/-1;order:3}.vin-acts .btn{flex:1 1 auto;text-align:center}}
[dir=rtl] .vin-code{text-align:right}[dir=rtl] .vin-code span{margin-right:0;margin-left:2px}
/* KB_VINOV: hidden scan input must not take flex width; let tool buttons wrap on narrow phones */
.vin-row .vin-file{flex:none;width:1px;min-width:0;padding:0;border:0}
@media (max-width:560px){.vin-tools{flex-wrap:wrap;min-width:0}.vin-tools .vin-ico{width:auto;min-width:0;white-space:normal;flex:1 1 auto}}
