*{box-sizing:border-box}body{margin:0;background:#edf3f7;color:#244259;font:14px "Microsoft YaHei",sans-serif}header{background:linear-gradient(100deg,#194e7d,#24699c);color:white;padding:20px 28px;display:flex;justify-content:space-between;align-items:center}h1{font-size:23px;margin:0}header p{margin:7px 0 0;color:#cce1ee}a{color:inherit}main{padding:22px;max-width:1800px;margin:auto}form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}label{display:grid;gap:7px}input,select,button{font:inherit;height:36px;border:1px solid #abc3d4;border-radius:3px;padding:6px 12px;background:white;color:#244259}button{cursor:pointer;white-space:nowrap}form button{background:#24699c;color:white;border-color:#24699c}button:disabled{opacity:.45;cursor:default}input:focus,select:focus{outline:2px solid #77afd1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards section{background:white;border:1px solid #c7dbe7;padding:20px;display:grid;gap:12px}.cards strong{font-size:30px;color:#195f90;font-variant-numeric:tabular-nums}.cards small,.hint{color:#687e8f;font-size:13px;line-height:1.6}.groups{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.groups span{padding:8px 12px;background:#dceaf4;border-radius:3px}.panel{background:white;border:1px solid #c5d8e4;margin:18px 0;padding:18px}h2{font-size:18px;margin:0 0 12px}.heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.table{overflow:auto;margin-top:12px}table{border-collapse:collapse;width:100%;white-space:nowrap}th{background:#e4eff6;font-weight:600}td,th{padding:11px 12px;border:1px solid #d4e0e8;text-align:left}tbody tr:hover{background:#f0f7fb}.negative{color:#b44a38}.positive{color:#217754}.num{font-variant-numeric:tabular-nums;text-align:right}nav{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:14px}#error{color:#a22c22;min-height:20px}td.empty{text-align:center;color:#73899a;padding:24px}@media(max-width:700px){main{padding:12px}.cards{grid-template-columns:1fr}.cards section{padding:14px}.cards strong{font-size:24px}header{padding:18px}.heading{align-items:start;flex-direction:column}}
