
:root { color-scheme: light; --fg:#1f2933; --muted:#616e7c; --bg:#f7f8f4; --card:#fff; --line:#d9dccf; --accent:#5b7c00; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--fg); background:var(--bg); }
.bar { display:flex; gap:16px; align-items:center; padding:10px 20px; background:var(--card); border-bottom:1px solid var(--line); }
.bar nav { flex:1; display:flex; gap:14px; }
.bar a { color:var(--fg); text-decoration:none; }
.brand { font-weight:700; }
.who { margin-right:10px; color:var(--muted); }
main { max-width:1100px; margin:32px auto; padding:0 16px; }
h1 { font-size:1.5rem; margin:0 0 16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:20px; margin-bottom:16px; }
.cards { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.cards a { display:block; text-decoration:none; color:inherit; }
.cards a:hover .card { border-color:var(--accent); }
.card h2 { margin:0 0 6px; font-size:1.1rem; }
.muted { color:var(--muted); font-size:.9rem; }
label { display:block; margin:12px 0 4px; font-weight:600; }
input[type=email], input[type=password], input[type=text], input[type=number], input[type=datetime-local], input[type=date], input[type=time], input[type=url], select, textarea { width:100%; padding:10px; border:1px solid var(--line); border-radius:8px; font:inherit; background:#fff; }
label.check { font-weight:400; display:flex; gap:8px; align-items:center; margin:8px 0; }
textarea { min-height:96px; resize:vertical; }
button { margin-top:16px; padding:10px 18px; border:0; border-radius:8px; background:var(--accent); color:#fff; font:inherit; cursor:pointer; }
button.link { margin:0; padding:0; background:none; color:var(--accent); text-decoration:underline; }
form.inline { display:flex; align-items:center; margin:0; }
.error { background:#fdecea; border:1px solid #f5c2c0; color:#8a1f17; padding:10px 14px; border-radius:8px; margin-bottom:12px; }
table { width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--line); border-radius:10px; font-size:.95rem; display:block; overflow-x:auto; }
thead { background:#f0f2ea; }
th, td { padding:8px 12px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; white-space:nowrap; }
td.wrap, th.wrap { white-space:normal; }
tbody tr:hover { background:#fafbf7; }
tbody tr:last-child td { border-bottom:0; }
.btn { display:inline-block; padding:10px 18px; border-radius:8px; background:var(--accent); color:#fff; text-decoration:none; }
.badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:.8rem; background:#eef0e6; color:var(--fg); }
.badge.ok, .badge.success { background:#eaf6e7; color:#1f5a14; }
.badge.warn { background:#fff4d6; color:#7a5a00; }
.badge.err, .badge.error { background:#fdecea; color:#8a1f17; }
.ok { background:#eaf6e7; border:1px solid #bfe0b8; color:#1f5a14; padding:10px 14px; border-radius:8px; margin-bottom:12px; }
