:root{--app-bg: #f0f3f8;--aside-bg: #0f1c2e;--aside-text: #c9d4e5;--header-bg: #ffffff;--primary: #1e4b8c;--card-shadow: 0 1px 3px rgba(15, 28, 46, .06)}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;width:100%;height:100%;background:var(--app-bg);color:#1f2937;font-family:Source Han Sans SC,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}.page{width:100%;animation:page-in .28s ease}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-card{background:#fff;border:1px solid #e6ebf2;border-radius:10px;box-shadow:var(--card-shadow);padding:16px 18px;width:100%}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;width:100%}.toolbar .spacer{flex:1}.full-table{width:100%}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px;width:100%}@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-card{background:#fff;border:1px solid #e6ebf2;border-radius:10px;padding:16px 18px;box-shadow:var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0f1c2e14}.stat-card .label{color:#6b7280;font-size:13px}.stat-card .value{margin-top:8px;font-size:28px;font-weight:700;color:#0f1c2e}.stat-card.warn .value{color:#b45309}.stat-card.danger .value{color:#b91c1c}.stat-card.ok .value{color:#047857}
