*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#f3f5f3;color:#1c2b1c;display:flex;min-height:100vh}
.side{width:210px;background:#1f6b2a;color:#fff;padding:16px;flex-shrink:0}
.side h2{margin:0 0 16px;font-size:18px}.side a{display:block;color:#e8f5e9;text-decoration:none;padding:10px;border-radius:6px;margin-bottom:4px}
.side a.on,.side a:hover{background:#2f8a3b}
main{flex:1;padding:20px;min-width:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}
.card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px #0002}.card b{display:block;font-size:28px;color:#1f6b2a}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}
th,td{padding:8px 10px;border-bottom:1px solid #e3e8e3;text-align:left;font-size:14px}th{background:#e8f0e8}
.wrap{overflow-x:auto}input,select,button{padding:9px;border:1px solid #bcc9bc;border-radius:6px;font-size:14px}
button,.btn{background:#1f6b2a;color:#fff;border:0;cursor:pointer;text-decoration:none;padding:9px 14px;border-radius:6px;display:inline-block}
.pager a{padding:6px 10px;background:#fff;border-radius:4px;margin-right:4px;text-decoration:none;color:#1f6b2a}.pager a.on{background:#1f6b2a;color:#fff}
.badge{padding:2px 8px;border-radius:10px;font-size:12px;background:#ddd}.ok{background:#c8e6c9}.warn{background:#ffe0b2}
.login{margin:auto;background:#fff;padding:24px;border-radius:12px;width:320px;box-shadow:0 2px 8px #0003}.login input{width:100%;margin-bottom:10px}
.err{background:#ffcdd2;padding:8px;border-radius:6px;margin-bottom:10px}
@media(max-width:700px){body{flex-direction:column}.side{width:100%}.side nav{display:flex;flex-wrap:wrap}}
tr.bad td{background:#ffebee}
.form label{display:block;margin:10px 0 4px;font-weight:600;font-size:14px}
.form input[type=text],.form input[type=date],.form textarea{width:100%}
.form textarea{padding:9px;border:1px solid #bcc9bc;border-radius:6px;font:inherit}
.form input[type=color]{width:70px;height:38px;padding:2px}
.form h3{margin:0 0 6px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 12px}
