:root{--green:#123c2b;--gold:#b27a18;--bg:#f3f7f5;--text:#24312b;--muted:#6b756f;--card:#fff;--line:#dde5e0;--danger:#b42318;--ok:#177245}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.container{width:min(1120px,92%);margin:auto}.nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.navin{min-height:70px;display:flex;align-items:center;gap:20px}.brand{font-size:24px;font-weight:800;letter-spacing:3px;color:var(--green);text-decoration:none}.navlinks{margin-left:auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.navlinks a{text-decoration:none;color:#34433c;font-size:14px}.btn{display:inline-block;border:0;border-radius:8px;background:var(--gold);color:#fff;padding:12px 18px;text-decoration:none;font-weight:700;cursor:pointer}.btn.secondary{background:var(--green)}.btn.ghost{background:#fff;color:var(--green);border:1px solid var(--line)}.hero{padding:78px 0;background:linear-gradient(135deg,#edf5f0,#fff7e8)}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center}.kicker{font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:1.5px}.hero h1{font-size:54px;line-height:1.02;margin:12px 0;color:var(--green)}.hero p{font-size:18px;line-height:1.7;color:var(--muted)}.hero-card,.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(18,60,43,.06)}.section{padding:58px 0}.section h2{color:var(--green);font-size:34px;margin-top:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric{font-size:28px;font-weight:800;color:var(--green);margin-top:8px}.muted{color:var(--muted);line-height:1.6}.footer{padding:28px 0;background:#0f3023;color:#d9e7df;margin-top:50px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}.auth-card{width:min(440px,94vw);background:#fff;padding:34px;border-radius:16px;box-shadow:0 10px 36px rgba(0,0,0,.09)}.auth-card h1{text-align:center;color:var(--green);letter-spacing:3px}.auth-card h2{text-align:center;color:var(--green)}input,select{width:100%;padding:13px;border:1px solid #cfd8d2;border-radius:8px;margin:7px 0 10px;font-size:15px}label{font-size:13px;font-weight:700;color:#415149}.message{margin-top:14px;padding:11px;border-radius:8px;display:none}.message.error{display:block;background:#fff0ef;color:var(--danger)}.message.ok{display:block;background:#edf9f2;color:var(--ok)}.dashboard{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#0f3023;color:#fff;padding:24px 18px}.sidebar .brand{color:#fff}.sidebar a{display:block;text-decoration:none;color:#dbe8e1;padding:12px;border-radius:8px;margin-top:6px}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.1)}.main{padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf5f0;color:var(--green);font-size:12px;font-weight:700}.center{text-align:center}.success-icon{width:74px;height:74px;border-radius:50%;background:#e7f7ed;color:var(--ok);display:grid;place-items:center;font-size:42px;margin:20px auto}.notice{background:#fff7e8;border:1px solid #ead7aa;padding:14px;border-radius:10px;color:#67511e}.codebox{background:#f7f9f8;border:1px dashed #bac8c0;padding:12px;border-radius:8px;word-break:break-all}
@media(max-width:850px){.hero-grid,.grid3,.grid4,.cards{grid-template-columns:1fr 1fr}.dashboard{grid-template-columns:1fr}.sidebar{position:relative}.navlinks{display:none}.hero h1{font-size:42px}}
@media(max-width:560px){.hero-grid,.grid3,.grid4,.cards{grid-template-columns:1fr}.hero{padding:48px 0}.hero h1{font-size:36px}.main{padding:18px}}
