:root { --green:#14532d; --bg:#f6f8f6; --line:#d6ded6; --err:#b91c1c; }
* { box-sizing: border-box; }
body { margin:0; font-family:system-ui,sans-serif; background:var(--bg); color:#111; }
.topnav { display:flex; gap:.75rem; align-items:center; background:var(--green);
  padding:.6rem .8rem; flex-wrap:wrap; }
.topnav a { color:#fff; text-decoration:none; font-weight:600; }
.topnav .brand { margin-right:auto; font-size:1.1rem; }
.topnav form.inline { margin:0; }
main { max-width:56rem; margin:0 auto; padding:1rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:.5rem;
  padding:1rem; display:flex; flex-direction:column; gap:.8rem; }
label { display:flex; flex-direction:column; gap:.25rem; font-size:.9rem; }
input, select, textarea, button { font-size:1.05rem; padding:.55rem;
  border:1px solid var(--line); border-radius:.4rem; }
button { background:var(--green); color:#fff; border:none; cursor:pointer; }
.error { color:var(--err); font-weight:600; }
table { width:100%; border-collapse:collapse; background:#fff; }
th, td { border:1px solid var(--line); padding:.45rem .5rem; text-align:right;
  font-variant-numeric: tabular-nums; }
th:first-child, td:first-child { text-align:left; }
.tablewrap { overflow-x:auto; }
.tabs { display:flex; gap:.5rem; margin:.8rem 0; }
.tabs button { flex:1; background:#fff; color:var(--green);
  border:2px solid var(--green); }
.tabs button.active { background:var(--green); color:#fff; }
.suggest { position:relative; }
.suggest ul { position:absolute; z-index:5; left:0; right:0; margin:0;
  padding:0; list-style:none; background:#fff; border:1px solid var(--line); }
.suggest li { padding:.5rem; cursor:pointer; }
.suggest li:hover { background:var(--bg); }
.flash { background:#dcfce7; border:1px solid var(--green); padding:.6rem;
  border-radius:.4rem; margin:.6rem 0; }
.void { text-decoration: line-through; color:#777; }
@media (min-width: 700px) { body { font-size:1.02rem; } }
@media print { .topnav, form, a { display:none; } }
