*{box-sizing:border-box}body{margin:0;font-family:Inter,"Microsoft YaHei",Arial,sans-serif;background:#f5f7fb;color:#202d45;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .15s;border:0}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{border:1px solid #dfe5ee;border-radius:9px;background:#fff;color:#263651;padding:10px 12px;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #bdd6ff;border-color:#6598e4}label{display:block;font-size:13px;font-weight:600;margin:16px 0 7px}textarea{width:100%;resize:vertical;min-height:95px}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.7px}h2{font-size:17px}h3{font-size:14px}small,.small{font-size:12px}.contents{display:contents}.muted{color:#8b97a9}.error{color:#bf423a;white-space:pre-wrap}.banner{background:#fff0ee;padding:12px 18px;border:1px solid #f3d0ca;border-radius:10px;margin:12px 0}.row,.between{display:flex;align-items:center;gap:14px}.between{justify-content:space-between}.primary{background:#2c6bd9;color:white;padding:11px 19px;border-radius:9px;font-weight:600}.primary:hover{background:#2259b6}.secondary{background:#eef4fd;color:#356bb9;border:1px solid #dce7f7;padding:9px 14px;border-radius:8px}.danger{color:#bd5549;background:#fff0ed;padding:10px 15px;border-radius:8px}.plain{background:transparent;color:#77859a;padding:6px 8px}.plain:hover{color:#2869d1;background:#f0f5fb}.chip{display:inline-flex;padding:4px 9px;border-radius:6px;font-size:11px;white-space:nowrap;font-weight:500}.blue{color:#3d74bd;background:#eef4ff}.orange{color:#bc822d;background:#fff4df}.green{color:#34846c;background:#e9f5f0}.red{color:#b35d50;background:#fff0ed}.gray{color:#8a96a6;background:#f1f3f6}.eyebrow{font-size:10px;letter-spacing:2px;color:#98a5b6;font-weight:600;margin-bottom:5px}.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:650}.brand-logo{display:block;width:40px;height:40px;border-radius:12px;flex:none}.brand small{display:block;color:#7e91ad;font-size:10px;letter-spacing:2px;font-weight:400}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{position:relative;background:#182c4b;color:#fff;padding:60px 12%;display:flex;flex-direction:column;justify-content:center}.login-intro .brand{position:absolute;top:44px;left:12%}.login-intro h1{font-size:43px;line-height:1.5;margin:16px 0 24px}.login-intro>p:not(.eyebrow){color:#9db0ca;line-height:2}.login-foot{color:#7b91af;position:absolute;bottom:45px;font-size:12px}.login-card{align-self:center;justify-self:center;width:380px;max-width:90%}.login-card h2{font-size:26px;margin:14px 0 5px}.login-card input{width:100%;margin-bottom:20px}.login-card .primary{width:100%;margin-bottom:12px}.login-card .small{margin-top:25px;line-height:1.9}.sidebar{width:215px;background:#192b47;color:#fff;position:fixed;inset:0 auto 0 0;padding:28px 21px;display:flex;flex-direction:column}.sidebar .brand{margin-bottom:50px;font-size:18px}.sidebar nav{display:grid;gap:10px}.sidebar nav button{text-align:left;color:#91a3bf;background:transparent;padding:13px 16px;border-radius:10px;font-size:13px;display:flex;gap:15px}.sidebar nav button.active{background:#2e4466;color:#fff}.sidebar nav button:hover{background:#253c5d;color:#fff}.sidebar nav span{font-size:16px;display:flex;align-items:center}
/* 侧边栏里这三个用线框图标（用户 2026-09-28「换成更贴切的」）：描边吃 currentColor，普通态灰、选中态白。 */
.sidebar nav svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{margin-top:auto;color:#a0afc6;font-size:12px}.sidebar-bottom p{font-size:11px;color:#637b9d;margin-top:8px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6dc7ad;margin-right:5px}main{margin-left:215px}.topbar{height:74px;background:#fff;border-bottom:1px solid #e8edf4;padding:0 34px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:12px;color:#98a3b3}.breadcrumb span{margin:0 14px}.breadcrumb strong{color:#4c5e77;font-weight:500}.content{padding:28px 34px;max-width:1700px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.heading .muted{font-size:12px;margin-top:5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{background:white;border:1px solid #e7ebf2;padding:19px 22px;border-radius:12px;position:relative}.stat .value{font-size:30px;color:#213552;font-weight:600;line-height:1.5}.stat .stat-caption{font-size:11px;color:#a0a9b8}.stat .stat-icon{float:right;background:#f3f6fb;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#7490b5}
/* 统计卡图标改成内联 SVG 线框（用户 2026-09-28：原来那几个字符图标不贴合内容） */
.stat .stat-icon svg{width:19px;height:19px}.stat-label{font-size:12px;color:#8190a5}.review-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.segmented{background:#e9edf4;border-radius:9px;padding:4px;display:flex;align-items:center}.segmented button{background:transparent;color:#8492a6;padding:7px 16px;border-radius:7px;font-size:12px}.segmented button.active{background:white;color:#3269b3;box-shadow:0 1px 4px #2333480d}.review-toolbar select{font-size:12px}.search{display:flex;background:white;border:1px solid #e2e7ef;border-radius:9px;overflow:hidden}.search input{border:0;background:transparent;width:252px;font-size:12px}.review-grid{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(430px,1.2fr);gap:21px;align-items:start}.panel{background:#fff;border:1px solid #e6ebf3;border-radius:12px;overflow:hidden}.panel-heading{padding:18px 22px;border-bottom:1px solid #edf0f6;display:flex;justify-content:space-between;align-items:center;gap:8px}.count{display:inline-block;font-size:11px;color:#8293ad;background:#f1f4f8;padding:1px 7px;margin-left:6px;border-radius:5px}.queue-row{display:block;width:100%;text-align:left;background:#fff;padding:19px 22px;border-bottom:1px solid #eff2f7;border-left:3px solid transparent}.queue-row.active{background:#f1f6ff;border-left-color:#4b85db}.queue-row:hover{background:#f7faff}.queue-row h3{margin:6px 0 5px;overflow-wrap:anywhere}.queue-row .meta{color:#91a0b4;font-size:11px;margin-bottom:11px}.queue-row .small{color:#99a6b8;font-size:11px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 16px}.detail-panel{padding:24px}.detail-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.detail-head h2{font-size:20px;margin-top:6px;overflow-wrap:anywhere}.detail-head p{margin-top:5px;font-size:11px;color:#9aa7b8}.detail-section{margin-top:24px}.details{display:grid;grid-template-columns:115px 1fr;gap:10px 12px;margin:16px 0;font-size:12px}.details dt{color:#8c9bb0}.details dd{margin:0;overflow-wrap:anywhere;color:#4e607b}.details a{color:#3e79c7;text-decoration:none}.ocr-box{background:#f7f9fc;border:1px solid #e7edf5;border-radius:10px;padding:15px 16px}.ocr-box p{font-size:12px;margin:8px 0;color:#7b8ba3}.check-row{display:grid;grid-template-columns:18px 1fr;gap:4px;font-size:12px;margin-top:9px;color:#7889a2}.check-row strong{font-weight:500;color:#4c617d}.check-row small{display:block;overflow-wrap:anywhere}.ocr-text{white-space:pre-wrap;font-size:12px;max-height:220px;overflow:auto;color:#657991;margin-top:12px}.evidence{width:100%;max-height:260px;object-fit:contain;background:#f6f8fb;border:1px solid #e7ecf4;border-radius:9px;cursor:zoom-in;margin-top:12px}.evidence-state{background:#f7f9fc;border:1px dashed #d9e1ed;border-radius:8px;padding:24px;text-align:center;color:#8c9caf;margin-top:12px;font-size:12px}.review-form{border-top:1px solid #e9edf5;margin-top:23px;padding-top:5px}.review-form .actions{display:flex;gap:12px;margin-top:17px}.review-form .actions .primary{flex:1}.checkbox{display:flex;align-items:start;gap:8px;color:#77889f;font-size:12px;font-weight:400}.checkbox input{margin-top:4px}.empty{padding:70px 28px;text-align:center;color:#a0adbf}.empty .empty-icon{display:block;font-size:33px;color:#bdc9da;margin-bottom:12px}.empty h3{color:#637895;margin-bottom:6px}.empty p{font-size:12px;line-height:1.9}.table-panel{padding-bottom:8px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:11px;font-weight:500;color:#8d9ab0;background:#fafbfd;padding:13px 20px;white-space:nowrap}td{padding:16px 20px;border-bottom:1px solid #edf1f6;color:#526780;max-width:400px;overflow-wrap:anywhere}td small{display:block;color:#99a6b9;font-size:10px}td .plain{white-space:nowrap}footer{display:flex;justify-content:space-between;margin:35px 0 5px;color:#aab4c3;font-size:10px}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.system-card{padding:24px}.system-card h2{margin-bottom:13px}.system-card p{color:#8192a8;font-size:12px;line-height:1.9;margin:8px 0}.system-card code{overflow-wrap:anywhere;font-size:12px;background:#f2f5fa;border-radius:4px;padding:2px 5px}.quota-row{margin-top:19px;border-top:1px solid #edf1f6;padding-top:16px}.quota-row progress{width:100%;height:7px;accent-color:#4781d5}dialog{border:1px solid #e5eaf2;border-radius:15px;padding:27px;width:500px;max-width:95vw;max-height:90vh;overflow:auto;color:#293c59}dialog::backdrop{background:#11213970}dialog input,dialog select{width:100%}dialog .primary{margin-top:15px;width:100%}#image-dialog{width:1000px}#image-dialog img{display:block;width:100%;object-fit:contain}#image-close{display:block;margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#toast{position:fixed;top:85px;right:35px;border:1px solid #cce9db;color:#35745e;background:#effaf5;padding:11px 20px;border-radius:8px;z-index:10}[hidden]{display:none!important}@media(max-width:1200px){.content{padding:25px 22px}.sidebar{width:185px;padding:25px 15px}main{margin-left:185px}.review-grid{grid-template-columns:minmax(260px,.8fr) minmax(350px,1fr)}.review-toolbar{flex-wrap:wrap}.stat{padding:15px}.panel-heading{padding:16px}.queue-row{padding:16px}.detail-panel{padding:20px}.search input{width:160px}}@media(max-width:950px){.review-grid,.system-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.queue-panel{max-height:500px;overflow:auto}.topbar{padding:0 20px}.login-intro h1{font-size:32px}}@media(max-width:650px){.sidebar{position:static;width:auto;padding:16px}.sidebar .brand{margin-bottom:16px}.sidebar nav{display:flex;gap:5px;overflow:auto}.sidebar nav button{padding:8px 11px;white-space:nowrap}.sidebar nav span,.sidebar-bottom{display:none}main{margin:0}.topbar{height:60px}.breadcrumb{display:none}.content{padding:22px 15px}.heading{align-items:start}.heading>span{display:none}.review-toolbar>.row{gap:8px;flex-wrap:wrap}.search input{width:175px}.login-wrap{grid-template-columns:1fr}.login-intro{min-height:290px;padding:85px 28px 30px}.login-intro .brand{top:22px;left:28px}.login-intro h1{font-size:27px;margin:0}.login-intro>p,.login-foot{display:none}.login-card{padding:30px 0}.stats{gap:10px}footer span{display:none}}

.detail-head{align-items:flex-start}

.login-card .password-visibility{display:flex;align-items:center;gap:8px;margin:0 0 20px;font-size:12px;font-weight:400;color:#77889f}.login-card .password-visibility input{width:auto;margin:0;accent-color:#2c6bd9}

.notice-toolbar{display:flex;flex-wrap:wrap;gap:10px;padding:18px 22px;border-bottom:1px solid #edf0f6}.notice-toolbar input{flex:1 1 270px}.notice-toolbar select{flex:0 1 155px}.notice-actions{display:flex;align-items:center;gap:8px}.notice-actions button{white-space:nowrap}dialog.notice-editor{width:800px}.notice-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px}.notice-form-grid label{min-width:0}.notice-form-grid input,.notice-form-grid select,.notice-form-grid textarea{display:block;margin-top:7px;font-weight:400}.notice-form-grid .wide{grid-column:1 / -1}#dialog-error{margin-top:12px}@media(max-width:650px){.notice-toolbar{padding:14px}.notice-toolbar select{flex:1 1 120px}.notice-form-grid{grid-template-columns:minmax(0,1fr)}dialog.notice-editor{padding:20px}.notice-actions{flex-wrap:wrap}}

.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;flex-wrap:wrap}.dashboard-toolbar .row{flex-wrap:wrap}.dashboard-toggle{display:flex;align-items:center;gap:8px;margin:0;color:#637895;font-size:12px;font-weight:400}.dashboard-toggle input{accent-color:#2c6bd9}.dashboard-note{display:flex;gap:10px;align-items:center;font-size:12px;color:#8897aa;margin-bottom:18px}/* ── 数据看板整体排布（用户 2026-09-28：「整体重新排一下，现在看起来还是不够直观」）──
   面板全部平铺进 6 列网格，按重要性占位：趋势 4 + 审核认证 2；两块看板各 3；底部三块各 2。
   同一行的面板等高（align-self:stretch），不再出现右侧留一大片空白的那种参差。 */
#dashboard-content{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
#dashboard-content>.dashboard-note,#dashboard-content>.dashboard-stats,#dashboard-content>.dashboard-footnote{grid-column:1/-1}
#dashboard-content>.dashboard-note{margin-bottom:0}
#dashboard-content>.dashboard-panel{align-self:stretch}
.dashboard-trend{grid-column:span 4}
.dashboard-review{grid-column:span 2}
.dashboard-blogger,.dashboard-notice{grid-column:span 3}
.dashboard-platform,.dashboard-applications,.dashboard-members{grid-column:span 2}
/* ── 博主看板 / 通告看板（用户 2026-09-27：「数据看板中需要加入博主看板和通告看板」）──
   两块看板并排，窄屏塌成单列；每块内部用 .board-sub 做小标题 + 细分隔线。 */
.board-sub{font-size:12px;color:#8d9ab0;font-weight:500;margin:22px 0 -6px;padding-top:16px;border-top:1px solid #edf1f6}
.dashboard-panel .daily-details{margin-top:22px;padding-top:14px}
.dashboard-panel .dashboard-bars{margin-top:16px}
.dashboard-panel .daily-details .dashboard-bars{margin-top:14px}
.dashboard-panel .daily-details dt{white-space:normal}/* 面板头：左标题+副标题，右上角放控件（用户 2026-09-28：「发布与报名趋势的图表右上角有按日、按周、按月的按键」） */
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.panel-head .segmented button{padding:6px 13px;font-size:12px}
.panel-head select{padding:6px 10px;font-size:12px;border:1px solid #e6ebf3;border-radius:8px;background:#fff;color:#4e607b}
.panel-head select:disabled{color:#a9b4c4;background:#f6f8fb}
.dashboard-panel{padding:22px;min-width:0;align-self:start}.dashboard-panel>p,.dashboard-panel .panel-head p{margin-top:5px}.dashboard-panel h2{font-size:16px}.chart-legend{display:flex;gap:20px;font-size:11px;margin:20px 0 2px}.series-notices{color:#3977db}.series-applications{color:#ec9a55}.trend-chart{display:block;width:100%;height:auto;overflow:visible}
.bucket-chart{margin-top:6px}
.bucket-bar.b0{fill:#3977db}.bucket-bar.b1{fill:#3fa18a}.bucket-bar.b2{fill:#7a6ee0}.bucket-bar.b3{fill:#ec9a55}
/* 粉丝量第 5、6 档：10 万以上拆成 10 万–50 万 / 50 万–100 万 / 100 万以上后多出来的两根柱子 */
.bucket-bar.b4{fill:#d0554a}.bucket-bar.b5{fill:#8f9bb3}
.series-accounts{color:#d0554a}
/* 每日明细里「新增账号」用红色（用户 2026-09-28），只改这一张图的那一根柱子 */
.bucket-bar.series-accounts{fill:#d0554a}.series-cards{color:#3fa18a}
/* 两块看板的图例色，跟 bucketChart 的 b0/b1/b2 对齐 */
.series-blogger{color:#3977db}.series-certified{color:#3fa18a}.series-partner{color:#7a6ee0}
.series-platform{color:#3977db}.series-aggregate{color:#3fa18a}.series-board-apps{color:#7a6ee0}
.series-tier0{color:#3977db}.series-tier1{color:#3fa18a}.series-tier2{color:#7a6ee0}.series-tier3{color:#ec9a55}.series-tier4{color:#d0554a}.series-tier5{color:#8f9bb3}
.series-submit-blogger{color:#3977db}.series-submit-publisher{color:#3fa18a}.series-reviewed{color:#7a6ee0}.chart-grid{stroke:#edf1f6;stroke-width:1}.chart-text{fill:#8c9cb1;font-size:11px}.chart-line{stroke-width:2.5;stroke-linejoin:round}.chart-line.accounts{stroke:#d0554a}.chart-line.cards{stroke:#3fa18a}.chart-line.notices{stroke:#3977db}.chart-line.applications{stroke:#ec9a55}
.chart-dot.accounts{fill:#d0554a}.chart-dot.cards{fill:#3fa18a}.chart-dot.notices{fill:#3977db}.chart-dot.applications{fill:#ec9a55}.dashboard-task{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;text-align:left;background:#f5f8fd;color:#5c7190;padding:13px;border-radius:8px;margin-top:14px;font-size:12px}.dashboard-task:hover{background:#ebf2fd}.dashboard-task strong{color:#3d74bd;font-size:16px}.dashboard-panel .details{grid-template-columns:1fr auto;padding:14px 0;margin:10px 0;border-bottom:1px solid #edf1f6}.dashboard-bars{display:grid;gap:15px;margin-top:23px}.dashboard-bars .between{font-size:12px;color:#69809d}.dashboard-bars strong{font-weight:500}.dashboard-bars progress{display:block;width:100%;height:7px;margin-top:8px;accent-color:#6895da;border:0;border-radius:5px;overflow:hidden}.dashboard-bars progress::-webkit-progress-bar{background:#eef2f8}.dashboard-bars progress::-webkit-progress-value{background:#6895da}.dashboard-footnote{font-size:11px;color:#8b9ab0;line-height:1.9;margin-top:20px}.daily-details{font-size:12px;color:#6c819e;border-top:1px solid #edf1f6;padding-top:10px}.daily-details summary{cursor:pointer}/* 明细表格（用户 2026-09-28 报的 bug）：全局 .table-scroll 为了让列表页表头吸顶改成了 overflow:visible，
   这里的 max-height:240px 就压不住表格，30 行能长到 1700px 直接溢出面板。明细里不需要吸顶，自己滚就行。 */
.daily-details .table-scroll{max-height:280px;overflow:auto;margin-top:10px}/* 系统状态页（原「OCR 与服务」，2026-09-28 改名）：CPU / 内存 / 磁盘使用量 + 运行信息。
   这些面板原来挂在数据看板，按用户要求挪进系统状态页。 */
/* 用户 2026-09-28：「CPU 与内存和服务器存储并列排列」——两块并排，服务运行占整行。 */
.system-status-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;align-items:stretch}
/* 用户 2026-09-29：「这两个卡片高度对齐下」——同一行的两块卡片等高（内容多的那块决定行高） */
.system-status-stack>.panel{height:100%}
/* 状态区现在排在「本机服务器 / OCR」网格前面，两者之间也要留出和其它卡片一样的间距 */
.system-status-stack+.system-grid{margin-top:20px}
.system-status-stack .storage-gauge{flex:0 0 118px;width:118px;height:118px}
.gauge-row{display:flex;gap:18px;flex:0 0 auto}
.gauge-block h3{font-size:13px;color:#8c9bb0;margin:0 0 6px;font-weight:500}
.system-status-stack .details{flex:1 1 300px;min-width:0;margin:0}
/* 并排后单块只有 569px：环形图和明细要留在同一行，明细的基准宽度收窄一点 */
/* 并排后单块只有 569px：两个环形图竖排，明细列表就能留在同一行且标签不折行 */
.system-status-stack .gauge-row{flex-direction:column;gap:10px}
/* 存储水位提醒：data 目录 2 GB / 磁盘 85% 才出现，平时不占位置 */
.storage-alert{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff7e8;border:1px solid #ffe0b2}
.storage-alert.is-danger{background:#fff0ed;border-color:#f6c9c0}
.storage-alert-line{margin:0;font-size:13px;line-height:1.8;color:#8a5a12}
.storage-alert-line.is-danger{color:#a03526}
.storage-alert-line+.storage-alert-line{margin-top:6px}
.storage-body{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:14px}
.storage-gauge{flex:0 0 150px}
.storage-track{stroke:#e9eef5}
.storage-value{stroke:#2c6bd9}
.storage-value.is-high{stroke:#d0554a}
.storage-percent{font-size:30px;font-weight:650;fill:#4e607b}
.storage-caption{font-size:13px;fill:#8c9bb0}
.storage-body .details,.dashboard-runtime .details{flex:1 1 260px;min-width:0;margin:0}
.storage-body+.muted,.dashboard-runtime+.muted{margin-top:12px}
/* 账号安全（系统状态页，2026-09-28）：管理员列表 + 改密码表单 */
.security-card{margin-top:20px}
.security-card h3{font-size:14px;margin:18px 0 8px;color:#4e607b}
.security-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.security-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#8c9bb0;min-width:200px}
.security-field input{padding:9px 11px;border:1px solid #e2e8f2;border-radius:8px;font-size:14px;color:#334155;background:#fff;font-family:inherit}
.security-list{margin:6px 0 14px}
.security-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-top:1px solid #eef2f7}
.security-row:first-child{border-top:0}
.security-who{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.security-actions{display:flex;gap:8px;flex:0 0 auto}
@media(max-width:650px){.security-field{min-width:100%}}
@media(max-width:1300px){.dashboard-trend,.dashboard-review{grid-column:span 6}}
@media(max-width:1100px){.system-status-stack{grid-template-columns:1fr}.dashboard-blogger,.dashboard-notice{grid-column:span 6}.dashboard-platform,.dashboard-applications,.dashboard-members{grid-column:span 3}}@media(max-width:650px){.dashboard-platform,.dashboard-applications,.dashboard-members{grid-column:span 6}.system-status-stack .storage-body{gap:14px}.gauge-row{gap:10px;flex-wrap:wrap}.storage-alert{padding:10px 12px}}@media(max-width:650px){.dashboard-panel{padding:18px}.dashboard-note{align-items:start}.dashboard-note .chip{flex-shrink:0}.dashboard-stats .stat-caption{font-size:10px}.dashboard-toolbar #dashboard-updated{display:block;margin-top:8px}}

@media(max-width:650px){.trend-chart .chart-text{font-size:19px}}

.list-pagination{gap:12px;flex-wrap:wrap;justify-content:flex-end}
.revenue-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(186px,1fr));gap:14px;padding:18px 22px;border-bottom:1px solid #edf0f6}.revenue-summary .stat{padding:16px 18px}.revenue-summary .value{font-size:24px}.inline-check{display:flex;align-items:center;gap:6px;font-size:12px;color:#5c6b82;white-space:nowrap}.inline-check input{margin:0}.list-pagination>span:first-child{margin-right:auto}.list-pagination select{width:120px}.notice-categories{display:block;margin:0;padding:0;border:0}   /* 领域多选改成发布页那套 chip（样式见「通告表单控件库」那一块） */.notice-actions{flex-wrap:wrap;min-width:170px}

#crop-dialog{width:min(430px,92vw);padding:24px}#cover-canvas{display:block;width:min(280px,65vw);height:auto;max-width:100%;margin:18px auto;background:#eef1f5;touch-action:none;cursor:move;border-radius:8px}#crop-zoom{width:100%}.crop-buttons{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.notice-cover-widget{margin:16px 0;display:flex;align-items:center;gap:18px}.notice-cover-widget img{width:83px;height:83px;object-fit:cover;border-radius:8px}.notice-cover-widget input[type=file]{max-width:260px}.notice-cover-tools{display:grid;gap:10px}

@media(max-width:600px){.notice-cover-widget{flex-wrap:wrap}.notice-cover-tools{min-width:0;width:100%}.notice-cover-widget input[type=file]{width:100%;max-width:100%}}

#crop-dialog .crop-buttons button{width:auto;white-space:nowrap;flex-shrink:0}#crop-dialog .crop-buttons .primary{flex:1;margin:0}

.admin-region-row,.admin-extra-row,.admin-tier-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.admin-tier-row .tier-label{min-width:84px;font-weight:600}
.admin-tier-row select{min-width:96px}
.admin-tier-row input{flex:1;min-width:130px}.admin-region-row select{flex:1;min-width:100px}.admin-extra-row input{flex:1;min-width:140px}.admin-region-row button,.admin-extra-row button{flex-shrink:0}
/* ── 博主名片：列表一行看全「头像 + 昵称 + 关键数据 + 联系方式」，运营不用逐个点开（2026-09-27） ── */
.queue-row{display:flex;gap:11px;align-items:flex-start;padding:11px 16px}
.qr-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;display:flex;align-items:center;justify-content:center;background:#e9eff9;color:#5b76a3;font-size:15px;font-weight:600}
.qr-body{flex:1;min-width:0}
.qr-tags{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.qr-fans{color:#3f83e0;font-size:12px;font-weight:600;white-space:nowrap}
.queue-row h3{margin:5px 0 3px}
.queue-row .meta{margin-bottom:7px}
.qr-contact{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin-bottom:2px}
.qr-contact-item{font-size:11px;color:#4a5a72;background:#f2f6fc;border-radius:5px;padding:2px 7px;white-space:nowrap;cursor:pointer;user-select:none}
.qr-contact-item:hover{background:#e4edfb;color:#2f74d0}
.queue-row .meta .meta-sub{color:#aab6c7}
.copy-chip{font-size:11px;color:#2f74d0;background:#eef4ff;border-radius:5px;padding:2px 7px;cursor:pointer;user-select:none;white-space:nowrap}
.copy-chip:hover{background:#dfeaff}

/* 通告的小程序链接弹窗（2026-10-01）：链接是一整串 #小程序://…，要能选中、能一键复制。 */
.link-row{display:flex;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;background:#f5f8fd;border-radius:9px}
.link-text{flex:1;min-width:0;font-family:Menlo,Consolas,monospace;font-size:12px;color:#263651;word-break:break-all;white-space:pre-wrap}
mark{background:#fff3b0;color:inherit;border-radius:2px;padding:0 1px}
.detail-section.contact-card{margin-top:18px}
.contact-grid{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:10px}
.contact-item{display:flex;align-items:center;gap:7px;background:#f7f9fd;border:1px solid #edf1f8;border-radius:8px;padding:6px 10px}
.contact-label{color:#93a1b6;font-size:11px}
.contact-value{font-size:12.5px;font-weight:600;color:#22314b}
.contact-link{font-size:12px;color:#2f74d0}
@media(max-width:950px){.queue-row{padding:12px 14px}}
/* ── 划到列表下面时也要能看到右边的资料（用户 2026-09-27：「划到下面的时候看不到全部信息」）──
   搜索筛选行钉在顶部；右侧详情面板跟着停在视口里，内容比视口高时它自己滚。
   坑：.panel 自带的 overflow:hidden 会让 position:sticky 失效，这里必须放开。 */
.review-toolbar{position:sticky;top:0;z-index:6;background:#f5f7fb;padding:10px 0 12px;margin-bottom:8px}
.detail-panel{position:sticky;top:78px;overflow:auto;max-height:calc(100vh - 92px)}
@media(max-width:950px){.detail-panel{position:static;max-height:none;overflow:visible;top:auto}.review-toolbar{position:static;padding:0}}
/* ── 表格表头吸顶（用户 2026-09-27：「一起做了」）──────────────────────────
   滚到列表下面也知道每列是什么。两个坑：
   ① .table-scroll 的 overflow:auto 会把自己变成滚动容器，sticky 绑在它身上就永远不动；
   ② .panel 的 overflow:hidden 同理。宽屏下都要放开，窄屏（≤950px）让位给横向滚动。 */
.table-scroll{overflow:visible}
th{position:sticky;top:0;z-index:3}
.panel:has(.table-scroll){overflow:visible}
th{box-shadow:inset 0 -1px 0 #edf1f6}
@media(max-width:950px){.table-scroll{overflow-x:auto}th{position:static;box-shadow:none}}
/* 单元格里的「复制 ID」小胶囊（和名片页的复制按钮同一套颜色） */
td .copy-chip{margin-left:6px;vertical-align:middle;display:inline-block}
/* ── 通告管理：报名 / 名额 列 + 优推中标记（用户 2026-09-27「通告管理也帮我优化一下」）── */
.quota-cell{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.quota-link{background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:600;color:#2f74d0;cursor:pointer}
.quota-link:disabled{color:#b6c0cd;cursor:default}
.quota-link:not(:disabled):hover{text-decoration:underline}
.quota-note{font-size:11px;color:#8b98ab}
.quota-note.full{color:#d0554a}
.state-cell{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* 报名名单弹窗：列多（25 列，与导出的报名表同一套），比编辑弹窗宽，表格横向滚、竖向限高且表头仍吸顶 */
dialog.applicants{width:min(1160px,94vw)}
#dialog .table-scroll{max-height:52vh;overflow:auto}
/* 25 列挤在弹窗宽度里会一个字一行，改成按内容撑开 + 横向滚；纵向限高，表头照旧吸顶。 */
#dialog .table-scroll table{width:max-content;min-width:100%}
#dialog .table-scroll th,#dialog .table-scroll td{white-space:nowrap;padding:10px 12px}
.dialog-actions{display:flex;justify-content:flex-end;margin-top:14px}

/* 2026-09-30：档位行新增「招募名额」输入与总名额合计行（分档报价的总名额 = 各档之和） */
.admin-tier-row .tier-slots{flex:0 0 96px;min-width:96px}
/* ── 分档报价表（2026-10-01 用户截图）：「新增聚合通告」与「聚合录入」的档位表逐项复刻小程序
   「发布通告」页（小红书＝粉丝量分档、抖音＝团购等级）。尺寸 / 配色 / 文案照 miniprogram/pages/publish/index.wxss 搬：
   小程序 750rpx＝一屏宽，发布页那张表宽约 674rpx；后台按 1rpx＝1px 取（药丸 92 / 金额 100 / 名额 96 /
   勾选列 34+12），比例与发布页一致——表宽随容器，只有「档名」那一列是可伸缩的。
   蓝＝发布页 --accent(#2879d7)，灰阶＝发布页 .tier-name/.tier-seg-item/.tier-static 那几档。 */
.tier-table{min-width:0}
.tier-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.tier-title-text{flex:0 1 auto;min-width:0;font-weight:600}
.tier-title-text .tier-required{color:#c93a2d;font-weight:600;margin-left:3px}
.tier-hint-inline{flex:none;font-size:13px;color:#6b7280;font-weight:400}
.tier-th{display:flex;align-items:center;padding:12px 0 6px;border-bottom:1px solid #eef1f5;font-size:12px;color:#6b7280;font-weight:400}
.tier-th-name{flex:1;min-width:0}
.tier-th-mode{flex:0 0 286px;width:286px;text-align:center}
.tier-th-price{flex:0 0 100px;width:100px;margin-left:12px;text-align:center}
.tier-th-slots{flex:0 0 96px;width:96px;margin-left:12px;text-align:center;white-space:nowrap}
.admin-tier-row.tier-row{display:flex;align-items:center;gap:0;margin:0;padding:9px 0;background:transparent;border:0;border-bottom:1px solid #eef1f5;border-radius:0}
.admin-tier-row.tier-row:last-child{border-bottom:0}
.intake-body .admin-tier-row.tier-row{background:transparent;border:0;border-bottom:1px solid #eef1f5;border-radius:0;padding:9px 0}
.admin-tier-row .tier-pick{flex:0 0 auto;width:18px;height:18px;min-width:0;margin:0 12px 0 0;padding:0;border-radius:4px;accent-color:#2879d7}
.admin-tier-row .tier-name{flex:1;min-width:0;padding-right:8px;font-size:14px;font-weight:600;color:#3c4653;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-tier-row .tier-name.off{color:#6b7280;font-weight:400}
.admin-tier-row .tier-seg{display:flex;flex:0 0 286px;width:286px;justify-content:flex-end}
.admin-tier-row .tier-seg-item{flex:none;width:92px;box-sizing:border-box;padding:7px 0;margin:0;font-family:inherit;font-size:14px;font-weight:400;color:#7b8697;text-align:center;background:#f6f8fb;border:1px solid #e6ebf2;border-radius:6px;white-space:nowrap}
.admin-tier-row .tier-seg-item + .tier-seg-item{margin-left:5px}
.admin-tier-row .tier-seg-item.on{color:#fff;background:#2879d7;border-color:#2879d7;font-weight:600}
.admin-tier-row .tier-price{flex:0 0 100px;width:100px;min-width:0;height:36px;margin:0 0 0 12px;padding:0 8px;font-size:14px;font-weight:400;color:#3c4653;text-align:center;background:#fff;border:1px solid #e6ebf2;border-radius:6px;box-sizing:border-box}
.admin-tier-row .tier-slots{flex:0 0 96px;width:96px;min-width:0;height:36px;margin:0 0 0 12px;padding:0 6px;font-size:14px;font-weight:400;color:#3c4653;text-align:center;background:#fff;border:1px solid #e6ebf2;border-radius:6px;box-sizing:border-box}
.admin-tier-row .tier-static{display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:14px;background:#fafbfd;border-color:#eef1f5}
/* 自报价那一格的「返点」开关（勾上后博主报名时自己填报价并选 10%～90%），做法与发布页 .tier-rebate 一致。 */
.admin-tier-row .tier-price.tier-rebate{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#7b8697;background:#f6f8fb;border:1px solid #e6ebf2}
.admin-tier-row .tier-price.tier-rebate.on{color:#fff;background:#2879d7;border-color:#2879d7;font-weight:600}
.admin-tier-row .tier-price.tier-rebate.on::after{content:'';display:inline-block;width:5px;height:9px;margin-left:6px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-2px)}
.tier-table-total{font-weight:600;color:#293c59;font-size:15px;margin-top:12px}
.tier-note{font-size:12px;color:#6b7280;line-height:1.9;margin-top:8px}

/* ── 通告表单控件库（后台两张表单共用）：形态逐项照小程序「发布通告」页搬 ─────────────────────
   用户 2026-10-01 指着后台「新增聚合通告」的截图说「这些都要和小程序的一样」——要的是控件本身
   （外观 + 交互形态），不只是字段名一致。基准：miniprogram/pages/publish/index.wxml|wxss。
   换算口径与上一轮档位表一致：宽度 / 间距 1rpx＝1px（.mode-item 176rpx→88px×2、chip 202rpx→202px），
   字号 / 高度 / 圆角按约 0.55 折（26rpx→14px、24rpx→13px、60rpx→36px、12rpx→8px）；配色逐项照搬。
   类名沿用发布页的叫法（picker 值行 / .category-option / .quote-card / .mode-item / .chip-btn），
   两张表单（「新增聚合通告」与「聚合录入」）只从 app.js 的控件库取控件，样式只在这一块。 */
.pc-field{min-width:0;margin:14px 0 0}
.pc-field .pc-label{display:flex;align-items:baseline;gap:2px;font-size:13px;color:#6b7280;margin-bottom:5px}
.pc-field .pc-required{color:#c93a2d;margin-left:3px}
/* 行式文本框（发布页 input：无边框、行下一条分隔线，28rpx→15px / #3c4653） */
.pc-input{display:block;width:100%;min-height:38px;margin:0;padding:0;font-size:15px;font-weight:400;color:#3c4653;background:transparent;border:0;border-bottom:1px solid #f0f1f4;border-radius:0;box-sizing:border-box}
.pc-input:focus{outline:0;border-bottom-color:#2879d7}
textarea.pc-input{min-height:96px;padding:8px 10px;line-height:1.7;border:1px solid #f0f1f4;border-radius:8px;background:#fff;resize:vertical}
/* 下拉：发布页是 <picker> 的值行（值在左、右侧一个 ›、行下一条分隔线）；桌面用真 <select> 铺满同一行，
   键盘 / 无障碍 / 自动化（含后台验收脚本的 selectOption）都不丢。 */
.pc-picker{position:relative;display:flex;align-items:center;min-height:38px;border-bottom:1px solid #f0f1f4}
.pc-picker select{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;opacity:0;cursor:pointer}
.pc-picker .pc-picker-text{flex:1;min-width:0;font-size:15px;color:#3c4653;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-picker .chevron{flex:none;margin-left:6px;color:#6b7280;font-size:15px;line-height:1}
.pc-picker:focus-within{border-bottom-color:#2879d7}
/* 三颗原生单选并排（发布页 .pricing-options：一口价 / 自报价 / 置换，间距 36rpx） */
.pc-radios{display:flex;align-items:center;flex-wrap:wrap;gap:36px;min-height:38px}
.pc-radios .pc-radio{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:400;color:#3c4653}
.pc-radios input[type=radio]{width:auto;height:auto;min-width:0;margin:0;padding:0;accent-color:#2879d7}
/* 药丸按钮组（发布页 .mode-switch：浅底槽 + 选中蓝底白字；176rpx 槽装两颗 → 每颗 88px） */
.pc-seg{display:inline-flex;align-items:center;background:#f2f4f7;border-radius:12px;padding:3px}
.pc-seg .pc-seg-item{box-sizing:border-box;width:88px;height:30px;margin:0;padding:0;font-family:inherit;font-size:13px;font-weight:400;color:#6b7686;background:transparent;border:0;border-radius:10px;cursor:pointer;white-space:nowrap}
.pc-seg .pc-seg-item.on{background:#2879d7;color:#fff;font-weight:600}
/* 报价方式两张卡片（发布页 .quote-cards / .quote-card：选中蓝边 + 浅蓝底 + 右上角蓝点，说明写在卡里） */
.pc-quote-cards{display:flex;gap:20px;margin-top:4px}
.pc-quote-card{position:relative;flex:1;min-width:0;box-sizing:border-box;padding:14px 14px 15px;background:#fff;border:2px solid #e8ebef;border-radius:16px;cursor:pointer}
.pc-quote-card.on{border-color:#2879d7;background:#eaf3ff}
.pc-quote-card .pc-quote-card-title{font-size:14px;font-weight:600;color:#232323;padding-right:24px;line-height:1.3}
.pc-quote-card .pc-quote-card-desc{font-size:12px;line-height:1.5;color:#6b7280;margin-top:5px}
.pc-quote-card .pc-quote-card-dot{position:absolute;top:12px;right:12px;width:18px;height:18px;border-radius:50%;background:#dfe3e8}
.pc-quote-card.on .pc-quote-card-dot{background:#2879d7}
/* 内容领域：chip 多选（发布页 .category-options / .category-option / .category-tick / .menu-hot-badge）：
   浅底 #f6f7f9、三列（宽 202rpx≈202px）、选中蓝底蓝边 + 右上角 CSS 画的勾，本地探店带 HOT 角标。
   .notice-categories 这个类名留着（两张表单的领域多选都挂在它上面，样式就是发布页那一套）。 */
.notice-categories{display:block;margin:0;padding:0;border:0}
.pc-category-options{display:flex;flex-wrap:wrap;gap:14px 12px;margin-top:4px}
.pc-category-option{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:202px;height:39px;padding:0;font-family:inherit;font-size:13px;text-align:center;white-space:nowrap;color:#66707e;background:#f6f7f9;border:2px solid transparent;border-radius:8px;cursor:pointer}
.pc-category-option.on{background:#eaf3ff;border-color:#2879d7;color:#376caa;font-weight:600}
.pc-category-option .category-tick{position:absolute;top:1px;right:1px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;border-radius:50%;background:#2879d7;border:2px solid #fff}
.pc-category-option .category-tick::after{content:'';width:5px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}
.pc-category-option.hot-option .category-tick{left:4px;right:auto}
.pc-category-option .menu-hot-badge{position:absolute;right:-2px;top:-7px;padding:0 4px;font-size:11px;line-height:13px;font-weight:700;color:#fff;background:#e60013;border-radius:999px}
/* 药丸按钮 / 药丸开关（发布页 .chip-btn：宽 176rpx≈176px、高 60rpx≈36px；选中蓝底白字 + CSS 画的勾） */
.pc-chip-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:176px;height:36px;margin:0;padding:0;font-family:inherit;font-size:13px;font-weight:400;color:#376caa;background:#eaf3ff;border:0;border-radius:10px;cursor:pointer;white-space:nowrap}
.pc-chip-btn.on{background:#2879d7;color:#fff;font-weight:600}
.pc-chip-btn .check-mark{display:inline-block;width:5px;height:9px;margin-left:6px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-2px)}
/* 行内的 mini 按钮（发布页「−」删除那一颗：白底细边，高度与药丸一致） */
.pc-mini-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:36px;margin:0;padding:0 12px;font-family:inherit;font-size:13px;font-weight:400;color:#545965;background:#fff;border:1px solid #e6ebf2;border-radius:10px;cursor:pointer;flex:none;white-space:nowrap}
.pc-helper{font-size:13px;line-height:1.7;color:#6b7280;margin-top:8px}
.pc-helper .rebate-line{display:block}
/* 返点那一行（发布页 .rebate-wrap）：药丸开关靠左，右侧是那段说明 */
.pc-toggle-row{display:flex;align-items:flex-start;gap:16px;margin-top:6px}
.pc-toggle-row .pc-helper{flex:1;min-width:0;margin:0}
/* 可多选的行（发布页 .editable-row：一行一个地区 / 一个信息项 + 一颗删除按钮） */
.pc-rows{display:block}
.pc-editable-row{display:flex;align-items:center;gap:16px;margin:14px 0}
.pc-editable-row .pc-region-pickers{display:flex;flex:1;min-width:0;gap:16px}
.pc-editable-row .pc-region-pickers .pc-picker{flex:1;min-width:0}
.pc-editable-row>.pc-input{flex:1;min-width:0}
/* 封面（发布页：方形预览 + 「上传通告封面 / 更换通告封面」药丸 + 「移除封面」+ 那段说明） */
.pc-field.notice-cover-widget{display:block}
.pc-cover-row{display:flex;align-items:flex-start;gap:18px;margin-top:6px}
.pc-cover-row .pc-file{position:relative;display:inline-flex}
.pc-cover-row .pc-file input[type=file]{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;padding:0;opacity:0;cursor:pointer}
.pc-cover-row .pc-cover-remove{display:inline-block;margin-left:14px;font-size:13px;color:#376caa;cursor:pointer}
/* 窄屏（≤650px，后台两列网格已经折成一列）：chip 与卡片跟着让位，别把面板撑出去 */
@media(max-width:650px){.pc-category-option{width:calc((100% - 24px) / 3)}.pc-quote-cards{gap:12px}.pc-radios{gap:18px}.pc-seg .pc-seg-item{width:84px}.pc-editable-row{flex-wrap:wrap}.pc-editable-row .pc-region-pickers{flex-wrap:wrap}.pc-editable-row .pc-region-pickers .pc-picker{flex:1 1 120px}}

/* ── 聚合录入（2026-09-30 用户需求）：粘一段微信报名文案 → 解析 → 可编辑表单 → 创建聚合通告。
   配色 / 圆角 / 字号全部沿用上面已有的值（.panel / .chip / .notice-form-grid / .admin-tier-row），
   不引新的样式库、不新造颜色；这一页也不做吸顶 / 固定层，免得跟表头吸顶那套打架。 */
.intake-paste-body{padding:0 22px 20px}
.intake-paste-body textarea{display:block;margin-top:8px;min-height:180px;font-size:13px}
.intake-paste-body>p{font-size:11px;margin-top:10px}
.intake-row{margin-top:12px;flex-wrap:wrap}
/* AI 开关（2026-09-30 用户需求）：就地挂在「粘贴微信报名文案」标题行右侧，沿用数据看板那颗勾选框的样式与配色；
   服务端全局关掉时置灰（.is-off），不给用户一个点了没用的开关。 */
.intake-ai-toggle{white-space:nowrap}
.intake-ai-toggle.is-off{color:#8b97a9}
.intake-ai-toggle.is-off input{cursor:not-allowed}
.intake-result{margin-top:20px}
.intake-body{padding:18px 22px 22px}
.intake-body .notice-form-grid{margin-top:6px}
.intake-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.intake-field-head .chip{flex:none}
.intake-body .notice-categories{margin-top:0}
.intake-actions{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}
.intake-body .admin-tier-row{background:#fafbfd;border:1px solid #eef2f8;border-radius:9px;padding:8px 10px}
.intake-body .admin-tier-row input[type=checkbox]{width:auto;min-width:0;margin:0;accent-color:#2c6bd9;flex:0 0 auto}
.intake-body .admin-tier-row .tier-label{max-width:300px;overflow-wrap:anywhere;font-size:12px}
@media(max-width:650px){.intake-paste-body{padding:0 14px 16px}.intake-body{padding:14px}.intake-body .admin-tier-row .tier-label{max-width:none}}
/* 举报配图（2026-09-30）：后台举报列表里的缩略图；点开用既有的图片弹窗（#image-dialog）。 */
.report-thumbs{display:flex;flex-wrap:wrap;gap:6px}
.report-thumb{display:block;width:54px;height:54px;object-fit:cover;border:1px solid #e7ecf4;border-radius:7px;background:#f6f8fb;cursor:zoom-in}
/* 数据维护 · 恢复数据库（2026-09-30）：沿用现有的表单控件与卡片风格，不新开一套。 */
.restore-box{margin-top:18px;border-top:1px solid #edf1f6;padding-top:16px}
.restore-box h3{margin-bottom:10px}
.restore-box .row{align-items:flex-end;flex-wrap:wrap}
.maintain-field{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12px;color:#8c9bb0}
.maintain-field input[type=file]{width:auto;max-width:260px;padding:8px 10px;font-size:12px}
.maintain-field input[type=text]{width:160px}
@media(max-width:650px){.maintain-field input[type=file]{max-width:100%}}
