:root{--olive:#9fb141;--olive-ink:#5d6b1f;--ink:#1f2421;--muted:#5f665f;--line:#d9ddd2;--paper:#fbfbf7;--card:#fff;--warn:#fff4d6;--bad:#b3261e}
@media (prefers-color-scheme:dark){:root{--ink:#eef0ea;--muted:#a9b0a6;--line:#3a3f38;--paper:#1b1e1a;--card:#232722;--warn:#3a3320;--olive-ink:#c9d77a}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Roboto,system-ui,-apple-system,sans-serif}
header{background:var(--card);border-bottom:1px solid var(--line);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
header b{font-family:"Saira Condensed",Roboto,sans-serif;font-size:20px;letter-spacing:.2px}
header a{color:var(--olive-ink);font-weight:500;text-decoration:none;white-space:nowrap}
main{max-width:720px;margin:0 auto;padding:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
h1,h2{font-family:"Saira Condensed",Roboto,sans-serif;line-height:1.15;margin:0 0 10px}
h1{font-size:28px}h2{font-size:22px}
p{margin:0 0 12px}
.muted{color:var(--muted);font-size:14px}
label{display:block;font-weight:500;font-size:14px;margin:12px 0 4px}
input[type=text],input[type=password],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media (max-width:520px){.grid2{grid-template-columns:1fr}}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{display:flex;gap:6px;align-items:center;border:1.5px solid var(--line);border-radius:999px;padding:6px 12px;margin:0;font-weight:400}
.btn{font:inherit;font-weight:600;border:0;border-radius:10px;padding:12px 18px;cursor:pointer;background:var(--olive);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.nav{display:flex;justify-content:space-between;gap:10px;margin-top:16px;flex-wrap:wrap}
.file{display:inline-block;position:relative;overflow:hidden}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.thumbs figure{margin:0;position:relative}
.thumbs img{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.thumbs button{position:absolute;top:-6px;right:-6px;border:0;border-radius:50%;width:22px;height:22px;background:var(--ink);color:var(--paper);cursor:pointer}
ul.list{padding-left:20px;margin:0 0 12px}
table{width:100%;border-collapse:collapse;font-size:14px}
td,th{padding:8px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
td.num{text-align:right;white-space:nowrap}
.step{display:inline-flex;align-items:center;gap:8px}
.step button{width:30px;height:30px;border-radius:8px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font-size:18px;cursor:pointer}
.flag{background:var(--warn);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14px}
.err{color:var(--bad);font-size:14px;margin-top:8px}
.status{font-size:14px;color:var(--muted);margin-top:8px;min-height:1em}
.small{font-size:12px;color:var(--muted)}
.total{font-size:18px;margin-top:12px}
.cfedit input{width:80px;padding:4px 6px;font-size:13px}
footer{text-align:center;color:var(--muted);font-size:13px;padding:24px 16px}
[hidden]{display:none!important}
