/* Admin A01-A18 — scoped Enterprise SaaS shell. */
body.admin-mode { background: var(--cv-page); color: var(--cv-text); }
.admin-mode .desktop-app { grid-template-columns: 232px minmax(0,1fr); background: var(--cv-page); }
.admin-mode .sidebar { width: 232px; padding: 0 12px 18px; border-color: var(--cv-border-subtle); background: var(--cv-card); }
.admin-mode .side-brand { height: 64px; border-color: var(--cv-border-subtle); }
.admin-mode .brand-inline strong { color: var(--cv-text); }
.admin-mode .brand-inline small,.admin-mode .side-section { color: var(--cv-text-tertiary); }
.admin-mode .side-link { min-height: 40px; border-radius: 8px; color: var(--cv-text-secondary); font-size: 13px; }
.admin-mode .side-link:hover { background: var(--cv-subtle); color: var(--cv-text); }
.admin-mode .side-link.active { background: var(--cv-info-soft); color: var(--cv-info); box-shadow: none; font-weight: 600; }
.admin-mode .side-link .ico,.admin-mode .side-link.active .ico { color: currentColor; }
.admin-mode .workspace { background: var(--cv-page); }
.admin-mode .topbar { height: 64px; padding: 0 28px; border-color: var(--cv-border-subtle); background: rgba(255,255,255,.94); color: var(--cv-text); }
.admin-mode .top-title b,.admin-mode .user-chip b { color: var(--cv-text); }
.admin-mode .top-title span,.admin-mode .user-chip small { color: var(--cv-text-tertiary); }
.admin-mode .avatar { background: var(--cv-brand-100); color: var(--cv-action); }
.admin-mode .logout-link { min-height: 40px; color: var(--cv-info); }
.admin-mode .desktop-main { max-width: 1480px; padding: 24px 28px 40px; }
.admin-mode .page-head { align-items: flex-end; margin-bottom: 20px; }
.admin-mode .page-head h1 { color: var(--cv-text); font-size: 24px; line-height: 32px; font-weight: 600; }
.admin-mode .page-head p { color: var(--cv-text-secondary); }
.admin-mode .panel { border-color: var(--cv-border-subtle); border-radius: 12px; background: var(--cv-card); box-shadow: none; }
.admin-mode .panel-title { border-color: var(--cv-border-subtle); }
.admin-mode .panel-title h3,.admin-mode .panel-body { color: var(--cv-text); }
.admin-mode .btn { min-height: 40px; border-color: var(--cv-border); border-radius: 8px; background: var(--cv-card); color: var(--cv-text); font-size: 13px; }
.admin-mode .btn:hover { border-color: #b8b8bf; background: var(--cv-subtle); color: var(--cv-text); }
.admin-mode .btn.primary { border-color: var(--cv-action); background: var(--cv-action); color: #fff; box-shadow: none; }
.admin-mode .btn.blue { border-color: var(--cv-info); background: var(--cv-info); color: #fff; }
.admin-mode .btn.danger { border-color: #e7bbb7; background: var(--cv-card); color: var(--cv-danger); }
.admin-mode .text-btn { min-height: 32px; color: var(--cv-info); }
.admin-mode .text-btn.danger { color: var(--cv-danger); }
.admin-mode .input,.admin-mode .select,.admin-mode .textarea { border-color: var(--cv-border); border-radius: 8px; background: var(--cv-card); color: var(--cv-text); }
.admin-mode .input:focus,.admin-mode .select:focus,.admin-mode .textarea:focus { border-color: var(--cv-focus); box-shadow: 0 0 0 3px rgba(10,103,194,.12); }
.admin-mode .field label { color: var(--cv-text); }
.admin-mode .filter-bar { margin: 0; padding: 16px; border-bottom: 1px solid var(--cv-border-subtle); background: var(--cv-subtle); }
.admin-mode .data-table { margin: 0; }
.xfyun-settings-panel { margin-top: 18px; }
.xfyun-settings-panel .xfyun-provider { padding: 16px 0; border-bottom: 1px solid var(--cv-border-subtle); }
.xfyun-settings-panel .xfyun-provider:last-of-type { border-bottom: 0; }
.xfyun-settings-panel h4 { margin: 0; color: var(--cv-text); }
.admin-mode .data-table th { border-color: var(--cv-border-subtle); background: #fafafa; color: var(--cv-text-secondary); font-size: 12px; }
.admin-mode .data-table td { border-color: var(--cv-border-subtle); color: var(--cv-text); }
.admin-mode .data-table td b,
.admin-mode .data-table td strong,
.admin-mode .data-table td .table-primary {
  color: var(--cv-text);
  font-weight: 600;
}
.admin-mode .data-table td small {
  color: var(--cv-text-secondary);
}
.admin-mode .data-table td a,
.admin-mode .data-table td .text-btn {
  color: var(--cv-info);
}
.admin-mode .data-table td .text-btn.danger {
  color: var(--cv-danger);
}
.admin-mode .data-table tr:hover td { background: var(--cv-subtle); }
.admin-mode .status { border-radius: 6px; background: var(--cv-success-soft); color: var(--cv-success); }
.admin-mode .status.pending { background: var(--cv-warning-soft); color: var(--cv-warning); }
.admin-mode .status.failed { background: var(--cv-danger-soft); color: var(--cv-danger); }
.admin-mode .status.blue { background: var(--cv-info-soft); color: var(--cv-info); }
.admin-mode .metric-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.admin-mode .metric-card { border-color: var(--cv-border-subtle); border-radius: 12px; background: var(--cv-card); box-shadow: none; }
.admin-mode .metric-card strong { color: var(--cv-text); }
.admin-mode .metric-label,.admin-mode .trend { color: var(--cv-text-tertiary); }
.admin-mode .admin-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.admin-mode .admin-summary { padding: 18px; }
.admin-mode .admin-summary span { color: var(--cv-text-secondary); font-size: 12px; }
.admin-mode .admin-summary b { display: block; margin-top: 7px; color: var(--cv-text); font-size: 28px; font-variant-numeric: tabular-nums; }
.admin-mode .admin-summary small { color: var(--cv-text-tertiary); }
.admin-mode .admin-work-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 16px; }
.admin-mode .anomaly-list { display: grid; }
.admin-mode .anomaly-row { width: 100%; display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 12px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--cv-border-subtle); background: var(--cv-card); color: var(--cv-text); text-align: left; }
.admin-mode .anomaly-row:hover { background: var(--cv-subtle); }
.admin-mode .anomaly-row .risk { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--cv-danger-soft); color: var(--cv-danger); }
.admin-mode .anomaly-row small { display: block; color: var(--cv-text-tertiary); }
.admin-mode .anomaly-row b { font-variant-numeric: tabular-nums; }
.admin-mode .admin-empty-ok { padding: 28px; color: var(--cv-success); text-align: center; }
.admin-mode .modal-card { max-width: 1000px; margin-inline: auto; padding: 22px; }
.admin-mode .slice-editor { border-color: var(--cv-border-subtle); background: var(--cv-card); }
.admin-mode .task-card { border-color: var(--cv-border-subtle); background: var(--cv-card); color: var(--cv-text); }
.admin-mode .task-card:hover { border-color: #b8cce1; background: var(--cv-info-soft); }
.admin-mode .admin-results-toolbar { display: grid; grid-template-columns: 1fr 180px 180px; gap: 10px; padding: 16px; border-bottom: 1px solid var(--cv-border-subtle); background: var(--cv-subtle); }
.admin-mode .risk-banner { margin-bottom: 16px; padding: 14px 16px; border: 1px solid #ead5a5; border-radius: 10px; background: var(--cv-warning-soft); color: var(--cv-warning); }
.admin-mode .target-mode { margin: 18px 0; padding: 16px; border: 1px solid var(--cv-border-subtle); border-radius: 10px; }
.admin-mode .target-mode legend { padding: 0 6px; color: var(--cv-text); font-size: 13px; font-weight: 600; }
.admin-mode .target-mode-tabs { display: flex; gap: 8px; margin-bottom: 14px; }
.admin-mode .target-mode-tabs label { padding: 10px 14px; border: 1px solid var(--cv-border); border-radius: 8px; color: var(--cv-text-secondary); }
.admin-mode .publish-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 16px 0; border: 1px solid var(--cv-border-subtle); border-radius: 10px; background: var(--cv-border-subtle); }
.admin-mode .publish-summary span { min-height: 72px; display: grid; align-content: center; gap: 5px; padding: 10px; background: var(--cv-subtle); }
.admin-mode .publish-summary small { color: var(--cv-text-tertiary); }
.admin-mode .publish-summary b { color: var(--cv-text); font-size: 12px; }
.admin-mode .warning-text { color: var(--cv-warning)!important; }
@media (max-width:1199px){.admin-mode .metric-grid{grid-template-columns:repeat(2,1fr)}.admin-mode .admin-work-grid{grid-template-columns:1fr}}
@media (max-width:899px){.admin-mode .desktop-app{grid-template-columns:64px minmax(0,1fr)}.admin-mode .sidebar{width:64px;padding:0 8px}.admin-mode .side-brand .brand-inline>span:last-child,.admin-mode .side-section{display:none}.admin-mode .side-link{justify-content:center;padding:0;font-size:0}.admin-mode .side-link .ico{font-size:15px}.admin-mode .desktop-main{padding:18px}.admin-mode .admin-summary-grid{grid-template-columns:1fr}.admin-mode .admin-results-toolbar{grid-template-columns:1fr}.admin-mode .form-grid{grid-template-columns:1fr}}
