:root{--g:#1f5a47;--g2:#153f33;--bg:#f4f7f5;--line:#dbe5e0;--txt:#1e2e28;--muted:#6b7c75}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--g);text-decoration:none}.container{max-width:1180px;margin:auto;padding:28px 20px}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:14px max(20px,calc((100% - 1140px)/2));display:flex;justify-content:space-between;align-items:center}.topbar nav{display:flex;gap:18px;align-items:center}.inline{display:inline}.linkbtn{border:0;background:none;color:var(--g);cursor:pointer;font:inherit}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-head h1{margin:0;font-size:28px}.badge{background:#e1eee8;color:var(--g2);padding:7px 10px;border-radius:999px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.card,.panel,.auth-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 20px rgba(30,70,55,.05)}.card{padding:20px}.metric{font-size:32px;font-weight:750;color:var(--g)}.panel{padding:22px;margin-bottom:18px}.auth-card{max-width:500px;margin:7vh auto;padding:28px}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}label{display:block;font-weight:650;margin:14px 0 6px}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #c9d7d0;border-radius:9px;background:#fff;font:inherit}textarea{min-height:95px}.btn{display:inline-block;margin-top:16px;padding:10px 16px;border:0;border-radius:9px;background:#e5ede9;color:var(--g2);font-weight:700;cursor:pointer}.btn.primary{background:var(--g);color:#fff}.alert{max-width:1180px;margin:0 auto 15px;padding:11px 14px;border-radius:8px}.alert.success{background:#e4f3e9;color:#235f3c}.alert.error{background:#fde8e8;color:#9d2929}.muted{color:var(--muted)}.steps{display:flex;gap:8px;flex-wrap:wrap}.steps span{padding:8px 11px;background:#edf4f1;border-radius:8px}.footer{text-align:center;padding:30px;color:var(--muted)}
@media(max-width:800px){.cards{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:10px}.topbar nav{flex-wrap:wrap}}