:root{--navy:#0e3b55;--blue:#2d9cdb;--teal:#18a999;--orange:#f2994a;--bg:#f4f7f9;--ink:#10202b;--muted:#6b7b84;--line:#dbe5e9}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,"Microsoft YaHei",sans-serif;color:var(--ink)}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.side{background:var(--navy);color:#fff;padding:26px 18px}.logo{font-size:24px;font-weight:800;margin-bottom:40px}.menu{display:grid;gap:7px}.menu button{background:transparent;color:#ccebf2;text-align:left;border:0;border-radius:8px;padding:13px 14px;cursor:pointer;font-size:15px}.menu button.active,.menu button:hover{background:#1c5673;color:#fff}.main{padding:30px 4%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.topbar h1{margin:0;font-size:30px}.topbar span{color:var(--muted);font-size:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.metric strong{font-size:34px;color:var(--blue);display:block;margin-bottom:8px}.metric span{font-size:14px;color:var(--muted)}.content{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:18px}.panel h2{font-size:20px;margin:0 0 18px}.rows{display:grid;gap:10px}.row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1f3;font-size:14px}.row:last-child{border-bottom:0}.tag{font-size:12px;border-radius:12px;padding:4px 8px;background:#e7f7ee;color:#16864b}.tag.orange{background:#fff1e4;color:#b45c14}.blue{color:var(--blue);font-weight:700}.chart{height:210px;display:flex;align-items:end;gap:18px;padding:12px 12px 24px;border-bottom:1px solid var(--line)}.bar{width:42px;background:linear-gradient(#7ed6e8,#2d9cdb);border-radius:7px 7px 0 0;position:relative}.bar span{position:absolute;top:-23px;left:0;width:42px;text-align:center;font-size:12px;color:var(--muted)}.labels{display:flex;gap:18px;padding:8px 12px;font-size:12px;color:var(--muted)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:13px 8px;border-bottom:1px solid #edf1f3}.table th{color:var(--muted);font-weight:400}@media(max-width:850px){.layout{grid-template-columns:1fr}.side{padding:16px}.menu{display:flex;overflow:auto}.main{padding:20px 16px}.metrics{grid-template-columns:1fr 1fr}.content{grid-template-columns:1fr}}
