:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#183326;background:#f5f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.center{min-height:100vh;display:grid;place-items:center}.spinner{width:40px;height:40px;border:4px solid #d6e4d7;border-top-color:#167443;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.4px}.brand svg{color:#65c985;fill:#65c98533}.eyebrow{margin:0 0 8px;color:#648070;font-size:11px;font-weight:800;letter-spacing:1.6px}.eyebrow.light{color:#a9d7b7}.setup-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#e6f3e8,#f5f7f3 55%)}.setup-card{width:min(560px,100%);padding:48px;background:#fff;border:1px solid #dde6df;border-radius:24px;box-shadow:0 24px 70px #18332615}.setup-card h1{margin:0 0 12px;font-size:36px;letter-spacing:-1.2px}.setup-card p{color:#5a6d61;line-height:1.65}.brand-mark{display:grid;place-items:center;width:60px;height:60px;margin-bottom:28px;color:#fff;background:#176b3b;border-radius:18px}.status-pill{display:flex;align-items:center;gap:8px;margin-top:26px;padding:12px 14px;color:#176b3b;background:#eaf6ed;border-radius:10px;font-weight:700;font-size:13px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-copy{display:flex;flex-direction:column;justify-content:space-between;padding:52px clamp(42px,7vw,110px);color:#fff;background:linear-gradient(145deg,#103d25,#176b3b 60%,#25884f)}.login-copy h1{max-width:620px;margin:0;font-size:clamp(40px,5vw,72px);line-height:1.03;letter-spacing:-3px}.login-copy p:not(.eyebrow){max-width:550px;color:#cbe2d1;font-size:18px;line-height:1.6}.login-copy small{color:#a9d7b7}.login-panel{display:grid;place-items:center;padding:36px;background:#fff}.login-form{width:min(410px,100%)}.login-form h2{margin:0 0 8px;font-size:30px;letter-spacing:-.8px}.login-form>p{margin:0 0 34px;color:#718078}label{display:grid;gap:8px;margin:18px 0;font-size:13px;font-weight:700}input{width:100%;padding:13px 14px;border:1px solid #cfd9d1;border-radius:10px;outline:none}input:focus{border-color:#298454;box-shadow:0 0 0 3px #29845420}.primary{width:100%;margin-top:12px;padding:14px;color:#fff;background:#176b3b;border:0;border-radius:10px;font-weight:800}.primary:disabled{opacity:.65}.link-button{width:100%;margin-top:14px;padding:10px;color:#176b3b;background:transparent;border:0;font-weight:750}.link-button:hover{text-decoration:underline}.error{margin:14px 0;padding:12px 14px;color:#9c2f22;background:#fff0ed;border:1px solid #f6c7bf;border-radius:9px;font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:30px 22px;color:#eaf4ed;background:#123b26}aside .brand{padding:0 10px 30px}nav{display:grid;gap:7px;margin-top:22px}nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;color:#abc5b3;border-radius:9px;text-decoration:none;font-size:14px;font-weight:650}nav a svg,.sign-out svg{width:18px}nav a.active,nav a:hover{color:#fff;background:#ffffff12}.sign-out{display:flex;align-items:center;gap:10px;margin-top:auto;padding:12px;color:#bad0c0;background:transparent;border:0}.dashboard{min-width:0;padding:40px clamp(24px,5vw,72px) 72px}.dashboard header{display:flex;align-items:center;justify-content:space-between;gap:20px}.dashboard h1{margin:0;font-size:clamp(26px,4vw,38px);letter-spacing:-1.3px}.role-badge{padding:8px 12px;color:#176b3b;background:#dff1e4;border-radius:999px;font-size:12px;font-weight:800;text-transform:capitalize}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0 24px}.metric{display:grid;gap:8px;padding:24px;background:#fff;border:1px solid #e1e7e2;border-radius:15px}.metric span,.metric small{color:#718078;font-size:12px}.metric strong{font-size:26px;letter-spacing:-.8px}.table-card{overflow:hidden;background:#fff;border:1px solid #e1e7e2;border-radius:15px}.section-head{padding:24px 26px 18px}.section-head h2{margin:0;font-size:21px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{padding:12px 18px;color:#718078;background:#f7f9f7;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px}td{padding:16px 18px;border-top:1px solid #edf0ed;white-space:nowrap}.empty{padding:45px;color:#7b8980;text-align:center}@media(max-width:840px){.login-page{grid-template-columns:1fr}.login-copy{min-height:40vh;padding:30px}.login-copy h1{font-size:40px;letter-spacing:-1.8px}.login-copy small{display:none}.app-shell{grid-template-columns:1fr}aside{position:static;height:auto;padding:18px 20px}aside nav{display:none}aside .brand{padding:0}.sign-out{position:absolute;right:16px;top:12px}.dashboard{padding:28px 18px 50px}.dashboard header{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr}}
