:root { --bg:#f7f5f0; --card:#fff; --ink:#222; --muted:#666; --line:#ddd;
        --high:#c0392b; --medium:#d68910; --low:#5d8a3c; --accent:#2c5f8a; }
* { box-sizing: border-box; }
body { margin:0; font: 16px/1.5 -apple-system, system-ui, "Segoe UI", sans-serif; background:var(--bg); color:var(--ink); }
a { color: var(--accent); }
main { max-width: 1200px; margin: 0 auto; padding: 1rem; }
.top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem;
       padding:.75rem 1rem; background:var(--card); border-bottom:1px solid var(--line); }
.brand { font-weight:700; text-decoration:none; color:var(--ink); font-size:1.2rem; }
.top nav a { margin-right:1rem; }
.who { color:var(--muted); }
h1 { font-size:1.5rem; margin:.5rem 0; } h2 { font-size:1.15rem; margin:1.25rem 0 .5rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:1rem; margin:1rem 0; }
.narrow { max-width:420px; margin:3rem auto; }
.error { color:var(--high); }
input[type=password] { font-size:1rem; padding:.5rem; width:100%; margin-bottom:.5rem; }
button { font-size:1rem; padding:.5rem 1rem; border-radius:6px; border:1px solid var(--line); background:#fff; cursor:pointer; }
.who-list { display:flex; flex-direction:column; gap:.5rem; }
.who-list button { padding:.75rem; font-size:1.1rem; }
.filters { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; margin-bottom:.5rem; }
.filters select { font-size:1rem; padding:.4rem; }
.count { color:var(--muted); }
.hint { color:var(--muted); font-size:.9rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:1rem; }
.tile { background:var(--card); border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; }
.tile.mine { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent); }
.thumb { display:block; aspect-ratio:1; background:#eee; }
.thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.tile-body { padding:.6rem .75rem .75rem; display:flex; flex-direction:column; gap:.35rem; flex:1; }
.name { font-weight:600; text-decoration:none; color:var(--ink); line-height:1.25; }
.meta { color:var(--muted); font-size:.85rem; }
.claimants { display:flex; flex-wrap:wrap; gap:.25rem; }
.tag { display:inline-block; font-size:.75rem; padding:.1rem .45rem; border-radius:999px; color:#fff; background:var(--muted); }
.tag-high { background:var(--high); } .tag-medium { background:var(--medium); } .tag-low { background:var(--low); }
.claim-form { display:flex; gap:.3rem; margin-top:auto; }
.pri { flex:1; padding:.35rem 0; font-size:.85rem; text-transform:capitalize; background:#fff; }
.pri-high { color:var(--high); border-color:var(--high); }
.pri-medium { color:var(--medium); border-color:var(--medium); }
.pri-low { color:var(--low); border-color:var(--low); }
.pri.active { color:#fff; }
.pri-high.active { background:var(--high); } .pri-medium.active { background:var(--medium); } .pri-low.active { background:var(--low); }
.pri-none { flex:0 0 2.2rem; color:var(--muted); }
.detail { display:grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap:1.5rem; }
@media (max-width:800px) { .detail { grid-template-columns:1fr; } }
.detail-image img { width:100%; border-radius:8px; border:1px solid var(--line); }
dl { display:grid; grid-template-columns:max-content 1fr; gap:.25rem 1rem; margin:0; }
dt { color:var(--muted); } dd { margin:0; }
table { border-collapse:collapse; width:100%; background:var(--card); }
th, td { text-align:left; padding:.4rem .6rem; border-bottom:1px solid var(--line); vertical-align:top; }
.small { color:var(--muted); font-size:.9rem; }
.insights { max-width:65ch; }
.claim-form.with-notes { flex-wrap:wrap; }
.claim-form.with-notes textarea { flex:1 1 100%; font:inherit; padding:.5rem; border:1px solid var(--line); border-radius:6px; margin-bottom:.4rem; }
.claim-form.with-notes .pri { flex:0 1 7rem; padding:.5rem 0; }
