/* 全局样式 — 按原站实测还原 */
html, body, #app { height: 100%; margin: 0; }
* { box-sizing: border-box; }
body { font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif; }

/* ===== 整体布局(原站:侧栏180px/收起36px, logo条70px #002140, 导航70px) ===== */
.app-wrapper { display: flex; height: 100%; overflow: hidden; }
.sidebar { width: 180px; background: #304156; transition: width .28s; display: flex; flex-direction: column; flex-shrink: 0; }
.sidebar.collapsed { width: 36px; }
.logo { height: 70px; background: #002140; color: #fff; display: flex; align-items: center; justify-content: center; white-space: nowrap; overflow: hidden; flex-shrink: 0; }
.logo span { font-size: 18px; }
.sidebar.collapsed .logo span { display: none; }
.sidebar .el-menu { border-right: none; flex: 1; overflow-y: auto; overflow-x: hidden; }
.sidebar .el-menu-item, .sidebar .el-submenu__title { color: #fff; background: #304156; }
.sidebar .el-menu-item:hover, .sidebar .el-submenu__title:hover { background: #263445 !important; }
.sidebar .el-menu-item.is-active { color: #409EFF !important; }
.sidebar .el-menu i { color: inherit; margin-right: 5px; font-size: 16px; }
.sidebar.collapsed .el-submenu__title span, .sidebar.collapsed .el-menu-item span { display: none; }
.sidebar.collapsed .el-submenu__title .el-submenu__icon-arrow { display: none; }
.sidebar.collapsed .el-submenu__title, .sidebar.collapsed .el-menu-item { padding-left: 10px !important; }

.main-area { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.topbar { height: 70px; background: #fff; position: relative; z-index: 99; flex-shrink: 0; display: flex; align-items: center; }
.hamburger-container { line-height: 58px; height: 50px; padding: 0 10px; float: left; cursor: pointer; }
.hamburger { display: inline-block; cursor: pointer; width: 20px; height: 20px; fill: currentColor; vertical-align: middle; transition: transform .38s; transform-origin: 50% 50%; }
.hamburger.is-active { transform: rotate(90deg); }
.app-breadcrumb { display: inline-block; font-size: 14px; line-height: 50px; margin-left: 10px; vertical-align: middle; }
.app-breadcrumb .home-link { color: #303133; cursor: pointer; font-weight: 700; }
.app-breadcrumb .home-link:hover { color: #409EFF; }
.app-breadcrumb .sep { color: #c0c4cc; margin: 0 9px; }
.app-breadcrumb .no-redirect { color: #97a8be; cursor: text; }
.username { position: absolute; right: 84px; top: 12px; font-size: 16px; color: #000; cursor: pointer; }
.avatar-container { height: 50px; display: inline-block; position: absolute; right: 35px; top: 10px; cursor: pointer; }
.avatar-wrapper { cursor: pointer; margin-top: 5px; position: relative; }
.user-avatar { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #9288e4; display: block; }
.avatar-wrapper .el-icon-caret-bottom { position: absolute; right: -20px; top: 25px; font-size: 12px; }

/* 顶部公告/消息图标(原站 fixed 定位逐字还原) */
.affiche { position: fixed; height: 50px; line-height: 50px; top: -11px; left: 21%; z-index: 2000; display: flex; align-items: center; justify-content: center; font-size: 12px; }
.affiche .tips-img { margin-right: 8px; width: 22px; height: 16px; }
.announcements { width: 300px; position: fixed; height: 50px; line-height: 50px; top: 32px; left: 21%; z-index: 2000; display: flex; align-items: flex-start; justify-content: flex-start; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.history-entry { margin-left: 12px; margin-top: 17px; display: flex; align-items: center; cursor: pointer; }
.history-badge { cursor: pointer; height: 20px; display: inline-flex; }
.history-badge .el-icon-chat-dot-square { height: 100%; font-size: 20px; color: #409eff; }

.content { flex: 1; overflow: auto; background: #fff; }
.page { padding: 30px 20px; }

/* ===== 首页欢迎 ===== */
.welcome { padding-top: 200px; text-align: center; font-size: 30px; font-weight: 700; color: #303133; }
.welcome .uname { color: #e6a23c; }

/* ===== 表格(原站 .tab-box-sty 深色表头+紧凑行距; 其余表格为 Element 默认浅色) ===== */
.el-table td.el-table__cell, .el-table th.el-table__cell { text-align: center; }
.tab-box-sty .el-table__cell { padding: 2px 0; }
.tab-box-sty thead .el-table__cell { padding: 7px 0; }
.tab-box-sty thead th.el-table__cell { background-color: #304156; color: #fff; }
.tab-box-sty thead th.promotion-link-header { background-color: #ff7a00 !important; color: #fff; }
.el-table .summary-row td.el-table__cell { background: #eef3fb !important; font-weight: 700; }
.el-table .el-table__header-wrapper { line-height: normal; }

/* ===== 筛选区 ===== */
.filter-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.filter-item { display: flex; align-items: center; gap: 8px; }
.filter-label { color: #606266; font-size: 14px; }
.filter-bar .el-input { width: 200px; }
.search { margin-bottom: 10px; }
.search .el-form-item { margin-bottom: 8px; }
.row-gap { margin-top: 4px; margin-bottom: 16px; }

/* ===== 链接单元格 ===== */
.wenZiBox { display: flex; align-items: center; justify-content: center; gap: 4px; }
.wenZiBox .txt { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; }
.wenZiBox.full .txt { white-space: normal; word-break: break-all; max-width: 360px; }
.wenZiBox i { cursor: pointer; color: #409EFF; }
.link-blue { color: #409EFF; cursor: pointer; }
.link-blue:hover { text-decoration: underline; }

/* ===== Tab 下划线(全品牌任务) ===== */
.tabs-line { display: flex; gap: 32px; border-bottom: 1px solid #e4e7ed; margin: 4px 0 20px; }
.tab-item { padding: 10px 2px; cursor: pointer; color: #303133; font-size: 15px; }
.tab-item.active { color: #409EFF; border-bottom: 2px solid #409EFF; padding-bottom: 8px; }

/* ===== 车系卡片墙(原站 .car/.carItem 精确还原) ===== */
.car { display: flex; flex-wrap: wrap; }
.carItem { width: 18%; margin-right: 2%; flex-shrink: 0; text-align: center; position: relative; }
.carItemText { position: absolute; top: 0; left: 6px; font-size: 12px; color: #fff; padding: 4px 8px; line-height: 1; font-weight: 600; z-index: 1; border-radius: 6px; background: red; }
.growthRateTag { top: 0; left: 6px; background: linear-gradient(90deg, #ff9a1f, #ffb347); box-shadow: 0 2px 6px rgba(255, 154, 31, .35); }
.carItemImg { width: 213px; height: 136px; display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.carItemImg .el-image__inner { width: 100%; height: 100%; object-fit: contain; }
.carItemName { margin: 10px 0; font-size: 16px; color: #303133; }
.carItemPrice { margin: 10px 0; font-size: 15px; color: red; }

/* ===== 版本号提示 ===== */
.version-tip { text-align: right; color: #909399; font-size: 13px; margin-bottom: 8px; }

/* ===== 教程文件卡片 ===== */
.file-card { display: inline-flex; align-items: center; gap: 10px; background: #f7f8fa; border: 1px solid #ebeef5; border-radius: 4px; padding: 10px 14px; min-width: 260px; }
.pdf-badge { background: #f56c6c; color: #fff; font-size: 11px; padding: 2px 5px; border-radius: 2px; font-weight: 700; }
.file-meta { text-align: left; }
.file-meta .fname { color: #303133; font-size: 14px; }
.file-meta .fsize { color: #909399; font-size: 12px; margin-top: 2px; }

/* ===== 短视频卡片 ===== */
.sv-card { background: #fff; border: 1px solid #ebeef5; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,.04); padding: 30px 40px; }
.sv-tip { color: #909399; font-size: 13px; margin-top: 22px; }
.sv-result { margin-top: 18px; display: flex; align-items: center; gap: 10px; }
.sv-result .link { color: #409EFF; word-break: break-all; }

/* ===== 登录页(逐字还原原站 chunk-afee2cae.729a6daa.css) ===== */
.login-container { position: fixed; width: 100%; height: 100%; height: 100vh; background-color: #2d3a4b; }
.login-container input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #293444 inset !important; -webkit-text-fill-color: #fff !important; }
.login-container input { background: transparent; border: 0; -webkit-appearance: none; border-radius: 0; padding: 12px 5px 12px 15px; color: #eee; height: 47px; }
.login-container .el-input { display: inline-block; height: 47px; width: 85%; }
.login-container .svg-container { padding: 6px 5px 6px 15px; color: #889aa4; vertical-align: middle; width: 30px; display: inline-block; }
.login-container .title { font-size: 38px; color: #eee; margin: 0 auto 30px; text-align: center; font-weight: 700; display: flex; justify-content: center; align-items: center; }
.login-container .login-form { position: absolute; left: 0; right: 0; width: 400px; padding: 35px 35px 15px; margin: 120px auto; }
.login-container .el-form-item { border: 1px solid hsla(0, 0%, 100%, .1); background: rgba(0, 0, 0, .1); border-radius: 5px; color: #454545; }
.yzm-box-sty { display: flex; flex-direction: row; justify-content: flex-start; align-items: flex-start; }
.yzm-box-sty .el-form-item { flex: 1; min-width: 0; }
.yzm-box-sty .el-input { width: calc(100% - 50px); }
.yzm-box-sty .login-form__verify-code-btn { margin: 5px 0 0 10px; }

/* ===== 分页 ===== */
.pager { margin-top: 18px; display: flex; justify-content: flex-start; }
.pager-left { justify-content: flex-start; }
.pager-right { justify-content: flex-end; }

/* ===== 申请直播间弹窗 ===== */
.form-tip { color: #909399; font-size: 12px; margin-left: 10px; display: inline-block; }
.op-link { margin-right: 12px; }
.progress-pager { margin-top: 14px; justify-content: flex-end; }

/* ===== 小程序:查看详情(.detail-item 与原站一致) ===== */
.detail-wrap { padding: 0 10px; }
.detail-item { display: flex; margin-bottom: 18px; font-size: 14px; line-height: 1.6; }
.detail-item .label { width: 150px; flex-shrink: 0; color: #909399; text-align: right; padding-right: 12px; }
.detail-item .value { color: #303133; word-break: break-all; }
.detail-item .preview-img { max-width: 320px; max-height: 200px; display: block; border: 1px solid #ebeef5; border-radius: 4px; }

/* ===== 小程序:上传图片(plus 方框) ===== */
.upload-row { display: flex; align-items: flex-start; gap: 14px; }
.upload-image { width: 148px; height: 148px; border: 1px dashed #c0ccda; border-radius: 6px; display: flex; align-items: center; justify-content: center; cursor: pointer; overflow: hidden; background: #fbfdff; transition: border-color .2s; }
.upload-image:hover { border-color: #409EFF; }
.upload-image i { font-size: 28px; color: #8c939d; }
.upload-preview { width: 100%; height: 100%; object-fit: cover; }
.upload-tip { color: #909399; font-size: 12px; margin-top: 8px; }
.upload-filename { margin-left: 10px; color: #606266; font-size: 13px; }
.example-link { line-height: 148px; }
.example-box { border: 1px solid #ebeef5; border-radius: 4px; background: #f7f8fa; color: #909399; font-size: 13px; padding: 60px 24px; text-align: center; line-height: 1.8; }

/* ===== 小程序:上传发布截图弹窗(560px 行式布局) ===== */
.upload-body .row { display: flex; margin-bottom: 8px; }
.upload-body .label { width: 130px; flex-shrink: 0; color: #606266; font-size: 14px; padding-top: 4px; }
.upload-body .req { color: #f56c6c; margin-right: 4px; }
.upload-body .content { flex: 1; }

/* ===== 顶栏通知弹层 ===== */
.notice-pager { margin-top: 14px; }

/* ===== 小程序流程步骤 ===== */
.guide-steps { color: #606266; font-size: 14px; line-height: 2.1; padding: 0 8px; }
.guide-steps p { margin: 0; }

/* ===== 激励政策 ===== */
.policy-block { border: 1px solid #ebeef5; border-radius: 4px; padding: 16px 20px; margin-bottom: 16px; }
.policy-title { font-size: 15px; font-weight: 700; color: #303133; margin-bottom: 10px; }
.policy-item { color: #606266; font-size: 14px; line-height: 1.9; }
.policy-empty { color: #909399; font-size: 13px; }

/* ===== 数据管理台 ===== */
.admin-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.admin-toolbar .el-upload { margin-right: 10px; }
.admin-label { font-size: 14px; color: #606266; }
.admin-status { font-size: 13px; color: #909399; margin-left: 6px; }
.admin-status .dirty { color: #e6a23c; font-weight: 700; padding: 0 2px; }
.admin-tip { font-size: 13px; color: #909399; margin-bottom: 8px; line-height: 1.7; }
.admin-grid-wrap { border: 1px solid #dcdfe6; border-radius: 2px; max-height: calc(100vh - 310px); overflow: auto; outline: none; background: #fff; }
.admin-grid { border-collapse: separate; border-spacing: 0; font-size: 12px; color: #606266; }
.admin-grid th, .admin-grid td { border-right: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5; padding: 0 8px; height: 28px; white-space: nowrap; text-align: left; }
.admin-grid td { max-width: 420px; overflow: hidden; text-overflow: ellipsis; cursor: default; }
.admin-grid thead th { position: sticky; top: 0; background: #f5f7fa; color: #606266; font-weight: 700; height: 34px; z-index: 2; }
.admin-grid th.idx, .admin-grid td.idx { position: sticky; left: 0; background: #fafafa; color: #909399; text-align: center; min-width: 64px; z-index: 1; user-select: none; }
.admin-grid thead th.idx { z-index: 3; }
.admin-grid tbody tr:hover td { background: #f5f7fa; }
.admin-grid tbody tr:hover td.active { background: #ecf5ff; }
.admin-grid td.active { outline: 2px solid #409eff; outline-offset: -2px; background: #ecf5ff; }
.admin-grid td.editing { padding: 0; }
.cell-input { width: 100%; height: 28px; border: none; outline: none; padding: 0 8px; font-size: 12px; color: #303133; box-sizing: border-box; background: #fff; }
.row-del { cursor: pointer; color: #c0c4cc; margin-right: 6px; font-size: 13px; }
.row-del:hover { color: #f56c6c; }
.admin-foot { margin-top: 10px; }
