:root{--ink:#17211d;--muted:#6d7872;--line:#e5e9e6;--green:#1d6b4d;--green2:#dff2e9;--cream:#f7f7f3;--orange:#e89b3c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#12261e;color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:16px}.brand>span,.logo{display:grid;place-items:center;width:42px;height:42px;background:var(--orange);color:#12261e;border-radius:13px;font-weight:900;font-size:20px}.brand small,.side-bottom small{display:block;color:#91a69d;font-size:11px;margin-top:4px}.sidebar nav{display:grid;gap:7px;margin-top:48px}.sidebar nav button{border:0;background:transparent;color:#b8c8c1;text-align:left;padding:13px 16px;border-radius:12px;cursor:pointer}.sidebar nav button.active{background:#244338;color:#fff;font-weight:700}.side-bottom{margin-top:auto;padding-top:20px;border-top:1px solid #315045;display:flex;align-items:center;gap:10px;font-size:12px}.side-bottom button{margin-left:auto;background:transparent;border:0;color:#9fb2aa}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e0a44c;color:#17211d;font-weight:700}.content{margin-left:248px;padding:38px 4.5vw 100px;max-width:1450px}header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px}h1{font-size:34px;margin:4px 0 0;letter-spacing:-1px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--green);margin:0}.header-actions{display:flex;gap:10px}button{cursor:pointer}.primary,.secondary,.ghost{border-radius:11px;padding:11px 15px;font-weight:700}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.secondary{background:#fff;color:var(--green);border:1px solid #bfd2c8}.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.hero-stat{background:linear-gradient(115deg,#1d6b4d,#275b48);color:#fff;padding:30px 34px;border-radius:22px;margin-bottom:16px;position:relative;overflow:hidden}.hero-stat:after{content:"";position:absolute;width:220px;height:220px;border:35px solid rgba(255,255,255,.07);border-radius:50%;right:-55px;top:-70px}.hero-stat p{margin:0;color:#c6ded4}.hero-stat h2{font-size:44px;letter-spacing:-2px;margin:8px 0}.hero-stat span{font-size:12px;color:#bed6cb}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:17px}.metric{padding:21px}.metric p,.metric small{color:var(--muted);margin:0}.metric strong{font-size:25px;display:block;margin:9px 0}.metric small{font-size:11px}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.panel{padding:22px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel h3{font-size:18px;margin:5px 0 0}.area-row,.list-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf0ee}.area-row>div:nth-child(2),.list-row>div{flex:1}.area-row small,.list-row small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.area-icon{width:38px;height:38px;background:var(--green2);color:var(--green);border-radius:11px;display:grid;place-items:center;font-size:22px}.area-row strong,.list-row strong{font-size:14px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick button{border:1px solid var(--line);background:#fafbf9;border-radius:13px;padding:14px;text-align:left;font-weight:700}.quick span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--green2);color:var(--green);margin-bottom:10px}.quick small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty>div{font-size:32px;color:var(--green)}.empty b{display:block;color:var(--ink);margin:10px}.empty p{font-size:13px}.negative{color:#b44a42}.error{padding:12px 14px;background:#ffe8e4;color:#9b3a32;border-radius:10px;margin:10px 0;font-size:13px}.loader{padding:80px;text-align:center;color:var(--muted)}.overlay{position:fixed;inset:0;background:#0a19138c;display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(460px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:28px;position:relative}.modal h2{margin:7px 0 22px}.close{position:absolute;right:20px;top:16px;background:transparent;border:0;font-size:26px;color:var(--muted)}label{display:block;font-size:12px;font-weight:700;margin:13px 0}input,select{display:block;width:100%;border:1px solid #dbe1dd;border-radius:10px;padding:12px;margin-top:7px;background:#fff}input:focus,select:focus{outline:2px solid #a8d3bf;border-color:var(--green)}.wide{width:100%;margin-top:14px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#dbeee5,#f7f7f3 55%);padding:20px}.login-card{text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:42px;width:min(430px,100%);box-shadow:0 22px 60px #17372b1a}.login .logo{margin:0 auto 22px}.login h1{font-size:32px}.login p:not(.eyebrow){color:var(--muted);line-height:1.6}.login button{width:100%;padding:13px;border:0;border-radius:11px;background:var(--green);color:#fff;font-weight:700;margin:12px 0}.login small{color:var(--muted)}.bottom-nav{display:none}@media(max-width:800px){.sidebar{display:none}.content{margin:0;padding:24px 16px 92px}header{align-items:center}h1{font-size:28px}.ghost{display:none}.primary{padding:11px 12px}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid .metric:last-child{grid-column:1/-1}.two-col{grid-template-columns:1fr}.hero-stat h2{font-size:36px}.bottom-nav{position:fixed;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:8px 6px max(8px,env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:transparent;color:var(--muted);font-size:11px;padding:8px 2px}.bottom-nav button.active{color:var(--green);font-weight:800}.quick{grid-template-columns:1fr 1fr}.panel{padding:18px}}
