* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin: 0; background: #f4f5f7; color: #1c2330; }
header { background: #17365d; color: #fff; padding: 20px 16px; }
header h1 { margin: 0 0 4px; font-size: 1.5rem; }
header .tag { margin: 0; opacity: .85; max-width: 720px; }
.card { background: #fff; margin: 16px auto; max-width: 860px; padding: 16px 20px 20px; border-radius: 10px; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
h2 { margin-top: 4px; font-size: 1.2rem; }
h3 { margin-bottom: 4px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px 16px; }
label { display: flex; flex-direction: column; gap: 4px; font-size: .85rem; font-weight: 600; }
input, select { padding: 8px; border: 1px solid #c3cad4; border-radius: 6px; font-size: 1rem; font-weight: 400; }
table.sheet { width: 100%; border-collapse: collapse; margin-top: 14px; font-size: .92rem; }
table.sheet td, table.sheet th { padding: 6px 8px; border-bottom: 1px solid #e6e9ee; text-align: left; vertical-align: top; }
td.r, th.r { text-align: right; white-space: nowrap; }
tr.total td { font-weight: 800; border-top: 2px solid #17365d; font-size: 1.02rem; }
tr.sub td { color: #5a6a82; font-style: italic; }
tr.best td { background: #e7f6e7; font-weight: 700; }
tr.na td { color: #8a93a3; }
.note { font-weight: 400; color: #5a6a82; font-size: .82rem; margin-top: 2px; }
.legal { font-weight: 600; color: #8a4b00; background: #fff4e0; border-radius: 6px; padding: 6px 8px; font-size: .8rem; margin-top: 4px; }
.thin { color: #a05a00; font-size: .75rem; font-weight: 700; }
.fine { font-size: .85rem; color: #44506a; }
.verdict { background: #eef3fa; border-left: 4px solid #17365d; padding: 10px 12px; border-radius: 4px; }
button { background: #17365d; color: #fff; border: 0; padding: 10px 18px; border-radius: 6px; font-size: 1rem; cursor: pointer; }
.thumb { width: 96px; height: 96px; object-fit: cover; border-radius: 6px; margin: 6px 6px 0 0; }
footer.disclaimers { max-width: 860px; margin: 0 auto 24px; padding: 0 20px; }
@media print {
  body { background: #fff; }
  .card { box-shadow: none; margin: 0 auto 10px; }
  button, #photos { display: none; }
}
