:root{--ink:#18383e;--muted:#61757a;--accent:#087c80;--soft:#e9f4f2;--line:#dce6e5;--bg:#f5f8f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.8 Calibri,Arial,sans-serif;overflow-wrap:anywhere}a{color:var(--accent);text-underline-offset:4px}a:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{background:white;border-bottom:1px solid var(--line);padding:18px max(20px,calc((100vw - 1200px)/2))}nav{display:flex;flex-wrap:wrap;gap:8px 18px}nav a{display:inline-flex;align-items:center;min-height:44px}main{max-width:1240px;padding:24px;margin:auto}.brand{font-size:24px;font-weight:bold;margin:0}.eyebrow{color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}.card,.completion-meter{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin-block:15px}.card h2,.card h3{margin-top:0}.card-link{display:block;text-decoration:none;min-height:90px}.completion-caption{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.completion-caption strong{color:var(--accent);display:inline-flex;align-items:center;flex-wrap:wrap;gap:12px}progress{display:block;width:100%;height:12px;accent-color:var(--accent)}.tag{display:inline-block;border-radius:8px;background:var(--soft);padding:3px 9px;font-size:14px}.photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}figure{margin:8px 0}img{display:block;max-width:100%;height:auto}figure img{width:100%;max-height:360px;object-fit:contain}.qr{width:150px}p,.value{white-space:pre-wrap}select{font:inherit;min-height:44px;max-width:100%;background:white;border:1px solid var(--line);border-radius:8px;padding:8px}footer{padding:24px;text-align:center;color:var(--muted)}[hidden]{display:none!important}@media(max-width:600px){main{padding:16px}header{padding:14px 16px}h1{font-size:26px}.card{padding:16px}}@media print{header nav,.filter,.qr{display:none}body{background:white}main{padding:0}.card{break-inside:avoid;border-color:#aaa}a{color:#000}}