:root{--ink:#24342e;--muted:#77827c;--green:#315b48;--green2:#e8f0e9;--cream:#f6f5ef;--line:#e7e9e3;--white:#fff;--gold:#c6a66a}*{box-sizing:border-box}body{margin:0;background:#f7f8f5;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}.hidden{display:none!important}.app{min-height:100vh}.sidebar{width:245px;background:#203b30;color:#fff;position:fixed;inset:0 auto 0 0;padding:27px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 35px}.brand b{font-size:15px;letter-spacing:2px}.brand small{display:block;color:#b5c7bc;font-size:11px;margin-top:3px}.brand-mark{height:48px;width:48px;border:1px solid #b9c9bd;border-radius:50%;display:grid;place-items:center;font:700 27px 'Playfair Display';color:var(--gold)}.brand-mark.small{height:38px;width:38px;font-size:22px}.nav{border:0;background:transparent;color:#c5d0c9;text-align:left;padding:13px 14px;border-radius:9px;margin:3px 0;cursor:pointer;font-size:17px}.nav span{font-size:13px;margin-left:10px}.nav.active,.nav:hover{background:#345644;color:white}.side-bottom{margin-top:auto;color:#b5c7bc;font-size:11px;padding:14px 8px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#79c79b;margin-right:6px}.side-bottom button{display:block;background:none;border:0;color:#fff;margin-top:20px;cursor:pointer}.main{margin-left:245px;padding:0 38px 50px;max-width:1800px}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#87948b;font-weight:700;margin:0 0 7px}.topbar h2{font:600 27px 'Playfair Display';margin:0}.top-actions{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:12px}.primary,.secondary{border:0;border-radius:8px;padding:11px 17px;background:var(--green);color:#fff;font-weight:600;cursor:pointer;font-family:inherit}.primary:hover{background:#254535}.secondary{background:#edf1ec;color:var(--green);border:1px solid #dce4dc}.full{width:100%;margin-top:18px}.welcome{background:#315b48;color:white;border-radius:15px;padding:30px 36px;min-height:195px;display:flex;justify-content:space-between;overflow:hidden;position:relative}.welcome h1{font:600 30px 'Playfair Display';line-height:1.15;margin:8px 0}.welcome p:not(.eyebrow){color:#d5e0d8;margin:8px 0 0}.eyebrow.light{color:#d1dfd5}.welcome-art{font:700 180px 'Playfair Display';color:#ffffff12;line-height:.9;margin:-4px 55px 0 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px 20px}.metric span{display:block;color:var(--muted);font-size:12px}.metric b{display:block;font:600 25px 'Playfair Display';margin-top:10px}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:17px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}.panel h3,.toolbar h3{font:600 18px 'Playfair Display';margin:0}.panel-head,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head p,.toolbar p{margin:5px 0 0;color:var(--muted);font-size:12px}.text-btn{border:0;background:none;color:var(--green);font-weight:600;cursor:pointer}.collection{height:15px;background:#eef1ed;border-radius:20px;overflow:hidden;margin:30px 0 14px}.collection span{height:100%;display:block;background:#47785b}.legend{font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.toolbar{margin:10px 0 20px}.filters{display:flex;gap:10px;margin-bottom:14px}.filters input{max-width:350px}.filters input,select,input,textarea{font:inherit;border:1px solid #dfe4dd;border-radius:7px;padding:10px 11px;background:#fff;color:var(--ink);min-width:0}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;background:#f7f8f5;color:#718077;font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:13px 14px}td{padding:13px 14px;border-top:1px solid #eef0eb}td b{font-weight:600}.tag{font-size:10px;background:#edf4ee;color:#356148;border-radius:20px;padding:6px 9px}.muted{color:var(--muted)}.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.upload-panel{text-align:center;padding:34px 24px}.upload-icon{font-size:30px;color:var(--green);background:var(--green2);height:56px;width:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px}.upload-panel p{color:var(--muted);font-size:12px;line-height:1.6;max-width:380px;margin:9px auto 20px}.file-drop{display:inline-block;border:1px dashed #9db3a2;background:#f5f8f4;color:var(--green);padding:11px 20px;border-radius:8px;cursor:pointer;font-weight:600}.file-drop input{display:none}.small-text{font-size:11px;margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:#68766e}.form-grid input,.form-grid select,.form-grid textarea{width:100%;font-weight:400}.span2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:10px}.modal{position:fixed;inset:0;background:#17251fcc;display:grid;place-items:center;padding:20px;z-index:5}.modal-card{background:#fff;border-radius:14px;padding:23px;width:min(680px,100%);max-height:90vh;overflow:auto}.icon-btn{border:0;background:#f1f3ef;border-radius:7px;padding:7px 10px;cursor:pointer}.error{color:#b53a3a;font-size:12px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#203b30,#496d55)}.login-card{width:min(390px,92vw);background:white;border-radius:17px;padding:36px;text-align:center;box-shadow:0 18px 70px #10251a55}.login-card h1{font:700 32px 'Playfair Display';letter-spacing:3px;margin:8px}.login-card .muted{margin:0 0 28px}.login-card form{text-align:left}.login-card label{display:block;font-size:12px;margin-bottom:7px}.login-card input{width:100%}.login-card small{display:block;color:#929b94;font-size:10px;line-height:1.5;margin-top:18px}.login-card .brand-mark{margin:auto}.login-card .eyebrow{margin-top:18px}.login-card .error{min-height:15px}.collection-empty{padding:25px;color:var(--muted);text-align:center}.report-kpi{background:#f7f8f5;padding:18px;border-radius:9px}.report-kpi span{color:var(--muted);font-size:11px}.report-kpi b{display:block;font-size:22px;margin-top:8px}@media(max-width:950px){.sidebar{width:68px;padding:20px 9px}.brand{padding:0 5px 30px}.brand>div:last-child,.nav span,.side-bottom{display:none}.nav{text-align:center;padding:13px 5px}.main{margin-left:68px;padding:0 18px 35px}.cards{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media(max-width:650px){.main{padding:0 12px 30px}.topbar{height:85px}.topbar h2{font-size:23px}.top-actions #today{display:none}.welcome{padding:24px}.welcome-art{display:none}.welcome h1{font-size:26px}.cards{gap:9px}.metric{padding:14px}.metric b{font-size:21px}.import-grid{grid-template-columns:1fr}.toolbar{align-items:flex-start}.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}.filters{flex-direction:column}.filters input{max-width:none}}
