@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#1b2b25;background:#f4f6f2;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh;background:radial-gradient(circle at 90% 0%,#e2eee4 0,transparent 27%),#f4f6f2}.topbar{height:76px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e4e9e2}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:13px;background:#12372a;color:#fff;display:grid;place-items:center;font:800 25px Manrope}.brand-name{font:800 15px Manrope;letter-spacing:1.6px}.brand-name span{color:#3e8b65}.brand-sub{font-size:11px;color:#78867c;margin-top:3px}.top-actions{display:flex;align-items:center;gap:16px}.secure-label{display:flex;align-items:center;gap:6px;color:#557163;font-size:12px}.container{max-width:1400px;margin:auto;padding:38px clamp(18px,4vw,60px) 24px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:5px 0 28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#4c8b68;margin:0 0 9px}.hero h1{font:800 clamp(28px,4vw,42px) Manrope;letter-spacing:-1.5px;margin:0;color:#18382a}.hero-copy{color:#718076;margin:12px 0 0;max-width:620px;line-height:1.6}.hero-badge{display:flex;align-items:center;gap:9px;background:#e4efe5;color:#286446;border:1px solid #d3e4d6;border-radius:30px;padding:12px 16px;font-size:12px;font-weight:600;white-space:nowrap}.tabs{display:flex;gap:7px;border-bottom:1px solid #dce4db;margin-bottom:22px;overflow-x:auto}.tabs button,.ghost{border:0;background:transparent;padding:13px 16px;color:#748078;display:flex;align-items:center;gap:8px;font:600 13px DM Sans;white-space:nowrap;cursor:pointer}.tabs button.active{color:#1c6241;border-bottom:2px solid #28754f}.panel{background:#fff;border:1px solid #e3e9e1;border-radius:17px;padding:22px;box-shadow:0 4px 18px #213c2610}.filter-title,.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel h2{font:700 18px Manrope;margin:0;color:#1c3529}.panel-heading p:not(.eyebrow){color:#7a877d;font-size:12px;margin:8px 0 0;line-height:1.5}.icon-button{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid #e1e9e0;background:#f8faf7;color:#416650;cursor:pointer}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:21px}.filter-grid label,.login-form label{display:flex;flex-direction:column;gap:7px;color:#68766c;font-size:11px;font-weight:600}.filter-grid select,.filter-grid input,.login-form input{width:100%;padding:11px 12px;border:1px solid #dce5dc;border-radius:9px;background:#fbfcfa;color:#263c2f;font:500 13px DM Sans;outline-color:#4c8b68}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0}.kpi{padding:20px;border:1px solid #e3e9e1;border-radius:15px;background:#fff;display:flex;flex-direction:column;gap:8px;min-width:0}.kpi span{font-size:11px;color:#718076;font-weight:600}.kpi strong{font:800 clamp(23px,3vw,32px) Manrope;color:#1b5137;letter-spacing:-.8px;overflow-wrap:anywhere}.kpi small{font-size:10px;color:#9aa49a}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chart-panel{min-width:0}.chart{height:285px;margin-top:18px}.table-panel{margin-top:17px}.table-wrap{overflow:auto;margin-top:16px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{background:#f5f8f3;color:#6f7d71;font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}th,td{padding:13px 14px;border-bottom:1px solid #edf0eb;white-space:nowrap}td{color:#405246}tbody tr:hover{background:#fafcf9}.status{padding:5px 8px;border-radius:20px;font-size:10px;font-weight:700}.status.public{color:#26734a;background:#e4f4e8}.status.private{color:#87602a;background:#fbf0dc}.empty{height:220px;display:grid;place-items:center;text-align:center;color:#8b978d;font-size:12px;padding:20px}.login-panel{max-width:620px;margin:0 auto}.login-form{display:grid;gap:14px;margin-top:24px}.primary{display:flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:9px;padding:12px 16px;background:#1b5b3c;color:#fff;font:700 13px DM Sans;cursor:pointer}.primary:disabled{opacity:.6}.upload-box{margin-top:22px;border:1px dashed #b9cdbb;border-radius:13px;padding:23px;background:#f8fbf7}.upload-box input{max-width:100%;font-size:12px}.upload-box p{font-size:12px;color:#647468;line-height:1.6}.upload-box small{color:#9a7740;font-size:11px}.message,.setup-warning{margin-top:16px;padding:13px 16px;border-radius:10px;background:#edf5ed;border:1px solid #d6e8d6;color:#355e40;font-size:12px;line-height:1.6}.setup-warning{background:#fff8e8;border-color:#f1dfb6;color:#755a28}.setup-warning code{background:#f5ebd4;padding:2px 4px;border-radius:4px}footer{display:flex;justify-content:space-between;gap:15px;margin-top:28px;padding-top:19px;border-top:1px solid #e0e7df;color:#99a39a;font-size:10px;letter-spacing:.4px}.ghost{border:1px solid #e2e9e1;border-radius:9px;padding:8px 10px;color:#3f6951}@media(max-width:900px){.filter-grid,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.hero-badge{display:none}}@media(max-width:540px){.topbar{height:66px}.secure-label{display:none}.container{padding-top:25px}.filter-grid,.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:15px}.panel{padding:16px}.hero h1{font-size:29px}footer{flex-direction:column}.chart{height:245px}}
