*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,Arial,sans-serif;-webkit-font-smoothing:antialiased;background:#f5f7fa;color:#303133}:root{--el-color-primary: #3a5ca8;--el-color-primary-dark-2: #335296;--el-color-primary-light-3: #6280ba;--el-color-primary-light-5: #94abd0;--el-color-primary-light-7: #c6d1e6;--el-color-primary-light-8: #dbe3f0;--el-color-primary-light-9: #edf1f8;--el-border-radius-base: 6px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c0c8d6;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a3adc0}::-webkit-scrollbar-track{background:transparent}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .22s ease,transform .22s ease}.fade-slide-enter-from{opacity:0;transform:translateY(10px)}.fade-slide-leave-to{opacity:0;transform:translateY(-6px)}.route-progress{position:fixed;top:0;left:0;z-index:9999;height:3px;width:0;background:linear-gradient(90deg,#3a5ca8,#67a3ff);border-radius:0 3px 3px 0;transition:width .25s ease,opacity .3s ease .25s;box-shadow:0 0 6px #3a5ca88c;pointer-events:none}.el-card{border:none;transition:box-shadow .25s ease,transform .25s ease}.el-card.is-hover-shadow:hover,.el-card.is-always-shadow{box-shadow:0 4px 18px #1f2d441a}.el-table{--el-table-header-bg-color: #f4f6fa;--el-table-header-text-color: #4a5568}.el-table th.el-table__cell{font-weight:600}.el-table .el-table__row{transition:background-color .15s ease}.el-button{transition:transform .12s ease}.el-button:not(.is-text):not(.is-link):active{transform:scale(.97)}.el-dialog{border-radius:12px}.el-message{border-radius:8px}.page-block{margin-bottom:16px}.m-page{max-width:640px;margin:0 auto;min-height:100vh;background:#f5f7fa}.m-header{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,#24324c,#33507e);color:#fff;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));font-size:17px;font-weight:600;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 10px #24324c47}.m-header .h-sub{font-size:12px;font-weight:400;opacity:.85}.m-body{padding:12px;padding-bottom:calc(86px + env(safe-area-inset-bottom))}.m-tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:640px;z-index:10;background:#fff;border-top:1px solid #e4e7ed;padding-bottom:env(safe-area-inset-bottom);display:flex;box-shadow:0 -2px 10px #1f2d440f}.m-tabbar .tab{flex:1;text-align:center;padding:8px 0 10px;font-size:13px;color:#909399;cursor:pointer;transition:color .2s ease}.m-tabbar .tab.active{color:#3a5ca8;font-weight:600}.m-tabbar .tab .el-icon{font-size:20px;display:block;margin:0 auto 2px;transition:transform .2s ease}.m-tabbar .tab.active .el-icon{transform:translateY(-1px) scale(1.08)}.m-card{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px #0000000d}.m-card .card-title{font-size:15px;font-weight:600;margin-bottom:10px;color:#2b3a55;display:flex;align-items:center}.m-card .card-title:before{content:"";width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,#3a5ca8,#67a3ff);margin-right:8px}.m-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.m-grid .g-item{text-align:center;padding:12px 4px;background:#f8f9fc;border-radius:10px;cursor:pointer;transition:background .15s ease,transform .1s ease}.m-grid .g-item:active{background:#e8ecf5;transform:scale(.96)}.m-grid .g-item .el-icon{font-size:24px;color:#3a5ca8;margin-bottom:6px}.m-grid .g-item .txt{font-size:12px;color:#606266}.m-btn-full{width:100%;--el-button-size: 46px;font-size:16px}.m-cell{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f2f5;font-size:14px}.m-cell:last-child{border-bottom:none}.m-cell .c-label{color:#909399}.stat-row{display:flex;gap:10px;margin-bottom:12px}.stat-row .stat{flex:1;background:#fff;border-radius:12px;padding:12px;text-align:center;box-shadow:0 1px 4px #0000000d}.stat-row .stat .num{font-size:22px;font-weight:700;color:#2b3a55}.stat-row .stat .lbl{font-size:12px;color:#909399;margin-top:2px}
