
:root{--green:#1b6f2a;--green2:#2e9c49;--bg:#f4f7f4;--text:#1a1f1b;--red:#c62828}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.header{background:var(--green);color:#fff;padding:10px 16px}
.brand{display:flex;align-items:center;gap:12px;background:#fff;color:var(--green);padding:14px 16px;margin-top:8px;border-radius:14px;font-weight:800;font-size:1.2rem;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.brand img{height:36px;width:36px;border-radius:8px;background:#fff}
.container{padding:16px;max-width:1000px;margin:0 auto}
.card{background:#fff;border-radius:18px;padding:16px;margin:14px 0;box-shadow:0 8px 24px rgba(0,0,0,.06)}
h1,h2,h3{margin:0 0 12px}
.btn{appearance:none;border:0;border-radius:16px;padding:10px 14px;font-weight:700;color:#fff;background:var(--green);box-shadow:0 6px 16px rgba(0,0,0,.1);cursor:pointer}
.btn.ghost{background:#eef3ee;color:var(--green)}
.btn.dark{background:#333}
.btn.red{background:var(--red)}
.btn.sm{padding:6px 10px;font-weight:600;border-radius:10px}
input,select,textarea{width:100%;padding:12px;border:1px solid #e1e6e1;border-radius:12px;background:#fff}
label{display:block;font-weight:700;margin:10px 0 6px}
.small{font-size:.9em;color:#4a554a}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-weight:700;font-size:.8rem}
.badge.green{background:#e6f4ea;color:#1b6f2a;border:1px solid #cfe8d6}
.badge.red{background:#fde7e7;color:#8b1c1c;border:1px solid #f5c9c9}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
table{width:100%;border-collapse:collapse}
th,td{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top;font-size:.95rem}
th{font-size:.9rem;color:#2c312d}
.tabbar{display:flex;gap:8px;margin:8px 0}
.tabbar button{flex:1}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;padding:10px}
.modal .panel{background:#fff;border-radius:18px;max-width:680px;width:100%;padding:16px}
.kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kpi .box{background:#f1f6f1;border:1px solid #e1eee1;border-radius:12px;padding:10px;text-align:center}
.kpi .num{font-size:1.3rem;font-weight:800}
.notice{font-size:.85rem;color:#5a655a;margin-top:8px}
.actions{display:flex;gap:6px;align-items:center}
.filtergroup{display:flex;gap:6px}
