*{box-sizing:border-box}body{margin:0;background:#f3f5f7;color:#172e3b;font-family:Inter,Segoe UI,sans-serif}.app{display:flex;min-height:100vh}aside{width:248px;background:#122b39;color:#d6e3e7;padding:32px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:1px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;background:#d8ef8a;color:#183b36;width:44px;height:44px;border-radius:12px;font-size:18px;font-weight:800;letter-spacing:-1px}.brand small{display:block;font-size:10px;color:#8da4af;margin-top:6px;letter-spacing:2px}.nav-label{font-size:10px;letter-spacing:2px;color:#829ba8;margin:52px 12px 17px}.nav-active{padding:14px;background:#244552;border-radius:8px;display:flex;gap:12px;font-size:14px}.side-bottom{margin-top:auto;font-size:12px;line-height:1.8;color:#b7cbd4}.side-bottom p{font-size:11px;color:#8ca7b4}main{margin-left:248px;padding:0 42px;width:calc(100% - 248px);max-width:1800px}header{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e6e9;font-size:10px;letter-spacing:2px}.heading{display:flex;align-items:center;justify-content:space-between;padding:35px 0 25px}.eyebrow{font-size:10px;letter-spacing:2px;color:#6b838e;font-weight:600}h1{font-size:36px;letter-spacing:-1.5px;margin:10px 0}h1 span{color:#148779}.heading p,.panel-title p{color:#778995;font-size:13px;margin:8px 0}.filters{display:flex;align-items:end;gap:14px;padding:24px 0;flex-wrap:wrap}.filters label{display:block;font-size:10px;letter-spacing:1.3px;color:#71848e;margin-bottom:8px}.filters .ant-select{min-width:220px}.sync{font-size:11px;color:#768a94;margin-left:auto;align-self:center}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metrics article{border:1px solid #e1e7eb;background:#fff;border-radius:12px;padding:24px 22px}.metric-label{font-size:12px;color:#6b808b}.metrics strong{display:block;font-size:29px;letter-spacing:-1px;margin:16px 0}.metrics small{font-size:11px;color:#85969d}.metrics .featured{background:#176f64;color:#fff;border-color:#176f64}.featured .metric-label,.featured small{color:#c3e1d7}.panel{background:#fff;border:1px solid #e1e7eb;border-radius:12px;padding:24px;margin-bottom:24px;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}h2{font-size:17px;margin:0;font-weight:600;letter-spacing:-.3px}.legend{font-size:11px;color:#137c70}.chart{display:flex;height:210px;gap:12px;overflow-x:auto;align-items:stretch}.bar-column{flex:1;min-width:40px;max-width:180px;display:flex;flex-direction:column;align-items:center;gap:8px}.bar-column>span{font-size:10px;color:#7a8c94}.bar-track{height:155px;width:65%;display:flex;align-items:end;border-radius:5px;background:#f1f7f5}.bar{width:100%;background:#299888;border-radius:5px 5px 0 0;min-height:2px}.bar.negative{background:#d58b63}.bar-column small{font-size:10px;color:#7a8c94;white-space:nowrap}footer{display:flex;justify-content:space-between;padding:2px 0 28px;font-size:10px;letter-spacing:1px;color:#7d919b}footer span{letter-spacing:0}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#122b39;padding:24px}.login-card{background:#fff;width:430px;border-radius:16px;padding:36px}.login-card h1{font-size:28px}.login-card p{color:#7d919b;margin-bottom:28px}.login-card .ant-alert{margin-bottom:18px}@media(min-width:1600px){main{padding:0 64px}}@media(max-width:1100px){aside{width:200px;padding:24px 16px}main{margin-left:200px;width:calc(100% - 200px);padding:0 24px}.metrics{grid-template-columns:repeat(2,1fr)}.sync{width:100%;margin-left:0}}@media(max-width:700px){aside{position:static;width:100%;padding:16px}.app{display:block}.brand{font-size:10px}.nav-label,.nav-active,.side-bottom{display:none}main{margin-left:0;width:100%;padding:0 16px}header{height:56px}.heading{align-items:start;gap:12px}.heading h1{font-size:29px}.heading p{max-width:230px;line-height:1.5}.heading>.ant-btn{margin-top:28px}.metrics{gap:10px}.metrics article{padding:18px 14px}.metrics strong{font-size:23px}.panel{padding:18px 12px}.filters>div,.filters .ant-select,.filters .ant-picker{width:100%}.sync{line-height:1.5}footer{gap:12px;font-size:9px}}
