@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}:root{--primary-color: #ff6600;--success-color: #52c41a;--warning-color: #fa8c16;--danger-color: #f5222d;--info-color: #8c8c8c;--chong-color: #f5222d;--wen-color: #fa8c16;--bao-color: #52c41a;--bg-light: #f8f9fb;--bg-card: #ffffff;--border-color: #f0f0f0;--border-radius: 8px;--el-color-primary: #ff8c00;--el-color-primary-light-3: #ffae4d;--el-color-primary-light-5: #ffc580;--el-color-primary-light-7: #ffddb3;--el-color-primary-light-8: #ffe9cc;--el-color-primary-light-9: #fff5e6;--el-color-primary-dark-2: #cc7000}.layout-container{height:100%;display:flex;flex-direction:column}.layout-header{height:80px;background:linear-gradient(135deg,#ff8c00,#ff4500);display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#fff}.layout-header .logo{font-weight:600;display:flex;align-items:center;gap:12px}.layout-header .logo .logo-text{display:flex;flex-direction:column;line-height:1.3}.layout-header .logo .logo-main{font-size:32px;font-weight:700;letter-spacing:1px}.layout-header .logo .logo-sub{font-size:13px;opacity:.7;font-weight:400;letter-spacing:2px;margin-top:2px}.layout-header .logo img{height:32px}.layout-header .user-info{display:flex;align-items:center;gap:16px}.layout-main{flex:1;display:flex;overflow:hidden}.layout-aside{width:220px;background:var(--bg-card);border-right:1px solid var(--border-color);overflow-y:auto}.layout-aside .el-menu{border-right:none}.layout-content{flex:1;padding:20px;background:var(--bg-light);overflow-y:auto}.page-card{background:var(--bg-card);border-radius:var(--border-radius);padding:20px;margin-bottom:20px;box-shadow:0 2px 12px #0000000d}.page-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-card .card-header .title{font-size:18px;font-weight:600;color:#303133}.tier-tag{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.tier-tag.tier-chong{background:#f56c6c1a;color:var(--chong-color);border:1px solid var(--chong-color)}.tier-tag.tier-wen{background:#ff8c001a;color:var(--wen-color);border:1px solid var(--wen-color)}.tier-tag.tier-bao{background:#67c23a1a;color:var(--bao-color);border:1px solid var(--bao-color)}.pref-highlight{background-color:#f0f9eb!important;font-weight:600}.gray-major{color:#909399}.manual-tag{background:#e6a23c;color:#fff;padding:1px 6px;border-radius:3px;font-size:10px;margin-left:6px}.el-table .el-table__header th{background:#f5f7fa!important;color:#303133;font-weight:600}.el-table .el-table__row:hover{cursor:pointer}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-cards .stat-card{background:var(--bg-card);border-radius:var(--border-radius);padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 12px #0000000d}.stat-cards .stat-card .icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-cards .stat-card .icon.primary{background:#ff8c001a;color:var(--primary-color)}.stat-cards .stat-card .icon.success{background:#67c23a1a;color:var(--success-color)}.stat-cards .stat-card .icon.warning{background:#e6a23c1a;color:var(--warning-color)}.stat-cards .stat-card .icon.danger{background:#f56c6c1a;color:var(--danger-color)}.stat-cards .stat-card .info .value{font-size:28px;font-weight:600;color:#303133}.stat-cards .stat-card .info .label{font-size:14px;color:#909399;margin-top:4px}@media (max-width: 1200px){.stat-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stat-cards{grid-template-columns:1fr}.layout-header{height:auto;min-height:80px;padding:10px 16px;gap:12px}.layout-header .logo{min-width:0;gap:8px;flex:1}.layout-header .logo .logo-main{font-size:24px;line-height:1.12;letter-spacing:0;white-space:normal}.layout-header .logo .logo-sub{font-size:11px;letter-spacing:0}.layout-header .user-info{flex-shrink:0}.layout-aside{display:none}}
