:root{--green:#2f6b3b;--green2:#6da843;--cream:#f7f6ef;--ink:#17301f;--muted:#6a756c;--white:#fff;--danger:#b42318;--shadow:0 18px 45px rgba(31,73,44,.14)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#f6f8f2,#eef4ea);color:var(--ink);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.hero{padding:48px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#dcebcf,transparent 40%),linear-gradient(160deg,#eff6e9,#dbe9cf)}.hero-card{max-width:560px}.logo-wrap{width:230px;height:230px;border-radius:36px;overflow:hidden;background:white;box-shadow:var(--shadow);margin-bottom:28px}.logo-wrap img{width:100%;height:100%;object-fit:cover}.hero h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:.98;margin:0 0 16px}.hero p{font-size:1.05rem;line-height:1.7;color:#49614f;max-width:500px}.tag{display:inline-flex;gap:8px;align-items:center;background:#fff;padding:10px 14px;border-radius:999px;color:var(--green);font-weight:700;box-shadow:0 8px 25px rgba(47,107,59,.1);margin-bottom:18px}.panel{display:flex;align-items:center;justify-content:center;padding:28px}.card{width:min(470px,100%);background:rgba(255,255,255,.95);border:1px solid rgba(47,107,59,.1);border-radius:28px;box-shadow:var(--shadow);padding:28px}.card h2{margin:0 0 8px;font-size:1.8rem}.sub{color:var(--muted);margin:0 0 22px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#edf3e9;padding:6px;border-radius:16px;margin-bottom:18px}.tab{border:0;background:transparent;padding:11px 8px;border-radius:12px;color:#526157;font-weight:700}.tab.active{background:#fff;color:var(--green);box-shadow:0 5px 14px rgba(47,107,59,.1)}.field{display:grid;gap:7px;margin:14px 0}.field label{font-weight:700;font-size:.93rem}.field input,.field select{width:100%;border:1px solid #d9e2d6;border-radius:14px;padding:13px 14px;background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--green2);box-shadow:0 0 0 4px rgba(109,168,67,.12)}.primary,.secondary,.ghost{border:0;border-radius:14px;padding:13px 16px;font-weight:800}.primary{background:var(--green);color:#fff;width:100%;box-shadow:0 9px 20px rgba(47,107,59,.22)}.secondary{background:#e7f1e1;color:var(--green)}.ghost{background:transparent;color:var(--green)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.switch-link{border:0;background:transparent;color:var(--green);font-weight:800;padding:0}.notice{margin-top:14px;border-radius:12px;padding:11px 13px;font-size:.93rem;display:none}.notice.show{display:block}.notice.ok{background:#e8f6e8;color:#21642c}.notice.err{background:#fff0ee;color:var(--danger)}.dashboard{min-height:100vh;background:#f4f7f1}.topbar{height:76px;background:#fff;border-bottom:1px solid #dfe8dc;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0}.brand{display:flex;align-items:center;gap:12px;font-weight:900}.brand img{width:46px;height:46px;border-radius:13px;object-fit:cover}.content{max-width:1100px;margin:0 auto;padding:28px 20px}.welcome{background:linear-gradient(135deg,var(--green),#4d8a50);color:white;padding:28px;border-radius:24px;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.tile{background:#fff;border:1px solid #e1e9df;border-radius:20px;padding:20px;min-height:145px}.tile h3{margin:10px 0 8px}.tile p{color:var(--muted);margin:0 0 14px}.icon{font-size:1.7rem}.pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#eaf3e6;color:var(--green);font-weight:800;font-size:.82rem}.footer-note{margin-top:18px;color:var(--muted);font-size:.9rem}.hidden{display:none!important}@media(max-width:850px){.shell{grid-template-columns:1fr}.hero{padding:28px 22px 10px}.hero-card{text-align:center}.logo-wrap{width:150px;height:150px;margin:0 auto 18px}.hero h1{font-size:2.35rem}.panel{padding:14px 18px 28px}.grid{grid-template-columns:1fr}.card{padding:22px}}
