:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#152036;background:#f2f5f7}*{box-sizing:border-box}body{margin:0}main{max-width:1240px;margin:auto;padding:48px 22px 36px}header{margin-bottom:26px}.eyebrow{color:#637286;font-size:.88rem;letter-spacing:.08em;margin:0 0 10px}h1{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.05em;margin:0}.intro{max-width:720px;line-height:1.8;color:#506176}.panel{background:#fff;border:1px solid #dde4eb;border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 8px 28px rgba(26,48,73,.05)}.filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.filters>div{display:flex;gap:12px;flex-wrap:wrap}label{display:grid;gap:6px;font-size:.84rem;color:#59697d}input,select,button{font:inherit;border:1px solid #cbd6e2;border-radius:9px;padding:9px 10px;background:#fff;color:#152036}button{background:#0f766e;color:#fff;border-color:#0f766e;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.cards article{padding:18px;border:1px solid #dce5ea;border-radius:14px;background:#fff}.cards span{display:block;color:#64748b;font-size:.85rem}.cards strong{display:block;font-size:1.45rem;margin-top:8px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px}.twocol .panel{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border-bottom:1px solid #e7edf1;padding:10px 8px;text-align:left;vertical-align:top;white-space:nowrap}th{font-size:.78rem;color:#64748b;font-weight:600}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.section-title h2{margin:0}.pager{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.empty,#status{color:#64748b}footer{font-size:.9rem;color:#64748b;padding:12px 0}a{color:#0f766e}@media(max-width:760px){main{padding:30px 14px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.twocol{grid-template-columns:1fr}.filters{align-items:stretch}.filters>div{width:100%}.filters label{flex:1 1 130px}}
