:root{
  --ink:#26201d; --muted:#7a6f67; --paper:#f5efe4; --card:#fffdf8; --line:rgba(38,32,29,.16);
  --sage:#5e7560; --sage-dark:#46584a; --clay:#c0843a; --sand:#efe2cc; --teal:#7c1f3e; --plum:#9d2b50;
  --danger:#8a3a2f; --warn:#9a6b1e; --ok:#3f7357;
  --shadow:0 18px 50px -28px rgba(54,30,24,.45); --radius:14px;
  --font-display:'Fraunces',Georgia,serif;
}
*{box-sizing:border-box} body{margin:0;font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--paper);color:var(--ink);line-height:1.55} a{color:inherit}
.topbar{background:#17201c;color:#fff;font-size:.9rem;padding:.65rem 1rem;text-align:center}.topbar strong{color:#f6d59f}.wrap{max-width:1180px;margin:0 auto;padding:0 22px}.nav{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}.brand{display:flex;align-items:center;gap:12px;font-weight:850}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--sage),var(--teal));display:grid;place-items:center;color:white;font-weight:900}.brand small{display:block;color:var(--muted);font-weight:700;font-size:.72rem}.navlinks{display:flex;align-items:center;gap:16px;font-size:.92rem;color:#2d3832}.navlinks a{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:11px 16px;font-weight:800;text-decoration:none;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.sage{background:var(--sage-dark);color:#fff;border-color:var(--sage-dark)}.btn.ghost{background:transparent}.hero{padding:64px 0 26px;background:radial-gradient(circle at 10% 5%,#eaf1eb 0,transparent 32%),radial-gradient(circle at 88% 10%,#f4e0d4 0,transparent 34%)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:32px;align-items:center}.eyebrow{font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);font-size:.78rem}.hero h1{font-size:clamp(2.4rem,6vw,5.7rem);line-height:.96;letter-spacing:-.08em;margin:13px 0 18px;max-width:900px}.hero p{font-size:1.1rem;color:#4f5b55;max-width:720px}.hero-card{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:32px;padding:22px;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.stat{padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line)}.stat strong{display:block;font-size:1.7rem}.notice{margin-top:18px;border:1px solid #e0caa9;background:#fff8ea;border-radius:18px;padding:14px;color:#6c4a17;font-size:.94rem}.filters{padding:22px 0}.filter-panel{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr auto;gap:12px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:16px;box-shadow:0 12px 32px rgba(23,32,28,.06)}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 14px;font:inherit;color:var(--ink)}.content-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;padding-bottom:54px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 12px 30px rgba(23,32,28,.05)}.card h3{margin:0 0 8px;font-size:1.05rem}.meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.9rem;margin-bottom:11px}.pill{display:inline-flex;border-radius:999px;padding:5px 9px;background:#f3f0e8;border:1px solid var(--line);font-size:.75rem;font-weight:800;color:#415048}.pill.warn{background:#fff4d9;color:#785117}.pill.safe{background:#eaf3ed;color:#3c654d}.pill.source{background:#e9f0f1;color:#245b61}.notes{color:#51605a;font-size:.94rem;min-height:44px}.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.side{position:sticky;top:90px;align-self:start}.side .panel{background:#17201c;color:#fff;border-radius:28px;padding:22px;margin-bottom:16px}.side .panel.light{background:#fff;color:var(--ink);border:1px solid var(--line)}.side h3{margin-top:0}.checklist{padding-left:19px;color:#4e5b55}.checklist li{margin:8px 0}.modal{position:fixed;inset:0;background:rgba(23,32,28,.64);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal.open{display:flex}.modal-card{background:#fff;border-radius:30px;max-width:850px;max-height:86vh;overflow:auto;padding:26px;box-shadow:var(--shadow);width:100%}.modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.close{border:0;background:#f2eee5;border-radius:999px;width:42px;height:42px;font-weight:900;cursor:pointer}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.field{background:#fbfaf6;border:1px solid var(--line);border-radius:16px;padding:12px}.field label{display:block;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:900}.field div{font-weight:700;overflow-wrap:anywhere}.footer{background:#17201c;color:#dbe2df;padding:34px 0;margin-top:40px}.footer a{color:#fff}.muted{color:var(--muted)}.empty{padding:30px;text-align:center;border:1px dashed var(--line);border-radius:22px;color:var(--muted)}
@media(max-width:980px){.hero-grid,.content-grid{grid-template-columns:1fr}.filter-panel{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.side{position:static}.navlinks{display:none}} @media(max-width:620px){.filter-panel,.stats,.profile-grid{grid-template-columns:1fr}.hero{padding-top:40px}.hero h1{font-size:3rem}}
.hero h1, .modal-card h2, .side h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:560}
.brand-mark{background:var(--plum)!important}

.card{display:flex;flex-direction:column}.card .card-actions{margin-top:auto}
.pager{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;margin:26px 0 6px}.pager .pginfo{color:var(--muted);font-weight:800;font-size:.92rem;padding:0 6px}.pager button[disabled]{opacity:.4;cursor:default}

input:focus,textarea:focus,select:focus{outline:2px solid var(--plum,#9d2b50);outline-offset:1px;border-color:transparent}
