/* Shared review/lead-style UI for operational pages. */
.ops-page {
  --ops-page-bg: #f5f6fa;
  --ops-surface: #fff;
  --ops-surface-soft: #f6f8fc;
  --ops-border: #e7eaf1;
  --ops-text: #0f172a;
  --ops-muted: #64748b;
  --ops-primary: #7f56d9;
  --ops-primary-dark: #53389e;
  --ops-primary-soft: #f0e9ff;
  --ops-primary-border: #e2d8fa;
  --ops-success: #067647;
  --ops-warning: #b54708;
  --ops-danger: #b42318;
  --ops-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  --ops-shadow-soft: 0 1px 2px rgba(15, 23, 42, 0.04);
  background: var(--ops-page-bg) !important;
  color: var(--ops-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif !important;
}

.ops-page::before,
.ops-page::after {
  display: none !important;
}

.ops-page .main-content {
  min-height: calc(100vh - 60px);
  background: transparent !important;
}

.ops-page .container,
.ops-page .layout {
  color: var(--ops-text);
}

.ops-page .page-title,
.ops-page .title,
.ops-page h1,
.ops-page .room-title,
.ops-page .panel-title,
.ops-page .status-title,
.ops-page .section-caption strong,
.ops-page .metric-value,
.ops-page .stat-value {
  color: var(--ops-text) !important;
  letter-spacing: 0 !important;
}

.ops-page .page-title,
.ops-page .title,
.ops-page h1 {
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.ops-page .container {
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 20px 28px 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ops-dashboard .container,
.ops-monitoring .container,
.ops-detail .container {
  max-width: 1440px !important;
}

.ops-page .panel,
.ops-page .metric,
.ops-page .stat-card,
.ops-page .live-card,
.ops-page .loading-card,
.ops-page .summary-card,
.ops-page .more-panel,
.ops-page .filter-panel,
.ops-page .status-panel,
.ops-page .detected-room,
.ops-page .suggestion-card,
.ops-page .suggestion-item,
.ops-page .tip,
.ops-page .empty,
.ops-page .table-container,
.ops-page .rules-table,
.ops-page .test-panel,
.ops-page .template-panel,
.ops-page .capability-card,
.ops-page .model-row,
.ops-page .model-pack,
.ops-page .review-panel,
.ops-page .ai-panel,
.ops-page .chart-panel,
.ops-page .hero,
.ops-page .local-card {
  background: var(--ops-surface) !important;
  border: 1px solid var(--ops-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--ops-shadow) !important;
  backdrop-filter: none !important;
}

.ops-page .panel,
.ops-page .more-panel {
  overflow: hidden;
}

.ops-page .panel-head,
.ops-page .panel-header {
  padding: 15px 18px !important;
  border-bottom: 1px solid #eaecf0 !important;
  background: var(--ops-surface) !important;
}

.ops-page .panel-body {
  padding: 14px !important;
}

.ops-page .panel-title {
  font-size: 16px !important;
  font-weight: 700 !important;
}

.ops-page .ops-title-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.ops-page .ops-help-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  border: 1px solid #d9e0ea;
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  cursor: help;
  outline: none;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
}

.ops-page .ops-help-tip:hover,
.ops-page .ops-help-tip:focus-visible {
  border-color: var(--ops-primary-border);
  background: var(--ops-primary-soft);
  color: var(--ops-primary);
  box-shadow: 0 0 0 3px rgba(46, 58, 140, .12);
}

.ops-page .ops-help-icon {
  transform: translateY(-.5px);
  pointer-events: none;
}

.ops-page .ops-help-popover {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 2000;
  width: max-content;
  max-width: min(420px, 70vw);
  padding: 10px 12px;
  border: 1px solid rgba(217, 224, 234, .92);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  color: #344054;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
  font-size: 12px;
  line-height: 1.6;
  font-weight: 600;
  text-align: left;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 6px);
  transition: opacity .14s ease, transform .14s ease;
}

.ops-page .ops-help-popover::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 10px;
  height: 10px;
  border-right: 1px solid rgba(217, 224, 234, .92);
  border-bottom: 1px solid rgba(217, 224, 234, .92);
  background: rgba(255, 255, 255, .96);
  transform: translateX(-50%) rotate(45deg);
}

.ops-page .ops-help-tip:hover .ops-help-popover,
.ops-page .ops-help-tip:focus-visible .ops-help-popover,
.ops-page .ops-help-tip:focus-within .ops-help-popover {
  opacity: 1;
  transform: translate(-50%, 0);
}

.ops-page .panel-note,
.ops-page .panel-meta,
.ops-page .metric-label,
.ops-page .stat-label,
.ops-page .row-meta,
.ops-page .empty,
.ops-page .empty-state,
.ops-page .room,
.ops-page .status-line {
  color: var(--ops-muted) !important;
}

.ops-page .btn,
.ops-page .btn-add,
.ops-page .btn-detail,
.ops-page .btn-start,
.ops-page .btn-float,
.ops-page .btn-secondary,
.ops-page .secondary-btn,
.ops-page .browser-login-action,
.ops-page .btn-extend-reservation,
.ops-page .modal-btn,
.ops-page button:not(.window-btn):not(.sidebar-toggle):not(.profile-close):not(.image-preview-close):not(.app-alert-btn):not(.user-trigger):not(.user-menu-item):not(.bozhi-select-trigger):not(.bozhi-select-option):not(.anchor-option):not(.btn-add):not(.btn-start):not(.reserve-btn):not(.btn-ai):not(.btn-primary):not(.btn):not(.modal-close):not(.anchor-select-trigger):not(.comment-category-pill):not(.page-tab):not(.page-tabs-tool) {
  min-height: 36px;
  height: auto;
  border-radius: 9px !important;
  border: 1px solid #d0d5dd !important;
  background: #fff !important;
  color: #344054 !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  transform: none !important;
}
/* page-tab、page-tabs-tool 和共享评论分类胶囊必须排除在按钮归一化之外：该规则的
   border/background/color/box-shadow 全是 !important，命中后组件自己的语义色无法生效。 */

