/* AICRM console theme. Visual reference: Alibaba Cloud's documented console
 * home (p889889 / p965825 / p965827), with AICRM branding retained.
 * Loaded after the legacy Tabler bridge. No external fonts or remote assets.
 */
body.insurance-console-theme,
body.insurance-console-theme .insurance-workbench {
  --ic-brand: #ff6a00;
  --ic-primary: #0064c8;
  --ic-link: #0064c8;
  --ic-primary-hover: #0052a3;
  --ic-text: #252b3a;
  --ic-muted: #687078;
  --ic-border: #e5e6eb;
  --ic-bg: #f5f6f7;
  --ic-surface: #fff;
  --ic-soft: #f0f6ff;
  --ic-success: #168347;
  --ic-warning: #a86100;
  --ic-danger: #c52828;
  --ic-radius: 4px;
  --ic-ease: cubic-bezier(.2,0,0,1);
  --ic-font: "Microsoft YaHei","PingFang SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --iw-navy: var(--ic-text); --iw-teal: var(--ic-primary); --iw-brand: var(--ic-primary);
  --iw-muted: var(--ic-muted); --iw-line: var(--ic-border); --iw-bg: var(--ic-bg);
  --iw-link: var(--ic-link); --iw-accent: var(--ic-primary); --iw-accent-rgb: 0,100,200;
  --iw-accent-soft: var(--ic-soft); --iw-sidebar-width: 224px;
  --tblr-font-sans-serif: var(--ic-font); --tblr-body-font-size: 13px;
  --tblr-body-line-height: 1.6; --tblr-body-color: var(--ic-text);
  --tblr-heading-color: var(--ic-text); --tblr-secondary: var(--ic-muted);
  --tblr-primary: var(--ic-primary); --tblr-primary-rgb: 0,100,200;
  --tblr-link-color: var(--ic-link); --tblr-border-color: var(--ic-border);
  --tblr-body-bg: var(--ic-bg); --tblr-bg-surface: var(--ic-surface);
  --tblr-bg-surface-secondary: #f7f8fa; --tblr-border-radius: 4px;
  --tblr-shadow-card: none; --tblr-shadow-input: none;
  --tblr-success: var(--ic-success); --tblr-success-rgb: 22,131,71;
  --tblr-warning: var(--ic-warning); --tblr-warning-rgb: 168,97,0;
  --tblr-danger: var(--ic-danger); --tblr-danger-rgb: 197,40,40;
  color-scheme: light;
}
.insurance-console-theme .insurance-workbench {
  font-family: var(--ic-font); color: var(--ic-text); background: var(--ic-bg);
  font-size: 13px; line-height: 1.6; border: 0; border-radius: 0;
  height: 100vh; height: 100dvh;
}
/* The route lifecycle removes the theme class on leaving the workbench. This
 * extra :has guard keeps public login/mobile navigation outside this rule. */
body.insurance-console-theme:has(.insurance-workbench) header.navbar { display: none; }
.insurance-console-theme .insurance-workbench :is(button,input,select,textarea) { font-family: inherit; }
.insurance-console-theme .insurance-workbench :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--ic-primary); outline-offset: 2px;
}
.insurance-console-theme .insurance-workbench :is(a,.iw-link,.iw-reference,.iw-text-link,.iw-report-drill) { color: var(--ic-link); }
.insurance-console-theme .insurance-workbench :is(a,.iw-link,.iw-reference,.iw-text-link):hover { color: var(--ic-primary-hover); }
.insurance-console-theme .insurance-workbench .text-muted { color: var(--ic-muted); }

