:root { color-scheme: light; --ink:#17211b; --muted:#526158; --paper:#f7f5ee; --card:#fff; --line:#d6dbd5; --accent:#116149; --soft:#e8f2ed; --warn:#875b08; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); line-height:1.6; }
a { color:var(--accent); }
.skip-link { position:absolute; left:-999px; }
.skip-link:focus { left:1rem; top:1rem; background:white; padding:.7rem; z-index:10; }
.site-header { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1.1rem max(1rem,calc((100% - 72rem)/2)); background:var(--card); border-bottom:1px solid var(--line); }
.brand { font-weight:800; text-decoration:none; color:var(--ink); }
nav { display:flex; flex-wrap:wrap; gap:1rem; }
main { max-width:72rem; margin:auto; padding:3rem 1rem 5rem; min-height:70vh; }
footer { padding:2rem max(1rem,calc((100% - 72rem)/2)); border-top:1px solid var(--line); color:var(--muted); }
h1,h2,h3 { line-height:1.18; }
h1 { max-width:18ch; font-size:clamp(2.1rem,5vw,4.4rem); }
.lede { max-width:65ch; font-size:1.18rem; color:var(--muted); }
.actions { display:flex; flex-wrap:wrap; gap:.7rem; margin:1.5rem 0; }
.button,button { display:inline-block; border:1px solid var(--accent); border-radius:.45rem; padding:.65rem 1rem; background:var(--accent); color:white; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.button.secondary { background:transparent; color:var(--accent); }
.notice { border-left:.3rem solid var(--warn); background:#fff7df; padding:1rem; margin:1.5rem 0; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(16rem,1fr)); gap:1rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:.7rem; padding:1.2rem; }
.badge { display:inline-block; padding:.15rem .5rem; border-radius:999px; background:var(--soft); font-size:.85rem; }
.badge.pending { background:#fff0c8; color:#654405; }
.filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); gap:1rem; background:var(--card); padding:1rem; border:1px solid var(--line); border-radius:.7rem; margin:2rem 0; }
label { display:grid; gap:.3rem; font-weight:650; }
input,select,textarea { width:100%; font:inherit; padding:.65rem; border:1px solid #98a39c; border-radius:.35rem; background:white; }
table { width:100%; border-collapse:collapse; }
th,td { text-align:left; vertical-align:top; border-bottom:1px solid var(--line); padding:.7rem; }
.muted { color:var(--muted); }
.stack { display:grid; gap:1rem; max-width:42rem; }
[hidden] { display:none !important; }
@media (max-width:46rem) { .site-header { align-items:flex-start; flex-direction:column; } h1{font-size:2.4rem;} table{display:block;overflow-x:auto;} }