body.ops-page button.btn-add,
body.ops-page button.btn-start,
body.ops-page #startBtn:not(:disabled),
body.ops-page .btn-primary,
body.ops-page .btn-ai {
  border-color: var(--ops-primary) !important;
  background: var(--ops-primary) !important;
  color: #fff !important;
}

body.ops-page button.btn-add:hover,
body.ops-page button.btn-start:hover,
body.ops-page #startBtn:not(:disabled):hover,
body.ops-page .btn-primary:hover,
body.ops-page .btn-ai:hover {
  background: var(--ops-primary-dark) !important;
  border-color: var(--ops-primary-dark) !important;
  color: #fff !important;
}

body.ops-page button.btn-detail,
body.ops-page button.btn-extend-reservation,
body.ops-page button.secondary-btn,
body.ops-page button.browser-login-action,
body.ops-page button.btn-float {
  background: #fff !important;
  border-color: #d0d5dd !important;
  color: #344054 !important;
  box-shadow: none !important;
}

body.ops-page button.btn-detail:hover,
body.ops-page button.btn-extend-reservation:hover,
body.ops-page button.secondary-btn:hover,
body.ops-page button.browser-login-action:hover,
body.ops-page button.btn-float:hover {
  background: #f9fafb !important;
  border-color: #98a2b3 !important;
  color: var(--ops-primary) !important;
}

body.ops-page button.btn-stop,
body.ops-page .modal-btn-confirm {
  background: #fff1f3 !important;
  border-color: #fecdca !important;
  color: #b42318 !important;
}

.ops-page .btn:hover,
.ops-page .btn-detail:hover,
.ops-page .secondary-btn:hover,
.ops-page .btn-float:hover,
.ops-page .browser-login-action:hover,
.ops-page button:not(.window-btn):not(.sidebar-toggle):not(.profile-close):not(.image-preview-close):not(.app-alert-btn):not(.user-trigger):not(.user-menu-item):not(.bozhi-select-trigger):not(.bozhi-select-option):not(.anchor-option):not(.btn-add):not(.btn-start):not(.reserve-btn):not(.btn-ai):not(.btn-primary):not(.btn):not(.modal-close):not(.anchor-select-trigger):not(.comment-category-pill):not(.page-tab):not(.page-tabs-tool):hover {
  background: #f9fafb !important;
  border-color: #98a2b3 !important;
  color: #101828 !important;
  box-shadow: none !important;
  transform: none !important;
}

.ops-page .btn-primary,
.ops-page .btn-ai,
.ops-page .btn-add,
.ops-page .btn-start,
.ops-page #startBtn:not(:disabled) {
  border-color: var(--ops-primary) !important;
  background: var(--ops-primary) !important;
  color: #fff !important;
}

.ops-page .btn-primary:hover,
.ops-page .btn-ai:hover,
.ops-page .btn-add:hover,
.ops-page .btn-start:hover,
.ops-page #startBtn:not(:disabled):hover {
  background: var(--ops-primary-dark) !important;
  border-color: var(--ops-primary-dark) !important;
  color: #fff !important;
}

.ops-page .btn-stop,
.ops-page .modal-btn-confirm,
.ops-page .btn-delete {
  background: #fff1f3 !important;
  border-color: #fecdca !important;
  color: #b42318 !important;
}

.ops-page .btn-stop:hover,
.ops-page .modal-btn-confirm:hover,
.ops-page .btn-delete:hover {
  background: #fee4e2 !important;
  border-color: #fda29b !important;
  color: #b42318 !important;
}

.ops-page button:disabled,
.ops-page .btn:disabled,
.ops-page #reserveBtn:disabled,
.ops-page #startBtn:disabled,
.ops-page #queryStatusBtn:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  background: #f2f4f7 !important;
  border-color: #d0d5dd !important;
  color: #64748b !important;
}

.ops-page .metric-strip,
.ops-page .stats-bar,
.ops-page .stats-grid,
.ops-page .summary-cards {
  gap: 14px !important;
}

.ops-page .metric,
.ops-page .stat-card,
.ops-page .summary-card,
.ops-page .stat-item {
  min-height: 74px;
  padding: 14px 18px !important;
  background: var(--ops-surface) !important;
  border: 1px solid var(--ops-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.045) !important;
}

/* 卡片悬停效果：从 admin 项目复制的 glassmorphism 交互体验，提升视觉反馈 */
.ops-page .metric {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ops-page .metric:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 12px 32px rgba(127, 86, 217, 0.16),
              inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(127, 86, 217, 0.3) !important;
}

.ops-page .metric::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(127, 86, 217, 0.08), transparent 70%);
  pointer-events: none;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ops-page .metric:hover::before {
  top: -30px;
  right: -30px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(127, 86, 217, 0.12), transparent 70%);
}