/* Console chrome: short white toolbar, stable navigation, quiet page canvas. */
.insurance-console-theme .insurance-workbench .iw-topbar {
  flex-basis: 56px; min-height: 56px; padding: 0 20px; gap: 16px;
  background: #fff; border-bottom: 1px solid var(--ic-border); box-shadow: none;
}
.insurance-console-theme .insurance-workbench .iw-brand { gap: 10px; color: var(--ic-text); text-decoration: none; }
.insurance-console-theme .insurance-workbench .iw-brand-mark {
  width: 30px; height: 30px; background: var(--ic-brand); border-radius: 3px;
  font-size: 15px; font-weight: 650; box-shadow: none; letter-spacing: -.5px;
}
.insurance-console-theme .insurance-workbench .iw-brand strong { font-size: 18px; line-height: 1.2; font-weight: 650; letter-spacing: 0; }
.insurance-console-theme .insurance-workbench .iw-brand small { font-size: 11px; color: var(--ic-muted); line-height: 1.5; }
.insurance-console-theme .insurance-workbench .iw-breadcrumb { margin-left: 8px; padding-left: 18px; font-size: 12px; border-color: var(--ic-border); }
.insurance-console-theme .insurance-workbench .iw-breadcrumb [data-page-title] { font-weight: 500; color: var(--ic-text); }
.insurance-console-theme .insurance-workbench .iw-topbar-actions { gap: 8px; }
.insurance-console-theme .insurance-workbench .iw-ai-status { border: 0; background: #f5f7f9; color: var(--ic-muted); border-radius: 3px; padding: 5px 8px; font-size: 12px; }
.insurance-console-theme .insurance-workbench .iw-ai-status.ready { color: var(--ic-success); background: #f0f8f3; }
.insurance-console-theme .insurance-workbench .iw-nav { padding: 12px 0 0; background: #fff; border-right: 1px solid var(--ic-border); box-shadow: none; }
.insurance-console-theme .insurance-workbench .iw-nav-search { margin: 0 12px 10px; }
.insurance-console-theme .insurance-workbench .iw-nav-search input { height: 32px; min-height: 32px; border-radius: 3px; background: #f7f8fa; border-color: #e9ebee; font-size: 12px; }
.insurance-console-theme .insurance-workbench .iw-nav-search input:focus { background: #fff; border-color: var(--ic-primary); box-shadow: 0 0 0 2px #0064c814; }
.insurance-console-theme .insurance-workbench .iw-nav-groups { padding: 0 0 12px; scrollbar-color: #ccd0d6 transparent; }
.insurance-console-theme .insurance-workbench .iw-nav-group { margin: 0 0 4px; }
.insurance-console-theme .insurance-workbench .iw-nav-group > summary { min-height: 32px; padding: 8px 17px 6px; font-size: 12px; font-weight: 500; color: #80868f; letter-spacing: 0; border-radius: 0; }
.insurance-console-theme .insurance-workbench .iw-nav-group > summary:hover { color: var(--ic-text); background: #fafafa; }
.insurance-console-theme .insurance-workbench .iw-nav button[data-nav] {
  min-height: 36px; margin: 0; padding: 8px 17px; gap: 9px; border-radius: 0;
  font-size: 13px; font-weight: 400; line-height: 1.5; color: #424854;
  border-left: 2px solid transparent; box-shadow: none; transform: none;
}
.insurance-console-theme .insurance-workbench .iw-nav button[data-nav]:hover { background: #f5f7fa; color: var(--ic-primary); transform: none; box-shadow: none; }
.insurance-console-theme .insurance-workbench .iw-nav button[data-nav].active { background: #eef5ff; color: var(--ic-primary); border-left-color: var(--ic-primary); font-weight: 500; box-shadow: none; }
.insurance-console-theme .insurance-workbench .iw-nav-icon { width: 17px; height: 17px; flex-basis: 17px; color: #7e8693; }
.insurance-console-theme .insurance-workbench .iw-nav button.active .iw-nav-icon { color: var(--ic-primary); }
.insurance-console-theme .insurance-workbench .iw-nav-bottom { margin: 0; padding: 12px 16px; gap: 9px; background: #fff; border-top-color: var(--ic-border); }
.insurance-console-theme .insurance-workbench .iw-user-avatar { flex-basis: 28px; height: 28px; border-radius: 50%; background: #edf3fc; color: var(--ic-primary); }
.insurance-console-theme .insurance-workbench .iw-nav-bottom strong { font-size: 12px; font-weight: 500; }
.insurance-console-theme .insurance-workbench .iw-user-details small { font-size: 11px; }
.insurance-console-theme .insurance-workbench .iw-content { padding: 20px 24px 32px; font-size: 13px; background: var(--ic-bg); }
.insurance-console-theme .insurance-workbench .iw-content > * { max-width: none; }

/* One page hierarchy across hand-written modules, framework cards and reports. */
.insurance-console-theme .insurance-workbench :is(.iw-section-head,.iw-page-heading,.iv-heading) {
  margin: 0 0 18px; padding: 0; border: 0; border-radius: 0; background: none;
  box-shadow: none; gap: 12px; align-items: flex-start; animation: none;
}
.insurance-console-theme .insurance-workbench :is(.iw-section-head,.iw-page-heading) > div:first-child { padding-left: 0; }
.insurance-console-theme .insurance-workbench :is(.iw-section-head,.iw-page-heading) > div:first-child::before { display: none; }
.insurance-console-theme .insurance-workbench :is(.iw-section-head h2,.iw-page-title,.iv-heading h3,.page-title) { font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: 0; margin: 0 0 4px; color: var(--ic-text); }
.insurance-console-theme .insurance-workbench :is(.iw-subtitle,.iw-page-description,.iv-heading p) { font-size: 12px; line-height: 1.7; color: var(--ic-muted); max-width: 850px; }
.insurance-console-theme .insurance-workbench :is(.iw-content h4,.iw-card-head h3,.card-title) { font-size: 14px; font-weight: 600; line-height: 1.6; color: var(--ic-text); }
.insurance-console-theme .insurance-workbench :is(.iw-module-page,.iv-panel) { color: var(--ic-text); }
.insurance-console-theme .insurance-workbench :is(.iw-actions,.iw-page-actions,.iv-actions) { gap: 8px; }

.insurance-console-theme .insurance-workbench :is(.iw-card,.card,.iw-metric,.iw-catalog-grid > section,.iv-metrics > div,.it-section,.it-kpi) {
  min-width: 0; border: 1px solid var(--ic-border); border-radius: var(--ic-radius);
  background: #fff; box-shadow: none; color: var(--ic-text);
  transition: border-color 160ms var(--ic-ease),box-shadow 160ms var(--ic-ease);
}
.insurance-console-theme .insurance-workbench :is(.iw-card-head,.card-header) { padding: 14px 16px; min-height: 50px; gap: 12px; border-bottom: 1px solid #eef0f3; background: #fff; }
.insurance-console-theme .insurance-workbench :is(.iw-card-head h3,.card-header .card-title) { margin: 0; }
.insurance-console-theme .insurance-workbench :is(.card-body,.iw-admin-body) { padding: 16px; font-size: 13px; color: #525b67; }
.insurance-console-theme .insurance-workbench :is(.card-footer,.iw-card-footer) { background: #fafbfc; border-top-color: var(--ic-border); padding: 12px 16px; }
.insurance-console-theme .insurance-workbench :is(.iw-overview-grid,.iw-admin-grid,.iw-report-charts,.iw-catalog-grid) { gap: 16px; align-items: stretch; }
.insurance-console-theme .insurance-workbench :is(.iw-overview-grid,.iw-admin-grid) > .iw-card { height: 100%; display: flex; flex-direction: column; }
.insurance-console-theme .insurance-workbench [data-admin-configuration] { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 20px; }
.insurance-console-theme .insurance-workbench [data-admin-configuration] .iw-admin-body { flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.insurance-console-theme .insurance-workbench [data-admin-configuration] .iw-admin-body p { line-height: 1.8; margin: 0 0 16px; }
.insurance-console-theme .insurance-workbench [data-admin-configuration] .iw-admin-body .iw-btn { margin-top: auto; }
.insurance-console-theme .insurance-workbench .iw-catalog-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); }
/* Only this legacy card has an !important coloured top border in visual.css. */
.insurance-console-theme .insurance-workbench .iw-catalog-grid > section { border-top: 1px solid var(--ic-border) !important; padding: 16px; }
.insurance-console-theme .insurance-workbench .iw-catalog-grid h4 { margin-bottom: 10px; }
.insurance-console-theme .insurance-workbench .iw-catalog-grid :is(h4,p) { overflow-wrap: anywhere; }
.insurance-console-theme .insurance-workbench .iw-catalog-grid p { font-size: 12px; color: var(--ic-muted); }

/* Compact, rectangular console controls with explicit hover/focus/pressed states. */
.insurance-console-theme .insurance-workbench :is(.iw-btn,.btn) {
  --tblr-btn-bg: #fff; --tblr-btn-color: var(--ic-text); --tblr-btn-border-color: #d7dbe0;
  min-height: 32px; border: 1px solid #d7dbe0; border-radius: 2px; padding: 5px 12px;
  background: #fff; color: var(--ic-text); font-size: 13px; line-height: 20px; font-weight: 400;
  box-shadow: none; transform: none;
  transition: color 120ms,border-color 120ms,background-color 120ms,box-shadow 120ms;
}
.insurance-console-theme .insurance-workbench :is(.iw-btn,.btn):hover:not(:disabled):not(.disabled) { background: #fff; color: var(--ic-primary); border-color: var(--ic-primary); box-shadow: none; transform: none; }
.insurance-console-theme .insurance-workbench :is(.iw-btn.primary,.btn-primary) { background: var(--ic-primary); color: #fff; border-color: var(--ic-primary); }
.insurance-console-theme .insurance-workbench :is(.iw-btn.primary,.btn-primary):hover:not(:disabled):not(.disabled) { background: #1977d4; border-color: #1977d4; color: #fff; }
.insurance-console-theme .insurance-workbench :is(.iw-btn.primary,.btn-primary):active:not(:disabled):not(.disabled) { background: var(--ic-primary-hover); border-color: var(--ic-primary-hover); color: #fff; transform: none; }
.insurance-console-theme .insurance-workbench :is(.iw-btn,.btn):active:not(:disabled):not(.disabled) { background: #edf4fc; box-shadow: inset 0 1px 2px #0064c817; transform: none; }
.insurance-console-theme .insurance-workbench :is(.iw-btn.small,.btn-sm,.btn-xs) { min-height: 28px; padding: 3px 10px; font-size: 12px; }
.insurance-console-theme .insurance-workbench :is(.iw-btn,.btn):disabled,
.insurance-console-theme .insurance-workbench :is(.iw-btn,.btn).disabled { color: #a1a6ad; border-color: #e6e8eb; background: #f7f8fa; opacity: 1; cursor: not-allowed; box-shadow: none; transform: none; }
.insurance-console-theme .insurance-workbench .btn-link { border-color: transparent; color: var(--ic-link); background: transparent; }
.insurance-console-theme .insurance-workbench .btn-danger { background: var(--ic-danger); border-color: var(--ic-danger); color: #fff; }

.insurance-console-theme .insurance-workbench :is(.iw-tabs,.iw-module-tabs,.iv-tabs) { margin-bottom: 16px; gap: 24px; border-bottom: 1px solid var(--ic-border); }
.insurance-console-theme .insurance-workbench :is(.iw-tabs,.iw-module-tabs,.iv-tabs) > button { padding: 9px 0; min-height: 40px; font-size: 13px; font-weight: 400; background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--ic-muted); }
.insurance-console-theme .insurance-workbench :is(.iw-tabs,.iw-module-tabs,.iv-tabs) > button:hover { color: var(--ic-primary); background: none; }
.insurance-console-theme .insurance-workbench :is(.iw-tabs,.iw-module-tabs,.iv-tabs) > button:is(.active,[aria-selected=true]) { color: var(--ic-primary); border-bottom-color: var(--ic-primary); font-weight: 500; }
.insurance-console-theme .insurance-workbench :is(.iw-filterbar,.iv-filters,.iw-module-controls,.iw-report-filters) { padding: 14px 16px; gap: 12px; margin-bottom: 16px; border: 1px solid var(--ic-border); border-radius: 4px; background: #fff; box-shadow: none; animation: none; }
.insurance-console-theme .insurance-workbench :is(.iw-filterbar,.iv-filters,.iw-report-filters) label { color: var(--ic-text); font-size: 12px; }
.insurance-console-theme .insurance-workbench :is(.iw-filterbar,.iv-filters,.iw-report-filters) label > span { font-size: 12px; margin-bottom: 6px; color: var(--ic-muted); }
.insurance-console-theme .insurance-workbench :is(.iw-search,.form-control,.form-select,.iw-record-toolbar select,.iw-pool-toolbar select,.iw-report-filters input,.iw-report-filters select) { min-height: 32px; padding: 5px 10px; border: 1px solid #d7dbe0; border-radius: 2px; background-color: #fff; font-size: 13px; line-height: 20px; color: var(--ic-text); box-shadow: none; }
.insurance-console-theme .insurance-workbench :is(.form-control,.form-select,.iw-search):focus { border-color: var(--ic-primary); box-shadow: 0 0 0 2px #0064c815; }
.insurance-console-theme .insurance-workbench :is(input,textarea)::placeholder { color: #9a9fa7; }
.insurance-console-theme .insurance-workbench :is(.form-control,.form-select):disabled { background-color: #f7f8fa; color: #969da6; }
.insurance-console-theme .insurance-workbench .form-label { font-size: 13px; margin-bottom: 6px; font-weight: 400; }
.insurance-console-theme .insurance-workbench input:is([type=checkbox],[type=radio]) { accent-color: var(--ic-primary); }
.insurance-console-theme .insurance-workbench :is(.iw-bulkbar,.iv-import-summary) { background: #f0f6ff; border: 1px solid #d2e5ff; border-radius: 3px; color: #345674; padding: 10px 12px; }

/* Tables keep strong column alignment without a box around every cell. */
.insurance-console-theme .insurance-workbench :is(.iw-table-wrap,.iw-table-scroll,.iv-table-scroll,.iw-module-table-scroll) { background: #fff; border: 1px solid var(--ic-border); border-radius: 4px; max-width: 100%; }
.insurance-console-theme .insurance-workbench :is(.iw-table,.table,.iv-table) { font-size: 13px; line-height: 1.6; color: var(--ic-text); margin: 0; }
.insurance-console-theme .insurance-workbench :is(.iw-table,.table,.iv-table) th { padding: 10px 16px; font-size: 12px; font-weight: 500; background: #f7f8fa; color: #636a75; border: 0; border-bottom: 1px solid var(--ic-border); white-space: nowrap; }
.insurance-console-theme .insurance-workbench :is(.iw-table,.table,.iv-table) td { padding: 12px 16px; color: #424b57; border: 0; border-bottom: 1px solid #eef0f3; vertical-align: middle; }
.insurance-console-theme .insurance-workbench :is(.iw-table,.table,.iv-table) tbody tr { transition: background-color 120ms; }
.insurance-console-theme .insurance-workbench :is(.iw-table,.table,.iv-table) tbody tr:hover { background: #f4f8ff; }
.insurance-console-theme .insurance-workbench .iw-table td:first-child { color: var(--ic-text); font-weight: 400; }
.insurance-console-theme .insurance-workbench .iw-table button.iw-link { color: var(--ic-primary); }
.insurance-console-theme .insurance-workbench .iw-list-card .iw-toolbar { padding: 16px; gap: 12px; }
.insurance-console-theme .insurance-workbench .iw-list-card .iw-results > .iw-table-wrap { border: 0; border-radius: 0; }
.insurance-console-theme .insurance-workbench .iw-list-card .iw-pagination { padding: 12px 16px; background: #fff; border-top: 1px solid var(--ic-border); }
.insurance-console-theme .insurance-workbench :is(.iw-pagination,.iv-pagination,.iw-count) { color: var(--ic-muted); font-size: 12px; }

/* Dashboard cards are equal-height, mostly white, with restrained semantic cues. */
.insurance-console-theme .insurance-workbench :is(.iw-metrics,.iw-today-metrics,.iw-report-metrics,.iv-metrics) { gap: 16px; align-items: stretch; }
.insurance-console-theme .insurance-workbench .iw-today { margin-bottom: 20px; }
.insurance-console-theme .insurance-workbench .iw-today-heading h3 { font-size: 13px; color: var(--ic-text); font-weight: 500; }
.insurance-console-theme .insurance-workbench .iw-today-metrics > .iw-metric.iw-today-metric { border: 1px solid var(--ic-border); border-radius: 4px; padding: 16px; background: #fff; gap: 10px; box-shadow: none; transform: none; }
.insurance-console-theme .insurance-workbench .iw-today-metrics > .iw-metric.iw-today-metric:hover { border-color: #b7cde8; box-shadow: 0 3px 10px #252b3a09; transform: none; }
.insurance-console-theme .insurance-workbench .iw-metric-icon { width: 22px; height: 22px; flex-basis: 22px; padding: 0; background: none; border-radius: 0; box-shadow: none; color: var(--ic-primary); }
.insurance-console-theme .insurance-workbench .iw-today-metrics .iw-today-metric .iw-metric-value { font-size: 30px; line-height: 1.3; color: var(--ic-text); font-weight: 500; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.insurance-console-theme .insurance-workbench .iw-today-metric:nth-child(2) .iw-metric-icon { color: var(--ic-warning); }
.insurance-console-theme .insurance-workbench :is(.iw-metric-label,.iw-metric-foot,.iw-metric-definition,.iw-report-kicker) { color: var(--ic-muted); font-size: 12px; }
.insurance-console-theme .insurance-workbench .iw-overview-summary { background: #fff; border: 1px solid var(--ic-border); border-radius: 4px; box-shadow: none; padding: 16px 0; margin-bottom: 20px; }
.insurance-console-theme .insurance-workbench .iw-overview-summary > div { padding: 0 20px; border-right-color: var(--ic-border); }
.insurance-console-theme .insurance-workbench .iw-overview-summary :is(span,small) { color: var(--ic-muted); font-size: 12px; }
.insurance-console-theme .insurance-workbench .iw-overview-summary .iw-overview-stat strong { color: var(--ic-text); font-size: 24px; font-weight: 500; }
.insurance-console-theme .insurance-workbench .iw-overview-summary-label strong { color: var(--ic-text); font-size: 13px; font-weight: 500; }
.insurance-console-theme .insurance-workbench .iw-overview-grid { grid-template-columns: minmax(0,1.35fr) minmax(280px,1fr); }
.insurance-console-theme .insurance-workbench .iw-task { padding: 13px 16px; gap: 10px; border-color: #eef0f3; background: #fff; }
.insurance-console-theme .insurance-workbench .iw-task:hover { background: #f7faff; }
.insurance-console-theme .insurance-workbench .iw-task-title { font-size: 13px; line-height: 1.6; color: var(--ic-text); font-weight: 400; }
.insurance-console-theme .insurance-workbench .iw-task-meta { font-size: 12px; line-height: 1.6; margin-top: 4px; color: var(--ic-muted); }
.insurance-console-theme .insurance-workbench .iw-task-marker { width: 24px; height: 24px; border-radius: 3px; color: var(--ic-primary); background: #edf4ff; transform: none; }
.insurance-console-theme .insurance-workbench .iw-task-marker.urgent { color: var(--ic-warning); background: #fff5e5; }
.insurance-console-theme .insurance-workbench .iw-report-dashboard { gap: 16px; }
.insurance-console-theme .insurance-workbench .iw-report-kpi-value { font-size: 28px; font-weight: 500; color: var(--ic-text); }
.insurance-console-theme .insurance-workbench :is(.iw-trend-track > div,.iw-stage-track > div) { background: #3389e1; border-radius: 2px; }
.insurance-console-theme .insurance-workbench .iw-task-buckets button { padding: 12px 14px; border-radius: 4px; border-color: var(--ic-border); }
.insurance-console-theme .insurance-workbench .iw-task-buckets button.active { background: #f0f6ff; border-color: #80b4ec; color: var(--ic-primary); }
.insurance-console-theme .insurance-workbench .iw-task-buckets button strong { color: var(--ic-text); font-size: 24px; font-weight: 500; }
.insurance-console-theme .insurance-workbench .it-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.insurance-console-theme .insurance-workbench .it-tabs .btn { flex: 0 0 auto; white-space: normal; }
.insurance-console-theme .insurance-workbench .iw-finance-summary > div { background: #f7f9fc; border-color: var(--ic-border); border-radius: 4px; }
.insurance-console-theme .insurance-workbench .iw-finance-summary strong { color: var(--ic-text); font-size: 22px; font-weight: 500; }
.insurance-console-theme .insurance-workbench .iv-metrics > div { padding: 16px; }
.insurance-console-theme .insurance-workbench .iv-metrics strong { color: var(--ic-text); font-weight: 500; }

.insurance-console-theme .insurance-workbench :is(.iw-badge,.badge) { border: 0; border-radius: 3px; padding: 3px 7px; background: #f0f2f5; color: #66707e; font-size: 12px; font-weight: 400; line-height: 1.5; }
.insurance-console-theme .insurance-workbench .iw-badge.teal { color: var(--ic-success); background: #ecf8f0; }
.insurance-console-theme .insurance-workbench .iw-badge.amber { color: var(--ic-warning); background: #fff5e4; }
.insurance-console-theme .insurance-workbench .iw-badge.red { color: var(--ic-danger); background: #fff0f0; }
.insurance-console-theme .insurance-workbench .iw-badge.blue { color: var(--ic-primary); background: #edf5ff; }
.insurance-console-theme .insurance-workbench :is(.iw-alert,.alert,.iw-poll-note,.iw-report-scope,.iw-form-note,.iv-detail,.iw-guide) { border-radius: 3px; padding: 12px 14px; font-size: 12px; line-height: 1.8; box-shadow: none; }
.insurance-console-theme .insurance-workbench :is(.iw-report-scope,.iw-form-note,.iw-poll-note,.iv-detail,.iw-guide,.alert-info) { background: #f0f6ff; border: 1px solid #d8e8ff; color: #48637f; }
.insurance-console-theme .insurance-workbench :is(.iw-alert,.alert-warning) { color: #85600c; background: #fff9eb; border: 1px solid #f6e6bd; }
.insurance-console-theme .insurance-workbench .alert-success { color: #276b45; background: #eff9f3; border: 1px solid #d4ebdc; }
.insurance-console-theme .insurance-workbench .alert-danger { color: #a93838; background: #fff3f3; border: 1px solid #f2d4d4; }
.insurance-console-theme .insurance-workbench :is(.iw-guide strong,.iw-report-scope strong) { color: #345674; }
.insurance-console-theme .insurance-workbench :is(.iw-empty,.empty) { padding: 44px 20px; }
.insurance-console-theme .insurance-workbench .iw-empty-icon { color: #a7b2c2; background: none; border-radius: 0; width: 36px; height: 36px; font-size: 30px; margin-bottom: 12px; }
.insurance-console-theme .insurance-workbench :is(.iw-empty h3,.empty-title) { font-size: 14px; line-height: 1.6; font-weight: 500; color: #636c79; }
.insurance-console-theme .insurance-workbench :is(.iw-empty p,.empty-subtitle) { color: #89919d; font-size: 12px; line-height: 1.8; }
.insurance-console-theme .insurance-workbench :is(.iw-page-help,.iw-help,.iw-overview-guide,.iv-footnote,.iw-chart-note,.iw-admin-note) { font-size: 12px; color: var(--ic-muted); line-height: 1.8; }

@media (hover:hover) and (pointer:fine) {
  .insurance-console-theme .insurance-workbench :is(.iw-card,.card):hover { border-color: #d6dbe2; box-shadow: 0 2px 8px #252b3a06; }
  .insurance-console-theme .insurance-workbench .iw-task:hover .iw-task-marker { transform: none; }
}
@media (max-width:1200px) {
  .insurance-console-theme .insurance-workbench [data-admin-configuration] { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:960px) {
  .insurance-console-theme .insurance-workbench .iw-nav { top: 56px; box-shadow: 4px 0 16px #252b3a18; }
  .insurance-console-theme .insurance-workbench.iw-navigation-open .iw-nav-scrim { inset: 56px 0 0; }
  .insurance-console-theme .insurance-workbench .iw-topbar { padding: 0 16px; }
  .insurance-console-theme .insurance-workbench .iw-content { padding: 18px 16px 28px; }
  .insurance-console-theme .insurance-workbench .iw-overview-grid { grid-template-columns: 1fr; }
}
@media (max-width:600px) {
  /* Only known empty renderers: one body row, one spanning cell and an explicit
   * empty-state marker. Data rows and grouped summaries retain horizontal scroll. */
  .insurance-console-theme .insurance-workbench table:is(:has(> tbody > tr:only-child > td.iv-empty[colspan]:only-child),:has(> tbody > tr:only-child > td[colspan]:only-child > .iw-empty)) {
    width: 100%; min-width: 0 !important; table-layout: fixed;
  }
  .insurance-console-theme .insurance-workbench table:is(:has(> tbody > tr:only-child > td.iv-empty[colspan]:only-child),:has(> tbody > tr:only-child > td[colspan]:only-child > .iw-empty)) :is(th,td) {
    min-width: 0; max-width: none; white-space: normal; overflow-wrap: anywhere;
  }
  .insurance-console-theme .insurance-workbench table:is(:has(> tbody > tr:only-child > td.iv-empty[colspan]:only-child),:has(> tbody > tr:only-child > td[colspan]:only-child > .iw-empty)) th { padding: 10px 7px; }
  .insurance-console-theme .insurance-workbench .it-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .insurance-console-theme .insurance-workbench .it-tabs .btn { min-height: 40px; padding: 7px 8px; white-space: normal; }
  .insurance-console-theme .insurance-workbench .page-header > .row { width: 100%; row-gap: 12px; }
  .insurance-console-theme .insurance-workbench .page-header > .row > :is(.col,.col-auto) { flex: 0 0 100%; width: 100%; max-width: 100%; min-width: 0; margin-left: 0; }
  .insurance-console-theme .insurance-workbench .page-header .btn-list { display: flex; flex-wrap: wrap; gap: 8px; }
  .insurance-console-theme .insurance-workbench .iw-topbar { padding: 0 12px; gap: 8px; }
  .insurance-console-theme .insurance-workbench .iw-topbar-leading { gap: 8px; }
  .insurance-console-theme .insurance-workbench .iw-topbar-actions { gap: 5px; }
  .insurance-console-theme .insurance-workbench .iw-content { padding: 16px 12px 24px; }
  .insurance-console-theme .insurance-workbench [data-admin-configuration] { grid-template-columns: 1fr; }
  .insurance-console-theme .insurance-workbench :is(.iw-today-metrics,.iw-metrics,.iv-metrics) { gap: 10px; }
  .insurance-console-theme .insurance-workbench .iw-today-metrics > .iw-metric.iw-today-metric { padding: 14px; }
  .insurance-console-theme .insurance-workbench .iw-today-metrics .iw-today-metric .iw-metric-value { font-size: 26px; }
  .insurance-console-theme .insurance-workbench .iw-overview-summary > div { padding: 0 12px; }
  .insurance-console-theme .insurance-workbench :is(.iw-filterbar,.iv-filters,.iw-module-controls,.iw-report-filters) { padding: 12px; }
  .insurance-console-theme .insurance-workbench :is(.iw-section-head h2,.iw-page-title,.iv-heading h3) { font-size: 19px; }
}
@media (prefers-reduced-motion:reduce) {
  .insurance-console-theme .insurance-workbench *,
  .insurance-console-theme .insurance-workbench *::before,
  .insurance-console-theme .insurance-workbench *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
