
:root{--paper:#fbfaf7;--ink:#1d2b4f;--soft:#5a6582;--rule:#d9dce5;--tint:#eef1f8;--warn:#a33a2a;--ok:#2f6b45;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--paper:#12151d;--ink:#dfe5f3;--soft:#9aa4bd;--rule:#2c3242;--tint:#1b2030;--warn:#f08a77;--ok:#7fc99a}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}
nav{display:flex;gap:1rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--rule);flex-wrap:wrap}
nav a{color:var(--soft);text-decoration:none}nav a[aria-current]{color:var(--ink);font-weight:600}.brand{color:var(--ink)!important;font-weight:700}
.logout{margin-left:auto}main{max-width:52rem;margin:0 auto;padding:1.5rem 1rem 4rem}
h1{font-size:1.5rem;margin:.5rem 0 1rem}h2{font-size:1.1rem;margin:2rem 0 .5rem}p.soft,.soft{color:var(--soft)}
button,.btn{font:inherit;padding:.5rem 1rem;border:1px solid var(--ink);background:var(--tint);color:var(--ink);border-radius:6px;cursor:pointer}
input[type=email],input[type=text],textarea{font:inherit;width:100%;padding:.5rem;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink)}
textarea{min-height:7rem}.entry{border:1px solid var(--rule);border-radius:8px;padding:1rem;margin:0 0 1rem}
.entry header{display:flex;gap:.75rem;align-items:flex-start}.entry header label{font-weight:600;flex:1}
.entry input[type=checkbox]{width:1.3rem;height:1.3rem;margin-top:.15rem}.meta{font-size:.85rem;color:var(--soft)}
.flag{color:var(--warn);font-size:.9rem}.notice{padding:.75rem 1rem;border-left:3px solid var(--ok);background:var(--tint);margin:0 0 1rem}
.notice.warn{border-color:var(--warn)}details{margin-top:.5rem}details pre{white-space:pre-wrap;font-size:.85rem;color:var(--soft)}
.tools{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.tools a{display:block;padding:1rem;border:1px solid var(--rule);border-radius:8px;color:var(--ink);text-decoration:none}
.actions{position:sticky;bottom:0;background:var(--paper);padding:1rem 0;border-top:1px solid var(--rule);display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