.ops-page .metric-value,
.ops-page .stat-value {
  font-size: 28px !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  background: linear-gradient(135deg, #0f172a 0%, #475569 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
  z-index: 1;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 数值悬停渐变：鼠标悬停时切换为品牌色渐变，增强视觉吸引力 */
.ops-page .metric:hover .metric-value,
.ops-page .metric:hover .stat-value {
  background: linear-gradient(135deg, var(--ops-primary) 0%, #9b87f5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ops-page .pill,
.ops-page .live-id-pill,
.ops-page .status-badge,
.ops-page .badge,
.ops-page .anchor-chip,
.ops-page .panel-badge,
.ops-page .value-badge,
.ops-page .score-badge {
  border-radius: 999px !important;
  background: #f2f4f7 !important;
  border: 1px solid #eef2f6 !important;
  color: #344054 !important;
  box-shadow: none !important;
}

.ops-page .pill-live,
.ops-page .status-badge.live,
.ops-page .audio-dot.recording {
  background: var(--ops-primary-soft) !important;
  color: var(--ops-primary) !important;
  border-color: var(--ops-primary-border) !important;
}

.ops-page .pill-alert,
.ops-page .badge-warn,
.ops-page .priority-medium,
.ops-page .team-collect-tip,
.ops-page .reservation-tip,
.ops-page .browser-login-tip,
.ops-page .warning-tip {
  background: #fffbeb !important;
  color: #b54708 !important;
  border-color: #fedf89 !important;
}

.ops-page .priority-high,
.ops-page .value-badge.high {
  background: #fff1f3 !important;
  color: #b42318 !important;
  border-color: #fecdca !important;
}

/* 全站同类输入控件单点规范：date-range-field 是 div 而非原生 input，
   必须显式纳入本组，否则各页面会各自复制一套边框/圆角定义并漂移。 */
.ops-page input[type="text"],
.ops-page input[type="date"],
.ops-page select,
.ops-page .input,
.ops-page .select,
.ops-page .anchor-search,
.ops-page .date-range-field {
  height: 38px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #344054 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  /* 筛选控件承载的是待选值而非强调信息，500 即可，整排 600 粗体会让工具栏没有层级。 */
  font-weight: 500 !important;
}

.ops-page select,
.ops-page .select {
  appearance: none !important;
  padding: 0 34px 0 12px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #64748b 50%),
    linear-gradient(135deg, #64748b 50%, transparent 50%) !important;
  background-position:
    calc(100% - 18px) 52%,
    calc(100% - 12px) 52% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
}

.ops-page input[type="text"]:focus,
.ops-page input[type="date"]:focus,
.ops-page select:focus,
.ops-page .input:focus,
.ops-page .select:focus,
.ops-page .anchor-search:focus,
.ops-page .date-range-field:focus-within {
  border-color: var(--ops-primary) !important;
  box-shadow: 0 0 0 3px rgba(46, 58, 140, 0.13) !important;
}

.ops-page .live-card {
  padding: 20px !important;
  margin-bottom: 14px;
}

.ops-page .live-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  border: 0 !important;
}

.ops-page .live-avatar-wrap,
.ops-page .avatar,
.ops-page .detected-avatar {
  background: #f0e9ff !important;
  color: #344054 !important;
  box-shadow: none !important;
}

/* 侧栏用户头像由 nav.css 统一为品牌紫渐变；此处曾用 !important 强制 #111827 黑底，
   会压过 nav.css 导致 ops 页面头像发黑，禁止再加该覆盖。 */

.ops-page .time-item,
.ops-page .context-box,
.ops-page .comment,
.ops-page .suggestion-action,
.ops-page .action,
.ops-page .status-field,
.ops-page .detected-room,
.ops-page .module-card,
.ops-page .lead-item {
  background: var(--ops-surface-soft) !important;
  border: 1px solid #edf0f3 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.ops-page .focus-card {
  background: var(--ops-surface) !important;
  border-left: 4px solid var(--ops-primary) !important;
  color: var(--ops-text) !important;
}

.ops-page .focus-card * {
  color: inherit !important;
}

.ops-page .focus-eyebrow,
.ops-page .focus-desc {
  color: var(--ops-muted) !important;
}

.ops-page .focus-action {
  background: var(--ops-primary) !important;
  border-color: var(--ops-primary) !important;
  color: #fff !important;
}

.ops-setup .layout {
  max-width: 640px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.ops-setup .container {
  background: var(--ops-surface) !important;
  border: 1px solid var(--ops-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--ops-shadow) !important;
  padding: 28px !important;
}

.ops-setup h1 {
  text-align: left !important;
  margin-bottom: 24px !important;
}

.ops-setup .button-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  gap: 12px !important;
}

.ops-setup .button-row button {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ops-tips-window {
  background: #f5f7fb !important;
}

.ops-tips-window .header,
.ops-tips-window .suggestion-card,
.ops-tips-window .tip {
  background: #fff !important;
  border: 1px solid var(--ops-border, #e7ecf3) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(16,24,40,.07) !important;
  backdrop-filter: none !important;
}

.ops-tips-window .header {
  border-radius: 0 !important;
  border-width: 0 0 1px !important;
  box-shadow: none !important;
}

.ops-tips-window .count-badge {
  background: #101828 !important;
}

.ops-tips-window .controls,
.ops-tips-window .user,
.ops-tips-window .action {
  background: #f8fafc !important;
  border: 1px solid #edf0f3 !important;
  border-radius: 10px !important;
}

.ops-page .user-menu {
  padding: 8px !important;
  background: #fff !important;
  border: 1px solid var(--ops-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14) !important;
  overflow: visible !important;
}

.ops-page .user-menu-head {
  padding: 10px 10px 12px !important;
  border-bottom: 1px solid #f0f2f5 !important;
}

.ops-page .user-menu-item {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 4px 0 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #344054 !important;
  box-shadow: none !important;
  text-align: left !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.ops-page .user-menu-item:hover {
  background: #f8fafc !important;
  color: #344054 !important;
}

.ops-page .anchor-option,
.ops-page .bozhi-select-option {
  width: 100% !important;
  min-height: 40px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #344054 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  text-align: left !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.ops-page .bozhi-select-trigger {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 10px 0 12px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #344054 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.ops-page .bozhi-select.open .bozhi-select-trigger,
.ops-page .bozhi-select-trigger:focus-visible {
  border-color: var(--ops-primary) !important;
  box-shadow: 0 0 0 3px rgba(46, 58, 140, 0.13) !important;
}

/* 下拉菜单单点规范：anchor-menu（直播复盘/销售线索的主播搜索下拉）与
   bozhi-select-menu 必须共用同一套圆角/内边距/阴影，避免各页菜单观感分裂。 */
.ops-page .anchor-menu,
.ops-page .bozhi-select-menu {
  padding: 6px !important;
  border: 1px solid var(--ops-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14) !important;
}

.ops-page .anchor-option:hover,
.ops-page .bozhi-select-option:hover {
  background: #f8fafc !important;
  color: #344054 !important;
}

.ops-page .anchor-option.selected,
.ops-page .bozhi-select-option.selected {
  background: var(--ops-primary-soft) !important;
  color: var(--ops-primary) !important;
}

/* Final button normalization after app-modern.css and page-local rules. */
body.ops-page.ops-dashboard button.btn-primary,
body.ops-page.ops-monitoring button.btn-add,
body.ops-page.ops-monitoring button.btn-start,
body.ops-page.ops-setup #startBtn:not(:disabled),
body.ops-page.ops-setup button.reserve-btn:not(:disabled),
body.ops-page.ops-detail button.btn-primary,
body.ops-page.ops-detail button.btn-ai,
body.ops-page.ops-suggestions button.btn-primary {
  background: var(--ops-primary) !important;
  border-color: var(--ops-primary) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.ops-page.ops-dashboard button.btn-primary:hover,
body.ops-page.ops-monitoring button.btn-add:hover,
body.ops-page.ops-monitoring button.btn-start:hover,
body.ops-page.ops-setup #startBtn:not(:disabled):hover,
body.ops-page.ops-setup button.reserve-btn:not(:disabled):hover,
body.ops-page.ops-detail button.btn-primary:hover,
body.ops-page.ops-detail button.btn-ai:hover,
body.ops-page.ops-suggestions button.btn-primary:hover {
  background: var(--ops-primary-dark) !important;
  border-color: var(--ops-primary-dark) !important;
  color: #fff !important;
}

body.ops-page.ops-monitoring button.btn-detail,
body.ops-page.ops-monitoring button.btn-cancel-reservation,
body.ops-page.ops-monitoring button.btn-extend-reservation,
body.ops-page.ops-setup button.secondary-btn,
body.ops-page.ops-setup button.browser-login-action,
body.ops-page.ops-detail button.btn-float,
body.ops-page.ops-detail button.secondary-btn,
body.ops-page.ops-suggestions button.btn {
  background: #fff !important;
  border-color: #d0d5dd !important;
  color: #344054 !important;
  box-shadow: none !important;
}

body.ops-page.ops-monitoring button.btn-detail:hover,
body.ops-page.ops-monitoring button.btn-cancel-reservation:hover,
body.ops-page.ops-monitoring button.btn-extend-reservation:hover,
body.ops-page.ops-setup button.secondary-btn:hover,
body.ops-page.ops-setup button.browser-login-action:hover,
body.ops-page.ops-detail button.btn-float:hover,
body.ops-page.ops-detail button.secondary-btn:hover,
body.ops-page.ops-suggestions button.btn:hover {
  background: #f9fafb !important;
  border-color: #98a2b3 !important;
  color: var(--ops-primary) !important;
}

body.ops-page.ops-monitoring button.btn-stop,
body.ops-page.ops-detail button.btn-stop,
body.ops-page .modal-btn-confirm {
  background: #fff1f3 !important;
  border-color: #fecdca !important;
  color: #b42318 !important;
  box-shadow: none !important;
}

/* Final ops button system, kept last to beat page-local button styles. */
body.ops-page button:is(
  .btn,
  .btn-primary,
  .btn-quiet,
  .btn-ghost,
  .btn-secondary,
  .btn-reset,
  .btn-cancel,
  .btn-cancel-reservation,
  .btn-extend-reservation,
  .btn-detail,
  .btn-float,
  .btn-add,
  .btn-start,
  .btn-ai,
  .btn-edit,
  .btn-save,
  .sync-btn,
  .profile-btn,
  .modal-btn,
  .app-alert-btn,
  .secondary-btn,
  .browser-login-action,
  .reserve-btn
) {
  height: 38px !important;
  min-height: 38px !important;
  min-width: 72px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border-width: 1px !important;
  border-style: solid !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transform: none !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

body.ops-page button:is(
  .btn,
  .btn-quiet,
  .btn-ghost,
  .btn-secondary,
  .btn-reset,
  .btn-cancel,
  .btn-cancel-reservation,
  .btn-extend-reservation,
  .btn-detail,
  .btn-float,
  .profile-btn,
  .modal-btn,
  .app-alert-btn.secondary,
  .secondary-btn,
  .browser-login-action
):not(.btn-primary):not(.primary):not(.btn-stop):not(.btn-delete):not(.modal-btn-confirm):not(.confirm-ok) {
  background: #ffffff !important;
  border-color: #d0d5dd !important;
  color: #344054 !important;
}

body.ops-page button:is(
  .btn,
  .btn-quiet,
  .btn-ghost,
  .btn-secondary,
  .btn-reset,
  .btn-cancel,
  .btn-cancel-reservation,
  .btn-extend-reservation,
  .btn-detail,
  .btn-float,
  .profile-btn,
  .modal-btn,
  .app-alert-btn.secondary,
  .secondary-btn,
  .browser-login-action
):not(.btn-primary):not(.primary):not(.btn-stop):not(.btn-delete):not(.modal-btn-confirm):not(.confirm-ok):hover {
  background: #f9fafb !important;
  border-color: #98a2b3 !important;
  color: var(--ops-primary) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.ops-page button:is(
  .btn-primary,
  .btn.btn-primary,
  button.btn-primary,
  .btn-add,
  .btn-start,
  .btn-ai,
  .btn-edit,
  .btn-save,
  .sync-btn,
  .profile-btn.primary,
  .app-alert-btn:not(.secondary),
  #startBtn:not(:disabled),
  .reserve-btn:not(:disabled)
) {
  background: var(--ops-primary) !important;
  border-color: var(--ops-primary) !important;
  color: #ffffff !important;
}

body.ops-page button:is(
  .btn-primary,
  .btn.btn-primary,
  button.btn-primary,
  .btn-add,
  .btn-start,
  .btn-ai,
  .btn-edit,
  .btn-save,
  .sync-btn,
  .profile-btn.primary,
  .app-alert-btn:not(.secondary),
  #startBtn:not(:disabled),
  .reserve-btn:not(:disabled)
):hover {
  background: var(--ops-primary-dark) !important;
  border-color: var(--ops-primary-dark) !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}

body.ops-page button:is(.btn-stop, .btn-delete, .modal-btn-confirm, .confirm-ok) {
  height: 38px !important;
  min-height: 38px !important;
  min-width: 72px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border: 1px solid #fecdca !important;
  background: #fff1f3 !important;
  color: #b42318 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transform: none !important;
}

body.ops-page button:is(.btn-stop, .btn-delete, .modal-btn-confirm, .confirm-ok):hover {
  border-color: #fda29b !important;
  background: #ffe4e8 !important;
  color: #912018 !important;
  transform: none !important;
  box-shadow: none !important;
}

body.ops-page button:is(
  .btn,
  .btn-primary,
  .btn-quiet,
  .btn-ghost,
  .btn-secondary,
  .btn-reset,
  .btn-cancel,
  .btn-cancel-reservation,
  .btn-extend-reservation,
  .btn-detail,
  .btn-float,
  .btn-add,
  .btn-start,
  .btn-ai,
  .btn-edit,
  .btn-save,
  .sync-btn,
  .profile-btn,
  .modal-btn,
  .app-alert-btn,
  .secondary-btn,
  .browser-login-action,
  .reserve-btn,
  .btn-stop,
  .btn-delete
):disabled,
body.ops-page button:disabled:not(.bozhi-select-trigger):not(.bozhi-select-option):not(.anchor-option):not(.window-btn):not(.sidebar-toggle):not(.profile-close):not(.image-preview-close):not(.lead-cover-button):not(.user-trigger) {
  background: #f2f4f7 !important;
  border-color: #d0d5dd !important;
  color: #98a2b3 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  transform: none !important;
}

body.ops-page.ops-setup .button-row button {
  height: 56px !important;
  min-height: 56px !important;
  width: 100% !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body.ops-page.ops-setup button.status-query-btn {
  width: auto !important;
  height: 34px !important;
  min-height: 34px !important;
  min-width: 64px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #475467 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  transform: none !important;
}

body.ops-page.ops-setup button.status-query-btn:hover {
  background: #f9fafb !important;
  border-color: #98a2b3 !important;
  color: var(--ops-primary) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Unified late-stage visual system for all product pages. */
body.ops-page {
  background: var(--ops-page-bg) !important;
  font-variant-numeric: tabular-nums;
}

body.ops-page .main-content {
  background: transparent !important;
}

body.ops-page .page-head,
body.ops-page .page-header,
body.ops-page .topbar,
body.ops-page .header:not(.top-bar):not(.panel-header):not(.panel-head) {
  margin-bottom: 18px !important;
}

body.ops-page table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed;
}

/* 全站表头唯一事实来源：本条带 !important，页面级 th 规则一律赢不了它，
   表头风格统一（与销售线索 .lead-table-head 同一规范：浅渐变底 + 细分隔线）只能改这里。 */
body.ops-page th {
  background: linear-gradient(180deg, #fbfcfe 0%, #f5f7fb 100%) !important;
  color: #475467 !important;
  border-bottom: 1px solid #e4e7ec !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  height: 42px !important;
  padding: 0 16px !important;
  text-align: left !important;
  white-space: nowrap;
}

body.ops-page td {
  color: #344054 !important;
  border-bottom: 1px solid #f0f2f5 !important;
  height: 74px !important;
  padding: 11px 16px !important;
  vertical-align: middle !important;
  font-size: 14px !important;
}

body.ops-page tr:hover td,
body.ops-page tr:hover {
  background: #fbfcfd !important;
}

body.ops-page tbody tr:last-child td {
  border-bottom: 0 !important;
}

body.ops-page .table-wrap,
body.ops-page .table-container {
  overflow-x: auto;
}

body.ops-page .table-wrap table,
body.ops-page .table-container table {
  min-width: 860px;
}

body.ops-page .panel-head {
  min-height: 58px !important;
}

body.ops-page.ops-analytics .panel-head {
  min-height: 54px !important;
  padding: 13px 18px !important;
}

body.ops-page.ops-analytics td {
  height: 68px !important;
}

body.ops-page .modal-content,
body.ops-page .confirm-content,
body.ops-page .tpl-panel,
body.ops-page .image-preview-panel {
  background: #fff !important;
  border: 1px solid var(--ops-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 24px 64px rgba(15, 23, 42, .20) !important;
}

body.ops-page .modal-header,
body.ops-page .modal-footer,
body.ops-page .tpl-head,
body.ops-page .confirm-header {
  border-color: #edf0f3 !important;
}

body.ops-page .switch-container,
body.ops-page .status-pill,
body.ops-page .hero-step,
body.ops-page .info-chip,
body.ops-page .template-tag,
body.ops-page .tpl-tag,
body.ops-page .rule-source,
body.ops-page .stay-chip,
body.ops-page .module-chip,
body.ops-page .review-tag,
body.ops-page .lead-tag {
  background: #f8fafc !important;
  border: 1px solid #d9e0ea !important;
  color: #344054 !important;
  box-shadow: none !important;
}

body.ops-page .switch-container:hover,
body.ops-page .switch-container.active,
body.ops-page .anchor-option:hover,
body.ops-page .anchor-option.selected,
body.ops-page .bozhi-select-option:hover,
body.ops-page .bozhi-select-option.selected,
body.ops-page .case-tab.active,
body.ops-page .wizard-card.active,
body.ops-page .asr-progress-metric.clickable.active {
  background: var(--ops-primary-soft) !important;
  border-color: var(--ops-primary-border) !important;
  color: var(--ops-primary) !important;
}

body.ops-page input:checked + .slider,
body.ops-page .toggle.on {
  background: var(--ops-primary) !important;
}

body.ops-page .btn-edit,
body.ops-page .btn-save,
body.ops-page .sync-btn,
body.ops-page .btn-primary,
body.ops-page .btn-ai,
body.ops-page .btn-start {
  background: var(--ops-primary) !important;
  border-color: var(--ops-primary) !important;
  color: #fff !important;
}

body.ops-page .btn-edit:hover,
body.ops-page .btn-save:hover,
body.ops-page .sync-btn:hover,
body.ops-page .btn-primary:hover,
body.ops-page .btn-ai:hover,
body.ops-page .btn-start:hover {
  background: var(--ops-primary-dark) !important;
  border-color: var(--ops-primary-dark) !important;
  color: #fff !important;
}

body.ops-page .btn-detail-link,
body.ops-page a,
body.ops-page .link,
body.ops-page .user-name-link:hover,
body.ops-page .product-link:hover,
body.ops-page .lead-product-name:hover,
body.ops-page .action-link,
body.ops-page .takeaway-action,
body.ops-page .play-action,
body.ops-page .battle-role-action,
body.ops-page .war-card-validation,
body.ops-page .war-task-validation {
  color: var(--ops-primary) !important;
}

body.ops-page .anchor-avatar,
body.ops-page .small-avatar,
body.ops-page .user-avatar,
body.ops-page .capability-icon,
body.ops-page .panel-icon,
body.ops-page .metric-icon,
body.ops-page .entry-icon,
body.ops-page .wizard-icon,
body.ops-page .todo-index {
  background: var(--ops-primary-soft) !important;
  color: var(--ops-primary) !important;
}

body.ops-page .priority-low,
body.ops-page .badge-info,
body.ops-page .badge-strong,
body.ops-page .pill-review,
body.ops-page .value-badge.medium,
body.ops-page .score-badge,
body.ops-page .review-tab-icon,
body.ops-page .evidence-chain-meta span.event,
body.ops-page .action-step-index,
body.ops-page .execution-kicker,
body.ops-page .action-stage,
body.ops-page .material-status-summary,
body.ops-page .review-section-label,
body.ops-page .review-war-label,
body.ops-page .battle-eyebrow,
body.ops-page .battle-card-label,
body.ops-page .war-room-kicker,
body.ops-page .sales-light-link {
  background: var(--ops-primary-soft) !important;
  border-color: var(--ops-primary-border) !important;
  color: var(--ops-primary) !important;
}

body.ops-page .priority-medium,
body.ops-page .badge-warn,
body.ops-page .reservation-tip,
body.ops-page .team-collect-tip,
body.ops-page .warning-tip,
body.ops-page .browser-login-tip {
  background: #fffbeb !important;
  border-color: #fedf89 !important;
  color: #92400e !important;
}

body.ops-page .priority-high,
body.ops-page .value-badge.high,
body.ops-page .badge-anonymous {
  background: #fff1f3 !important;
  border-color: #fecdca !important;
  color: #b42318 !important;
}

body.ops-page .chart-panel,
body.ops-page .ai-panel,
body.ops-page .review-panel,
body.ops-page .capability-card,
body.ops-page .model-row,
body.ops-page .setting-item,
body.ops-page .comment,
body.ops-page .metric,
body.ops-page .context-box,
body.ops-page .evidence-item,
body.ops-page .match-card,
body.ops-page .template-summary,
body.ops-page .tpl-rule {
  background: #fbfcfd !important;
  border: 1px solid #edf0f3 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.ops-page .hero,
body.ops-page .focus-card {
  background: #fff !important;
  border: 1px solid var(--ops-border) !important;
  color: var(--ops-text) !important;
}

body.ops-page .top-bar-slogan .focus,
body.ops-page .bozhi-select-check,
body.ops-page .app-back-btn:hover,
body.ops-page .page-tabs-tool:hover,
body.ops-page .page-tab.active,
body.ops-page .product-status,
body.ops-page .tech-details summary::after {
  color: var(--ops-primary) !important;
}

body.ops-page .top-user-trigger:hover .top-user-avatar,
body.ops-page .top-user-trigger:focus-visible,
body.ops-page .app-back-btn:focus-visible,
body.ops-page .page-tabs-tool.active,
body.ops-page .review-tab.active,
body.ops-page .anchor-avatar-link.link:hover,
body.ops-page .lead-cover-button:hover .lead-cover {
  box-shadow: 0 0 0 3px rgba(46, 58, 140, .13) !important;
}

body.ops-page .app-back-btn:hover,
body.ops-page .page-tabs-tool:hover,
body.ops-page .page-tabs-tool.active,
body.ops-page .page-tab.active,
body.ops-page .review-tab.active,
body.ops-page .review-progress-stage-card.active,
body.ops-page .anchor-avatar-link.link:hover {
  background: var(--ops-primary-soft) !important;
  border-color: var(--ops-primary-border) !important;
  color: var(--ops-primary) !important;
}

body.ops-page .page-tabs-tool.active,
body.ops-page .app-alert-btn:not(.secondary) {
  background: var(--ops-primary) !important;
  border-color: var(--ops-primary) !important;
  color: #fff !important;
}

body.ops-page .app-alert-btn:not(.secondary):hover {
  background: var(--ops-primary-dark) !important;
  border-color: var(--ops-primary-dark) !important;
}

body.ops-page .page-tab.active::before {
  background: var(--ops-primary) !important;
  box-shadow: 0 0 0 3px rgba(46, 58, 140, .13) !important;
}

body.ops-page .app-alert-icon,
body.ops-page .bozhi-select-avatar {
  background: var(--ops-primary-soft) !important;
  border-color: var(--ops-primary-border) !important;
  color: var(--ops-primary) !important;
}

body.ops-page .platform-badge,
body.ops-page .platform-badge.douyin {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 9px !important;
  border: 1px solid #d8dee8 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #5b6472 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
}

body.ops-page .script-quote,
body.ops-page .action-script,
body.ops-page .focus-card {
  border-left-color: var(--ops-primary) !important;
}

body.ops-page.ops-dashboard .main-content {
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.ops-page.ops-dashboard .dashboard-grid,
body.ops-page.ops-dashboard .split-panels,
body.ops-page.ops-dashboard .center-stack,
body.ops-page.ops-dashboard .side-stack {
  min-width: 0 !important;
}

body.ops-page.ops-dashboard .link {
  color: var(--ops-primary) !important;
}

body.ops-page.ops-dashboard .link:hover {
  color: var(--ops-primary-dark) !important;
  text-decoration-color: var(--ops-primary-border) !important;
}

body.ops-page.ops-dashboard .pill-live,
body.ops-page.ops-dashboard .pill-good {
  background: var(--ops-primary-soft) !important;
  border-color: var(--ops-primary-border) !important;
  color: var(--ops-primary) !important;
}

body.ops-page.ops-dashboard .health-chip.good .health-dot {
  background: var(--ops-primary) !important;
  box-shadow: 0 0 0 3px rgba(46, 58, 140, .12) !important;
}

body.ops-page.ops-dashboard .review-score,
body.ops-page.ops-dashboard .entry-icon,
body.ops-page.ops-dashboard .avatar {
  background: var(--ops-primary-soft) !important;
  border-color: var(--ops-primary-border) !important;
  color: var(--ops-primary) !important;
}

body.ops-page.ops-dashboard .review-score {
  box-shadow: inset 0 0 0 1px var(--ops-primary-border) !important;
}

body.ops-page.ops-dashboard .session-row,
body.ops-page.ops-dashboard .entry-card,
body.ops-page.ops-dashboard .review-item {
  border-color: #edf0f3 !important;
  background: #fbfcfd !important;
  box-shadow: none !important;
}

body.ops-page.ops-dashboard .session-row:hover,
body.ops-page.ops-dashboard .entry-card:hover,
body.ops-page.ops-dashboard .review-item:hover {
  border-color: #d7dfeb !important;
  background: #fff !important;
}

body.ops-page .material-status-fill {
  background: var(--ops-primary) !important;
}

body.ops-page .battle-plan-panel.action,
body.ops-page .battle-role-card.primary,
body.ops-page .war-room-hero,
body.ops-page .review-war-card {
  background: linear-gradient(180deg, #fbfdff 0%, #f6f9fd 100%) !important;
  border-color: #dce8f5 !important;
}

body.ops-page .battle-plan-panel.action .battle-plan-title::before {
  background: var(--ops-primary) !important;
  box-shadow: 0 0 0 4px rgba(46, 58, 140, .12) !important;
}

body.ops-page .hero *,
body.ops-page .focus-card * {
  color: inherit;
}

body.ops-page.ops-anchors .main-content,
body.ops-page.ops-high-value .main-content,
body.ops-page.ops-local-ai .main-content,
body.ops-page.ops-local-data .main-content,
body.ops-page.ops-rules .main-content,
body.ops-page.ops-live-review .main-content,
body.ops-page.ops-not-found .main-content {
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.ops-page.ops-anchors .header,
body.ops-page.ops-rules .page-header,
body.ops-page.ops-high-value .page-head,
body.ops-page.ops-local-ai .page-head,
body.ops-page.ops-local-data .page-head,
body.ops-page.ops-live-review .header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.ops-page.ops-anchors .header h1,
body.ops-page.ops-rules .page-title,
body.ops-page.ops-high-value .page-title,
body.ops-page.ops-local-ai .page-title,
body.ops-page.ops-local-data .page-title,
body.ops-page.ops-live-review .page-title {
  color: var(--ops-text) !important;
  font-size: 26px !important;
  font-weight: 800 !important;
}

body.ops-page.ops-anchors .table-container,
body.ops-page.ops-rules .rules-table,
body.ops-page.ops-high-value .panel,
body.ops-page.ops-local-ai .panel,
body.ops-page.ops-local-ai .capability-card,
body.ops-page.ops-local-ai .model-pack,
body.ops-page.ops-local-data .panel,
body.ops-page.ops-live-review .chart-panel,
body.ops-page.ops-live-review .ai-panel,
body.ops-page.ops-live-review .review-panel {
  border-radius: 12px !important;
  box-shadow: var(--ops-shadow) !important;
}

body.ops-page.ops-local-ai .hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px 18px !important;
  box-shadow: var(--ops-shadow-soft) !important;
}

body.ops-page.ops-local-ai .hero-title,
body.ops-page.ops-local-ai .capability-title,
body.ops-page.ops-local-ai .model-row-title,
body.ops-page.ops-local-ai .setting-title,
body.ops-page.ops-local-data .setting-title {
  color: var(--ops-text) !important;
}

body.ops-page.ops-local-ai .status-dot.ok {
  background: var(--ops-primary) !important;
  box-shadow: 0 0 0 3px rgba(46, 58, 140, .13) !important;
}

body.ops-page.ops-local-ai .capability-card.ready .capability-icon,
body.ops-page.ops-local-ai .badge-ok,
body.ops-page.ops-local-ai .asr-status-dot,
body.ops-page.ops-local-ai .asr-progress-counts .ok,
body.ops-page.ops-local-ai .guide-index {
  background: var(--ops-primary-soft) !important;
  border-color: var(--ops-primary-border) !important;
  color: var(--ops-primary) !important;
}

body.ops-page.ops-local-ai .asr-status-strip,
body.ops-page.ops-local-ai .asr-progress-dashboard,
body.ops-page.ops-local-ai .model-row.downloading,
body.ops-page.ops-local-ai .model-file.downloading,
body.ops-page.ops-local-ai .runtime-item.downloading {
  background: #fbfcfd !important;
  border-color: #edf0f3 !important;
}

body.ops-page.ops-local-ai .download-progress-fill {
  background: linear-gradient(90deg, var(--ops-primary), #7894bd) !important;
}

body.ops-page.ops-local-ai .download-progress-line strong,
body.ops-page.ops-local-ai .asr-progress-ring-value,
body.ops-page.ops-local-ai .asr-progress-percent {
  color: var(--ops-primary) !important;
}

body.ops-page.ops-local-ai .asr-progress-ring {
  background: conic-gradient(var(--ops-primary) var(--progress, 0%), #e8eef6 0) !important;
}

body.ops-page.ops-local-ai .progress-fill {
  background: linear-gradient(90deg, var(--ops-primary), #7894bd) !important;
}

body.ops-page.ops-rules .test-panel,
body.ops-page.ops-rules .template-panel {
  padding: 16px !important;
}

body.ops-page.ops-rules .match-keywords,
body.ops-page.ops-rules .tpl-rule-kw,
body.ops-page.ops-rules .btn-detail-link {
  color: var(--ops-primary) !important;
}

body.ops-page.ops-high-value .user-row {
  background: #fff !important;
}

body.ops-page.ops-high-value .user-row:hover {
  background: #fbfcfd !important;
}

/* 本文件会在销售线索页面样式后再次加载；此处必须保持同一配色，避免后加载规则把辅助评分恢复成高权重深色块。 */
body.ops-page.ops-high-value .score-value {
  background: linear-gradient(145deg, #f7f3ff 0%, #eee8ff 100%) !important;
  color: #6338c5 !important;
  border-color: #d8ccff !important;
  box-shadow: 0 4px 12px rgba(105, 65, 198, .12) !important;
}

body.ops-page.ops-live-review {
  --primary: var(--ops-primary);
  --primary-dark: var(--ops-primary-dark);
}

body.ops-page.ops-live-review .summary-cards {
  border-radius: 12px !important;
  box-shadow: var(--ops-shadow-soft) !important;
}

body.ops-page.ops-live-review .review-mode-option:has(.review-mode-radio:checked) {
  color: var(--ops-primary) !important;
}

body.ops-page.ops-not-found .empty-page {
  max-width: 760px !important;
  margin: 72px auto 0 !important;
  background: #fff !important;
  border: 1px solid var(--ops-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--ops-shadow) !important;
}

body.ops-page.ops-not-found .eyebrow {
  color: var(--ops-primary) !important;
}

@media (max-width: 760px) {
  body.ops-page.ops-local-ai .hero {
    grid-template-columns: 1fr !important;
  }
}
