:root { --green:#2A5C43; --tint:#EEF4F0; --ink:#262626; --rule:#D3DED7; --muted:#6b7a72; --amber:#fff4d6; --red:#fbe3e3; --info:#e8f1ff; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.45 "Open Sans", "Segoe UI", system-ui, sans-serif; color:var(--ink); background:#fafbfa; }
header.top { display:flex; justify-content:space-between; align-items:center; padding:10px 24px; background:#fff; border-bottom:1px solid var(--rule); }
.brand a { color:var(--green); font-weight:700; text-decoration:none; font-size:17px; } .ver { color:var(--muted); font-size:12px; margin-left:6px; }
nav a, nav button.link { margin-left:18px; color:var(--green); text-decoration:none; }
main { max-width:1180px; margin:0 auto; padding:16px 24px 48px; }
footer { color:var(--muted); font-size:12px; text-align:center; padding:16px; }
h1 { font-size:22px; margin:8px 0 12px; color:var(--green); } h1 .muted { font-size:14px; font-weight:400; margin-left:10px; }
h2 { font-size:17px; color:var(--green); margin:0 0 8px; } h3.section { font-size:14px; color:var(--green); margin:18px 0 4px; padding-bottom:4px; border-bottom:1px solid var(--rule); grid-column:1/-1; }
.card { background:#fff; border:1px solid var(--rule); border-radius:6px; padding:16px 20px; margin-bottom:16px; } .card.narrow { max-width:380px; margin:60px auto; }
.fields { display:grid; grid-template-columns:1fr 1fr; gap:6px 32px; }
.field { display:grid; grid-template-columns:190px 1fr; align-items:start; gap:6px 10px; padding:3px 0; } .field.full { grid-column:1/-1; }
.field label { padding-top:6px; color:#333; } .field .hint { grid-column:2; }
input, select, textarea { width:100%; font:inherit; padding:5px 8px; border:1px solid #c9d4ce; border-radius:4px; background:#fff; color:var(--ink); }
select { background:#f3f6f4; } textarea { resize:vertical; }
input:focus, select:focus, textarea:focus { outline:2px solid #bcd5c6; border-color:var(--green); }
.hint { color:var(--muted); font-size:12.5px; } .muted { color:var(--muted); }
button, a.button { font:inherit; cursor:pointer; border:1px solid var(--green); background:#fff; color:var(--green); border-radius:4px; padding:6px 14px; text-decoration:none; display:inline-block; }
button.go { background:var(--green); color:#fff; } button.go.dark { background:#1f4532; } button.small, a.button.small { padding:4px 10px; font-size:13px; }
button.link { border:0; background:none; padding:0; color:var(--green); } button.link.danger { color:#a33; }
form.inline { display:inline; } .hidden { display:none; }
.row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:6px 0; } .row-between { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.row label { display:flex; gap:6px; align-items:center; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; } .grid2 label { display:block; } .grid2 div { grid-column:auto; }
nav.tabs { display:flex; gap:4px; margin:10px 0 0; border-bottom:1px solid var(--rule); }
nav.tabs a { padding:8px 14px; color:var(--muted); text-decoration:none; border:1px solid transparent; border-bottom:0; border-radius:6px 6px 0 0; }
nav.tabs a.on { color:var(--green); background:#fff; border-color:var(--rule); font-weight:600; }
.card:first-of-type { border-top-left-radius:0; }
table.list { width:100%; border-collapse:collapse; background:#fff; } table.list th { text-align:left; background:var(--green); color:#fff; padding:6px 8px; font-weight:600; font-size:13px; }
table.list td { padding:6px 8px; border-bottom:1px solid var(--rule); vertical-align:top; } table.list tr:nth-child(odd) td { background:var(--tint); } table.list.small td, table.list.small th { font-size:12.5px; padding:4px 6px; }
table.grid { width:100%; border-collapse:collapse; } table.grid th { text-align:left; font-size:12.5px; color:var(--green); padding:4px; } table.grid td { padding:2px; } table.grid input { padding:4px 6px; font-size:13px; }
ul.checks { list-style:none; padding:0; margin:4px 0; } ul.checks li { padding:6px 10px; margin:4px 0; border-radius:4px; background:var(--amber); }
ul.checks li.red { background:var(--red); } ul.checks li.info { background:var(--info); } ul.checks li.grey { background:#eee; color:var(--muted); }
.flash { padding:10px 14px; border-radius:4px; margin:8px 0 12px; } .flash.ok { background:#e4f3e7; } .flash.bad { background:var(--red); }
.refs { display:flex; gap:8px; align-items:flex-start; } .refs input { flex:1; } details.picker summary { cursor:pointer; color:var(--green); padding:5px 8px; border:1px solid var(--green); border-radius:4px; font-size:13px; }
.picklist { position:absolute; z-index:5; background:#fff; border:1px solid var(--rule); padding:8px 12px; max-height:260px; overflow:auto; box-shadow:0 4px 14px rgba(0,0,0,.12); columns:3; } .picklist label { display:block; }
.filebox { display:flex; gap:8px; } .filebox input { flex:1; }
.count { color:var(--muted); font-weight:400; font-size:12px; } .count.over { color:#b36b00; }
.note { margin-top:12px; } .note textarea { font-size:13px; }
@media (max-width:900px) { .fields, .grid2 { grid-template-columns:1fr; } .field { grid-template-columns:1fr; } main { padding:12px; } }

pre.licence { white-space:pre-wrap; font:13px/1.5 "Open Sans", system-ui, sans-serif; background:var(--tint); padding:12px 16px; border-radius:4px; }
footer a { color:var(--green); }
