:root{--green:#167960;--dark:#152d29;--muted:#7b8985;--line:#e5ebe7;--bg:#f5f7f5;--amber:#c68c24}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.65 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--dark)}button,a,select{ -webkit-tap-highlight-color:transparent}button,select,input{font:inherit}button,a{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #8dd2b9;outline-offset:3px}a{color:inherit;text-decoration:none}aside{width:236px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:30px 20px;z-index:3}.brand{display:flex;gap:12px;align-items:center;font-size:25px;font-weight:650;letter-spacing:-1px}.brand b{font-weight:400;color:var(--green)}small{display:block;font-size:11px;letter-spacing:.8px;color:var(--muted)}.logo{height:42px;width:42px;background:#173f34;border-radius:12px;color:white;text-align:center;font-size:30px;position:relative}.logo span{font-size:15px;color:#c0e5a6;position:absolute;right:1px;top:-7px}.workspace{padding:12px;background:#f3f6f3;border:1px solid var(--line);border-radius:8px;margin:36px 0 29px;font-size:12px}.workspace span{float:right}aside label{font-size:11px;color:#93a099;margin-left:12px}nav{margin-top:14px}nav a{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:8px;margin:7px 0;color:#74827c;font-size:13px}nav a.active{background:#e8f1ec;color:#16674f;font-weight:650}nav a i{font-style:normal;width:20px;font-size:20px}nav a em{margin-left:auto;font:10px sans-serif;background:#d9e9df;padding:3px 6px;border-radius:4px}.side-bottom{position:absolute;bottom:26px;left:28px;right:24px;font-size:12px}.side-bottom p{font-size:10px;color:#8c9892;margin:5px 0 28px}.side-bottom>span{display:inline-block;vertical-align:middle;margin-left:8px}.avatar{display:inline-flex;background:#e8eee7;border-radius:50%;width:31px;height:31px;align-items:center;justify-content:center;color:#4a695a;font-size:12px}.pulse{display:inline-block;background:#77a97c;height:7px;width:7px;border-radius:50%;margin-right:8px}.shell{margin-left:236px}header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;font-size:12px;color:#829088}.header-right{display:flex;gap:24px;align-items:center}.demo{color:#9b7b3b;background:#faf3e4;padding:4px 10px;border-radius:5px;font-size:11px}main{max-width:1600px;margin:auto;padding:31px 36px}h1{font-size:28px;letter-spacing:-1px;margin:0 0 7px;font-weight:600}h2{font-size:16px;margin:0;font-weight:600}h3{font-size:14px;margin:0 0 12px}.subtitle{color:var(--muted);font-size:12px;margin:0}.titlebar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.buttons{display:flex;gap:10px;align-items:center}button{border:1px solid #dfe7e0;background:#fff;color:#496357;padding:8px 15px;border-radius:6px;font-size:12px}button.primary{background:var(--green);color:white;border-color:var(--green)}button:hover{filter:brightness(.96)}select,input{border:1px solid var(--line);border-radius:6px;background:white;padding:8px 12px;font-size:12px;color:#617268}.hero{background:#183e32;color:white;border-radius:12px;padding:26px 30px;margin-bottom:23px;display:flex;justify-content:space-between;position:relative;overflow:hidden}.hero:after{content:'✦';font-size:210px;line-height:1;position:absolute;right:240px;top:-50px;color:#85b08b10;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px;color:#b2cfba}.hero h2{font-size:23px;margin:7px 0;font-weight:500}.hero p{color:#b8cbbf;font-size:12px;margin:0}.hero .hero-stat{display:flex;gap:42px;align-items:center}.hero-stat strong{font-size:30px;font-weight:500;display:block}.hero-stat small{color:#b9cfbf;letter-spacing:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.metric{background:white;border:1px solid var(--line);border-radius:9px;padding:19px 21px}.metric-label{font-size:12px;color:#6b7c73;display:flex;justify-content:space-between}.metric strong{display:block;font-size:29px;font-weight:550;line-height:1.3;margin:11px 0}.metric strong small{display:inline;font-size:12px;font-weight:400;letter-spacing:0;margin-left:5px}.metric p{font-size:10px;color:#8e9b92;margin:0}.up{color:#2d8f6a}.amber{color:var(--amber)}.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-bottom:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.panel-head span{font-size:11px;color:var(--muted)}.legend{display:flex;gap:18px;font-size:10px;color:#839087}.legend b{height:7px;width:7px;display:inline-block;border-radius:50%;margin-right:5px}.chart{width:100%;height:220px;display:block}.chart text{font-size:11px;fill:#8d9991}.chart .gridline{stroke:#ebefeb;stroke-dasharray:4 5}.chart-wrap{position:relative}.chart-note{font-size:10px;color:#8a968e;margin:0}.region{display:grid;grid-template-columns:90px 1fr 55px;align-items:center;font-size:12px;gap:12px;margin:21px 0}.bar{height:7px;background:#eef2ee;border-radius:8px;overflow:hidden}.bar span{display:block;background:#5e9d7b;height:100%;border-radius:8px}.region em{font-style:normal;text-align:right;color:#75877b;font-size:11px}.mini-stats{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:20px;padding-top:17px;color:#8b978f;font-size:10px}.mini-stats strong{display:block;color:#234c39;font-size:19px}.flow{display:flex;align-items:center;justify-content:space-between;background:#f6f9f5;border:1px solid #e6eee4;padding:15px 20px;border-radius:8px;margin-bottom:22px;font-size:11px;color:#4a735b}.flow b{font-weight:500}.flow i{color:#b4c6b5;font-style:normal}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{text-align:left;font-size:10px;color:#8c9891;font-weight:400;background:#f7f9f6;padding:12px 14px}td{padding:15px 14px;border-bottom:1px solid #edf1ed}tbody tr:last-child td{border:0}td small{font-size:10px;letter-spacing:0;margin-top:3px}.tag{display:inline-block;background:#edf4ee;color:#568064;border-radius:4px;padding:3px 8px;font-size:10px}.tag.warn{background:#faf1df;color:#ae7b24}.tag.red{background:#fbeee9;color:#ba725a}.tag.gray{background:#eef0ef;color:#849089}.link{border:0;background:none;color:var(--green);padding:2px 0;font-size:12px}.filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filters input{min-width:220px}.filters .tabs{display:flex;gap:4px;background:#edf1ed;padding:3px;border-radius:6px}.tabs button{background:none;border:0;padding:5px 13px}.tabs button.selected{background:white;box-shadow:0 1px 4px #16362214}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.evidence{display:flex;gap:12px;margin-bottom:17px}.evidence .step{background:#eef5ef;color:#518563;min-width:28px;height:28px;border-radius:7px;text-align:center;line-height:28px;font-size:11px}.evidence p{font-size:11px;color:#89968c;margin:3px 0}.callout{background:#f4f8f1;border-left:3px solid #80a875;padding:13px 17px;font-size:12px;color:#60795b;margin:16px 0}.cause{margin:15px 0}.cause>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.timeline{padding-left:18px;border-left:1px solid #d8e6d9;margin:20px 0 0 7px}.timeline>div{position:relative;padding:0 0 22px 12px}.timeline>div:before{content:'';height:8px;width:8px;border-radius:50%;background:#6c9c78;position:absolute;left:-22px;top:7px;outline:4px solid white}.timeline p{margin:3px 0;font-size:11px;color:#8a978d}.score{font-size:42px;color:var(--green);font-weight:500}.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{padding:13px;background:#f5f8f2;border-radius:6px;font-size:11px}.check b{color:#41815d;margin-right:8px}footer{padding:16px 36px 25px;color:#9aa59c;font-size:10px;display:flex;justify-content:space-between;gap:20px}dialog{border:1px solid var(--line);border-radius:14px;max-width:850px;width:90%;max-height:88vh;padding:30px;color:var(--dark);box-shadow:0 20px 100px #183e3233}dialog::backdrop{background:#0c241c66;backdrop-filter:blur(3px)}.close{float:right;border:0;font-size:22px;background:none;padding:0 5px}#toast{position:fixed;bottom:30px;left:50%;background:#193f32;color:#fff;padding:12px 24px;border-radius:8px;opacity:0;transition:.2s;z-index:9;font-size:12px;pointer-events:none}#toast.show{opacity:1}.rank{display:inline-block;width:25px;height:25px;border-radius:6px;background:#eff4ed;text-align:center;color:#698967;line-height:25px}.split{display:flex;justify-content:space-between;gap:20px;align-items:center}.intro{font-size:12px;color:#7b8b80;margin:8px 0 20px}.empty{padding:30px;text-align:center;color:#8a978d}@media(min-width:1600px){main{padding-top:40px}.chart{height:255px}.metric{padding:24px}}@media(max-width:1100px){aside{width:195px;padding:25px 13px}.shell{margin-left:195px}main{padding:25px 22px}.hero .hero-stat{gap:20px}.hero-stat strong{font-size:23px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:24px}.grid{grid-template-columns:1.4fr 1fr}}@media(max-width:780px){aside{position:static;width:100%;padding:15px 18px;border-bottom:1px solid var(--line)}.brand{font-size:21px}.workspace,aside label,.side-bottom{display:none}nav{display:flex;overflow:auto;margin-top:12px;gap:6px}nav a{padding:8px 10px;white-space:nowrap;margin:0;font-size:11px;gap:6px}nav a i{font-size:14px;width:auto}nav em{display:none}.shell{margin:0}header{height:55px;padding:0 18px}.header-right{gap:12px}.header-right>span:nth-child(2){display:none}main{padding:22px 16px}h1{font-size:24px}.titlebar{align-items:flex-start;gap:14px}.titlebar .buttons{flex-wrap:wrap;justify-content:flex-end}.metrics{grid-template-columns:1fr 1fr}.grid,.detail-grid{grid-template-columns:1fr}.hero{padding:23px;display:block}.hero .hero-stat{margin-top:20px;gap:35px}.hero h2{font-size:20px}.flow{padding:13px 10px;gap:8px;overflow:auto;white-space:nowrap;font-size:10px}.panel{padding:18px}.checks{grid-template-columns:1fr 1fr}footer{display:block;padding:15px 18px}footer span{display:block;margin-top:7px}.subtitle{font-size:11px}.titlebar button{padding:7px 9px}.hero:after{right:0}.panel-head{gap:10px}.legend{gap:10px}}
