:root { --green:#2f6b3f; --green-d:#244f30; --bg:#f6f7f4; --card:#fff; --line:#dfe3da; --text:#1f2a22; --muted:#667068; --warn:#a33b2b; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; background:var(--bg); color:var(--text); }
header { background:var(--green); color:#fff; padding:28px 16px; text-align:center; }
header h1 { margin:0 0 6px; font-size:1.6rem; }
header p { margin:0; opacity:.92; }
main { max-width:760px; margin:0 auto; padding:20px 14px 60px; }
h2 { font-size:1.15rem; margin:28px 0 10px; color:var(--green-d); }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px; margin-bottom:12px; }
.card h3 { margin:0 0 4px; font-size:1.1rem; }
.meta { display:flex; flex-wrap:wrap; gap:8px; font-size:.85rem; color:var(--muted); margin-bottom:8px; }
.pill { background:#eef2ea; border:1px solid var(--line); border-radius:999px; padding:1px 10px; }
.pill.when { background:#e6f0e8; color:var(--green-d); font-weight:600; }
.pill.full { background:#f6e6e3; color:var(--warn); }
.vols { font-size:.9rem; color:var(--muted); margin:8px 0; }
details { margin-top:10px; }
summary { cursor:pointer; color:var(--green); font-weight:600; }
form.claim, form.admin { display:grid; gap:8px; margin-top:10px; }
label { font-size:.85rem; color:var(--muted); display:block; margin-bottom:2px; }
input, textarea, select { width:100%; padding:10px; font:inherit; border:1px solid #c9cfc4; border-radius:8px; background:#fff; }
textarea { min-height:70px; }
button, .btn { background:var(--green); color:#fff; border:0; border-radius:8px; padding:10px 16px; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; display:inline-block; }
button:hover, .btn:hover { background:var(--green-d); }
button.secondary, .btn.secondary { background:#e8ece4; color:var(--text); }
button.danger { background:var(--warn); }
.flash { padding:12px 14px; border-radius:8px; margin-bottom:14px; }
.flash.ok { background:#e2f1e5; border:1px solid #b8d9bf; }
.flash.err { background:#f9e3df; border:1px solid #e3b5ad; }
.hp { position:absolute; left:-9999px; }
.row { display:grid; gap:8px; grid-template-columns:1fr 1fr; }
.actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.empty { text-align:center; color:var(--muted); padding:30px 0; }
footer { text-align:center; color:var(--muted); font-size:.8rem; padding-bottom:30px; }
table.v { width:100%; border-collapse:collapse; font-size:.9rem; margin-top:8px; }
table.v td { border-top:1px solid var(--line); padding:6px 4px; vertical-align:top; }
@media (max-width:520px) { .row { grid-template-columns:1fr; } }
input[type=checkbox] { width:auto; margin-top:4px; flex:none; }
.occs { display:grid; gap:6px; margin-top:10px; }
.occ { display:flex; gap:10px; align-items:flex-start; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fafbf8; margin:0; font-size:.95rem; color:var(--text); cursor:pointer; }
.occ.full { opacity:.6; cursor:default; }
.occ small { display:block; color:var(--muted); }
footer a { color:var(--green); }
