:root{--bg:#f5f6f2;--card:#fff;--ink:#243435;--muted:#82918b;--line:#e1e9e2;--accent:#1b594b;--accent-soft:#e8f3eb;--danger:#b8433a;--danger-soft:#fbecea}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
header{height:60px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.brand{display:flex;align-items:center;gap:10px;color:#173e39;text-decoration:none;font-weight:750;font-size:15px}
.brand img{width:32px;height:32px;border-radius:8px;display:block}
nav{display:flex;gap:18px}nav a{color:#22534b;text-decoration:none;font-weight:650;font-size:13px}nav a:hover{text-decoration:underline}
main{max-width:420px;margin:48px auto;padding:0 16px}main.wide{max-width:980px}
h1{font:400 28px Georgia,serif;margin:0 0 16px;color:#203c38}h2{font-size:15px;margin:28px 0 10px}
.lead{color:var(--muted);margin:-6px 0 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;display:grid;gap:14px}
.card.row{grid-template-columns:1fr 1fr auto auto;align-items:end;margin-top:12px}
label{display:grid;gap:5px;font-size:12px;font-weight:650;color:#52675e}
label.check{display:flex;align-items:center;gap:6px;padding-bottom:10px}
input,select{font:inherit;border:1px solid #d4e1d8;border-radius:6px;padding:9px 10px;background:#fbfdfb;color:var(--ink);min-width:0}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid #2c8c6f;outline-offset:1px}
button{font:inherit;font-weight:650;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:7px;padding:9px 15px;cursor:pointer}
button:hover{background:#124738}button.ghost{background:#fff;color:#22534b;border-color:#d9e2dc;padding:5px 10px;font-size:12px}button.ghost:hover{background:#eef5ef}
.notice{border-radius:8px;padding:10px 12px;margin:0 0 14px;font-weight:600}.notice.error{background:var(--danger-soft);color:var(--danger)}.notice.ok{background:var(--accent-soft);color:#1c6650}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf1ed;vertical-align:middle}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
td small{display:block;color:var(--muted);font-size:11px}tr.inactive td{color:#a9b4ae}
td.actions form{display:flex;gap:6px;justify-content:flex-end}form.inline{margin:0}
.bar{height:6px;width:140px;background:#edf1ed;border-radius:4px;overflow:hidden}.bar span{display:block;height:100%;background:#55a57e}
.hint{color:var(--muted);font-size:12px}
@media(max-width:700px){.card.row{grid-template-columns:1fr}td.actions form{flex-direction:column}.bar{width:90px}}
