:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#19332f;background:#f2f6f5;font-size:15px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:14px;padding:22px max(24px,calc((100% - 1280px)/2));background:#173d35;color:white}h1{font-size:23px;margin:0}header p{margin:5px 0 0;color:#b6d3ca}header button{margin-left:auto;background:transparent;border-color:#9cbeb2}main{max-width:1328px;margin:auto;padding:28px 24px}h2{font-size:18px;margin:28px 0 16px}button,input,select{font:inherit;border:1px solid #a9bdb5;border-radius:6px;padding:10px 12px;min-height:44px}button{background:#17634d;color:white;cursor:pointer;border-color:#17634d}button:hover{background:#104d3c}button:disabled{opacity:.55;cursor:wait}.secondary{background:white;color:#17543e}label{display:flex;flex-direction:column;gap:7px;font-weight:600}input,select{background:white;color:#19332f;min-width:0}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #e4aa39;outline-offset:3px}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.filters label{flex:1;min-width:160px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.metrics article{background:white;padding:22px;border:1px solid #d4e1db;border-radius:9px}.metrics span{color:#5e716a}.metrics strong{display:block;font-size:34px;margin-top:12px;font-variant-numeric:tabular-nums}.note,footer{color:#596f66;font-size:13px;line-height:1.8}.table-wrap{overflow-x:auto;border:1px solid #d1ded7;border-radius:8px;background:white}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th,td{padding:14px 16px;border-bottom:1px solid #e1eae5}th{background:#e7efe9}td{max-width:340px;overflow:hidden;text-overflow:ellipsis}ul{padding-left:22px;line-height:2;overflow-wrap:anywhere}.login{max-width:420px;margin:45px auto;background:white;border:1px solid #d4e1db;padding:28px;border-radius:9px}.login h2{margin-top:0}.login form{display:grid;gap:14px}.login p{color:#596f66;line-height:1.7}#message{color:#a52b20;white-space:pre-line}footer{padding:15px 24px;text-align:center}[hidden]{display:none!important}@media(max-width:600px){header{padding:18px}h1{font-size:20px}main{padding:18px 14px}.metrics{gap:8px}.metrics article{padding:13px 9px}.metrics strong{font-size:25px}.filters label{min-width:130px}.login{margin:20px auto;padding:22px}th,td{padding:12px}.filters button{flex:1}}
