/* 管理后台的独立运营控制台视觉系统。 */
:root {
  --admin-ink: #19212b;
  --admin-muted: #6d7886;
  --admin-line: #e4e9ed;
  --admin-canvas: #f4f7f8;
  --admin-surface: #ffffff;
  --admin-teal: #1479a8;
  --admin-navy: #162630;
  --admin-sidebar: #13222b;
  --admin-sidebar-soft: #1c313c;
}

.admin-shell { display:flex; min-height:100vh; background:var(--admin-canvas); }
.admin-aside { width:252px; height:100vh; position:sticky; top:0; z-index:110; flex-shrink:0; display:flex; flex-direction:column; background:var(--admin-sidebar); color:#b9c5cb; transition:width .22s ease, transform .22s ease; }
.admin-brand { height:76px; padding:0 18px; display:flex; align-items:center; gap:11px; color:#f9fcfd; border-bottom:1px solid rgba(255,255,255,.09); }
.admin-brand-mark { width:34px; height:34px; border-radius:7px; font-size:17px; color:#0f2d39; background:#c8e9e2; display:grid; place-items:center; flex:none; }
.brand-copy { min-width:0; flex:1; display:flex; flex-direction:column; gap:4px; overflow:hidden; }
.brand-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; letter-spacing:0; }
.brand-copy small { color:#75909a; font-size:9px; letter-spacing:1.2px; white-space:nowrap; }
.admin-icon-button { width:34px; height:34px; display:grid; place-items:center; padding:0; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--admin-muted); cursor:pointer; font-size:17px; transition:background .18s,color .18s,border-color .18s; }
.admin-icon-button:hover { color:var(--admin-ink); border-color:var(--admin-line); background:#fff; }
.brand-collapse { color:#8ca1aa; }.brand-collapse:hover { color:#fff; border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.08); }
.admin-menu { flex:1; overflow-y:auto; padding:19px 12px; }
.admin-menu-group { margin:0 0 21px; }.admin-menu-group:last-child { margin-bottom:0; }
.admin-menu-label { height:17px; padding:0 10px 6px; overflow:hidden; color:#708892; font-size:10px; font-weight:700; letter-spacing:1.15px; white-space:nowrap; }
.admin-menu-item { min-height:42px; margin:2px 0; padding:0 11px; display:flex; align-items:center; gap:11px; color:#b9c5cb; border-radius:6px; text-decoration:none; font-size:13px; font-weight:500; transition:background .16s,color .16s; position:relative; }
.admin-menu-item .el-icon { font-size:17px; flex:none; }.admin-menu-item:hover { color:#fff; background:rgba(222,243,239,.09); }.admin-menu-item.active { color:#e9fffb; background:#1c4c5a; box-shadow:inset 3px 0 0 #8fd6cb; }
.menu-badge { margin-left:auto; min-width:19px; height:19px; padding:0 5px; display:grid; place-items:center; border-radius:10px; color:#fff; background:#d95b56; font-size:10px; font-weight:700; }
.admin-aside-footer { padding:12px; border-top:1px solid rgba(255,255,255,.09); }
.admin-main { min-width:0; flex:1; display:flex; flex-direction:column; }
.admin-topbar { min-height:76px; padding:0 30px; display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.92); border-bottom:1px solid var(--admin-line); backdrop-filter:blur(12px); position:sticky; top:0; z-index:80; }
.admin-topbar-title,.admin-topbar-actions,.admin-user-trigger { display:flex; align-items:center; }.admin-topbar-title { gap:11px; }.admin-topbar-actions { gap:10px; }
.admin-crumb { color:#8a959e; font-size:11px; line-height:1.2; }.admin-crumb span { margin:0 4px; color:#c2c9ce; }.page-name { margin-top:3px; color:var(--admin-ink); font-size:18px; font-weight:750; letter-spacing:0; }
.admin-live { padding:5px 9px; display:flex; align-items:center; gap:6px; color:#347860; background:#edf8f3; border:1px solid #d5eee2; border-radius:5px; font-size:11px; white-space:nowrap; }.admin-live i { width:6px; height:6px; border-radius:50%; background:#36ac72; box-shadow:0 0 0 3px rgba(54,172,114,.13); }
.admin-user-trigger { gap:7px; padding:3px 5px 3px 3px; border:0; border-radius:6px; background:transparent; color:#34424c; cursor:pointer; font-size:13px; }.admin-user-trigger:hover { background:#f2f5f6; }.admin-user-trigger .el-avatar { color:#fff; background:#1e6174; font-weight:700; }.admin-user-trigger .el-icon { font-size:12px; color:#87939c; }
.mobile-menu-trigger { display:none; }.admin-content { flex:1; padding:30px; overflow:hidden; }
.admin-shell.is-collapsed .admin-aside { width:72px; }.admin-shell.is-collapsed .brand-copy,.admin-shell.is-collapsed .menu-text,.admin-shell.is-collapsed .admin-menu-label,.admin-shell.is-collapsed .menu-badge { display:none; }.admin-shell.is-collapsed .admin-brand { padding:0; justify-content:center; }.admin-shell.is-collapsed .brand-collapse { display:none; }.admin-shell.is-collapsed .admin-menu { padding:19px 10px; }.admin-shell.is-collapsed .admin-menu-group { margin-bottom:12px; }.admin-shell.is-collapsed .admin-menu-item { justify-content:center; padding:0; }.admin-shell.is-collapsed .admin-aside-footer { padding:10px; }

.operations-dashboard { max-width:1440px; margin:0 auto; }.dashboard-hero { min-height:154px; padding:27px 30px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; color:#effafa; background:#173844; border-radius:8px; position:relative; overflow:hidden; }.dashboard-hero::after { content:""; width:300px; height:300px; position:absolute; right:-105px; top:-184px; border:45px solid rgba(196,233,223,.12); border-radius:50%; }.dashboard-eyebrow { display:flex; align-items:center; gap:7px; color:#bce4dc; font-size:11px; font-weight:700; letter-spacing:.7px; }.dashboard-eyebrow i { width:7px; height:7px; border-radius:50%; background:#8fd6cb; }.dashboard-hero h1 { margin:12px 0 8px; font-size:25px; letter-spacing:0; }.dashboard-hero p { max-width:610px; margin:0; color:#b9d1d4; font-size:13px; line-height:1.7; }.dashboard-hero-actions { position:relative; z-index:1; display:flex; align-items:center; gap:12px; }.dashboard-hero-actions .el-button { border-color:rgba(213,241,237,.42); color:#e9fbf8; background:rgba(0,0,0,.08); }.dashboard-updated { color:#9fbdc2; font-size:11px; white-space:nowrap; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:18px 0; }.metric-card { min-height:132px; padding:17px 18px; border:1px solid var(--admin-line); border-radius:7px; background:var(--admin-surface); box-shadow:0 4px 15px rgba(26,43,52,.035); }.metric-card-top { display:flex; align-items:center; justify-content:space-between; color:var(--admin-muted); font-size:12px; }.metric-card-top .el-icon { width:29px; height:29px; display:grid; place-items:center; border-radius:6px; font-size:16px; }.metric-card strong { display:block; margin:13px 0 7px; color:var(--admin-ink); font-size:27px; line-height:1; }.metric-card small { color:#89939b; font-size:11px; }.metric-card.blue .metric-card-top .el-icon { color:#1479a8; background:#eaf5f8; }.metric-card.mint .metric-card-top .el-icon { color:#288460; background:#edf8f3; }.metric-card.amber .metric-card-top .el-icon { color:#b2701d; background:#fff7e7; }.metric-card.coral .metric-card-top .el-icon { color:#bc5b52; background:#fff0ee; }
.attention-banner { min-height:56px; margin-bottom:18px; padding:11px 16px; display:flex; align-items:center; gap:12px; border:1px solid #f0d99b; border-radius:7px; background:#fff9ea; color:#8d631c; }.attention-banner > .el-icon { font-size:19px; }.attention-banner div { flex:1; display:flex; gap:9px; align-items:center; flex-wrap:wrap; }.attention-banner strong { font-size:13px; }.attention-banner span { color:#97794b; font-size:12px; }.attention-banner .el-button { padding:4px; font-size:12px; }
.dashboard-workspace { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr); gap:18px; }.workspace-main,.workspace-side { min-width:0; display:flex; flex-direction:column; gap:18px; }.admin-panel { border:1px solid var(--admin-line); border-radius:7px; background:#fff; box-shadow:0 4px 15px rgba(26,43,52,.035); }.panel-heading { min-height:64px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #edf0f2; }.panel-heading > div { display:flex; flex-direction:column; gap:4px; }.panel-heading span { color:#8a949c; font-size:10px; font-weight:700; letter-spacing:.7px; }.panel-heading strong { color:var(--admin-ink); font-size:14px; }.panel-heading .el-button { padding:4px; font-size:12px; }.chart-box-wide { height:300px; padding:2px 12px 12px; }
.recent-task-list { padding:0 18px; }.recent-task { min-height:75px; display:flex; align-items:center; gap:11px; border-bottom:1px solid #edf0f2; }.recent-task:last-child { border:0; }.recent-task-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:6px; color:#1479a8; background:#eaf5f8; flex:none; }.recent-task-icon.img2img { color:#a46a26; background:#fff5e7; }.recent-task-copy { min-width:0; flex:1; }.recent-task-copy strong { color:#35434c; font-size:12px; }.recent-task-copy strong span { color:#9ba5ad; font-weight:400; }.recent-task-copy p { margin:4px 0; overflow:hidden; color:#58636c; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.recent-task-copy small { color:#9ca5ab; font-size:10px; }
.queue-summary { padding:20px 18px 16px; display:flex; align-items:center; justify-content:space-between; }.queue-summary > div:first-child { display:flex; flex-direction:column; gap:5px; }.queue-summary strong { color:var(--admin-ink); font-size:30px; line-height:1; }.queue-summary span { color:#8b969e; font-size:11px; }.queue-ring { width:63px; height:63px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(#1479a8 calc(var(--queue-ratio) * 1%),#eaf0f1 0); position:relative; }.queue-ring::after { content:""; position:absolute; inset:7px; border-radius:50%; background:#fff; }.queue-ring span { position:relative; z-index:1; color:#35434c; font-size:13px; font-weight:700; }.queue-legend { padding:0 18px 18px; display:flex; flex-wrap:wrap; gap:8px 13px; color:#758089; font-size:11px; }.dot { width:6px; height:6px; display:inline-block; margin-right:4px; border-radius:50%; }.dot.pending { background:#e4a53c; }.dot.processing { background:#2e86ad; }.dot.failed { background:#d8655c; }
.health-list { padding:3px 18px 10px; }.health-row { min-height:39px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px solid #edf0f2; }.health-row:last-child { border:0; }.health-row div { min-width:0; display:flex; align-items:center; gap:8px; }.health-row i { width:7px; height:7px; border-radius:50%; flex:none; }.health-row i.online { background:#39a97a; box-shadow:0 0 0 3px rgba(57,169,122,.12); }.health-row i.warning { background:#e4a53c; }.health-row i.offline { background:#adb6bc; }.health-row strong { overflow:hidden; color:#46545d; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.health-row span { color:#939ca3; font-size:11px; white-space:nowrap; }.channel-health .el-empty { padding:13px 0; }.channel-health .el-empty__description p { font-size:12px; }.quick-actions { padding:10px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.quick-actions button { min-height:64px; padding:8px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; border:1px solid #e8edef; border-radius:6px; background:#fbfcfc; color:#516069; cursor:pointer; text-align:left; font-family:inherit; font-size:11px; transition:border-color .18s,background .18s; }.quick-actions button:hover { border-color:#8bbcc8; background:#f1fafb; color:#1479a8; }.quick-actions .el-icon { font-size:17px; }

/* 既有管理页面共享同一密度和表面层级。 */
.admin-content .xlg-card { border:1px solid var(--admin-line); border-radius:7px; box-shadow:0 4px 15px rgba(26,43,52,.035); }.admin-content .xlg-card-pad { padding:20px; }.admin-content .page-head { padding:1px 0 2px; margin-bottom:18px; }.admin-content .page-head h2 { color:var(--admin-ink); font-size:22px; letter-spacing:0; }.admin-content .page-head p { color:var(--admin-muted); }.admin-content .table-toolbar { gap:10px; }.admin-content .channel-card { border-radius:7px; box-shadow:none; }.admin-content .channel-card:hover { border-color:#b8d5db; box-shadow:0 8px 20px rgba(26,43,52,.06); transform:none; }.admin-content .el-table { --el-table-header-bg-color:#f6f8f8; --el-table-border-color:#e8edef; --el-table-row-hover-bg-color:#f5faf9; }.admin-content .el-table th.el-table__cell { color:#66727b; font-size:12px; font-weight:700; }.admin-content .el-table .el-table__cell { padding:10px 0; }.admin-content .el-tabs__item { font-size:13px; }.admin-content .card-title::before { background:#1479a8; }.admin-content .gradient-btn { background:#1479a8 !important; box-shadow:none; }.admin-content .gradient-btn:hover { background:#0f668e !important; box-shadow:none; }.admin-content .stat-card { border:1px solid var(--admin-line); border-radius:7px; box-shadow:0 4px 15px rgba(26,43,52,.035); }.admin-content .stat-card:hover { transform:none; box-shadow:0 8px 20px rgba(26,43,52,.06); }

.storage-credentials-grid,.storage-details-grid { display:grid; gap:0 12px; }.storage-credentials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.storage-details-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:768px) { .storage-credentials-grid,.storage-details-grid { grid-template-columns:1fr; } }
@media (max-width:1100px) { .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dashboard-workspace { grid-template-columns:1fr; }.workspace-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.quick-panel { grid-column:1 / -1; }.quick-actions { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:768px) { .admin-aside { width:252px; height:100vh; position:fixed; flex-direction:column; overflow-y:auto; overflow-x:hidden; transform:translateX(-100%); box-shadow:8px 0 30px rgba(12,28,35,.24); }.admin-aside .menu-text { display:inline; }.admin-menu { display:block; overflow-y:auto; overflow-x:hidden; padding:19px 12px; }.admin-menu-group { display:block; margin-bottom:21px; }.admin-menu-item { min-width:0; min-height:42px; margin:2px 0; padding:0 11px; }.admin-aside > .admin-aside-footer { padding:12px; border-top:1px solid rgba(255,255,255,.09); }.admin-shell.menu-open .admin-aside { transform:translateX(0); }.admin-shell.is-collapsed .admin-aside { width:252px; }.admin-shell.is-collapsed .brand-copy,.admin-shell.is-collapsed .menu-text,.admin-shell.is-collapsed .admin-menu-label,.admin-shell.is-collapsed .menu-badge { display:initial; }.admin-shell.is-collapsed .admin-brand { padding:0 18px; justify-content:flex-start; }.admin-shell.is-collapsed .admin-menu { display:block; padding:19px 12px; }.admin-shell.is-collapsed .admin-menu-group { display:block; margin-bottom:21px; }.admin-shell.is-collapsed .admin-menu-item { min-width:0; justify-content:flex-start; margin:2px 0; padding:0 11px; }.admin-shell.is-collapsed .admin-aside-footer { padding:12px; }.admin-scrim { position:fixed; z-index:105; inset:0; background:rgba(13,27,34,.52); }.brand-collapse { display:none; }.mobile-menu-trigger { display:grid; }.admin-topbar { min-height:61px; padding:0 14px; }.admin-live,.admin-user-trigger > span,.admin-user-trigger > .el-icon { display:none; }.admin-topbar-actions { gap:5px; }.page-name { font-size:16px; }.admin-content { padding:15px 12px 32px; }.dashboard-hero { min-height:0; padding:21px 18px; border-radius:7px; }.dashboard-hero h1 { font-size:20px; }.dashboard-hero p { font-size:12px; }.dashboard-hero-actions { align-self:flex-start; }.dashboard-updated { display:none; }.dashboard-hero-actions .el-button { width:34px; height:34px; padding:0; }.dashboard-hero-actions .el-button span { display:none; }.metric-grid { gap:10px; margin:12px 0; }.metric-card { min-height:114px; padding:14px; }.metric-card strong { font-size:23px; margin:11px 0 6px; }.attention-banner { align-items:flex-start; padding:11px; }.attention-banner div { display:block; }.attention-banner span { display:block; margin-top:4px; line-height:1.5; }.attention-banner .el-button { white-space:nowrap; }.workspace-side { display:flex; }.chart-box-wide { height:230px; padding:2px 2px 10px; }.recent-task-list { padding:0 13px; }.recent-task { gap:8px; }.recent-task-copy p { max-width:180px; }.quick-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-content .xlg-card-pad { padding:15px; }.admin-content .channel-foot { align-items:flex-start; gap:10px; flex-direction:column; }.admin-content .channel-foot > div { flex-wrap:wrap; }.admin-content .el-table { font-size:12px; } }

/* 提示词模板：内容编辑工作区 */
.template-admin { --template-accent:#1479a8; --template-soft:#eef7f9; color:var(--admin-ink); }
.template-admin-head { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.template-admin-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.template-admin-head > div:first-child > span { color:#87949b; font-size:10px; font-weight:800; letter-spacing:1.2px; }
.template-admin-actions .el-button--primary > span { color:#fff; }
.template-admin-head h2 { margin:5px 0 0; font-size:22px; letter-spacing:0; }
.template-admin-head .el-button .el-icon,.template-library-head .el-button .el-icon,.template-cover-actions .el-button .el-icon { margin-right:6px; }
.template-workspace { min-height:620px; display:grid; grid-template-columns:260px minmax(0,1fr); border:1px solid var(--admin-line); border-radius:7px; overflow:hidden; background:#fff; box-shadow:0 4px 15px rgba(26,43,52,.035); }
.template-category-panel { min-width:0; padding:16px 12px; border-right:1px solid var(--admin-line); background:#f8fafb; }
.template-panel-title { height:34px; padding:0 7px; display:flex; align-items:flex-start; justify-content:space-between; color:#7f8c93; font-size:11px; font-weight:700; }
.template-panel-title b { min-width:20px; height:20px; padding:0 6px; display:grid; place-items:center; border-radius:10px; background:#e7edf0; color:#65757e; font-size:10px; }
.template-category-list { display:flex; flex-direction:column; gap:5px; }
.template-category-row { border:1px solid transparent; border-radius:7px; transition:border-color .16s,background .16s,opacity .16s; }
.template-category-row:hover { border-color:#dce6e9; background:#fff; }
.template-category-row.active { border-color:#b6d6de; background:#fff; box-shadow:0 3px 10px rgba(24,91,110,.07); }
.template-category-row.selected { border-color:#c9e0e6; background:#f4fbfc; }
.template-category-row.dragging { opacity:.45; }
.template-category-line { display:flex; align-items:center; min-width:0; }
.template-category-select { flex:none; margin-left:9px; }
.template-category-select .el-checkbox__label { display:none; }
.template-category-main { width:100%; min-width:0; min-height:58px; padding:9px 8px; display:grid; grid-template-columns:18px minmax(0,1fr) 8px; align-items:center; gap:8px; border:0; background:transparent; color:#4d5d65; cursor:pointer; text-align:left; }
.template-category-main .drag-handle { color:#9aa6ac; cursor:grab; }
.template-category-main span,.template-category-main strong,.template-category-main small { min-width:0; display:block; }
.template-category-main strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.template-category-main small { margin-top:4px; color:#99a3a9; font-size:10px; }
.template-category-main i,.admin-template-title i { width:7px; height:7px; border-radius:50%; }
.template-category-main i.online,.admin-template-title i.online { background:#39a97a; box-shadow:0 0 0 3px rgba(57,169,122,.11); }
.template-category-main i.offline,.admin-template-title i.offline { background:#b3bdc2; }
.template-category-tools { height:0; padding:0 7px; display:flex; justify-content:flex-end; gap:3px; overflow:hidden; opacity:0; transition:height .16s,opacity .16s,padding .16s; }
.template-category-row:hover .template-category-tools,.template-category-row.active .template-category-tools { height:30px; padding-bottom:6px; opacity:1; }
.template-category-tools button,.admin-template-body footer button { width:24px; height:24px; display:grid; place-items:center; border:0; border-radius:5px; background:transparent; color:#829097; cursor:pointer; }
.template-category-tools button:hover,.admin-template-body footer button:hover { background:#edf4f6; color:var(--template-accent); }
.template-category-tools button:disabled { opacity:.25; cursor:not-allowed; }
.template-library-panel { min-width:0; padding:19px; }
.template-library-head { min-height:56px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; border-bottom:1px solid #edf0f2; }
.template-library-title { display:flex; align-items:center; gap:9px; }
.template-library-title h3 { margin:0; font-size:17px; }
.template-library-head > div > span { display:block; margin-top:6px; color:#929da3; font-size:11px; }
.admin-template-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:13px; }
.admin-template-card { min-width:0; overflow:hidden; border:1px solid #e4e9eb; border-radius:7px; background:#fff; transition:border-color .18s,box-shadow .18s,transform .18s; }
.admin-template-card:hover { border-color:#bad4db; box-shadow:0 7px 20px rgba(27,67,79,.09); transform:translateY(-2px); }
.admin-template-cover,.template-cover-preview { position:relative; width:100%; aspect-ratio:3 / 2; overflow:hidden; background:#edf2f4; }
.admin-template-cover img,.template-cover-preview img { width:100%; height:100%; display:block; object-fit:cover; }
.admin-template-cover > div,.template-cover-preview > div { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; color:#9ba8ae; }
.admin-template-cover > div .el-icon,.template-cover-preview > div .el-icon { font-size:27px; }
.cover-storage { position:absolute; right:7px; bottom:7px; height:21px; padding:0 7px; display:flex; align-items:center; border-radius:4px; background:rgba(21,35,43,.76); color:#fff; font-size:9px; backdrop-filter:blur(5px); }

/* 全站画廊与任务详情 */
.admin-gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
.admin-gallery-card { position:relative; overflow:hidden; aspect-ratio:1 / 1; background:#edf1f6; border:1px solid var(--admin-line); border-radius:7px; cursor:pointer; }
.admin-gallery-card.selected { outline:2px solid var(--xlg-primary); outline-offset:2px; }.admin-gallery-card img { width:100%; height:100%; display:block; object-fit:cover; }.admin-gallery-check { position:absolute; top:9px; left:9px; z-index:2; padding:3px; border-radius:4px; background:rgba(255,255,255,.9); }.admin-gallery-meta { position:absolute; left:0; right:0; bottom:0; padding:24px 10px 9px; display:flex; flex-direction:column; gap:3px; color:#fff; background:linear-gradient(transparent,rgba(12,23,38,.9)); font-size:11px; }.admin-gallery-meta strong { font-size:12px; }
.admin-image-detail,.admin-task-detail { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr); min-height:540px; background:#f7f9fc; }.admin-image-stage,.admin-task-image-panel { display:flex; align-items:center; justify-content:center; min-height:480px; padding:18px; background:#172233; }.admin-image-stage img,.admin-task-image-panel>img { max-width:100%; max-height:590px; object-fit:contain; }.admin-image-detail aside,.admin-task-info-panel { padding:22px; overflow:auto; background:#fff; }.admin-image-detail-head,.admin-task-state { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; font-size:13px; color:var(--admin-muted); }.admin-image-detail dl,.admin-task-info-panel dl { margin:0; }.admin-image-detail dl>div,.admin-task-info-panel dl>div { display:grid; grid-template-columns:92px 1fr; gap:8px; padding:10px 0; border-top:1px solid var(--admin-line); font-size:13px; }.admin-image-detail dt,.admin-task-info-panel dt { color:var(--admin-muted); }.admin-image-detail dd,.admin-task-info-panel dd { margin:0; color:var(--admin-text); word-break:break-word; }.admin-image-prompt,.admin-task-prompt { margin:16px 0; padding:13px; border-radius:6px; background:#f4f7fb; }.admin-image-prompt span,.admin-task-prompt span { color:var(--admin-muted); font-size:12px; }.admin-image-prompt p,.admin-task-prompt p { margin:7px 0 0; white-space:pre-wrap; word-break:break-word; font-size:13px; line-height:1.7; }.admin-task-error { margin:0 0 14px; padding:10px; color:#b42318; background:#fff1f0; border-radius:6px; font-size:12px; line-height:1.6; }.admin-task-thumbs { display:flex; gap:8px; position:absolute; bottom:16px; left:16px; right:16px; overflow:auto; }.admin-task-image-panel { position:relative; }.admin-task-thumbs button { width:50px; height:50px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:5px; background:#fff; }.admin-task-thumbs button.active { border-color:var(--xlg-primary); }.admin-task-thumbs img { width:100%; height:100%; object-fit:cover; }

@media (max-width:768px) { .admin-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.admin-image-detail,.admin-task-detail { grid-template-columns:1fr; min-height:0; }.admin-image-stage,.admin-task-image-panel { min-height:300px; }.admin-image-detail aside,.admin-task-info-panel { max-height:none; }.admin-image-detail-dialog .el-dialog__body,.admin-task-detail-dialog .el-dialog__body { padding:0; } }
.admin-template-body { padding:12px; }
.admin-template-title { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.admin-template-title strong { min-width:0; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.admin-template-body p { height:38px; margin:7px 0 12px; overflow:hidden; color:#7d898f; font-size:11px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.admin-template-body footer { padding-top:9px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #edf0f2; }
.admin-template-body footer > span { color:#9aa4a9; font-size:10px; }
.admin-template-body footer > div { display:flex; gap:2px; }
.admin-template-body footer button.danger:hover { background:#fff0ef; color:#c55750; }
.template-editor-layout { display:grid; grid-template-columns:minmax(240px,.85fr) minmax(320px,1.15fr); gap:22px; align-items:start; }
.template-edit-dialog { max-height:calc(100vh - 48px); display:flex; flex-direction:column; }
.template-edit-dialog .el-dialog__header,.template-edit-dialog .el-dialog__footer { flex:none; }
.template-edit-dialog .el-dialog__body { min-height:0; overflow-y:auto; }
.template-cover-editor { min-width:0; }
.template-cover-preview { border:1px solid #dfe6e9; border-radius:7px; }
.template-cover-preview > div span { font-size:11px; }
.template-cover-actions { margin-top:10px; display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.template-cover-actions .el-upload { display:block; }
.template-cover-history { margin-top:16px; padding-top:13px; border-top:1px solid #e7ecee; }
.template-history-head { margin-bottom:9px; display:flex; align-items:center; justify-content:space-between; color:#65757e; font-size:11px; font-weight:700; }
.template-history-grid { min-height:62px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.template-history-item { position:relative; min-width:0; aspect-ratio:3 / 2; overflow:hidden; border:1px solid #dfe8ea; border-radius:6px; background:#edf2f4; cursor:pointer; transition:border-color .16s,box-shadow .16s; }
.template-history-item:hover,.template-history-item:focus-visible { border-color:#5b8def; box-shadow:0 0 0 2px rgba(91,141,239,.16); outline:0; }
.template-history-item img { display:block; width:100%; height:100%; }
.template-history-item img { object-fit:cover; }
.template-history-item button { position:absolute; top:4px; right:4px; width:23px; height:23px; display:grid; place-items:center; border:0; border-radius:4px; background:rgba(42,54,59,.8); color:#fff; cursor:pointer; opacity:0; transition:opacity .16s,background .16s; }
.template-history-item:hover button,.template-history-item:focus-within button { opacity:1; }
.template-history-item button:hover { background:#c55750; }
.template-history-item small { position:absolute; right:0; bottom:0; left:0; padding:3px 4px; overflow:hidden; background:rgba(34,47,53,.66); color:#fff; font-size:8px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.template-history-empty { grid-column:1 / -1; display:flex; align-items:center; justify-content:center; min-height:62px; border:1px dashed #dbe5e7; border-radius:6px; color:#9aa6ac; font-size:11px; }
.template-history-detail > img { display:block; width:100%; max-height:55vh; object-fit:contain; border-radius:6px; background:#f2f5f6; }
.template-history-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:14px 0 0; }
.template-history-detail dl div { min-width:0; padding:10px; border:1px solid #e2e9eb; border-radius:6px; background:#f8fafb; }
.template-history-detail dt { color:#849198; font-size:11px; }
.template-history-detail dd { margin:4px 0 0; overflow:hidden; color:#35434a; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.template-external-cover { margin-top:14px; border-top:1px solid #e7ecee; border-bottom:0; }
.template-external-cover .el-collapse-item__header { height:40px; color:#7f8b92; font-size:11px; }
.template-external-cover .el-collapse-item__wrap { border:0; }
.template-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.template-field-row .el-input-number { width:100%; }
.dialog-footer-spacer { display:inline-block; min-width:12px; }
@media (max-width:1000px) { .template-workspace { grid-template-columns:220px minmax(0,1fr); }.admin-template-grid { grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); } }
@media (max-width:768px) {
  .template-admin-head { min-height:54px; margin-bottom:10px; }.template-admin-head h2 { font-size:18px; }.template-admin-head > div:first-child > span { display:none; }.template-admin-actions { gap:5px; }.template-admin-actions .el-button { padding-left:9px; padding-right:9px; }
  .template-workspace { min-height:0; display:block; overflow:visible; }.template-category-panel { padding:10px; border-right:0; border-bottom:1px solid var(--admin-line); }.template-panel-title { display:none; }
  .template-category-list { flex-direction:row; overflow-x:auto; padding-bottom:3px; }.template-category-row { min-width:168px; flex:0 0 168px; }.template-category-tools { display:none; }.template-category-main { min-height:52px; }.template-history-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .template-library-panel { padding:14px 10px 16px; }.template-library-head { min-height:51px; margin-bottom:13px; }.template-library-title h3 { font-size:15px; }.template-library-head > div > span { display:none; }
  .admin-template-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.admin-template-body { padding:9px; }.admin-template-body p { height:34px; line-height:1.55; }
  .template-edit-dialog { max-height:calc(100vh - 24px); margin:12px auto !important; }.template-editor-layout { grid-template-columns:1fr; gap:18px; }.template-cover-preview { max-width:440px; }.template-field-row { grid-template-columns:1fr 1fr; }
}
@media (max-width:420px) { .admin-template-grid { grid-template-columns:1fr; }.template-field-row { grid-template-columns:1fr; gap:0; } }

/* 选中图片只保留清晰边框，避免白色遮罩干扰缩略图。 */
.admin-gallery-card.selected { border-color:var(--xlg-primary); outline:0; box-shadow:0 0 0 2px rgba(91,141,239,.34); }
.admin-gallery-check { width:22px; height:22px; display:grid; place-items:center; margin:0; padding:0; border-radius:50%; background:transparent; }
.admin-gallery-check .el-checkbox__inner { background:#fff; border-color:#8d9ba7; }
.admin-gallery-check .el-checkbox__input.is-checked .el-checkbox__inner { background:var(--xlg-primary); border-color:var(--xlg-primary); }

/* 长提示词在任务详情内滚动，不再撑高弹窗。 */
.admin-task-prompt p { max-height:136px; overflow-y:auto; padding-right:6px; scrollbar-width:thin; }
