:root{
  --forest-900:#0D2B1F; --forest-800:#1A4733; --forest-700:#1F5C3F; --forest-600:#267349;
  --forest-500:#2D8A56; --forest-400:#3DAB6A; --forest-300:#6DC294; --forest-100:#D4EFE2;
  --forest-50:#EEF8F3; --neutral-900:#131A16; --neutral-800:#1E2921; --neutral-700:#2E3D34;
  --danger:#b91c1c; --warn:#b45309;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:var(--forest-50);color:var(--neutral-800)}
header{background:linear-gradient(180deg,rgba(13,43,31,.96),rgba(26,71,51,.9));color:#fff;position:sticky;top:0;z-index:10}
header .bar{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 16px}
header h1{font-size:18px;margin:0}
header .session{display:flex;align-items:center;gap:10px;font-size:13px}
nav.top{max-width:1100px;margin:0 auto;display:flex;gap:8px;padding:0 16px 12px;flex-wrap:wrap}
.pill{background:rgba(255,255,255,.12);color:#fff;text-decoration:none;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}
.pill.active{background:#fff;color:var(--forest-900)}
.pill:hover{background:rgba(255,255,255,.25)}
main{max-width:1100px;margin:22px auto;padding:0 16px}
.grid{display:grid;gap:16px}
@media(min-width:720px){ .grid{grid-template-columns:repeat(3,1fr)} }
.card{background:#fff;border:1px solid #e5ece8;border-radius:16px;padding:18px;box-shadow:0 2px 8px rgba(13,43,31,.06);margin-bottom:16px}
.card h2{font-size:14px;color:var(--forest-700);margin:0 0 10px}
.metric{font-size:32px;font-weight:800;color:var(--forest-900)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
button{appearance:none;border:0;background:var(--forest-700);color:#fff;padding:10px 14px;border-radius:12px;font-weight:600;cursor:pointer}
button:hover{background:var(--forest-600)}
button.ghost{background:rgba(255,255,255,.15);border:0;color:#fff;padding:6px 10px;border-radius:999px;cursor:pointer;font-size:12px}
button.secondary{background:var(--forest-100);color:var(--forest-900)}
button.danger{background:var(--danger)}
.field{margin-bottom:12px}
.field label{display:block;font-size:12px;font-weight:600;color:var(--neutral-700);margin-bottom:4px}
.field input,.field select{width:100%;padding:9px 11px;border:1px solid #dbe7df;border-radius:10px;background:#fff;color:var(--neutral-900);outline:none;font-size:14px}
.field input:focus,.field select:focus{border-color:var(--forest-500)}
.msg{min-height:18px;font-size:13px;margin-top:8px}
.msg.error{color:var(--danger)}
.msg.ok{color:var(--forest-700)}
table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #eef3f0}
th{color:var(--forest-700);font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.row-actions{display:flex;gap:8px}
.empty{color:var(--neutral-700);font-size:13px;padding:8px 0}
.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}
.login-wrap .card{background:#fff;border:1px solid #e5ece8;border-radius:16px;padding:24px;width:100%;max-width:360px}
.login-wrap .card h1{font-size:20px;color:var(--forest-900);margin-bottom:4px}
.login-wrap .card p{color:var(--neutral-700);font-size:13px;margin-bottom:16px}
.login-wrap button{width:100%}
