:root {
  --blue: #2f8df3;
  --blue-strong: #126fd2;
  --blue-soft: #eaf4ff;
  --canvas: #f3f6fa;
  --panel: #ffffff;
  --text: #26364a;
  --muted: #6f7f91;
  --subtle: #98a5b5;
  --line: #e2e8f0;
  --line-strong: #cdd8e5;
  --green: #18a66a;
  --green-soft: #e8f7f0;
  --orange: #e89528;
  --orange-soft: #fff3df;
  --red: #d94d57;
  --red-soft: #fdecee;
  --purple: #8066d9;
  --purple-soft: #f0edff;
  --sidebar-width: 246px;
  --assistant-width: 366px;
  --assistant-pane-width: 408px;
  --object-width: 282px;
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--canvas);
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; }
body { font-size: 14px; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .56; }
button:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid rgba(47, 141, 243, .48); outline-offset: 2px; }
svg { width: 18px; height: 18px; stroke-width: 2; }
[hidden] { display: none !important; }

.shell-body { overflow: hidden; background: var(--canvas); }
.app-shell { height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); transition: grid-template-columns .28s cubic-bezier(.22, .8, .24, 1); }
.app-shell.sidebar-collapsed { --sidebar-width: 68px; }
.global-sidebar { position: relative; z-index: 20; min-width: 0; display: flex; flex-direction: column; overflow: hidden; border-right: 1px solid var(--line); background: #fff; transition: box-shadow .24s ease; }
.brand-row { height: 66px; flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 0 12px; border-bottom: 1px solid var(--line); }
.brand-mark { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; border-radius: 9px; background: var(--blue); box-shadow: 0 6px 16px rgba(47, 141, 243, .24); transition: width .22s ease, opacity .16s ease, transform .22s ease; }
.brand-copy { min-width: 0; max-width: 160px; display: flex; flex: 1; flex-direction: column; overflow: hidden; line-height: 1.25; white-space: nowrap; transition: max-width .24s ease, opacity .16s ease, transform .22s ease; }
.brand-copy strong { overflow: hidden; font-size: 17px; text-overflow: ellipsis; }
.brand-copy small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.icon-button { position: relative; width: 34px; height: 34px; flex: 0 0 auto; display: inline-grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 7px; color: #52647a; background: transparent; }
.icon-button:hover { color: var(--blue-strong); border-color: #dbe8f5; background: #f5f9fd; }
.sidebar-toggle { border-color: var(--line); }
.sidebar-account-context { position: relative; flex: 0 0 auto; display: grid; gap: 7px; padding: 13px 12px 12px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #fbfdff 0%, #fff 100%); transition: padding .22s ease; }
.sidebar-greeting { overflow: hidden; color: #536980; font-size: 12px; font-weight: 650; letter-spacing: .01em; white-space: nowrap; transition: width .2s ease, opacity .16s ease; }
.sidebar-user-card { min-width: 0; }
.sidebar-user-card .fixed-user { width: 100%; height: 38px; padding: 0 8px; border-color: transparent; background: transparent; cursor: pointer; }
.sidebar-user-card .fixed-user:hover { border-color: #b9d3eb; background: #f7fbff; }
.sidebar-user-card .fixed-user > span:nth-child(2) { min-width: 0; }
.sidebar-user-card .fixed-user > .sidebar-user-greeting-line { display: flex; flex-direction: row; align-items: baseline; gap: 5px; overflow: hidden; line-height: 1.15; white-space: nowrap; }
.sidebar-user-card .fixed-user strong { overflow: hidden; color: #536980; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user-card .fixed-user > [data-icon="chevron-down"] { width: 16px; height: 16px; margin-left: auto; color: #718397; }
.sidebar-user-card .sidebar-user-menu { position: fixed; z-index: 72; top: 0; right: auto; left: 0; width: 286px; padding: 0; overflow: hidden; }
.sidebar-user-menu-profile { min-height: 72px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 11px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: #fbfdff; }
.sidebar-user-menu-profile .avatar { width: 42px; height: 42px; border-radius: 10px; font-size: 15px; }
.sidebar-user-menu-profile > span:last-child { min-width: 0; display: grid; gap: 5px; }
.sidebar-user-menu-profile strong, .sidebar-user-menu-profile small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user-menu-profile strong { color: #2b4057; font-size: 13px; }
.sidebar-user-menu-profile small { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 10px; }
.sidebar-user-menu-profile small b { color: #c0c9d3; font-weight: 400; }
.sidebar-user-role-summary { display: grid; gap: 7px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: #fff; }
.sidebar-user-role-summary > span { display: flex; align-items: center; gap: 6px; color: #54718d; font-size: 11px; font-weight: 700; }
.sidebar-user-role-summary > span svg { width: 14px; height: 14px; color: var(--blue); }
.sidebar-user-role-summary p { margin: 0; color: #62758a; font-size: 11px; line-height: 1.65; }
.sidebar-user-menu > .sidebar-logout-button { width: calc(100% - 20px); min-height: 40px; display: flex; grid-template-columns: none; align-items: center; justify-content: center; gap: 7px; margin: 10px; padding: 0 12px; border: 1px solid #f3c9cd; border-radius: 7px; color: #d94752; background: #fff3f4; text-align: center; }
.sidebar-user-menu > .sidebar-logout-button:hover { color: #c8323e; background: #ffe9eb; }
.sidebar-user-menu > .sidebar-logout-button svg { width: 16px; height: 16px; }
.sidebar-user-menu > .sidebar-logout-button strong { font-size: 12px; }
.sidebar-project-scope { min-width: 0; }
.sidebar-project-scope .project-scope-trigger { width: 100%; max-width: none; }
.sidebar-project-scope .project-scope-menu { position: fixed; z-index: 70; top: 0; right: auto; left: 0; max-height: calc(100vh - 24px); }
.menu-tree { flex: 1; min-height: 220px; overflow-y: auto; overflow-x: hidden; padding: 9px 10px 5px; transition: padding .24s ease; scrollbar-width: thin; }
.menu-section { margin-top: 8px; padding-top: 0; border-top: 0; }
.menu-section-title { height: 24px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; color: #8996a6; font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.menu-section-title b { min-width: 22px; padding: 2px 6px; border-radius: 10px; color: #8190a3; background: #eef2f6; text-align: center; font-size: 10px; }
.menu-item { width: 100%; min-height: 36px; display: flex; align-items: center; gap: 10px; margin: 1px 0; padding: 0 11px; border: 0; border-radius: 7px; color: #42556d; background: transparent; text-align: left; white-space: nowrap; }
.menu-item:hover { background: #f3f7fb; }
.menu-item.active { color: var(--blue-strong); background: #e9f3ff; box-shadow: inset 3px 0 0 var(--blue); font-weight: 700; }
.workspace-switch.scope-active { color: #245f92; background: #f2f8fe; font-weight: 700; }
.menu-item > span:nth-child(2) { max-width: 170px; overflow: hidden; text-overflow: ellipsis; opacity: 1; transition: max-width .22s ease, opacity .14s ease, transform .22s ease; }
.menu-item em { margin-left: auto; padding: 2px 6px; border-radius: 8px; color: #a25c13; background: #fff0d7; font-size: 9px; font-style: normal; }
.menu-badge { margin-left: auto; min-width: 20px; padding: 2px 6px; border-radius: 10px; color: #fff; background: var(--red); font-size: 10px; font-style: normal; text-align: center; }
.sidebar-workspace { min-height: 0; margin: 3px 0 9px; padding: 5px 5px 6px 12px; border-left: 2px solid #d7e9fa; border-radius: 0 7px 7px 0; background: #f9fcff; }
.sidebar-focus-list { display: grid; align-content: start; gap: 5px; }
.sidebar-focus-list:empty { display: none; }
.sidebar-workspace-nav { display: grid; gap: 2px; }
.sidebar-workspace.has-focus .sidebar-workspace-nav { margin-top: 7px; padding-top: 7px; border-top: 1px solid #e3edf6; }
.sidebar-workspace-link { width: 100%; min-height: 36px; display: flex; align-items: center; gap: 9px; padding: 0 9px; border: 0; border-radius: 6px; color: #52677d; background: transparent; text-align: left; }
.sidebar-workspace-link:hover { color: #294b6d; background: #eef5fb; }
.sidebar-workspace-link.active { color: var(--blue-strong); background: #e8f3ff; font-weight: 700; box-shadow: inset 3px 0 0 var(--blue); }
.sidebar-workspace-link > span:first-child { width: 24px; height: 24px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 6px; color: #667b90; background: #edf2f6; }
.sidebar-workspace-link.active > span:first-child { color: var(--blue-strong); background: #dceeff; }
.sidebar-workspace-link svg { width: 15px; height: 15px; }
.sidebar-workspace-link strong { min-width: 0; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-workspace-group { display: grid; gap: 2px; }
.sidebar-workspace-group-toggle { width: 100%; min-height: 36px; display: flex; align-items: center; gap: 9px; padding: 0 9px; border: 0; border-radius: 6px; color: #52677d; background: transparent; text-align: left; }
.sidebar-workspace-group-toggle:hover, .sidebar-workspace-group.active > .sidebar-workspace-group-toggle { color: #294b6d; background: #eef5fb; }
.sidebar-workspace-group-toggle > span:first-child { width: 24px; height: 24px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 6px; color: #667b90; background: #edf2f6; }
.sidebar-workspace-group-toggle svg { width: 15px; height: 15px; }
.sidebar-workspace-group-toggle strong { min-width: 0; flex: 1; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-group-chevron { color: #8a99a9; transition: transform .2s ease; }
.sidebar-workspace-group-toggle[aria-expanded="false"] .workspace-group-chevron { transform: rotate(-90deg); }
.sidebar-workspace-children { display: grid; gap: 2px; margin: 1px 0 3px 14px; padding-left: 9px; border-left: 1px solid #dce7f1; }
.sidebar-workspace-link.child { min-height: 32px; padding-left: 7px; }
.sidebar-workspace-link.child > span:first-child { width: 21px; height: 21px; background: transparent; }
.sidebar-workspace-link.child.active > span:first-child { background: #dceeff; }
.legacy-system-menu { margin: 9px 0 6px; padding-top: 8px; border-top: 1px solid #edf1f5; }
.legacy-system-root-toggle { width: 100%; min-height: 40px; display: flex; align-items: center; gap: 9px; padding: 0 10px; border: 0; border-radius: 7px; color: #435a72; background: transparent; text-align: left; }
.legacy-system-root-toggle:hover, .legacy-system-menu.active > .legacy-system-root-toggle { color: #245f92; background: #f2f8fe; }
.legacy-system-root-icon { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; color: #58738d; background: #eef3f7; }
.legacy-system-root-toggle strong { min-width: 0; flex: 1; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.legacy-system-root-toggle em { min-width: 21px; height: 19px; display: grid; place-items: center; padding: 0 6px; border-radius: 10px; color: #718397; background: #edf2f6; font-size: 10px; font-style: normal; }
.legacy-system-root-chevron { width: 14px; height: 14px; color: #8493a3; transition: transform .18s ease; }
.legacy-system-root-toggle[aria-expanded="false"] .legacy-system-root-chevron { transform: rotate(-90deg); }
.legacy-system-module-list { display: grid; gap: 2px; margin-top: 3px; padding: 3px 0 4px 10px; border-left: 2px solid #d7e9fa; }
.legacy-system-module { min-width: 0; }
.legacy-module-entry { position: relative; min-height: 36px; padding: 0 8px; }
.legacy-module-entry > span:first-child { width: 24px; height: 24px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 6px; color: #667b90; background: #edf2f6; }
.legacy-module-entry > span:first-child svg { width: 15px; height: 15px; }
.legacy-module-entry > span:nth-child(2) { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.legacy-module-entry .legacy-module-chevron { width: 13px; height: 13px; margin-left: auto; color: #8b99a8; transition: transform .18s ease; }
.legacy-module-entry[aria-expanded="false"] .legacy-module-chevron { transform: rotate(-90deg); }
.legacy-system-module.module-active > .legacy-module-entry { color: #245f92; background: #eef6fd; font-weight: 700; }
.legacy-module-children { display: grid; gap: 2px; margin: 2px 0 5px 14px; padding-left: 8px; border-left: 1px solid #dce7f1; }
.legacy-menu-link, .legacy-menu-group-toggle { width: 100%; min-height: 31px; display: flex; align-items: center; gap: 7px; padding: 0 7px; border: 0; border-radius: 6px; color: #607386; background: transparent; text-align: left; }
.legacy-menu-link:hover, .legacy-menu-group-toggle:hover { color: #294b6d; background: #f1f6fb; }
.legacy-menu-link.active { color: #1f73bc; background: #e8f3ff; font-weight: 700; box-shadow: inset 3px 0 0 #2f8df3; }
.legacy-menu-link > span:first-child, .legacy-menu-group-toggle > span:first-child { width: 20px; height: 20px; display: grid; flex: 0 0 auto; place-items: center; color: #71869a; }
.legacy-menu-link svg, .legacy-menu-group-toggle svg { width: 13px; height: 13px; }
.legacy-menu-link strong, .legacy-menu-group-toggle strong { min-width: 0; flex: 1; overflow: hidden; font-size: 10.5px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.legacy-menu-group-toggle .legacy-menu-group-chevron { width: 12px; height: 12px; color: #8d9aa8; transition: transform .18s ease; }
.legacy-menu-group-toggle[aria-expanded="false"] .legacy-menu-group-chevron { transform: rotate(-90deg); }
.legacy-menu-grandchildren { display: grid; gap: 1px; margin: 1px 0 3px 12px; padding-left: 8px; border-left: 1px solid #e1e9f0; }
.legacy-menu-grandchildren .legacy-menu-link { min-height: 29px; }
.legacy-menu-grandchildren .legacy-menu-link strong { font-size: 10px; font-weight: 550; }
.workspace-menu-card { width: 100%; min-height: 50px; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 6px 8px; border: 1px solid #dfe7ef; border-radius: 8px; color: #344b63; background: #fff; text-align: left; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.workspace-menu-card:hover { border-color: #acd0f1; background: #f8fbff; transform: translateY(-1px); }
.workspace-menu-card.active { border-color: #8fc1ef; background: #f1f8ff; box-shadow: inset 3px 0 0 var(--blue); }
.workspace-card-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: var(--blue); background: var(--blue-soft); }
.workspace-card-icon svg { width: 16px; height: 16px; }
.workspace-card-copy { min-width: 0; display: grid; gap: 3px; }
.workspace-card-copy strong { overflow: hidden; color: #2d4055; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-card-copy small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-menu-card > b { color: #26364a; font-size: 10px; white-space: nowrap; }
.sidebar-status { flex: 0 0 auto; margin: 6px 10px 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafc; }
.sidebar-status > div { display: flex; align-items: center; gap: 7px; font-size: 12px; }
.sidebar-status small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; }
.status-dot.online { background: var(--green); box-shadow: 0 0 0 3px rgba(24, 166, 106, .12); }
.sidebar-collapsed .brand-row { justify-content: center; gap: 0; padding: 0; }
.sidebar-collapsed .brand-copy, .sidebar-collapsed .brand-mark { max-width: 0; width: 0; opacity: 0; transform: translateX(-8px) scale(.88); pointer-events: none; }
.sidebar-collapsed .sidebar-account-context { justify-items: center; gap: 7px; padding: 10px 8px; }
.sidebar-collapsed .sidebar-greeting { width: 0; opacity: 0; pointer-events: none; }
.sidebar-collapsed .sidebar-user-card { width: 42px; }
.sidebar-collapsed .sidebar-user-card .fixed-user { width: 42px; justify-content: center; padding: 0; }
.sidebar-collapsed .sidebar-user-card .fixed-user > span:nth-child(2),
.sidebar-collapsed .sidebar-user-card .fixed-user > [data-icon="chevron-down"] { display: none; }
.sidebar-collapsed .sidebar-project-scope { width: 42px; }
.sidebar-collapsed .sidebar-project-scope .project-scope-trigger { width: 42px; height: 42px; justify-content: center; padding: 0; }
.sidebar-collapsed .sidebar-project-scope .project-scope-copy,
.sidebar-collapsed .sidebar-project-scope .project-scope-trigger > [data-icon="chevron-down"] { display: none; }
.sidebar-collapsed .menu-tree { padding: 12px 8px; }
.sidebar-collapsed .menu-section { margin-top: 7px; padding-top: 7px; }
.sidebar-collapsed .menu-section-title { height: 0; overflow: hidden; padding: 0; opacity: 0; }
.sidebar-collapsed .menu-item { position: relative; min-height: 42px; justify-content: center; gap: 0; padding: 0; }
.sidebar-collapsed .menu-item > span:nth-child(2), .sidebar-collapsed .menu-item em { max-width: 0; margin: 0; padding: 0; overflow: hidden; opacity: 0; transform: translateX(-6px); pointer-events: none; }
.sidebar-collapsed .menu-item svg { width: 20px; height: 20px; }
.sidebar-collapsed .menu-badge { position: absolute; top: 2px; right: 1px; min-width: 16px; height: 16px; display: grid; place-items: center; padding: 0 3px; border: 2px solid #fff; font-size: 8px; }
.sidebar-collapsed .sidebar-status { height: 42px; display: grid; place-items: center; margin: 8px 12px 12px; padding: 0; }
.sidebar-collapsed .sidebar-status > div { justify-content: center; }
.sidebar-collapsed .sidebar-status strong, .sidebar-collapsed .sidebar-status small { display: none; }
.sidebar-collapsed .sidebar-workspace { display: none; }
.sidebar-collapsed .legacy-system-menu { padding-top: 0; border-top: 0; }
.sidebar-collapsed .legacy-system-root-toggle { min-height: 42px; justify-content: center; padding: 0; }
.sidebar-collapsed .legacy-system-root-toggle strong,
.sidebar-collapsed .legacy-system-root-toggle em,
.sidebar-collapsed .legacy-system-root-chevron,
.sidebar-collapsed .legacy-system-module-list { display: none !important; }
.sidebar-collapsed .legacy-system-root-icon { width: 30px; height: 30px; }
.sidebar-toggle svg { transition: transform .22s ease; }

.shell-main { min-width: 0; min-height: 0; height: 100vh; display: grid; grid-template-rows: 58px minmax(0, 1fr); overflow: hidden; }
.shell-work-area { position: relative; min-width: 0; min-height: 0; height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) 6px var(--assistant-pane-width); align-items: stretch; overflow: hidden; transition: grid-template-columns .24s cubic-bezier(.22, .8, .24, 1); }
.shell-work-area.assistant-collapsed, .shell-work-area.assistant-disabled { grid-template-columns: minmax(0, 1fr); }
.shell-work-area.assistant-disabled .assistant-resize-handle, .shell-work-area.assistant-disabled .global-assistant-pane { display: none; }
.shell-work-area > .frame-stage { grid-column: 1; grid-row: 1; }
.shell-work-area.assistant-collapsed > .frame-stage, .shell-work-area.assistant-disabled > .frame-stage { grid-column: 1; }
.topbar { position: relative; z-index: 15; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px 0 12px; border-bottom: 1px solid var(--line); background: #fff; }
.topbar-context { min-width: 0; height: 100%; display: flex; flex: 1; align-items: flex-end; gap: 8px; overflow: hidden; white-space: nowrap; }
.open-page-tabs { min-width: 0; flex: 1; height: 100%; display: flex; align-items: flex-end; gap: 4px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: #cfd9e3 transparent; }
.open-page-tabs::-webkit-scrollbar { height: 4px; }
.open-page-tabs::-webkit-scrollbar-thumb { border-radius: 4px; background: #cfd9e3; }
.close-other-tabs { height: 34px; flex: 0 0 auto; margin: 0 0 12px; padding: 0 12px; border: 1px solid #d7e0e9; border-radius: 7px; color: #607286; background: #f8fafc; font-size: 12px; white-space: nowrap; }
.close-other-tabs:hover { border-color: #9db8d3; color: var(--blue-strong); background: #f5f9fd; }
.open-page-tab { position: relative; min-width: 142px; max-width: 230px; height: 43px; display: flex; align-items: stretch; flex: 0 0 auto; overflow: hidden; border: 1px solid transparent; border-bottom: 0; border-radius: 7px 7px 0 0; color: #607286; background: #f5f7fa; transition: color .16s ease, background .16s ease, border-color .16s ease; }
.open-page-tab:hover { color: #29445f; background: #f0f5fa; }
.open-page-tab.active { color: #29445f; border-color: var(--line); background: #fff; }
.open-page-tab.active::after { position: absolute; right: 10px; bottom: 0; left: 10px; height: 2px; content: ""; border-radius: 2px 2px 0 0; background: var(--blue); }
.open-page-tab-main { min-width: 0; height: 100%; display: flex; flex: 1; align-items: center; gap: 7px; padding: 0 4px 0 10px; border: 0; color: inherit; background: transparent; text-align: left; }
.open-page-tab-main strong { min-width: 0; overflow: hidden; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.open-page-tab-icon { width: 26px; height: 26px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 6px; color: #60758a; background: #e9eef3; }
.open-page-tab.active .open-page-tab-icon { color: var(--blue-strong); background: var(--blue-soft); }
.open-page-tab-icon svg { width: 15px; height: 15px; }
.open-page-tab-close { width: 30px; height: 100%; display: grid; flex: 0 0 auto; place-items: center; padding: 0; border: 0; color: #9aa8b5; background: transparent; opacity: .65; }
.open-page-tab-close:hover { color: #425b72; background: #edf2f6; opacity: 1; }
.open-page-tab-close svg { width: 13px; height: 13px; }
.topbar-actions { min-width: 0; display: flex; align-items: center; gap: 7px; }
.global-search-wrap { position: relative; }
.top-search { width: 260px; height: 34px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #d7e0e9; border-radius: 7px; color: var(--subtle); background: #f8fafc; }
.top-search:focus-within { border-color: #8ebdeb; background: #fff; box-shadow: 0 0 0 3px rgba(47, 141, 243, .09); }
.top-search input { min-width: 0; width: 100%; height: 100%; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 12px; }
.has-notice::after { position: absolute; top: 6px; right: 6px; width: 7px; height: 7px; content: ""; border: 1px solid #fff; border-radius: 50%; background: var(--red); }
.top-count { position: absolute; top: -4px; right: -5px; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; border: 2px solid #fff; border-radius: 9px; color: #fff; background: var(--red); font-size: 8px; font-style: normal; font-weight: 800; line-height: 1; }
.dropdown { position: relative; }
.context-button, .tenant-button { height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #d7e0e9; border-radius: 7px; color: var(--text); background: #fff; }
.context-button > span:nth-child(2) { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; }
.context-button small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.context-button .chevron, .tenant-button > [data-icon="chevron-down"] svg, .select-trigger > svg { width: 16px; height: 16px; margin-left: auto; }
.tenant-button { max-width: 244px; height: 42px; font-size: 11px; white-space: nowrap; }
.avatar { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; font-size: 12px; font-weight: 800; }
.avatar.blue { color: #176dbb; background: #e4f1ff; }
.avatar.green { color: #167349; background: #e3f6ed; }
.avatar.purple { color: #6648bd; background: #eee9ff; }
.avatar.orange { color: #a95e19; background: #fff0db; }
.dropdown-menu { position: absolute; top: calc(100% + 7px); right: 0; min-width: 250px; padding: 6px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 16px 32px rgba(27, 48, 74, .16); }
.dropdown-menu > button { width: 100%; min-height: 46px; display: grid; grid-template-columns: auto 1fr 18px; align-items: center; gap: 10px; padding: 7px 8px; border: 0; border-radius: 6px; color: var(--text); background: transparent; text-align: left; }
.dropdown-menu > button:hover { background: #f3f7fb; }
.dropdown-menu > button > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dropdown-menu small { color: var(--muted); font-size: 10px; }
.tenant-menu { width: 410px; }
.tenant-menu > button { grid-template-columns: 1fr 18px; }
.project-scope-trigger { width: 244px; padding: 0 8px; text-align: left; }
.project-scope-icon, .project-org-icon { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; color: var(--blue-strong); background: var(--blue-soft); }
.project-scope-icon svg, .project-org-icon svg { width: 16px; height: 16px; }
.project-scope-copy { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: 2px; overflow: hidden; }
.project-scope-copy strong, .project-scope-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-scope-copy strong { font-size: 11px; }
.project-scope-copy small { color: var(--muted); font-size: 9px; }
.project-scope-menu { padding: 0; overflow: hidden; }
.project-org-header { min-height: 62px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 9px 12px; border-bottom: 1px solid var(--line); background: #fbfdff; }
.project-org-header > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.project-org-header strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-org-header small { color: var(--muted); font-size: 9px; }
.project-search { height: 38px; display: flex; align-items: center; gap: 8px; margin: 10px 10px 7px; padding: 0 10px; border: 1px solid #d7e0e9; border-radius: 7px; color: var(--subtle); background: #fff; }
.project-search:focus-within { border-color: #8ebdeb; box-shadow: 0 0 0 3px rgba(47, 141, 243, .09); }
.project-search svg { width: 16px; height: 16px; flex: 0 0 auto; }
.project-search input { min-width: 0; width: 100%; height: 100%; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 11px; }
.project-selection-toolbar { min-height: 30px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; color: var(--muted); font-size: 9px; }
.project-selection-toolbar button { padding: 4px 0; border: 0; color: var(--blue-strong); background: transparent; font-size: 9px; }
.project-option-list { max-height: 330px; overflow-y: auto; padding: 2px 6px 7px; scrollbar-width: thin; }
.project-option { min-height: 48px; display: grid; grid-template-columns: 18px 18px minmax(0, 1fr); align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; color: var(--text); cursor: pointer; }
.project-option:hover { background: #f4f8fc; }
.project-option[hidden] { display: none; }
.project-option input { position: absolute; opacity: 0; pointer-events: none; }
.project-option > svg { width: 16px; height: 16px; color: #6e7f92; }
.project-check { width: 17px; height: 17px; display: grid; place-items: center; border: 1px solid #b9c5d1; border-radius: 4px; background: #fff; }
.project-option input:checked + .project-check { border-color: var(--blue); background: var(--blue); }
.project-option input:checked + .project-check::after { width: 7px; height: 4px; content: ""; border-bottom: 2px solid #fff; border-left: 2px solid #fff; transform: translateY(-1px) rotate(-45deg); }
.project-option > span:last-child { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.project-option strong, .project-option small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-option strong { font-size: 11px; }
.project-option small { color: var(--muted); font-size: 9px; }
.project-menu-empty { padding: 30px 12px; color: var(--muted); text-align: center; font-size: 10px; }
.project-scope-footer { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 8px; padding: 9px 10px; border-top: 1px solid var(--line); background: #fbfcfe; }
.project-scope-footer button { height: 34px; }
.dropdown-footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-top: 5px; padding: 7px 2px 1px; border-top: 1px solid var(--line); }
.dropdown-footer button { min-height: 32px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 0 7px; border: 0; border-radius: 6px; color: #607286; background: #f6f8fb; font-size: 9px; }
.dropdown-footer button:hover { color: var(--blue-strong); background: var(--blue-soft); }
.dropdown-footer svg { width: 14px; height: 14px; }

.search-results { position: absolute; top: calc(100% + 7px); left: 0; z-index: 36; width: 390px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 16px 36px rgba(25, 45, 70, .18); }
.search-results-label { height: 34px; display: flex; align-items: center; justify-content: space-between; padding: 0 11px; border-bottom: 1px solid var(--line); color: #718197; background: #f8fafc; font-size: 10px; font-weight: 700; }
.search-results-label span { font-weight: 500; }
.search-results > button { width: 100%; min-height: 54px; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 7px 11px; border: 0; border-bottom: 1px solid #eef2f6; color: var(--text); background: #fff; text-align: left; }
.search-results > button:last-child { border-bottom: 0; }
.search-results > button:hover, .search-results > button:focus { background: #f4f9fe; }
.search-results > button > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: var(--blue-strong); background: var(--blue-soft); }
.search-results > button > span:nth-child(2) { min-width: 0; }
.search-results strong, .search-results small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-results strong { font-size: 11px; }
.search-results small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.search-results em { color: var(--blue-strong); font-size: 9px; font-style: normal; }
.search-empty { padding: 22px 14px; text-align: center; }
.search-empty strong { font-size: 11px; }
.search-empty p { margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }

.frame-stage { position: relative; width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: hidden; border: 0; background: var(--canvas); }
.frame-stage.has-workspace-focus { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.frame-stage iframe { width: 100%; height: 100%; min-width: 0; display: block; border: 0; background: var(--canvas); transition: opacity .18s ease; }
.workspace-focus-stage { min-width: 0; padding: 10px 14px 9px; border-bottom: 1px solid #dfe7ef; background: #f7f9fc; }
.workspace-focus-stage[hidden] { display: none; }
.workspace-focus-tabs { min-width: 0; display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden; padding: 1px; scrollbar-width: thin; scrollbar-color: #cbd7e2 transparent; }
.workspace-focus-tab { min-width: 178px; min-height: 62px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; flex: 1 0 178px; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid #dce5ee; border-radius: 7px; color: #41566d; background: #fff; text-align: left; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.workspace-focus-tab:hover { border-color: #aecdec; background: #fbfdff; }
.workspace-focus-tab.active { border-color: #78b4eb; background: #f0f7ff; box-shadow: inset 0 -2px 0 var(--blue); }
.workspace-focus-tab-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; color: #5f748a; background: #edf2f7; }
.workspace-focus-tab.active .workspace-focus-tab-icon { color: var(--blue-strong); background: #dceeff; }
.workspace-focus-tab-icon svg { width: 17px; height: 17px; }
.workspace-focus-tab-copy { min-width: 0; display: grid; gap: 4px; }
.workspace-focus-tab-copy strong, .workspace-focus-tab-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-focus-tab-copy strong { color: #2d4157; font-size: 12px; }
.workspace-focus-tab-copy small { color: var(--muted); font-size: 9px; }
.workspace-focus-tab > b { color: #263b51; font-size: 12px; white-space: nowrap; }
.workspace-focus-tab.active > b { color: var(--blue-strong); }
.frame-stage.loading iframe { opacity: .32; pointer-events: none; }
.frame-loading { position: absolute; inset: 0; z-index: 6; display: flex; align-items: center; justify-content: center; gap: 13px; color: #445d76; background: rgba(243, 246, 250, .84); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .16s ease, visibility .16s ease; }
.frame-loading.active { opacity: 1; visibility: visible; }
.frame-loading > div { display: flex; flex-direction: column; gap: 4px; }
.frame-loading strong { font-size: 12px; }
.frame-loading small { color: var(--muted); font-size: 9px; }
.loading-spinner { width: 26px; height: 26px; border: 3px solid #cfe3f6; border-top-color: var(--blue); border-radius: 50%; animation: loading-spin .72s linear infinite; }
.frame-loading.delayed,.frame-loading.failed { pointer-events: auto; }
.frame-loading.delayed .loading-spinner { border-top-color: #e89528; }
.frame-loading.failed .loading-spinner { animation: none; border-color: #efc8cc; border-top-color: #d94d57; }
.frame-loading-actions { display: flex; gap: 7px; margin-top: 8px; }
.frame-loading-actions:not([hidden]) { display: flex; }
.frame-loading-actions button { min-height: 28px; padding: 0 10px; border: 1px solid #bdd7ee; border-radius: 6px; color: #32688f; background: #fff; cursor: pointer; font-size: 9px; }
.frame-loading-actions button:first-child { color: #fff; border-color: var(--blue); background: var(--blue); }
@keyframes loading-spin { to { transform: rotate(360deg); } }

.assistant-resize-handle { position: relative; z-index: 5; width: 6px; min-width: 6px; display: block; grid-column: 2; grid-row: 1; padding: 0; border: 0; border-right: 1px solid #e1e8ef; border-left: 1px solid #eef2f6; background: #f6f8fb; cursor: col-resize; }
.assistant-resize-handle::after { position: absolute; top: 50%; left: 1px; width: 2px; height: 44px; content: ""; border-radius: 2px; background: #c8d4df; transform: translateY(-50%); opacity: 0; transition: opacity .16s ease; }
.assistant-resize-handle:hover::after, .assistant-resize-handle.dragging::after { opacity: 1; }
.assistant-collapsed .assistant-resize-handle { width: 0; min-width: 0; overflow: hidden; border: 0; pointer-events: none; }

.global-assistant-pane { position: relative; right: auto; bottom: auto; left: auto; top: auto; z-index: 8; width: 100%; height: 100%; min-width: 340px; min-height: 0; grid-column: 3; grid-row: 1; overflow: hidden; border: 0; border-left: 1px solid #dce6f0; border-radius: 0; background: #fff; box-shadow: none; transition: width .22s ease, opacity .18s ease; }
.global-assistant-pane.assistant-pane-dragging { transition: none; }
.shell-work-area.assistant-collapsed .global-assistant-pane { position: fixed; right: 24px; bottom: 24px; left: auto; top: auto; z-index: 54; width: 66px; height: 66px; min-width: 66px; min-height: 66px; overflow: visible; border: 0; border-radius: 50%; background: transparent; box-shadow: none; }
.fixed-user { cursor: default; }
.fixed-user:hover { background: #fff; }
.workbench-view:not(#projectOverview):not(#customerOverview) > .focus-strip { display: none; }
.list-detail-page .page > .focus-strip, .list-detail-page .page > .metric-grid { display: none; }
.focus-strip { grid-template-columns: minmax(0, 1fr); }
.assistant-expanded-content { width: 100%; height: 100%; min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; border-radius: inherit; background: #fff; }
.assistant-collapsed-rail { display: none; width: 66px; height: 66px; background: transparent; }
.assistant-collapsed .assistant-expanded-content { display: none; }
.assistant-collapsed .assistant-collapsed-rail { display: block; }
.assistant-rail-toggle { position: relative; width: 66px; height: 66px; display: grid; place-items: center; overflow: visible; padding: 0; border: 1px solid rgba(255, 255, 255, .72); border-radius: 50%; color: #fff; background: linear-gradient(150deg, #50a9ff 0%, #278df2 54%, #1674d8 100%); box-shadow: 0 12px 28px rgba(31, 117, 205, .3), 0 3px 8px rgba(36, 83, 132, .16), inset 0 1px 0 rgba(255, 255, 255, .34); cursor: grab; isolation: isolate; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.assistant-rail-toggle::before { position: absolute; inset: -11px; z-index: -1; content: ""; border-radius: 50%; background: rgba(61, 153, 244, .1); box-shadow: 0 0 0 1px rgba(47, 141, 243, .05); pointer-events: none; }
.assistant-rail-toggle::after { position: absolute; inset: 5px; content: ""; border: 1px solid rgba(255, 255, 255, .12); border-radius: 50%; pointer-events: none; }
.assistant-rail-toggle:hover { color: #fff; filter: saturate(1.06); box-shadow: 0 14px 32px rgba(31, 117, 205, .36), 0 4px 9px rgba(36, 83, 132, .18), inset 0 1px 0 rgba(255, 255, 255, .38); transform: translateY(-2px) scale(1.02); }
.assistant-rail-toggle:active { cursor: grabbing; transform: translateY(0) scale(.97); }
.assistant-rail-logo { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: transparent; box-shadow: none; }
.assistant-rail-logo svg { width: 31px; height: 31px; }
.assistant-ai-logo { position: relative; overflow: visible; background: transparent; }
.assistant-ai-chat { width: 34px; height: 34px; display: grid; place-items: center; transform: translateY(1px); }
.assistant-ai-chat svg { width: 31px; height: 31px; stroke-width: 2.3; }
.assistant-ai-spark { display: none; }
.assistant-rail-toggle strong, .assistant-rail-toggle small { display: none; }
.global-assistant-header { min-width: 0; min-height: 67px; flex: 0 0 67px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 14px 0 16px; border-bottom: 1px solid #e3eaf2; border-radius: 0; background: rgba(255, 255, 255, .98); cursor: default; user-select: none; }
.global-assistant-header:active { cursor: default; }
.global-assistant-header .global-assistant-actions { cursor: default; }
.assistant-conversation-title { min-width: 0; line-height: 1.3; }
.assistant-conversation-title strong, .assistant-conversation-title small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.assistant-conversation-title strong { color: #30343a; font-size: 15px; font-weight: 650; }
.assistant-conversation-title small { margin-top: 3px; color: #777b82; font-size: 11px; font-weight: 500; }
.assistant-conversation-title small span { display: none; }
.global-assistant-actions { display: flex; align-items: center; gap: 2px; }
.global-assistant-actions .icon-button { width: 34px; height: 34px; border: 0; border-radius: 50%; color: #697386; background: transparent; box-shadow: none; }
.global-assistant-actions .icon-button:hover { color: #3f5368; border: 0; background: #eef2f6; }
.global-assistant-pane.assistant-history-open .assistant-expanded-content > :not(.global-assistant-header) { visibility: hidden; pointer-events: none; }
.global-assistant-pane.assistant-history-open #assistantConversationButton { color: var(--blue-strong); background: #edf6ff; }
.assistant-history-popover { position: absolute; inset: 67px 0 0; z-index: 22; min-width: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; overflow: hidden; border: 0; border-radius: 0 0 18px 18px; background: #fff; box-shadow: none; }
.assistant-history-popover > header { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 14px 0 16px; border-bottom: 1px solid #e3eaf2; }
.assistant-history-popover > header strong { color: #30343a; font-size: 14px; }
.assistant-history-popover > header small { display: block; margin-top: 3px; color: #7b8794; font-size: 9px; }
.assistant-history-popover > header .icon-button { width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; }
.assistant-history-search { min-height: 36px; display: flex; align-items: center; gap: 7px; margin: 12px 14px 6px; padding: 0 10px; border: 1px solid #dce5ee; border-radius: 10px; color: #7a8795; background: #fbfcfe; }
.assistant-history-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: #344054; background: transparent; font-size: 10px; }
.assistant-history-list { min-height: 0; overflow-y: auto; padding: 6px 10px 12px; }
.assistant-history-popover button[data-history-scene], .assistant-history-popover button[data-history-conversation] { width: 100%; min-height: 58px; display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 10px; padding: 7px 9px; border: 0; border-radius: 10px; color: var(--text); background: #fff; text-align: left; }
.assistant-history-popover button:hover { background: #f3f8fd; }
.assistant-history-popover button[data-history-scene] > span:first-child, .assistant-history-popover button[data-history-conversation] > span:first-child { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: var(--blue-strong); background: var(--blue-soft); }
.assistant-history-popover strong, .assistant-history-popover small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.assistant-history-popover strong { font-size: 10px; }
.assistant-history-popover small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.assistant-history-popover > footer { min-height: 58px; display: flex; align-items: center; justify-content: flex-end; padding: 10px 14px; border-top: 1px solid #e3eaf2; background: #fff; }
.assistant-history-popover > footer .primary-button { min-height: 34px; padding: 0 13px; border-radius: 8px; font-size: 10px; }
.global-assistant-status { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 14px 9px; border-bottom: 1px solid #e4ebf3; background: #f8fbfe; }
.global-assistant-status[hidden] { display: none; }
.global-assistant-status strong { display: block; color: #344054; font-size: 11px; font-weight: 650; }
.global-assistant-status p { margin: 3px 0 0; overflow: hidden; color: #667085; font-size: 9px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.global-assistant-status .assistant-stage-status { margin: 0; }
.global-assistant-common { min-width: 0; display: grid; gap: 8px; margin-bottom: 10px; }
.global-assistant-common > strong { color: #85888e; font-size: 10px; font-weight: 500; }
.global-assistant-common .assistant-scenario-tabs.compact { flex-wrap: wrap; gap: 6px; padding: 0; overflow: visible; }
.global-assistant-common .assistant-scenario-tabs button { min-height: 30px; padding: 4px 10px; border: 1px solid #dfe8f1; border-radius: 999px; color: #556273; background: #fbfdff; font-size: 10px; }
.global-assistant-common .assistant-scenario-tabs button:hover { border-color: #b9d7f3; color: #1478e8; background: #eef7ff; }
.global-assistant-common .assistant-scenario-tabs button.selected { border-color: #a9cef1; color: #1478e8; background: #edf6ff; }
.global-assistant-stage { margin: 8px 14px 0; }
.global-assistant-stage[hidden] { display: none; }
.global-assistant-chat { min-height: 240px; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 16px 16px 24px; background: linear-gradient(180deg, #f8fbfe, #f6f8fb); scrollbar-width: thin; }
.global-assistant-chat .assistant-conversation-meta { top: -16px; margin: -16px -16px 14px; padding: 9px 16px; background: rgba(248, 251, 254, .96); }
.global-assistant-chat .message { display: block; max-width: 100%; margin-bottom: 12px; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 11px; }
.global-assistant-chat .assistant-message-list .message { padding-top: 0; }
.global-assistant-chat .assistant-message-list .message-speaker { position: static; display: block; margin: 0 0 5px 3px; color: #7b8794; font-size: 9px; font-weight: 600; }
.global-assistant-chat .assistant-message-list .message p { width: 100%; padding: 13px 15px; border: 1px solid #e5ebf2; border-radius: 15px; color: #475467; background: #fff; box-shadow: 0 1px 3px rgba(31, 45, 61, .025); line-height: 1.65; }
.global-assistant-chat .assistant-message-list .message.user { max-width: 88%; margin-left: auto; }
.global-assistant-chat .assistant-message-list .message.user .message-speaker { text-align: right; }
.global-assistant-chat .assistant-message-list .message.user p { border-color: #dce9f7; color: #36506c; background: #edf6ff; }
.global-assistant-chat .assistant-message-list .reimbursement-user-message .reimbursement-user-message-body { overflow: hidden; border: 1px solid #dce9f7; border-radius: 15px; color: #36506c; background: #edf6ff; }
.global-assistant-chat .assistant-message-list .reimbursement-user-message .reimbursement-user-message-body > p { margin: 0; padding: 12px 14px 10px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.reimbursement-user-message-body section { display: grid; gap: 5px; padding: 8px 12px 10px; border-top: 1px solid rgba(101, 153, 202, .2); }
.reimbursement-user-message-body section strong { color: #557089; font-size: 8px; }
.reimbursement-user-message-body section span { min-width: 0; display: grid; grid-template-columns: 14px minmax(0, 1fr); align-items: center; gap: 5px; color: #405d78; font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; }
.reimbursement-user-message-body section svg { width: 12px; height: 12px; color: #3f83bd; }
.global-assistant-composer { position: relative; z-index: 2; width: 100%; flex: 0 0 auto; padding: 12px 14px 14px; border-top: 1px solid #e3eaf2; background: #fff; }
.assistant-reference { min-height: 28px; display: flex; align-items: center; gap: 6px; width: fit-content; max-width: 100%; margin-bottom: 8px; padding: 0 7px 0 9px; border: 1px solid #dce6f0; border-radius: 999px; color: #4e5c6d; background: #f1f6fb; font-size: 9px; }
.assistant-reference > span:nth-child(2) { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.assistant-reference svg { width: 14px; height: 14px; }
.assistant-reference button { width: 22px; height: 22px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; color: #718397; background: transparent; }
.assistant-reference button:hover { color: var(--blue-strong); background: #e5eef7; }
.assistant-pending-resources { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.assistant-pending-resources[hidden] { display: none; }
.assistant-pending-resources > span { min-width: 0; max-width: 100%; height: 27px; display: grid; grid-template-columns: 13px minmax(0, 1fr) 18px; align-items: center; gap: 5px; padding: 0 4px 0 8px; border: 1px solid #d7e4ef; border-radius: 999px; color: #4c647b; background: #f6faff; }
.assistant-pending-resources > span > svg { width: 12px; height: 12px; color: #2f83cf; }
.assistant-pending-resources em { min-width: 0; overflow: hidden; font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.assistant-pending-resources button { width: 18px; height: 18px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; color: #718397; background: transparent; }
.assistant-pending-resources button:hover { color: #c34545; background: #fff0f0; }
.assistant-pending-resources button svg { width: 11px; height: 11px; }
.assistant-reference-picker { position: absolute; right: 14px; bottom: 128px; left: 14px; z-index: 28; overflow: hidden; border: 1px solid #cadbea; border-radius: 11px; background: #fff; box-shadow: 0 16px 36px rgba(32, 60, 88, .2); }
.assistant-reference-picker[hidden] { display: none; }
.assistant-reference-picker > header { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 9px 8px 12px; border-bottom: 1px solid #e5ebf1; background: #f8fbfe; }
.assistant-reference-picker > header strong { display: block; color: #36546f; font-size: 11px; }
.assistant-reference-picker > header small { display: block; margin-top: 2px; color: #8392a1; font-size: 8px; }
.assistant-reference-picker > header .icon-button { width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; }
.assistant-reference-kind-tabs, .assistant-reference-module-tabs { display: flex; gap: 6px; padding: 9px 10px 0; }
.assistant-reference-kind-tabs button, .assistant-reference-module-tabs button { min-width: 58px; height: 28px; padding: 0 10px; border: 1px solid #d8e3ed; border-radius: 6px; color: #607286; background: #fff; font-size: 9px; }
.assistant-reference-kind-tabs button.selected, .assistant-reference-module-tabs button.selected { border-color: #7db9eb; color: #1f78c4; background: #eef7ff; }
.assistant-reference-module-tabs:empty { display: none; }
.assistant-reference-search { height: 32px; display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: center; gap: 3px; margin: 9px 10px 0; padding: 0 7px; border: 1px solid #d8e3ed; border-radius: 7px; background: #fff; }
.assistant-reference-search svg { width: 14px; height: 14px; color: #7c90a3; }
.assistant-reference-search input { width: 100%; height: 30px; border: 0; outline: 0; color: #3f566c; background: transparent; font-size: 9px; }
.assistant-reference-picker-hint { margin: 7px 10px 0; color: #8291a1; font-size: 8px; }
.assistant-reference-results { max-height: 190px; display: grid; gap: 6px; overflow-y: auto; padding: 7px 10px; }
.assistant-reference-results label { display: flex; align-items: flex-start; gap: 8px; padding: 8px; border: 1px solid #e2e9f0; border-radius: 7px; cursor: pointer; }
.assistant-reference-results label:has(input:checked) { border-color: #77b6ec; background: #f1f8ff; }
.assistant-reference-results input { margin-top: 2px; accent-color: #2383dd; }
.assistant-reference-results span { min-width: 0; display: grid; gap: 3px; }
.assistant-reference-results strong { color: #40556a; font-size: 9px; }
.assistant-reference-results small { color: #8090a1; font-size: 8px; line-height: 1.45; }
.assistant-reference-picker > footer { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-top: 1px solid #e5ebf1; background: #fbfcfe; }
.assistant-reference-picker > footer span { color: #74879a; font-size: 8px; }
.assistant-reference-picker > footer strong { color: #247bc1; }
.assistant-reference-picker-actions { display: flex; gap: 6px; }
.assistant-reference-picker-actions button { min-height: 30px; padding: 0 10px; font-size: 9px; }
.assistant-composer-tools #assistantVoiceButton.recording { color: #d94d57; background: #fff0f1; animation: assistant-recording-pulse 1.1s ease-in-out infinite; }
@keyframes assistant-recording-pulse { 50% { box-shadow: 0 0 0 5px rgba(217, 77, 87, .1); } }
.assistant-workflow-actions { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; }
.assistant-workflow-actions[hidden] { display: none; }
.assistant-workflow-actions.approval-scene-actions { display: none !important; }
.assistant-workflow-actions .text-button { min-height: 28px; padding: 0 5px; color: #64748b; font-size: 9px; }
.assistant-workflow-actions .primary-button { min-height: 30px; margin-left: auto; padding: 0 11px; border-radius: 7px; font-size: 9px; }
.global-assistant-composer .assistant-question-box { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 32px; align-items: stretch; gap: 3px; min-height: 116px; padding: 9px 10px 8px; border: 1px solid #d8e3ee; border-radius: 16px; background: #fff; box-shadow: 0 2px 12px rgba(35, 52, 71, .045); }
.global-assistant-composer .assistant-question-box:focus-within { border-color: #9bc8f5; box-shadow: 0 0 0 3px rgba(47, 141, 243, .09), 0 3px 14px rgba(35, 52, 71, .05); }
.global-assistant-composer .assistant-question-box textarea { width: 100%; height: 68px; min-height: 68px; max-height: 68px; padding: 7px 5px; border: 0; outline: 0; resize: none; color: #353941; background: transparent; font-size: 11px; line-height: 1.6; }
.assistant-composer-tools { width: 100%; display: flex; grid-column: 1; grid-row: 2; align-items: center; gap: 4px; margin-top: 0; }
.assistant-composer-tools .icon-button { width: 30px; height: 30px; border: 0; border-radius: 50%; color: #697386; background: transparent; box-shadow: none; }
.assistant-composer-tools .icon-button:hover { color: #3f5368; border: 0; background: #eef2f6; }
.assistant-composer-tools .icon-button.interaction-confirmed { color: #1478e8; background: #edf6ff; }
.assistant-composer-tools #assistantContextButton em { display: none; font-size: 9px; font-style: normal; font-weight: 600; white-space: nowrap; }
.assistant-composer-tools #assistantContextButton.reimbursement-link-button { width: auto; display: inline-flex; align-items: center; gap: 4px; padding: 0 8px; border-radius: 8px; color: #3979ad; background: #f3f8fd; }
.assistant-composer-tools #assistantContextButton.reimbursement-link-button em { display: inline; }
.assistant-composer-tools #assistantScenarioSend { margin-left: auto; border: 1px solid #d8e6f2; border-radius: 10px; color: #2f8df3; background: #fbfdff; }
.assistant-composer-tools #assistantScenarioSend:hover { border-color: #b9d5ee; color: #1478e8; background: #f1f7fd; }
body.assistant-resizing { cursor: col-resize; user-select: none; }
body.assistant-resizing iframe { pointer-events: none; }
body.assistant-dragging { cursor: grabbing; user-select: none; }
body.assistant-dragging iframe { pointer-events: none; }

.shell-panel-backdrop { position: fixed; inset: 0; z-index: 60; background: rgba(20, 35, 54, .28); backdrop-filter: blur(1px); }
.shell-panel { position: fixed; top: 0; right: 0; z-index: 65; width: min(480px, calc(100vw - 40px)); height: 100vh; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; border-left: 1px solid var(--line); background: #fff; box-shadow: -18px 0 44px rgba(23, 43, 69, .18); transform: translateX(0); }
.shell-panel-header { min-height: 102px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 18px 15px; border-bottom: 1px solid var(--line); }
.shell-panel-header .eyebrow { color: var(--blue-strong); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.shell-panel-header h2 { margin: 4px 0 0; font-size: 19px; }
.shell-panel-header p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.shell-panel-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 10px 12px; border-bottom: 1px solid var(--line); background: #fafbfd; }
.summary-chip { min-height: 50px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 7px; color: #718197; background: transparent; }
.summary-chip strong { color: var(--text); font-size: 16px; }
.summary-chip span { margin-top: 2px; font-size: 9px; }
.summary-chip:hover { background: #f2f6fa; }
.summary-chip.active { color: var(--blue-strong); border-color: #c5ddf4; background: var(--blue-soft); }
.summary-chip.active strong { color: var(--blue-strong); }
.shell-panel-body { min-height: 0; overflow-y: auto; padding: 10px 12px; }
.shell-list-item { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 82px; padding: 10px 8px; border-bottom: 1px solid #edf1f5; }
.shell-list-item:last-child { border-bottom: 0; }
.shell-list-item.has-task-action-popover { position: relative; }
.task-action-popover { position: absolute; top: 72px; right: 6px; z-index: 8; width: min(372px, calc(100vw - 86px)); overflow: hidden; border: 1px solid #d6e2ed; border-radius: 10px; background: #fff; box-shadow: 0 12px 30px rgba(31, 55, 82, .18); }
.task-action-popover[hidden] { display: none; }
.task-action-popover > header { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px 8px 13px; border-bottom: 1px solid #e6edf4; background: #f8fbfe; }
.task-action-popover > header strong, .task-action-popover > header small { display: block; }
.task-action-popover > header strong { color: #344b62; font-size: 11px; }
.task-action-popover > header small { margin-top: 3px; color: #8090a0; font-size: 9px; }
.task-action-popover > header .icon-button { width: 30px; height: 30px; border: 0; background: transparent; }
.task-action-popover > div { max-height: 310px; overflow-y: auto; padding: 7px; }
.task-action-popover > div > button { width: 100%; min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 9px; border: 1px solid transparent; border-radius: 8px; color: #425d75; background: #fff; text-align: left; }
.task-action-popover > div > button:hover { border-color: #bdd9f0; background: #f2f8fe; }
.task-action-popover > div > button > span { min-width: 0; }
.task-action-popover > div > button strong, .task-action-popover > div > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-action-popover > div > button strong { font-size: 10px; }
.task-action-popover > div > button small { margin-top: 4px; color: #7a8c9e; font-size: 9px; }
.task-action-popover > div > button .tag { flex: 0 0 auto; }
.list-tone { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; }
.list-tone.red { color: var(--red); background: var(--red-soft); }
.list-tone.orange { color: var(--orange); background: var(--orange-soft); }
.list-tone.blue { color: var(--blue-strong); background: var(--blue-soft); }
.list-tone.purple { color: var(--purple); background: var(--purple-soft); }
.list-tone.green { color: var(--green); background: var(--green-soft); }
.list-tone svg { width: 16px; height: 16px; }
.shell-list-copy { min-width: 0; }
.shell-list-copy > div, .notification-item .shell-list-copy > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.shell-list-copy > div small { color: var(--subtle); font-size: 9px; }
.shell-list-copy > strong { display: block; margin-top: 6px; font-size: 11px; }
.shell-list-copy p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.task-route { min-width: 0; display: flex; align-items: center; gap: 5px; margin-top: 5px; overflow: hidden; color: #54718c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.task-route svg { width: 12px; height: 12px; flex: 0 0 auto; color: var(--blue-strong); }
.shell-panel-footer { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; border-top: 1px solid var(--line); background: #fafbfd; }
.shell-panel-footer > span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; }
.notification-toolbar { height: 43px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.notification-item { position: relative; width: 100%; min-height: 78px; display: grid; grid-template-columns: 34px minmax(0, 1fr) 8px; align-items: center; gap: 10px; padding: 10px 8px; border: 0; border-bottom: 1px solid #edf1f5; color: var(--text); background: #fff; text-align: left; }
.notification-item:hover { background: #f8fbfe; }
.notification-item .shell-list-copy strong { font-size: 11px; }
.notification-item .shell-list-copy time { color: var(--subtle); font-size: 9px; }
.notification-item > i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.notification-item.read { opacity: .72; }
.notification-item.read > i { background: transparent; }
.shell-empty { display: grid; justify-items: center; padding: 50px 20px; color: var(--muted); text-align: center; }
.shell-empty > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-soft); }
.shell-empty strong { margin-top: 12px; color: var(--text); font-size: 12px; }
.shell-empty p { margin: 6px 0 0; font-size: 10px; }

.toast { position: fixed; right: 24px; bottom: 24px; z-index: 100; max-width: 380px; padding: 11px 14px; border: 1px solid #bad9f7; border-radius: 7px; color: #165b9a; background: #f1f8ff; box-shadow: 0 12px 24px rgba(22, 91, 154, .15); opacity: 0; transform: translateY(10px); pointer-events: none; transition: .2s ease; }
.toast.show { opacity: 1; transform: translateY(0); }

html:has(> body.page-body) { overflow: hidden; }
.page-body { min-width: 1180px; height: 100%; min-height: 0; margin: 0; overflow-x: auto; overflow-y: scroll; overscroll-behavior-y: contain; scrollbar-gutter: stable; color: var(--text); background: var(--canvas); }
.page { padding: 16px 18px 28px; }
.embedded-shell-page > .module-bar { display: none; }
.module-bar { position: sticky; top: 0; z-index: 8; height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 18px; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); }
.module-tabs { min-width: 0; display: flex; align-items: center; gap: 4px; overflow-x: auto; }
.module-tabs button { height: 34px; display: inline-flex; align-items: center; gap: 6px; padding: 0 12px; border: 0; border-radius: 6px; color: #64758a; background: transparent; white-space: nowrap; font-size: 12px; }
.module-tabs button:hover { background: #f1f6fb; }
.module-tabs button.active { color: var(--blue-strong); background: var(--blue-soft); font-weight: 700; }
.module-tabs svg { width: 16px; height: 16px; }

.settings-page { max-width: 1120px; margin: 0 auto; }
.settings-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.settings-panel { padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.settings-panel > header { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.settings-panel > header h2 { margin: 0; font-size: 15px; }
.settings-panel > header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.settings-icon { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.settings-icon svg { width: 19px; height: 19px; }
.settings-options { display: grid; gap: 8px; }
.settings-options.grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.option-card { min-height: 66px; display: flex; align-items: flex-start; gap: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; }
.option-card:has(input:checked) { border-color: #8fc1ef; background: #f3f9ff; }
.option-card input { margin: 2px 0 0; accent-color: var(--blue); }
.option-card span { min-width: 0; display: grid; gap: 4px; }
.option-card strong { font-size: 11px; }
.option-card small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.field-label { display: block; margin-bottom: 7px; color: #52647a; font-size: 10px; font-weight: 700; }
.native-select { width: 100%; height: 38px; padding: 0 36px 0 11px; border: 1px solid #d6e0ea; border-radius: 7px; color: var(--text); background: #fff; font-size: 11px; }
.switch-list { display: grid; gap: 2px; }
.switch-list > label { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 8px 2px; border-bottom: 1px solid #edf1f5; cursor: pointer; }
.switch-list > label:last-child { border-bottom: 0; }
.switch-list span { display: grid; gap: 4px; }
.switch-list strong { font-size: 11px; }
.switch-list small { color: var(--muted); font-size: 9px; }
.switch-list input { width: 34px; height: 19px; flex: 0 0 auto; appearance: none; border-radius: 10px; background: #cbd5df; transition: .18s ease; }
.switch-list input::before { width: 15px; height: 15px; display: block; margin: 2px; content: ""; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(38, 54, 74, .22); transition: transform .18s ease; }
.switch-list input:checked { background: var(--blue); }
.switch-list input:checked::before { transform: translateX(15px); }
.settings-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; padding: 2px 0 20px; }
.settings-actions .primary-button { display: inline-flex; align-items: center; gap: 6px; }

.task-list-page { display: grid; gap: 12px; }
.task-list-heading { padding: 2px 2px 0; }
.task-list-heading h1 { margin: 5px 0 0; font-size: 22px; }
.task-list-heading p { margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.task-list-panel { overflow: visible; }
.task-filter-bar { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.filter-search { min-width: 260px; max-width: 420px; height: 36px; display: flex; flex: 1; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid #d3dde7; border-radius: 6px; background: #fff; }
.filter-search:focus-within { border-color: #89bcea; box-shadow: 0 0 0 3px rgba(47, 141, 243, .08); }
.filter-search svg { width: 16px; height: 16px; color: #8392a3; }
.filter-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 11px; }
.compact-select { width: 142px; flex: 0 0 auto; }
.compact-select .select-trigger { min-height: 36px; }
.task-filter-bar .primary-button { margin-left: auto; }
.task-data-table th:first-child, .task-data-table td:first-child { width: 42px; text-align: center; }
.task-data-table th:nth-child(4), .task-data-table td:nth-child(4), .task-data-table th:nth-child(7), .task-data-table td:nth-child(7) { width: 84px; }
.task-data-table th:last-child, .task-data-table td:last-child { width: 72px; text-align: right; }
.task-data-table tbody tr { cursor: pointer; }
.task-data-table tbody tr.active td { background: #f0f7ff; }
.task-data-table tbody tr.active td:first-child { box-shadow: inset 3px 0 0 var(--blue); }
#financeQueueBody tr.selected td { background: #f0f7ff; }
#financeQueueBody tr.selected td:first-child { box-shadow: inset 3px 0 0 var(--blue); }
.task-list-footer { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 14px; border-top: 1px solid var(--line); color: var(--muted); background: #fbfcfe; font-size: 10px; }
.task-list-footer > div { display: flex; gap: 7px; }
.compact-empty { min-height: 150px; padding: 26px; }
.task-detail-modal { width: min(720px, calc(100vw - 40px)); }
.detail-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.detail-summary-grid > div { min-height: 70px; display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #f8fafc; }
.detail-summary-grid span { color: var(--muted); font-size: 9px; }
.detail-summary-grid strong { font-size: 12px; }
.module-mode { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.module-mode .status-dot { width: 7px; height: 7px; }

.focus-strip { display: grid; grid-template-columns: minmax(300px, 1.25fr) minmax(540px, 2fr); gap: 12px; margin-bottom: 12px; }
.focus-actions, .panel, .metric-card, .agent-card { border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.focus-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; padding: 9px; }
.focus-action { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 10px 11px; border: 1px solid transparent; border-radius: 7px; color: var(--text); background: #f8fafc; text-align: left; }
.focus-action:hover { border-color: #c9def2; background: #f4f9fe; }
.focus-action span { color: var(--muted); font-size: 10px; }
.focus-action strong { margin-top: 5px; font-size: 19px; }
.focus-action em { margin-top: 5px; color: var(--blue-strong); font-size: 11px; font-style: normal; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.metric-card { min-height: 92px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 11px; padding: 13px; text-align: left; }
button.metric-card:hover { border-color: #b9d6f1; background: #fbfdff; }
.metric-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 8px; }
.metric-icon.blue { color: var(--blue-strong); background: var(--blue-soft); }
.metric-icon.red { color: var(--red); background: var(--red-soft); }
.metric-icon.green { color: var(--green); background: var(--green-soft); }
.metric-icon.orange { color: var(--orange); background: var(--orange-soft); }
.metric-copy { min-width: 0; }
.metric-copy span { color: var(--muted); font-size: 11px; }
.metric-copy strong { display: block; margin-top: 3px; font-size: 22px; }
.metric-copy small { display: block; margin-top: 3px; color: var(--subtle); font-size: 10px; }

.dashboard-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 12px; align-items: start; }
.main-stack, .side-stack { display: grid; gap: 12px; }
.panel { min-width: 0; overflow: hidden; }
.panel-header { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.panel-title { min-width: 0; }
.panel-title h2, .panel-title h3 { margin: 0; font-size: 14px; }
.panel-title p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.panel-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.text-button, .secondary-button, .primary-button, .danger-button { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 12px; border-radius: 6px; white-space: nowrap; font-size: 11px; font-weight: 650; }
.text-button { border: 0; color: var(--blue-strong); background: transparent; }
.text-button:hover { background: var(--blue-soft); }
.secondary-button { border: 1px solid #cfd9e4; color: #53667c; background: #fff; }
.secondary-button:hover { color: var(--blue-strong); border-color: #a9ccee; background: #f7fbff; }
.primary-button { border: 1px solid var(--blue); color: #fff; background: var(--blue); }
.primary-button:hover { border-color: var(--blue-strong); background: var(--blue-strong); }
.danger-button { border: 1px solid #efb8bd; color: var(--red); background: #fff5f6; }
.small-button { min-height: 28px; padding: 0 9px; font-size: 10px; }
.panel-body { padding: 13px 14px; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 11px; }
.data-table th { height: 36px; padding: 0 10px; color: #718197; background: #f8fafc; text-align: left; font-weight: 650; white-space: nowrap; }
.data-table td { height: 48px; padding: 7px 10px; border-top: 1px solid #edf1f5; color: #42546a; vertical-align: middle; }
.data-table tbody tr:hover td { background: #fbfdff; }
.cell-main { display: block; color: var(--text); font-weight: 650; }
.cell-sub { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.tag { min-height: 22px; display: inline-flex; align-items: center; padding: 0 8px; border-radius: 12px; white-space: nowrap; font-size: 10px; font-weight: 650; }
.tag.blue { color: #176dbb; background: #e8f3ff; }
.tag.green { color: #14764b; background: #e6f7ef; }
.tag.orange { color: #a35e17; background: #fff1dc; }
.tag.red { color: #ac343e; background: #fdebed; }
.tag.gray { color: #64748b; background: #eef2f6; }
.tag.purple { color: #6648bd; background: #eeeaff; }

.quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.quick-grid.three-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quick-card { min-height: 76px; display: flex; align-items: flex-start; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 7px; color: var(--text); background: #fff; text-align: left; }
.quick-card:hover { border-color: #b9d7f1; background: #fafdff; }
.quick-card .metric-icon { width: 34px; height: 34px; }
.quick-card strong { display: block; font-size: 12px; }
.quick-card small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.agent-card { display: none !important; }
.side-stack:has(> .agent-card:only-child) { display: none; }
.dashboard-layout:has(> .side-stack > .agent-card:only-child) { grid-template-columns: minmax(0, 1fr); }
.agent-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.agent-id { display: flex; align-items: center; gap: 9px; }
.agent-logo { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: var(--blue); }
.agent-id strong { display: block; font-size: 12px; }
.agent-id small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.agent-summary { margin: 11px 0 0; padding: 10px; border-radius: 7px; color: #466079; background: #f4f8fc; font-size: 11px; line-height: 1.6; }
.agent-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.todo-list { display: grid; gap: 7px; }
.todo-item { width: 100%; display: flex; align-items: flex-start; gap: 9px; padding: 9px 10px; border: 0; border-radius: 7px; color: inherit; background: #f8fafc; text-align: left; }
.todo-button:hover { background: #eef5fb; box-shadow: inset 0 0 0 1px #cfe1f1; }
.todo-item b { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 6px; color: var(--blue-strong); background: #e7f2ff; font-size: 10px; }
.todo-item strong { display: block; font-size: 11px; }
.todo-item span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.workbench-view[hidden] { display: none !important; }
.bar-list { display: grid; gap: 12px; }
.bar-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) 45px; align-items: center; gap: 8px; font-size: 10px; }
.bar-track { height: 8px; overflow: hidden; border-radius: 5px; background: #edf1f5; }
.bar-fill { height: 100%; border-radius: inherit; background: var(--blue); }
.bar-fill.green { background: var(--green); }
.bar-fill.orange { background: var(--orange); }

.dashboard-observation-only > .focus-strip { display: none; }
.dashboard-observation-only > .dashboard-layout { grid-template-columns: minmax(0, 1fr); }
.dashboard-observation-only > .dashboard-layout > .side-stack { display: none; }
.dashboard-observation-only .panel-tools { display: flex; }
.dashboard-observation-only .panel-tools > :not([data-generate-brief]),
.dashboard-observation-only .panel-header > .text-button { display: none; }
.dashboard-observation-only .data-table th:last-child, .dashboard-observation-only .data-table td:last-child { display: none; }
.overview-visual-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 10px; margin: 0 0 12px; }
.overview-visual-card { min-height: 220px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.overview-visual-card > header { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #edf1f5; }
.overview-visual-card h2 { margin: 0; font-size: 13px; }
.overview-visual-card p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.overview-visual-card header > span { color: var(--subtle); font-size: 10px; white-space: nowrap; }
.overview-bar-chart { height: 160px; display: flex; align-items: flex-end; justify-content: space-between; gap: 7px; padding: 14px 16px 8px; border-bottom: 1px solid #eef2f6; }
.overview-bar-item { height: 100%; flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 5px; }
.overview-bar-item b { color: #51667d; font-size: 9px; font-weight: 650; }
.overview-bar-item i { width: 100%; max-width: 26px; min-height: 10px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, #75b9f7, #2f8df3); }
.overview-bar-item:nth-child(2n) i { background: linear-gradient(180deg, #82d2c4, #29a98d); }
.overview-bar-item span { color: var(--muted); font-size: 9px; }
.overview-progress-list { display: grid; gap: 16px; padding: 22px 15px; }
.overview-progress-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) 34px; align-items: center; gap: 8px; color: #52667d; font-size: 10px; }
.overview-progress-row > div { height: 8px; overflow: hidden; border-radius: 5px; background: #edf2f6; }
.overview-progress-row i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.overview-progress-row i.green { background: var(--green); }
.overview-progress-row i.orange { background: var(--orange); }
.overview-progress-row b { color: var(--text); font-size: 10px; text-align: right; }
.overview-donut-layout { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 20px 14px; }
.overview-donut { width: 116px; height: 116px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: radial-gradient(circle, #fff 56%, transparent 57%), conic-gradient(#d94d57 0 25%, #e89528 25% 67%, #2f8df3 67% 100%); }
.overview-donut strong { font-size: 21px; }
.overview-donut span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.overview-legend { display: grid; gap: 10px; color: #5b6d80; font-size: 10px; }
.overview-legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.overview-legend i { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); }
.overview-legend i.red { background: var(--red); }
.overview-legend i.orange { background: var(--orange); }
@media (max-width: 1180px) { .overview-visual-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .overview-trend-card { grid-column: 1 / -1; } }
@media (max-width: 720px) { .overview-visual-grid { grid-template-columns: 1fr; } .overview-trend-card { grid-column: auto; } }

.modal-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; background: rgba(23, 38, 57, .46); }
.modal { width: min(620px, calc(100vw - 40px)); max-height: calc(100vh - 40px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 24px 60px rgba(21, 39, 63, .25); }
.modal.wide { width: min(820px, calc(100vw - 40px)); }
.modal.compact { width: min(480px, calc(100vw - 40px)); }
.modal-header { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 18px; border-bottom: 1px solid var(--line); }
.modal-header h3 { margin: 0; font-size: 15px; }
.modal-body { min-height: 0; overflow-y: auto; padding: 18px; }
.modal-footer { min-height: 64px; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; padding: 12px 18px; border-top: 1px solid var(--line); background: #fafbfd; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; row-gap: 16px; }
.form-grid.form-section, .form-field.form-section, .table-wrap.section-space, .info-grid.section-space, .confirm-summary.section-space { margin-top: 16px; }
.form-field { min-width: 0; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { display: block; margin-bottom: 7px; color: #596c82; font-size: 11px; font-weight: 650; }
.form-field input, .form-field textarea, .form-field select, .select-trigger { width: 100%; min-height: 38px; padding: 9px 11px; border: 1px solid #d5dee8; border-radius: 6px; outline: 0; color: var(--text); background: #fff; font-size: 12px; line-height: 1.45; }
.form-field select { padding-right: 34px; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #76889a 50%), linear-gradient(135deg, #76889a 50%, transparent 50%); background-position: calc(100% - 17px) 16px, calc(100% - 12px) 16px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus, .select-trigger:focus-visible { border-color: #83baf0; box-shadow: 0 0 0 3px rgba(47, 141, 243, .1); }
.form-field .field-invalid { border-color: #e89090; background: #fffafa; box-shadow: 0 0 0 3px rgba(218, 77, 77, .08); }
.form-field input[readonly], .form-field textarea[readonly], .form-field input:disabled, .form-field textarea:disabled { color: #65778a; background: #f6f8fa; }
.form-field textarea { min-height: 88px; resize: vertical; }
.select-control { position: relative; }
.select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; cursor: pointer; }
.select-trigger > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.select-options { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 18; max-height: 240px; overflow-y: auto; padding: 6px; border: 1px solid var(--line); border-radius: 7px; background: #fff; box-shadow: 0 12px 28px rgba(22, 42, 67, .14); }
.select-options button { width: 100%; min-height: 36px; padding: 7px 10px; border: 0; border-radius: 5px; color: var(--text); background: transparent; line-height: 1.4; text-align: left; }
.select-options button:hover, .select-options button.selected { color: var(--blue-strong); background: var(--blue-soft); }
.confirm-summary { padding: 11px 12px; border: 1px solid #d9e7f4; border-radius: 7px; color: #466079; background: #f5faff; font-size: 11px; line-height: 1.6; }
.confirm-summary.checking { position: relative; padding-left: 36px; color: #52708b; background: #f7fbff; }
.confirm-summary.checking::before { width: 14px; height: 14px; position: absolute; left: 13px; top: 50%; content: ""; border: 2px solid #cfe3f6; border-top-color: #2f8df3; border-radius: 50%; transform: translateY(-50%); animation: finance-query-spin .8s linear infinite; }
.confirm-summary.danger { border-color: #f4c9cd; color: #a5454e; background: #fff6f7; }
.confirm-summary.success { border-color: #c9eadc; color: #287d58; background: #f3fbf7; }
.payment-selection-summary { color: #708395; font-size: 10px; white-space: nowrap; }
.payment-selection-table .selection-cell { width: 42px; padding-left: 14px; padding-right: 8px; text-align: center; }
.payment-selection-table input[type="checkbox"] { width: 15px; height: 15px; margin: 0; accent-color: #2f8df3; cursor: pointer; }
.payment-selection-table tr.selected { background: #f3f8fe; }
.payment-selection-table tr.processing { background: #f5faff; }
.payment-selection-table tr.processing .selection-cell input { visibility: hidden; }
.choice-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.choice-group.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.choice-group button { min-height: 34px; padding: 0 8px; border: 1px solid #d5dee8; border-radius: 6px; color: #596c82; background: #fff; font-size: 11px; }
.choice-group button:hover { border-color: #9fc7ed; background: #f7fbff; }
.choice-group button.selected { color: var(--blue-strong); border-color: #84b8e9; background: var(--blue-soft); font-weight: 700; }


.work-order-page-body { min-width: 1180px; }
.work-order-management-view { height: 100%; overflow-y: auto; padding: 18px; background: var(--canvas); }
.work-order-management-view[hidden], .journey-shell[hidden] { display: none; }
.work-order-page-header { min-height: 58px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.work-order-page-header h1 { margin: 0; font-size: 20px; line-height: 1.35; }
.work-order-page-header p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.work-order-page-actions { display: flex; align-items: center; gap: 7px; }
.work-order-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.work-order-kpi { min-width: 0; display: flex; align-items: center; gap: 11px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: #fff; text-align: left; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.work-order-kpi:hover, .work-order-kpi.active { border-color: #9dc7ec; box-shadow: 0 5px 14px rgba(28, 77, 119, .07); transform: translateY(-1px); }
.work-order-kpi > span:last-child { min-width: 0; }
.work-order-kpi small, .work-order-kpi strong, .work-order-kpi em { display: block; }
.work-order-kpi small { color: var(--muted); font-size: 10px; }
.work-order-kpi strong { margin-top: 3px; font-size: 21px; line-height: 1.2; }
.work-order-kpi em { margin-top: 3px; overflow: hidden; color: var(--subtle); font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.work-order-list-panel { overflow: visible; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.work-order-tabs { display: flex; align-items: center; gap: 2px; overflow-x: auto; padding: 0 14px; border-bottom: 1px solid var(--line); }
.work-order-tabs button { position: relative; min-height: 46px; display: flex; align-items: center; gap: 6px; padding: 0 13px; border: 0; color: var(--muted); background: transparent; font-size: 11px; white-space: nowrap; }
.work-order-tabs button::after { position: absolute; right: 10px; bottom: -1px; left: 10px; height: 2px; content: ""; background: transparent; }
.work-order-tabs button:hover { color: var(--blue-strong); }
.work-order-tabs button.active { color: var(--blue-strong); font-weight: 750; }
.work-order-tabs button.active::after { background: var(--blue); }
.work-order-tabs button span:not([data-icon]) { min-width: 18px; display: inline-grid; place-items: center; padding: 2px 5px; border-radius: 9px; color: #64778a; background: #eef2f6; font-size: 8px; }
.work-order-filterbar { display: flex; align-items: center; gap: 9px; padding: 12px 14px; border-bottom: 1px solid #edf1f5; }
.work-order-search { min-width: 280px; max-width: 480px; height: 36px; display: flex; flex: 1; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid #d5dee8; border-radius: 6px; background: #fff; }
.work-order-search:focus-within { border-color: #83baf0; box-shadow: 0 0 0 3px rgba(47, 141, 243, .1); }
.work-order-search svg { color: var(--subtle); }
.work-order-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 11px; }
.compact-select { width: 150px; }
.compact-select .select-trigger { min-height: 36px; padding: 7px 10px; font-size: 11px; }
.work-order-list-summary { margin-left: auto; color: var(--subtle); font-size: 10px; white-space: nowrap; }
.work-order-table-wrap { min-height: 330px; overflow: auto; }
.work-order-table { min-width: 1180px; }
.work-order-table th { white-space: nowrap; }
.work-order-table td { vertical-align: middle; }
.work-order-table tbody tr { cursor: pointer; }
.work-order-table tbody tr:hover td { background: #f7fbff; }
.work-order-table tr.newly-created td { background: #f0f8ff; animation: created-row-highlight 1.8s ease-out; }
.work-order-table .cell-main { max-width: 250px; }
.work-order-row-title { max-width: 260px; }
.work-order-row-title .cell-main, .work-order-row-title .cell-sub { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.work-order-row-actions { min-width: 196px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 7px; }
.work-order-row-actions .text-button { min-height: 24px; font-size: 9px; }
.work-order-row-actions .danger-text { color: var(--red); }
.work-order-empty { min-height: 300px; display: grid; place-content: center; justify-items: center; color: var(--subtle); text-align: center; }
.work-order-empty[hidden] { display: none; }
.work-order-empty > span { width: 34px; height: 34px; color: #9cafc1; }
.work-order-empty strong { margin-top: 9px; color: #53677b; font-size: 12px; }
.work-order-empty p { margin: 5px 0 0; font-size: 10px; }
.schedule-panel { padding: 14px; }
.schedule-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.schedule-toolbar h2 { margin: 0; font-size: 14px; }
.schedule-toolbar p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.schedule-toolbar > div:last-child { display: flex; align-items: center; gap: 7px; }
.schedule-toolbar strong { min-width: 128px; color: #465b70; font-size: 10px; text-align: center; }
.schedule-table { min-width: 1040px; }

.journey-body { min-width: 1220px; height: 100vh; overflow: hidden; background: var(--canvas); }
.journey-shell { height: 100%; display: grid; grid-template-rows: 54px minmax(0, 1fr); }
.journey-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px; border-bottom: 1px solid var(--line); background: #fff; }
.journey-toolbar-left, .journey-toolbar-right { display: flex; align-items: center; gap: 7px; }
.journey-toolbar h1 { margin: 0 6px 0 0; font-size: 15px; }
.journey-canvas { --left-track: var(--object-width); --right-track: var(--assistant-width); min-height: 0; display: grid; grid-template-columns: var(--left-track) 6px minmax(550px, 1fr) 6px var(--right-track); overflow: hidden; transition: grid-template-columns .3s cubic-bezier(.22, .8, .24, 1); }
.journey-canvas.left-collapsed { --left-track: 34px; }
.journey-canvas.right-collapsed { --right-track: 34px; }
.journey-canvas.focus-mode { --left-track: 34px; --right-track: 34px; }
.canvas-handle { position: relative; z-index: 10; cursor: col-resize; background: #eef2f6; }
.canvas-handle:hover { background: #a9ccee; }
.object-pane, .center-pane, .assistant-pane { position: relative; min-width: 0; min-height: 0; overflow: hidden; background: #fff; }
.object-pane { display: grid; grid-template-rows: auto auto minmax(0, 1fr); border-right: 1px solid var(--line); }
.assistant-pane { display: grid; grid-template-rows: 67px max-content minmax(0, 1fr) max-content; border-left: 1px solid var(--line); }
.pane-header { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 12px; border-bottom: 1px solid var(--line); }
.pane-header strong { font-size: 13px; }
.pane-tabs { display: grid; grid-template-columns: repeat(3, 1fr); padding: 7px; border-bottom: 1px solid var(--line); }
.pane-tabs button { height: 29px; border: 0; border-radius: 5px; color: var(--muted); background: transparent; font-size: 10px; }
.pane-tabs button.active { color: var(--blue-strong); background: var(--blue-soft); font-weight: 700; }
.object-list { overflow-y: auto; padding: 8px; }
.object-card { width: 100%; display: block; margin-bottom: 7px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--text); background: #fff; text-align: left; }
.object-card:hover { border-color: #bcd7ef; }
.object-card.active { border-color: #9cc8ef; background: #f2f8ff; box-shadow: inset 3px 0 0 var(--blue); }
.object-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.object-card strong { font-size: 11px; }
.object-card h3 { margin: 7px 0 5px; font-size: 12px; line-height: 1.45; }
.object-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.object-card-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; color: var(--subtle); font-size: 9px; }
.object-pane > :not(.collapsed-rail), .assistant-pane > :not(.collapsed-rail) { opacity: 1; transform: translateX(0); transition: opacity .16s ease, transform .24s ease, visibility .24s ease; }
.collapsed-rail { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; display: grid; place-items: center; padding: 0; border: 0; color: var(--blue-strong); background: #f4f8fc; writing-mode: vertical-rl; font-size: 11px; font-weight: 700; letter-spacing: .15em; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease .08s, background .18s ease, visibility .18s ease; }
.collapsed-rail:hover { background: #eaf4ff; }
.left-collapsed .object-pane > :not(.collapsed-rail), .focus-mode .object-pane > :not(.collapsed-rail) { opacity: 0; visibility: hidden; transform: translateX(-10px); pointer-events: none; }
.right-collapsed .assistant-pane > :not(.collapsed-rail), .focus-mode .assistant-pane > :not(.collapsed-rail) { opacity: 0; visibility: hidden; transform: translateX(10px); pointer-events: none; }
.left-collapsed .object-pane .collapsed-rail, .right-collapsed .assistant-pane .collapsed-rail, .focus-mode .object-pane .collapsed-rail, .focus-mode .assistant-pane .collapsed-rail { opacity: 1; visibility: visible; pointer-events: auto; }
.center-pane { overflow-y: auto; background: var(--canvas); }
.center-content { padding: 12px 14px 28px; }
.object-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 10px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.object-detail-header h2 { margin: 5px 0 6px; font-size: 19px; }
.object-detail-header p { margin: 0; color: var(--muted); font-size: 11px; }
.object-number { color: var(--blue-strong); font-size: 10px; font-weight: 750; }
.detail-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.journey-stepper { display: grid; grid-template-columns: repeat(9, minmax(72px, 1fr)); gap: 0; margin-bottom: 10px; padding: 13px 8px; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.journey-step { position: relative; min-width: 72px; display: grid; justify-items: center; gap: 6px; color: var(--subtle); font-size: 9px; white-space: nowrap; }
.journey-step::after { position: absolute; top: 12px; left: calc(50% + 13px); width: calc(100% - 26px); height: 2px; content: ""; background: #e5eaf0; }
.journey-step:last-child::after { display: none; }
.step-dot { position: relative; z-index: 2; width: 26px; height: 26px; display: grid; place-items: center; border: 2px solid #d9e1ea; border-radius: 50%; color: #8b99aa; background: #fff; font-size: 9px; font-weight: 800; }
.journey-step.done { color: #166f48; }
.journey-step.done .step-dot { color: #fff; border-color: var(--green); background: var(--green); }
.journey-step.done::after { background: #80cfad; }
.journey-step.current { color: var(--blue-strong); font-weight: 750; }
.journey-step.current .step-dot { color: #fff; border-color: var(--blue); background: var(--blue); box-shadow: 0 0 0 4px rgba(47, 141, 243, .12); }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 10px; }
.detail-section { margin-bottom: 10px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.detail-section-header { min-height: 43px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 13px; border-bottom: 1px solid var(--line); }
.detail-section-header h3 { margin: 0; font-size: 12px; }
.detail-section-body { padding: 12px 13px; }
.info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 16px; }
.info-item span { display: block; color: var(--muted); font-size: 9px; }
.info-item strong { display: block; margin-top: 4px; font-size: 11px; font-weight: 650; }
.description-box { margin-top: 12px; padding: 10px; border-radius: 7px; color: #4f6175; background: #f7f9fc; font-size: 11px; line-height: 1.65; }
.evidence-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.evidence-card { min-width: 0; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: #fbfcfe; }
.evidence-card span { color: var(--blue-strong); }
.evidence-card strong { display: block; margin-top: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.evidence-card small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.sla-box { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 10px; border-radius: 7px; background: #fff8eb; }
.sla-box strong { color: #a05e16; font-size: 11px; }
.sla-box p { margin: 5px 0 0; color: #8d6e43; font-size: 10px; line-height: 1.5; }
.sla-time { color: var(--red); font-size: 18px; font-weight: 800; }
.timeline { display: grid; gap: 0; }
.timeline-item { position: relative; display: grid; grid-template-columns: 74px 14px minmax(0, 1fr); gap: 8px; min-height: 54px; }
.timeline-time { color: var(--muted); font-size: 9px; line-height: 1.45; text-align: right; }
.timeline-axis { position: relative; display: flex; justify-content: center; }
.timeline-axis::before { position: absolute; top: 13px; bottom: -6px; width: 1px; content: ""; background: #dce4ec; }
.timeline-item:last-child .timeline-axis::before { display: none; }
.timeline-axis i { position: relative; z-index: 2; width: 8px; height: 8px; margin-top: 4px; border: 2px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px #a6caec; }
.timeline-content { padding-bottom: 12px; }
.timeline-content strong { display: block; font-size: 10px; }
.timeline-content p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.timeline-content small { display: block; margin-top: 4px; color: var(--subtle); font-size: 9px; }

.assistant-pane-header { min-width: 0; padding: 0 13px 0 16px; border-bottom: 1px solid #e3eaf2; background: rgba(255, 255, 255, .98); }
.assistant-pane-header .global-assistant-actions { margin-left: auto; }
.assistant-status { margin: 0; padding: 8px 14px 9px; border: 0; border-bottom: 1px solid #e4ebf3; border-radius: 0; color: #667085; background: #f8fbfe; font-size: 9px; line-height: 1.45; }
.assistant-chat { min-height: 0; overflow-y: auto; padding: 16px 16px 24px; background: linear-gradient(180deg, #f8fbfe, #f6f8fb); }
.message { max-width: 92%; margin-bottom: 9px; padding: 9px 10px; border-radius: 8px; font-size: 10px; line-height: 1.6; }
.assistant-pane .message.assistant { width: 100%; max-width: 100%; padding: 13px 15px; border: 1px solid #e5ebf2; border-radius: 15px; color: #475467; background: #fff; box-shadow: 0 1px 3px rgba(31, 45, 61, .025); }
.assistant-pane .message.user { max-width: 88%; margin-left: auto; border: 1px solid #dce9f7; border-radius: 15px; color: #36506c; background: #edf6ff; }
.assistant-streaming-message p { min-height: 18px; }
.assistant-stream-segment { display: block; opacity: 0; transform: translateY(3px); animation: assistant-stream-segment-in .24s ease forwards; }
.assistant-stream-segment + .assistant-stream-segment { margin-top: 5px; }
@keyframes assistant-stream-segment-in { to { opacity: 1; transform: translateY(0); } }
.suggestion-card { margin-bottom: 9px; padding: 12px 14px; border: 1px solid #dce7f1; border-radius: 15px; background: #fff; }
.suggestion-card h4 { margin: 0 0 6px; color: #245f92; font-size: 10px; }
.suggestion-card p { margin: 0; color: #54718c; font-size: 10px; line-height: 1.55; }
.suggestion-card button { margin-top: 8px; }
.assistant-composer { padding: 12px 14px 14px; border-top: 1px solid #e3eaf2; background: #fff; }
.assistant-common-work { display: grid; gap: 8px; margin-bottom: 9px; }
.assistant-common-work > span { color: #85888e; font-size: 10px; }
.assistant-common-work .assistant-scenario-tabs.compact { flex-wrap: wrap; gap: 6px; padding: 0; overflow: visible; }
.assistant-common-work .assistant-scenario-tabs button { min-height: 30px; padding: 4px 10px; border: 1px solid #dfe8f1; border-radius: 999px; color: #556273; background: #fbfdff; font-size: 10px; }
.assistant-common-work .assistant-scenario-tabs button.selected { border-color: #a9cef1; color: #1478e8; background: #edf6ff; }
.common-prompts { display: flex; gap: 5px; margin-bottom: 8px; overflow-x: auto; }
.common-prompts button { min-height: 28px; padding: 0 9px; border: 1px solid #e1e7ee; border-radius: 999px; color: #64748b; background: #fff; white-space: nowrap; font-size: 9px; }
.common-prompts button:hover { border-color: #b9d7f3; color: #1478e8; background: #eef7ff; }
.composer-shell { display: grid; grid-template-columns: 1fr 34px; align-items: end; gap: 6px; padding: 6px; border: 1px solid #d5dee8; border-radius: 8px; }
.composer-shell textarea { min-height: 54px; max-height: 130px; padding: 4px; border: 0; outline: 0; resize: vertical; color: var(--text); background: transparent; font-size: 10px; }
.assistant-pane .finance-composer-shell { min-height: 112px; display: grid; grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) 32px; gap: 3px; padding: 9px 10px 8px; border: 1px solid #d8e3ee; border-radius: 16px; background: #fff; box-shadow: 0 2px 12px rgba(35, 52, 71, .045); }
.assistant-pane .finance-composer-shell:focus-within { border-color: #9bc8f5; box-shadow: 0 0 0 3px rgba(47, 141, 243, .09), 0 3px 14px rgba(35, 52, 71, .05); }
.assistant-pane .finance-composer-shell textarea { width: 100%; height: 64px; min-height: 64px; max-height: 64px; padding: 7px 5px; resize: none; color: #353941; font-size: 11px; line-height: 1.6; }
.assistant-pane .finance-composer-shell .assistant-composer-tools { width: 100%; align-self: end; }
.assistant-pane .finance-composer-shell #sendAssistantMessage { margin-left: auto; border: 1px solid #d8e6f2; border-radius: 10px; color: #2f8df3; background: #fbfdff; }
.assistant-pane .finance-composer-shell #sendAssistantMessage:hover { border-color: #b9d5ee; color: #1478e8; background: #f1f7fd; }

.interaction-confirmed { box-shadow: inset 0 0 0 1px rgba(47, 141, 243, .24); }
.modal-header-actions { display: flex; align-items: center; gap: 4px; }
.modal-subtitle { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.assistant-scenario-body { display: grid; grid-template-rows: auto auto minmax(260px, 1fr) auto; gap: 12px; }
.assistant-scenario-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.assistant-scenario-tabs button { min-height: 30px; padding: 0 10px; border: 1px solid #d6e2ed; border-radius: 6px; color: #526a80; background: #fff; font-size: 10px; }
.assistant-scenario-tabs button:hover { border-color: #9fc7ed; background: #f7fbff; }
.assistant-scenario-tabs button.selected { color: var(--blue-strong); border-color: #8abce9; background: var(--blue-soft); font-weight: 750; }
.assistant-scenario-tabs.compact { flex-wrap: nowrap; padding: 7px 9px 0; overflow-x: auto; border-bottom: 0; }
.assistant-scenario-tabs.compact button { flex: 0 0 auto; min-height: 28px; padding: 0 9px; font-size: 9px; }
.assistant-stage-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #f8fafc; }
.assistant-stage-track span { position: relative; min-height: 34px; display: grid; place-items: center; padding: 0 7px; color: var(--subtle); font-size: 9px; }
.assistant-stage-track span + span { border-left: 1px solid var(--line); }
.assistant-stage-track span.done { color: #1c754e; background: #effaf5; }
.assistant-stage-track span.current { color: var(--blue-strong); background: var(--blue-soft); font-weight: 750; }
.assistant-scenario-chat { min-height: 250px; max-height: 360px; overflow-y: auto; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfe; }
.assistant-scenario-chat .message { max-width: 82%; font-size: 11px; }
.assistant-conversation-meta { position: sticky; top: -12px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: -12px -12px 12px; padding: 8px 12px; border-bottom: 1px solid #e2e9f0; color: #607387; background: rgba(251, 252, 254, .96); font-size: 9px; backdrop-filter: blur(6px); }
.assistant-conversation-meta .assistant-conversation-label { color: #2f5f88; font-weight: 750; }
.assistant-message-list { display: flow-root; }
.assistant-message-list .message { position: relative; padding-top: 22px; }
.assistant-message-list .message-speaker { position: absolute; top: 6px; left: 10px; color: #668096; font-size: 8px; font-weight: 750; }
.assistant-message-list .message.user .message-speaker { right: 10px; left: auto; color: rgba(255, 255, 255, .8); }
.assistant-message-list .message p { margin: 0; white-space: pre-wrap; }
.assistant-message-list .message-enter { animation: assistant-message-in .24s ease-out; }
.assistant-typing { width: fit-content; display: flex; align-items: center; gap: 4px; margin: 2px 0 10px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; color: #6f8192; background: #f7f9fc; }
.assistant-typing[hidden] { display: none; }
.assistant-typing span { width: 5px; height: 5px; border-radius: 50%; background: #78a8d2; animation: assistant-typing 1s infinite ease-in-out; }
.assistant-typing span:nth-child(2) { animation-delay: .14s; }
.assistant-typing span:nth-child(3) { animation-delay: .28s; }
.assistant-typing em { margin-left: 4px; font-size: 9px; font-style: normal; }
.assistant-quick-replies { display: flex; align-items: flex-start; gap: 7px; margin: 2px 0 11px; }
.assistant-quick-replies[hidden] { display: none; }
.assistant-quick-replies > span { flex: 0 0 auto; padding-top: 7px; color: #7a8a99; font-size: 8px; font-weight: 700; }
.assistant-quick-replies button { min-height: 30px; padding: 6px 10px; border: 1px solid #a9ceed; border-radius: 7px; color: #28689f; background: #f2f8fe; font-size: 9px; line-height: 1.45; text-align: left; }
.assistant-quick-replies button:hover { border-color: #6eaee2; background: #e9f4fd; }
.assistant-evidence { margin: 8px 0 10px; padding: 10px 12px; border: 1px solid #d9e7f4; border-radius: 7px; background: #f5faff; }
.assistant-evidence strong { color: #2b638f; font-size: 10px; }
.assistant-evidence ul { margin: 7px 0 0; padding-left: 18px; color: #557087; font-size: 10px; line-height: 1.7; }
.assistant-result { display: flex; align-items: flex-start; gap: 9px; margin-top: 10px; padding: 11px 12px; border: 1px solid #bfe6d2; border-radius: 7px; color: #226746; background: #f0faf5; }
.assistant-result > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green); }
.assistant-result strong { display: block; font-size: 11px; }
.assistant-result p { margin: 4px 0 0; font-size: 10px; line-height: 1.55; }
.assistant-question-box { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: end; gap: 7px; padding: 7px; border: 1px solid #d5dee8; border-radius: 8px; background: #fff; }
.assistant-question-box textarea { min-height: 62px; padding: 5px; border: 0; outline: 0; resize: vertical; color: var(--text); font-size: 11px; line-height: 1.5; }
.primary-icon-button { color: #fff; background: var(--blue); }
.embedded-conversation { max-height: 230px; margin-bottom: 14px; overflow-y: auto; padding: 10px; border: 1px solid #d7e5f1; border-radius: 8px; background: #f8fbfe; }
.embedded-conversation > header { position: sticky; top: -10px; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin: -10px -10px 9px; padding: 8px 10px; border-bottom: 1px solid #dce7f0; background: rgba(248, 251, 254, .96); }
.embedded-conversation > header strong { color: #315f86; font-size: 10px; }
.embedded-conversation > header span { padding: 3px 7px; border-radius: 10px; color: #22704c; background: #e8f7ef; font-size: 8px; font-weight: 700; }
.embedded-message { width: fit-content; max-width: 78%; margin-bottom: 7px; padding: 7px 9px; border: 1px solid #dce5ed; border-radius: 7px; color: #4d6276; background: #fff; }
.embedded-message.user { margin-left: auto; border-color: #3188d9; color: #fff; background: #3188d9; }
.embedded-message b { display: block; margin-bottom: 3px; color: #6c8296; font-size: 8px; }
.embedded-message.user b { color: rgba(255, 255, 255, .78); text-align: right; }
.embedded-message p { margin: 0; font-size: 9px; line-height: 1.5; }
.work-order-create-modal { width: min(920px, calc(100vw - 40px)); }
.work-order-create-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: -2px 0 12px; border: 1px solid #dce6ef; border-radius: 7px; overflow: hidden; background: #f8fafc; }
.work-order-create-steps span { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #7a8998; font-size: 10px; }
.work-order-create-steps span + span { border-left: 1px solid #dce6ef; }
.work-order-create-steps b { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #738496; background: #e8edf2; font-size: 9px; }
.work-order-create-steps span.done { color: #267352; background: #f1faf6; }
.work-order-create-steps span.done b { color: #fff; background: #35a270; }
.work-order-create-steps span.current { color: #176fbf; background: #eef7ff; font-weight: 750; }
.work-order-create-steps span.current b { color: #fff; background: var(--blue); }
.create-order-kind { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 12px; }
.create-order-kind button { min-height: 58px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #d8e2ec; border-radius: 7px; color: #53687b; background: #fff; text-align: left; }
.create-order-kind button > span:first-child { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: #347ebd; background: #edf6ff; }
.create-order-kind button > span:last-child { min-width: 0; display: grid; gap: 3px; }
.create-order-kind strong { color: #354b60; font-size: 11px; }
.create-order-kind small { color: #81909e; font-size: 9px; }
.create-order-kind button.selected { border-color: #7db6e8; background: #f3f9ff; box-shadow: 0 0 0 2px rgba(47, 141, 243, .08); }
.create-order-kind button.selected > span:first-child { color: #fff; background: var(--blue); }
.create-missing-summary { min-height: 38px; display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid #f0d39d; border-radius: 7px; color: #8b5a18; background: #fff9ee; font-size: 10px; }
.create-missing-summary.complete { border-color: #bfe3cf; color: #267352; background: #f1faf6; }
.optional-label { margin-left: 4px; color: #94a1ad; font-size: 9px; font-weight: 500; }
.work-order-upload { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px 12px; padding: 10px; border: 1px dashed #bfd2e4; border-radius: 7px; background: #f8fbfe; transition: border-color .16s ease, background .16s ease; }
.work-order-upload:hover, .work-order-upload.dragging { border-color: #66a9e6; background: #f2f8ff; }
.work-order-upload-trigger { min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0; border: 0; color: #536b80; background: transparent; text-align: left; }
.work-order-upload-icon { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: #267fcf; background: #e8f3ff; }
.work-order-upload-icon svg { width: 17px; height: 17px; }
.work-order-upload-trigger > span:last-child { min-width: 0; display: grid; gap: 3px; }
.work-order-upload-trigger strong { color: #31516e; font-size: 11px; }
.work-order-upload-trigger small { color: #81909e; font-size: 9px; line-height: 1.45; }
.work-order-upload-status { min-width: 0; grid-column: 1 / -1; display: flex; align-items: center; gap: 7px; padding-top: 8px; border-top: 1px solid #e3ebf2; color: #718497; font-size: 9px; }
.work-order-upload-status span { min-width: 0; overflow: hidden; color: #4b657d; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.work-order-upload-status small { margin-left: auto; color: #98a5b1; white-space: nowrap; }
.work-order-upload.has-files { border-style: solid; border-color: #b8d8c7; background: #f5fbf8; }
.work-order-upload.has-files .work-order-upload-icon { color: #247754; background: #e3f5eb; }
.work-order-upload-clear { position: absolute; top: 15px; right: 12px; }
.create-missing-summary svg { width: 16px; height: 16px; flex: 0 0 auto; }
.work-order-preview { padding: 15px; border: 1px solid #cfe0ef; border-radius: 8px; background: #fbfdff; }
.work-order-preview > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #e2eaf2; }
.work-order-preview > header strong { color: #284c6c; font-size: 13px; }
.work-order-preview > header p { margin: 4px 0 0; color: #7b8996; font-size: 9px; }
.work-order-preview h4 { margin: 14px 0 12px; color: #263d53; font-size: 17px; }
.preview-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.preview-info-grid > div { min-height: 58px; padding: 10px 11px; border: 1px solid #e0e8ef; border-radius: 7px; background: #fff; }
.preview-info-grid span, .preview-description > span { display: block; color: #8694a2; font-size: 9px; }
.preview-info-grid strong { display: block; margin-top: 6px; color: #3c5368; font-size: 11px; }
.preview-description { margin-top: 10px; padding: 11px 12px; border: 1px solid #e0e8ef; border-radius: 7px; background: #fff; }
.preview-description p { margin: 6px 0 0; color: #4d6276; font-size: 10px; line-height: 1.65; }
.assistant-order-results-modal { width: min(960px, calc(100vw - 40px)); }
.assistant-order-results-modal .modal-header > div p { margin: 4px 0 0; color: #80909f; font-size: 9px; }
.assistant-query-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.assistant-query-summary button { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border: 1px solid #dce5ed; border-radius: 7px; color: #5d7083; background: #fff; text-align: left; }
.assistant-query-summary button.selected { border-color: #86bce9; color: #176fbf; background: #f1f8ff; }
.assistant-query-summary span { font-size: 10px; }
.assistant-query-summary strong { font-size: 20px; }
.assistant-query-note { display: flex; align-items: center; gap: 7px; margin: 11px 0; padding: 9px 11px; border: 1px solid #d8e7f4; border-radius: 7px; color: #4d6b84; background: #f4f9fd; font-size: 10px; }
.assistant-query-note svg { width: 15px; height: 15px; color: var(--blue); }
.assistant-query-table-wrap { max-height: 420px; overflow: auto; border: 1px solid #e1e8ef; border-radius: 7px; }
.assistant-query-table-wrap .data-table { min-width: 820px; }
.assistant-query-table-wrap tbody tr { cursor: pointer; }
.assistant-query-table-wrap tbody tr:hover { background: #f5faff; }
@keyframes created-row-highlight { 0% { background: #dcefff; } 100% { background: #f0f8ff; } }
.assistant-scenario-footer { justify-content: flex-start; }
.assistant-scenario-footer .primary-button { margin-left: auto; }
.assistant-stage-status { margin-left: 4px; padding: 5px 8px; border-radius: 5px; color: #6d7d8d; background: #eef2f6; font-size: 9px; font-weight: 700; }
.assistant-stage-status.working { color: #2f6695; background: #eaf4fd; }
.assistant-stage-status.pending { color: #9a5d13; background: #fff2dd; }
.assistant-stage-status.completed { color: #167049; background: #e8f7ef; }
.assistant-inline-actions { display: flex; margin: -3px 0 10px; }
.assistant-inline-actions button { white-space: normal; text-align: left; }

/* 报销提报、审批和查询 */
.reimbursement-page { max-width: 1420px; }
.reimbursement-entry-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.reimbursement-metric-grid { margin-bottom: 12px; }
.reimbursement-queue-panel { min-height: 500px; }
.reimbursement-type-recommendation { padding: 13px; border: 1px solid #cfe4f6; border-radius: 8px; background: #f8fbfe; }
.reimbursement-type-recommendation > header { display: flex; align-items: center; gap: 8px; }
.reimbursement-type-recommendation > header .metric-icon { width: 30px; height: 30px; }
.reimbursement-type-recommendation > header div { min-width: 0; flex: 1; }
.reimbursement-type-recommendation strong, .reimbursement-type-recommendation small { display: block; }
.reimbursement-type-recommendation small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.reimbursement-type-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.reimbursement-type-options button { min-height: 78px; padding: 10px; border: 1px solid #dbe6f0; border-radius: 7px; color: #52677a; background: #fff; text-align: left; }
.reimbursement-type-options button.selected { border-color: #81bbed; color: #1e67a1; background: #edf7ff; box-shadow: inset 0 0 0 1px rgba(47, 141, 243, .1); }
.reimbursement-type-options strong, .reimbursement-type-options span { display: block; }
.reimbursement-type-options span { margin-top: 5px; color: #718398; font-size: 10px; line-height: 1.5; }
.success-summary { border-color: #bfe6d2; color: #216d49; background: #f0faf5; }
.approval-summary-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.approval-summary-cards article { padding: 11px 12px; border: 1px solid #dce6ee; border-radius: 7px; background: #f8fafc; }
.approval-summary-cards article.green { border-color: #cbe8d9; background: #f2fbf6; }
.approval-summary-cards article.red { border-color: #f2d0d2; background: #fff7f7; }
.approval-summary-cards article.orange { border-color: #f3dfbd; background: #fffaf0; }
.approval-summary-cards span, .approval-summary-cards small { display: block; color: #718196; font-size: 10px; }
.approval-summary-cards strong { display: block; margin: 4px 0 2px; color: #263d54; font-size: 22px; }
.approval-review-hero { display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px solid #dce7f0; border-radius: 8px; background: #f8fbfe; }
.approval-review-hero > div:first-child { min-width: 0; flex: 1; }
.approval-review-hero h4 { margin: 3px 0; font-size: 15px; }
.approval-review-hero p { margin: 0; color: var(--muted); font-size: 10px; }
.approval-review-hero > div:nth-child(2) { display: grid; gap: 4px; padding: 0 14px; border-left: 1px solid #dce6ee; }
.approval-review-hero > div:nth-child(2) span { color: var(--muted); font-size: 9px; }
.approval-review-hero > div:nth-child(2) strong { color: #263d54; font-size: 18px; }
.approval-opinion, .approval-evidence-table { margin-top: 12px; border: 1px solid #dfe8f0; border-radius: 8px; overflow: hidden; }
.approval-opinion > header, .approval-evidence-table > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border-bottom: 1px solid #e2eaf1; background: #f8fafc; }
.approval-opinion > p { margin: 0; padding: 12px; color: #52677b; font-size: 11px; line-height: 1.65; }
.approval-evidence-table > header span { color: var(--muted); font-size: 10px; }
.approval-review-note { margin: 11px 0 0; color: #7b8794; font-size: 10px; line-height: 1.55; }
.reimbursement-query-common h4, .reimbursement-query-tags h4 { margin: 0 0 9px; color: #344b62; font-size: 12px; }
.reimbursement-query-common > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.reimbursement-query-common button { min-height: 64px; display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid #dce6ee; border-radius: 7px; color: #40566b; background: #fff; text-align: left; font-size: 11px; }
.reimbursement-query-common .metric-icon { flex: 0 0 auto; width: 30px; height: 30px; }
.reimbursement-query-tags { margin-top: 16px; }
.reimbursement-query-tags > div { display: flex; flex-wrap: wrap; gap: 7px; }
.reimbursement-query-tags button { min-height: 30px; padding: 5px 10px; border: 1px solid #d8e4ef; border-radius: 999px; color: #3d6e9b; background: #f6faff; font-size: 10px; }
.reimbursement-query-result { min-height: 120px; display: flex; align-items: center; gap: 10px; margin-top: 17px; padding: 15px; border: 1px dashed #cbd9e6; border-radius: 8px; color: #66788a; background: #fbfdff; }
.reimbursement-query-result > svg { width: 24px; height: 24px; color: #7faed8; }
.reimbursement-query-result strong { color: #3e566c; }
.reimbursement-query-result p { margin: 4px 0 0; font-size: 10px; }
.reimbursement-query-result:has(header) { display: block; padding: 0; border-style: solid; background: #fff; }
.reimbursement-query-result > header { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-bottom: 1px solid #e2eaf1; background: #f8fafc; }
.reimbursement-query-result > header span { color: var(--muted); font-size: 10px; }
.assistant-rich-card { margin: 0 0 11px; padding: 11px; border: 1px solid #d5e4f0; border-radius: 10px; background: #fff; box-shadow: 0 1px 3px rgba(33, 57, 80, .03); }
.assistant-rich-card > header { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; color: #2d5f87; }
.assistant-rich-card > header > svg { width: 15px; height: 15px; color: #2f8df3; }
.assistant-rich-card > header strong { font-size: 10px; }
.assistant-rich-card > header small { margin-left: auto; color: #7a8a99; font-size: 8px; }
.assistant-rich-card > p { margin: 0 0 8px; color: #63758a; font-size: 10px; line-height: 1.55; }
.assistant-type-options { display: grid; gap: 6px; }
.assistant-type-options button { display: grid; gap: 3px; padding: 8px 9px; border: 1px solid #dce6ee; border-radius: 7px; color: #566d82; background: #fff; text-align: left; }
.assistant-type-options button.selected { border-color: #8fc1ed; color: #2d6594; background: #edf7ff; }
.assistant-type-options strong { font-size: 10px; }
.assistant-type-options span { color: #718398; font-size: 9px; line-height: 1.45; }
.assistant-change-type { margin-top: 8px; padding: 0; color: #2f78b5; }
.assistant-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.assistant-query-result-list { display: grid; gap: 7px; }
.assistant-query-result-list > button { display: grid; gap: 5px; width: 100%; padding: 9px 10px; border: 1px solid #dce6ee; border-radius: 8px; color: #40566b; background: #fff; text-align: left; }
.assistant-query-result-list > button:hover { border-color: #8fc1ed; background: #f7fbff; }
.assistant-query-result-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.assistant-query-result-head strong { color: #294d6d; font-size: 10px; }
.assistant-query-result-reason { overflow: hidden; color: #52677b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.assistant-query-result-meta { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: center; color: #7b8b9a; font-size: 9px; }
.assistant-query-result-meta em { font-style: normal; }
.assistant-query-result-meta em:nth-child(2) { color: #344b62; font-weight: 700; }
.assistant-rich-query-results > p { margin-bottom: 9px; }
.assistant-work-order-draft-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0 0 10px; }
.assistant-work-order-draft-fields > div { min-width: 0; padding: 7px 8px; border: 1px solid #e3eaf1; border-radius: 7px; background: #f8fafc; }
.assistant-work-order-draft-fields > div.full { grid-column: 1 / -1; }
.assistant-work-order-draft-fields dt { margin: 0 0 3px; color: #8391a0; font-size: 8px; }
.assistant-work-order-draft-fields dd { margin: 0; overflow-wrap: anywhere; color: #3d5369; font-size: 10px; line-height: 1.45; }
.assistant-work-order-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0 0 10px; }
.assistant-work-order-edit-form label { min-width: 0; display: grid; gap: 4px; color: #718296; font-size: 8px; font-weight: 700; }
.assistant-work-order-edit-form label.wide { grid-column: 1 / -1; }
.assistant-work-order-edit-form input,
.assistant-work-order-edit-form select,
.assistant-work-order-edit-form textarea { width: 100%; min-width: 0; padding: 7px 8px; border: 1px solid #dce5ed; border-radius: 6px; outline: 0; color: #364f67; background: #fff; font: inherit; font-size: 9px; font-weight: 500; box-sizing: border-box; }
.assistant-work-order-edit-form input,
.assistant-work-order-edit-form select { height: 30px; }
.assistant-work-order-edit-form textarea { min-height: 58px; resize: vertical; line-height: 1.5; }
.assistant-work-order-edit-form input:focus,
.assistant-work-order-edit-form select:focus,
.assistant-work-order-edit-form textarea:focus { border-color: #78afe0; box-shadow: 0 0 0 2px rgba(47, 141, 243, .1); }
.assistant-work-order-edit-form input:disabled,
.assistant-work-order-edit-form select:disabled,
.assistant-work-order-edit-form textarea:disabled { color: #758496; background: #f2f5f8; cursor: not-allowed; }
.assistant-rich-work-order-confirm .assistant-card-actions { padding-top: 2px; }
.assistant-rich-work-order-confirm .assistant-card-actions .primary-button { min-width: 92px; }
.assistant-rich-work-order-query { padding-bottom: 9px; }
.assistant-work-order-result-list { display: grid; gap: 6px; }
.assistant-work-order-result-list > button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; padding: 8px 9px; border: 1px solid #dce6ee; border-radius: 8px; color: #40566b; background: #fff; text-align: left; }
.assistant-work-order-result-list > button:hover { border-color: #8fc1ed; background: #f7fbff; }
.assistant-work-order-result-list > button > span { min-width: 0; }
.assistant-work-order-result-list strong, .assistant-work-order-result-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.assistant-work-order-result-list strong { color: #294d6d; font-size: 9px; }
.assistant-work-order-result-list small { margin-top: 3px; color: #7b8b9a; font-size: 8px; }
.assistant-work-order-result-list .tag { flex: 0 0 auto; }
.assistant-work-order-query-empty { display: grid; justify-items: center; gap: 5px; padding: 18px 10px; color: #8090a0; text-align: center; }
.assistant-work-order-query-empty > svg { width: 22px; height: 22px; color: #83add2; }
.assistant-work-order-query-empty strong { color: #50677d; font-size: 10px; }
.assistant-work-order-query-empty p { margin: 0; font-size: 9px; line-height: 1.5; }
.assistant-supplement-form { display: grid; gap: 8px; margin-bottom: 10px; }
.assistant-supplement-form label { display: grid; gap: 4px; color: #607286; font-size: 9px; font-weight: 700; }
.assistant-supplement-form input, .assistant-supplement-form select, .assistant-supplement-form textarea { width: 100%; padding: 0 8px; border: 1px solid #d6e1eb; border-radius: 6px; outline: 0; color: #344b62; background: #fff; font: inherit; font-weight: 400; box-sizing: border-box; }
.assistant-supplement-form input, .assistant-supplement-form select { height: 30px; }
.assistant-supplement-form textarea { min-height: 92px; padding: 8px 9px; resize: vertical; line-height: 1.55; }
.assistant-supplement-form input:focus, .assistant-supplement-form select:focus, .assistant-supplement-form textarea:focus { border-color: #77b4e8; box-shadow: 0 0 0 2px rgba(47, 141, 243, .1); }
.assistant-supplement-form .assistant-native-file-input { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.assistant-supplement-resources { position: relative; display: grid; gap: 5px; }
.assistant-supplement-resources > div { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 30px; }
.assistant-supplement-resources button { height: 28px; display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 0 9px; border: 1px solid #b9d5ec; border-radius: 6px; color: #2f78b5; background: #f7fbff; font-size: 9px; }
.assistant-supplement-resources button:hover { border-color: #7eb5e4; background: #edf7ff; }
.assistant-supplement-resources button svg { width: 13px; height: 13px; }
.assistant-supplement-resources button.attached { color: #21855c; background: #f2fbf6; }
.assistant-supplement-resources em { min-width: 0; overflow: hidden; color: #8493a3; font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.assistant-supplement-submit { width: 100%; height: 30px; font-size: 10px; }
.assistant-approval-list { display: grid; gap: 6px; }
.assistant-approval-list > button { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 8px 9px; border: 1px solid #dce6ee; border-radius: 7px; color: #526b82; background: #fff; text-align: left; }
.assistant-approval-list > button:hover, .assistant-approval-list > button.selected { border-color: #8fc1ed; background: #edf7ff; }
.assistant-approval-list span { min-width: 0; display: grid; gap: 2px; }
.assistant-approval-list strong { color: #355b7d; font-size: 10px; }
.assistant-approval-list em { overflow: hidden; color: #7a8da1; font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.assistant-approval-list .tag { flex: 0 0 auto; }
.assistant-rich-reimbursement-approval-list { position: relative; overflow: visible; }
.assistant-approval-queue-tools { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.assistant-rich-card > header .assistant-approval-queue-tools small { margin-left: 0; }
.assistant-approval-queue-tools > button { width: 25px; height: 25px; display: grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 6px; color: #71879a; background: transparent; }
.assistant-approval-queue-tools > button:hover,
.assistant-approval-queue-tools > button[aria-expanded="true"] { border-color: #bed8ee; color: #2379bd; background: #edf7ff; }
.assistant-approval-queue-tools > button svg { width: 14px; height: 14px; }
.assistant-approval-queue-popover { position: absolute; top: 38px; right: 7px; z-index: 19; width: min(316px, calc(100% - 14px)); overflow: hidden; border: 1px solid #cdddea; border-radius: 9px; background: #fff; box-shadow: 0 13px 28px rgba(34, 63, 91, .22); }
.assistant-approval-queue-popover[hidden] { display: none; }
.assistant-approval-queue-popover > header { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 8px 7px 11px; border-bottom: 1px solid #e3ebf2; background: #f7fbff; }
.assistant-approval-queue-popover > header strong,
.assistant-approval-queue-popover > header small { display: block; }
.assistant-approval-queue-popover > header strong { color: #335978; font-size: 10px; }
.assistant-approval-queue-popover > header small { margin-top: 3px; color: #7b8d9f; font-size: 8px; }
.assistant-approval-queue-popover > header .icon-button { width: 27px; height: 27px; border: 0; background: transparent; }
.assistant-approval-queue-list { max-height: 272px; display: grid; gap: 5px; overflow-y: auto; padding: 8px; }
.assistant-approval-queue-list > button { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 8px 9px; border: 1px solid #dce6ee; border-radius: 7px; color: #526b82; background: #fff; text-align: left; }
.assistant-approval-queue-list > button:hover { border-color: #8fc1ed; background: #edf7ff; }
.assistant-approval-queue-list > button > span { min-width: 0; display: grid; gap: 2px; }
.assistant-approval-queue-list strong { color: #355b7d; font-size: 10px; }
.assistant-approval-queue-list em { overflow: hidden; color: #7a8da1; font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.assistant-approval-queue-list .tag { flex: 0 0 auto; }
.assistant-approval-action-popover { position: absolute; right: 10px; z-index: 16; width: min(288px, calc(100% - 20px)); overflow: hidden; border: 1px solid #cdddea; border-radius: 9px; background: #fff; box-shadow: 0 12px 26px rgba(34, 63, 91, .2); }
.assistant-approval-action-popover[hidden] { display: none; }
.assistant-approval-action-popover > header { min-height: 47px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 8px 7px 11px; border-bottom: 1px solid #e3ebf2; background: #f7fbff; }
.assistant-approval-action-popover > header strong, .assistant-approval-action-popover > header small { display: block; }
.assistant-approval-action-popover > header strong { color: #335978; font-size: 10px; }
.assistant-approval-action-popover > header small { margin-top: 3px; color: #7b8d9f; font-size: 8px; }
.assistant-approval-action-popover > header .icon-button { width: 28px; height: 28px; border: 0; background: transparent; }
.assistant-approval-action-popover > div { display: grid; grid-template-columns: 1fr 1.25fr; gap: 7px; padding: 9px; }
.assistant-approval-action-popover > div button { min-height: 32px; padding: 0 8px; font-size: 9px; }
.assistant-approval-empty { display: grid; justify-items: center; padding: 24px 12px 18px; color: #75879a; text-align: center; }
.assistant-approval-empty > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #24946a; background: #eaf8f1; }
.assistant-approval-empty > span svg { width: 20px; height: 20px; }
.assistant-approval-empty strong { margin-top: 10px; color: #38556d; font-size: 10px; }
.assistant-approval-empty p { margin: 5px 0 0; color: #8292a2; font-size: 9px; line-height: 1.5; }
.assistant-rich-reimbursement-prefill dl { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; margin: 0 0 9px; }
.assistant-rich-reimbursement-prefill dl div { min-width: 0; }
.assistant-rich-reimbursement-prefill dt { color: #8190a0; font-size: 8px; }
.assistant-rich-reimbursement-prefill dd { margin: 2px 0 0; color: #465b70; font-size: 9px; line-height: 1.4; }
.assistant-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 9px; }
.assistant-review-grid span { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding: 6px 7px; border-radius: 6px; color: #65778a; background: #f7fafc; font-size: 9px; }
.assistant-review-grid .tag { font-size: 8px; }
.assistant-rich-reimbursement-approval-detail { padding: 0; overflow: hidden; }
.assistant-rich-reimbursement-approval-detail > header { min-height: 39px; margin: 0; padding: 0 11px; border-bottom: 1px solid #e1e8ef; background: #f8fbfe; }
.assistant-rich-reimbursement-approval-detail > header > .tag { margin-left: auto; }
.assistant-review-summary { display: grid; grid-template-columns: 1.05fr 1.55fr .78fr; border-bottom: 1px solid #e5ebf1; }
.assistant-review-summary > div { min-width: 0; padding: 8px 9px; }
.assistant-review-summary > div + div { border-left: 1px solid #e5ebf1; }
.assistant-review-summary span, .assistant-review-summary strong { display: block; overflow: hidden; text-overflow: ellipsis; }
.assistant-review-summary span { color: #7f8fa0; font-size: 8px; }
.assistant-review-summary strong { margin-top: 3px; color: #334b63; font-size: 9px; line-height: 1.35; }
.assistant-review-opinion { margin: 9px; border: 1px solid #dce6ef; border-radius: 7px; overflow: hidden; }
.assistant-review-opinion > header, .assistant-review-section > header { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 0 9px; border-bottom: 1px solid #e5ebf1; background: #f8fafc; }
.assistant-review-opinion > header strong, .assistant-review-section > header strong { color: #3a5067; font-size: 9px; }
.assistant-review-opinion > p { margin: 0; padding: 9px; color: #566b80; font-size: 9px; line-height: 1.65; }
.assistant-review-section { margin: 0 9px 9px; border: 1px solid #dce6ef; border-radius: 7px; overflow: hidden; }
.assistant-review-section > header small { color: #7b8da0; font-size: 8px; }
.assistant-review-section-copy { margin: 0; padding: 8px 9px 2px; color: #718397; font-size: 8px; line-height: 1.5; }
.assistant-basis-table { width: 100%; }
.assistant-basis-row { display: grid; grid-template-columns: 74px 48px minmax(0, 1fr) 54px; align-items: stretch; border-top: 1px solid #e7edf2; }
.assistant-basis-row:first-child { border-top: 0; }
.assistant-basis-row > * { min-width: 0; margin: 0; padding: 7px 6px; border-left: 1px solid #e7edf2; }
.assistant-basis-row > *:first-child { border-left: 0; }
.assistant-basis-row strong { color: #4b6075; font-size: 8px; font-weight: 600; }
.assistant-basis-row > span { display: grid; place-items: center; }
.assistant-basis-row .tag { padding: 2px 4px; font-size: 7px; }
.assistant-basis-row p { color: #6b7c8e; font-size: 8px; line-height: 1.45; }
.assistant-basis-row button { border: 0; color: #1677d2; background: transparent; font-size: 8px; }
.assistant-basis-row button:hover, .assistant-basis-row button.active { color: #0b65b7; background: #eef7ff; }
.assistant-basis-row.head { color: #66788b; background: #f4f7fa; font-size: 8px; font-weight: 600; }
.assistant-basis-row.head > * { display: flex; align-items: center; color: inherit; font-size: inherit; font-style: normal; }
.assistant-review-evidence-detail { margin: 7px; padding: 8px; border: 1px solid #cfe3f5; border-radius: 6px; background: #f2f8fe; }
.assistant-review-evidence-detail strong { color: #32648e; font-size: 8px; }
.assistant-review-evidence-detail p { margin: 4px 0 0; color: #60778d; font-size: 8px; line-height: 1.55; }
.assistant-amount-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 7px; border: 1px solid #e3e9ef; }
.assistant-amount-grid > div { min-width: 0; padding: 8px; }
.assistant-amount-grid > div:nth-child(even) { border-left: 1px solid #e3e9ef; }
.assistant-amount-grid > div:nth-child(n+3) { border-top: 1px solid #e3e9ef; }
.assistant-amount-grid span, .assistant-amount-grid strong, .assistant-amount-grid em { display: block; }
.assistant-amount-grid span { color: #7b8b9b; font-size: 8px; }
.assistant-amount-grid strong { margin-top: 4px; color: #30485f; font-size: 10px; }
.assistant-amount-grid em { margin-top: 5px; font-size: 8px; font-style: normal; }
.assistant-amount-grid em svg { width: 11px; height: 11px; margin-right: 3px; vertical-align: -2px; }
.assistant-amount-grid em.green { color: #16945f; }
.assistant-amount-grid em.red { color: #c94750; }
.assistant-amount-grid em.orange { color: #cb7a17; }
.assistant-attachment-results { padding: 0 9px 8px; }
.assistant-attachment-results article { position: relative; padding: 8px 58px 8px 0; border-bottom: 1px dashed #dce4ec; }
.assistant-attachment-results article:last-child { border-bottom: 0; }
.assistant-attachment-results strong { display: block; color: #435970; font-size: 8px; line-height: 1.45; }
.assistant-attachment-results p { margin: 4px 0 0; color: #738599; font-size: 8px; line-height: 1.5; }
.assistant-attachment-results button { position: absolute; top: 50%; right: 0; padding: 4px 6px; border: 1px solid #cfe0ef; border-radius: 5px; color: #1677d2; background: #fff; font-size: 8px; transform: translateY(-50%); }
.assistant-attachment-results button:hover, .assistant-attachment-results button.active { border-color: #8fc1ed; background: #eef7ff; }
.assistant-rich-reimbursement-approval-detail > .assistant-card-actions { padding: 0 9px 9px; }
.assistant-rich-reimbursement-approval-detail > .assistant-card-actions .primary-button { width: 100%; }
.assistant-query-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.assistant-query-chips button { padding: 5px 7px; border: 1px solid #d7e5f1; border-radius: 999px; color: #396b97; background: #f5faff; font-size: 9px; }

.finance-query-body { min-width: 0; background: #f2f6fb; }
.finance-query-page { display: grid; gap: 12px; }
.finance-query-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 2px 2px 0; }
.finance-query-header h1 { margin: 5px 0 0; font-size: 22px; }
.finance-query-header p { margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.finance-query-tools { display: flex; align-items: center; gap: 7px; }
.finance-query-tools button { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.finance-query-tools svg { width: 15px; height: 15px; }
.finance-query-prompts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.finance-query-prompt { min-height: 70px; display: flex; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #d9e3ed; border-radius: 7px; color: #506578; background: #fff; text-align: left; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.finance-query-prompt:hover { border-color: #91bee8; background: #f8fbff; transform: translateY(-1px); }
.finance-query-prompt.active { border-color: #63a9e8; background: #f0f7ff; box-shadow: 0 0 0 2px rgba(47, 141, 243, .08); }
.finance-query-prompt > span:last-child { min-width: 0; display: grid; gap: 4px; }
.finance-query-prompt strong { color: #334c63; font-size: 11px; }
.finance-query-prompt small { color: #8392a1; font-size: 9px; line-height: 1.45; }
.finance-query-empty { min-height: 580px; display: grid; align-content: start; gap: 22px; padding: 38px 42px 30px; overflow: hidden; background: linear-gradient(180deg, #fbfdff 0%, #fff 46%, #fbfcfe 100%); }
.finance-query-welcome { display: grid; justify-items: center; text-align: center; }
.finance-query-empty-icon { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 13px; border: 1px solid #d7eaff; border-radius: 18px; color: #fff; background: linear-gradient(145deg, #2f8df3, #667eea); box-shadow: 0 12px 28px rgba(47, 141, 243, .2); }
.finance-query-empty-icon svg { width: 27px; height: 27px; }
.finance-query-welcome .eyebrow { color: #5283ad; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.finance-query-empty h2 { margin: 7px 0 0; color: #293f55; font-size: 22px; }
.finance-query-empty p { max-width: 660px; margin: 9px 0 0; color: #748596; font-size: 11px; line-height: 1.8; }
.finance-query-scope { min-height: 32px; display: inline-flex; align-items: center; gap: 8px; margin-top: 15px; padding: 0 12px; border: 1px solid #dce7f0; border-radius: 17px; color: #718394; background: #fff; font-size: 9px; box-shadow: 0 4px 12px rgba(39, 69, 99, .05); }
.finance-query-scope > svg { width: 14px; height: 14px; color: #2f8df3; }
.finance-query-scope strong { color: #405c75; }
.finance-query-scope i { width: 1px; height: 12px; background: #dce5ed; }
.finance-query-example-block { max-width: 1040px; width: 100%; margin: 0 auto; }
.finance-query-example-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.finance-query-example-title > div { display: grid; gap: 3px; }
.finance-query-example-title strong { color: #344b61; font-size: 13px; }
.finance-query-example-title span, .finance-query-example-title small { color: #8a98a6; font-size: 9px; }
.finance-query-empty .finance-query-prompts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finance-query-empty .finance-query-prompt { min-height: 82px; display: grid; grid-template-columns: 38px minmax(0, 1fr) 16px; padding: 13px 14px; }
.finance-query-empty .finance-query-prompt > svg { width: 16px; height: 16px; color: #9aabb9; }
.finance-query-empty .finance-query-prompt:hover > svg { color: #2f8df3; transform: translateX(2px); }
.finance-query-capabilities { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; padding-top: 2px; color: #738495; font-size: 9px; }
.finance-query-capabilities span { display: inline-flex; align-items: center; gap: 6px; }
.finance-query-capabilities svg { width: 14px; height: 14px; color: #5f94c1; }
.finance-query-loading { min-height: 540px; padding: 30px 34px; overflow: hidden; background: #fff; }
.finance-query-loading-head { display: grid; grid-template-columns: 48px minmax(0, 1fr) 26px; align-items: center; gap: 14px; }
.finance-query-loading-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; color: #2f8df3; background: #edf6ff; }
.finance-query-loading-icon svg { width: 24px; height: 24px; }
.finance-query-loading-head .eyebrow { color: #6e8ba5; font-size: 8px; letter-spacing: .12em; }
.finance-query-loading-head h2 { margin: 4px 0 0; color: #2b4258; font-size: 18px; }
.finance-query-loading-head p { margin: 7px 0 0; color: #77899a; font-size: 10px; }
.finance-query-loading-spinner { width: 22px; height: 22px; border: 2px solid #dbeafa; border-top-color: #2f8df3; border-radius: 50%; animation: finance-query-spin .9s linear infinite; }
.finance-query-loading-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 28px 0 24px; }
.finance-query-loading-steps span { position: relative; display: grid; justify-items: center; gap: 7px; color: #9aa8b5; font-size: 9px; }
.finance-query-loading-steps span::before { position: absolute; top: 5px; right: 50%; width: 100%; height: 2px; content: ""; background: #e5edf4; }
.finance-query-loading-steps span:first-child::before { display: none; }
.finance-query-loading-steps i { width: 12px; height: 12px; position: relative; z-index: 1; border: 3px solid #e3ebf3; border-radius: 50%; background: #fff; }
.finance-query-loading-steps span.active { color: #327fc4; font-weight: 700; }
.finance-query-loading-steps span.active::before { background: #8fc5f3; }
.finance-query-loading-steps span.active i { border-color: #2f8df3; box-shadow: 0 0 0 4px #eaf4ff; }
.finance-query-loading-preview { display: grid; gap: 14px; }
.finance-loading-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.finance-loading-kpis i { height: 88px; border: 1px solid #edf2f6; border-radius: 7px; background: linear-gradient(100deg, #f3f6f9 20%, #fafcfd 38%, #f3f6f9 56%); background-size: 220% 100%; animation: finance-query-shimmer 1.6s ease-in-out infinite; }
.finance-loading-panel { min-height: 260px; display: grid; align-content: start; gap: 13px; padding: 20px; border: 1px solid #edf2f6; border-radius: 7px; }
.finance-loading-panel i { height: 12px; border-radius: 6px; background: linear-gradient(100deg, #f1f5f8 20%, #fafcfd 38%, #f1f5f8 56%); background-size: 220% 100%; animation: finance-query-shimmer 1.6s ease-in-out infinite; }
.finance-loading-panel i:nth-child(1) { width: 24%; height: 18px; }
.finance-loading-panel i:nth-child(2) { width: 92%; }
.finance-loading-panel i:nth-child(3) { width: 78%; }
.finance-loading-panel i:nth-child(4) { width: 64%; }
.finance-query-report [data-finance-stage] { animation: finance-query-reveal .34s ease both; }
@keyframes finance-query-spin { to { transform: rotate(360deg); } }
@keyframes finance-query-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
@keyframes finance-query-reveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.finance-query-report { display: grid; gap: 10px; }
.finance-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 2px; }
.finance-section-title h2 { margin: 0; font-size: 14px; }
.finance-section-title span { color: var(--muted); font-size: 9px; }
.finance-kpi-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.customer-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.finance-kpi-card { min-height: 72px; padding: 11px 12px; border: 1px solid #dce5ee; border-top: 3px solid var(--blue); border-radius: 7px; background: #fff; }
.finance-kpi-card.orange { border-top-color: var(--orange); }
.finance-kpi-card.green { border-top-color: var(--green); }
.finance-kpi-card.red { border-top-color: var(--red); }
.finance-kpi-card span { display: block; color: #7c8c9b; font-size: 9px; }
.finance-kpi-card strong { display: block; margin-top: 8px; color: #2d4359; font-size: 17px; font-variant-numeric: tabular-nums; }
.finance-kpi-card small { display: block; margin-top: 5px; color: #9aa6b2; font-size: 8px; }
.finance-analysis-card .panel-header { padding-bottom: 10px; }
.finance-analysis-copy { display: grid; gap: 8px; padding: 13px 15px 15px; border-top: 1px solid var(--line); color: #445a6e; }
.finance-analysis-copy p { margin: 0; font-size: 10px; line-height: 1.72; }
.finance-analysis-copy strong { color: #243d55; }
.finance-analysis-copy ul { display: grid; gap: 5px; margin: 0; padding-left: 18px; }
.finance-analysis-copy li { font-size: 10px; line-height: 1.6; }
.finance-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.finance-chart-card { min-width: 0; overflow: hidden; border: 1px solid #dce5ee; border-radius: 7px; background: #fff; }
.finance-chart-card.wide { grid-column: 1 / -1; }
.finance-chart-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 11px 13px; border-bottom: 1px solid #edf1f5; }
.finance-chart-card > header h3 { margin: 0; font-size: 11px; }
.finance-chart-card > header p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }
.finance-chart-card > header button { width: 28px; height: 28px; }
.finance-chart-canvas { min-height: 230px; padding: 12px 13px; }
.finance-chart-card:not(.wide) .finance-chart-canvas { min-height: 220px; }
.finance-line-chart { width: 100%; height: 245px; display: block; }
.finance-line-chart text { fill: #7d8c9b; font-size: 9px; }
.finance-line-chart .grid { stroke: #e6edf4; stroke-width: 1; }
.finance-line-chart .zero { stroke: #aab9c8; stroke-dasharray: 5 5; }
.finance-line-chart .series-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.finance-line-chart .series-dot { stroke: #fff; stroke-width: 2; }
.finance-chart-legend { display: flex; flex-wrap: wrap; gap: 12px; padding: 0 13px 12px; color: #607487; font-size: 8px; }
.finance-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.finance-chart-legend i { width: 8px; height: 8px; border-radius: 50%; }
.finance-donut-layout { min-height: 205px; display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 16px; }
.finance-donut { width: 132px; height: 132px; position: relative; display: grid; place-items: center; margin: auto; border-radius: 50%; }
.finance-donut::after { width: 76px; height: 76px; content: ""; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px #edf1f5; }
.finance-donut-label { position: absolute; z-index: 1; display: grid; place-items: center; color: #6f8192; font-size: 8px; }
.finance-donut-label strong { color: #314b63; font-size: 15px; }
.finance-donut-legend { display: grid; gap: 8px; }
.finance-donut-legend span { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 7px; color: #607487; font-size: 9px; }
.finance-donut-legend i { width: 8px; height: 8px; border-radius: 50%; }
.finance-donut-legend b { color: #3f5f7c; font-size: 9px; }
.finance-bar-chart { min-height: 205px; display: flex; align-items: flex-end; justify-content: space-around; gap: 14px; padding: 20px 8px 0; border-bottom: 1px solid #dce5ed; }
.finance-bar-column { min-width: 42px; flex: 1; display: grid; justify-items: center; align-content: end; gap: 6px; }
.finance-bar-column b { color: #5b7186; font-size: 8px; }
.finance-bar-column i { width: min(54px, 65%); min-height: 6px; border-radius: 4px 4px 0 0; background: var(--blue); }
.finance-bar-column span { min-height: 24px; color: #748596; font-size: 8px; text-align: center; }
.finance-result-stack { display: grid; gap: 10px; }
.finance-result-card { overflow: hidden; border: 1px solid #dce5ee; border-radius: 7px; background: #fff; }
.finance-result-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 13px; }
.finance-result-card h3 { margin: 0; font-size: 11px; }
.finance-result-card header span { color: var(--muted); font-size: 8px; }
.finance-result-card .data-table { min-width: 720px; }
.assistant-history-list button small { white-space: pre-line; line-height: 1.5; }

@media (max-width: 1180px) {
  .finance-query-prompts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .customer-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@keyframes assistant-message-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes assistant-typing { 0%, 65%, 100% { opacity: .35; transform: translateY(0); } 35% { opacity: 1; transform: translateY(-2px); } }

@media (max-width: 1500px) {
  .top-search { width: 210px; }
  .dashboard-layout { grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (max-width: 1280px) {
  .open-page-tab { min-width: 126px; max-width: 188px; }
  .focus-strip { grid-template-columns: 1fr; }
  .dashboard-layout { grid-template-columns: 1fr; }
  .side-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shell-work-area { --assistant-pane-width: 360px; }
  .shell-work-area.assistant-collapsed .global-assistant-pane { right: 14px; bottom: 14px; }
  .task-filter-bar { flex-wrap: wrap; }
  .task-filter-bar .filter-search { max-width: none; flex-basis: calc(100% - 160px); }
  .task-filter-bar .primary-button { margin-left: 0; }
}

/* Reimbursement document page */
.reimbursement-detail-page { min-width: 980px; min-height: 100vh; color: #27364a; background: #f3f6fa; }
.reimbursement-detail-shell { width: min(1480px, calc(100% - 36px)); margin: 18px auto 92px; }
.reimbursement-detail-heading { min-height: 68px; display: grid; grid-template-columns: 132px minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 0 20px; margin-bottom: 12px; border: 1px solid #e0e6ed; border-radius: 7px; background: #fff; }
.reimbursement-detail-heading .detail-back-button { justify-self: start; box-shadow: 0 1px 2px rgba(32, 53, 79, .04); }
.reimbursement-detail-heading .detail-back-button svg { width: 15px; height: 15px; }
.reimbursement-detail-heading .eyebrow { display: block; margin-bottom: 2px; color: #7b8797; font-size: 10px; }
.reimbursement-detail-heading h1 { margin: 0; color: #27364a; font-size: 17px; font-weight: 600; }
.reimbursement-detail-heading p { margin: 3px 0 0; color: #7b8797; font-size: 11px; }
.reimbursement-detail-card { margin-bottom: 12px; overflow: hidden; border: 1px solid #e0e6ed; border-radius: 7px; background: #fff; box-shadow: 0 1px 3px rgba(32, 53, 79, .025); }
.reimbursement-detail-card > header { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 18px; border-bottom: 1px solid #e8edf2; background: #fbfcfd; }
.reimbursement-detail-card > header h2 { margin: 0; color: #344054; font-size: 14px; font-weight: 600; }
.reimbursement-detail-card .section-count { color: #8793a2; font-size: 11px; }
.approval-flow-card { overflow-x: auto; padding: 20px 26px 18px; }
.reimbursement-approval-flow { min-width: 920px; display: grid; grid-template-columns: repeat(6, minmax(145px, 1fr)); }
.reimbursement-approval-flow article { position: relative; min-width: 0; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; color: #98a2b3; }
.reimbursement-approval-flow article:not(:last-child)::after { position: absolute; top: 17px; left: 36px; right: 10px; height: 2px; content: ""; background: #e1e6ec; }
.reimbursement-approval-flow article.done:not(:last-child)::after { background: #80bef7; }
.reimbursement-approval-flow article > span { position: relative; z-index: 1; width: 36px; height: 36px; display: grid; place-items: center; border: 2px solid #d3dae3; border-radius: 50%; color: #98a2b3; background: #fff; font-size: 13px; font-weight: 600; }
.reimbursement-approval-flow article.done > span { color: #fff; border-color: #2f8df3; background: #2f8df3; }
.reimbursement-approval-flow article.current > span { color: #1478e8; border-color: #2f8df3; background: #eef7ff; box-shadow: 0 0 0 4px rgba(47, 141, 243, .12); }
.reimbursement-approval-flow article > div { min-width: 0; padding-right: 18px; }
.reimbursement-approval-flow strong,
.reimbursement-approval-flow small,
.reimbursement-approval-flow em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reimbursement-approval-flow strong { color: #344054; font-size: 13px; font-weight: 600; }
.reimbursement-approval-flow small { margin-top: 3px; color: #667085; font-size: 11px; }
.reimbursement-approval-flow em { margin-top: 3px; color: #98a2b3; font-size: 10px; font-style: normal; }
.reimbursement-approval-flow .current em { color: #1478e8; }
.reimbursement-detail-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 22px; padding: 18px; }
.reimbursement-detail-fields label { min-width: 0; display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 10px; }
.reimbursement-detail-fields label > span { color: #667085; font-size: 12px; text-align: right; }
.reimbursement-detail-fields input,
.reimbursement-detail-fields select,
.reimbursement-expense-row input,
.reimbursement-expense-row select { width: 100%; height: 36px; min-width: 0; padding: 0 10px; border: 1px solid #dce3eb; border-radius: 5px; color: #344054; background: #fff; font: inherit; font-size: 12px; outline: 0; }
.reimbursement-detail-fields input:focus,
.reimbursement-detail-fields select:focus,
.reimbursement-expense-row input:focus,
.reimbursement-expense-row select:focus,
.reimbursement-long-fields textarea:focus { border-color: #2f8df3; box-shadow: 0 0 0 2px rgba(47, 141, 243, .11); }
.reimbursement-detail-fields input[readonly],
.reimbursement-detail-fields select:disabled { color: #526173; background: #f7f9fb; opacity: 1; }
.money-input { position: relative; min-width: 0; }
.money-input i { position: absolute; top: 50%; left: 10px; z-index: 1; transform: translateY(-50%); color: #667085; font-size: 12px; font-style: normal; }
.money-input input { padding-left: 24px; }
.money-input.compact input { height: 34px; }
.reimbursement-expense-table { overflow-x: auto; padding: 16px 18px 18px; }
.reimbursement-expense-row { min-width: 940px; display: grid; grid-template-columns: 1.15fr 1.15fr 1fr 1.75fr .78fr; align-items: stretch; border: 1px solid #e1e7ee; border-top: 0; }
.reimbursement-expense-row.head { min-height: 38px; align-items: center; border-top: 1px solid #e1e7ee; color: #667085; background: #f7f9fb; font-size: 11px; font-weight: 600; }
.reimbursement-expense-row > span { min-width: 0; display: flex; align-items: center; padding: 7px 10px; color: #475467; font-size: 12px; }
.reimbursement-expense-row > span + span { border-left: 1px solid #e7ebf0; }
.reimbursement-expense-row > span > strong { display: block; font-weight: 600; }
.reimbursement-expense-row > span > small { display: block; margin-left: 8px; overflow: hidden; color: #7b8797; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.reimbursement-attachment-list { display: grid; gap: 10px; padding: 16px 18px 18px; }
.reimbursement-attachment-list article { min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 58px; padding: 9px 12px; border: 1px solid #e1e7ee; border-radius: 6px; background: #fafbfd; }
.reimbursement-attachment-icon { display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 6px; color: #2f8df3; background: #eaf4ff; }
.reimbursement-attachment-icon svg { width: 18px; height: 18px; }
.reimbursement-attachment-list article > div { min-width: 0; }
.reimbursement-attachment-list strong { display: block; overflow: hidden; color: #344054; font-size: 12px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.reimbursement-long-fields { padding: 6px 18px 18px; }
.reimbursement-long-fields > label,
.reimbursement-approval-comments { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 10px; padding-top: 12px; }
.reimbursement-long-fields > label > span,
.reimbursement-approval-comments > span { padding-top: 10px; color: #667085; font-size: 12px; text-align: right; }
.reimbursement-long-fields textarea { min-height: 82px; resize: vertical; padding: 10px 12px; border: 1px solid #dce3eb; border-radius: 5px; color: #344054; background: #fff; font: inherit; font-size: 12px; line-height: 1.7; outline: 0; }
.reimbursement-approval-comments > div { min-height: 94px; padding: 5px 12px; border: 1px solid #dde3eb; border-radius: 5px; background: #f7f9fb; }
.reimbursement-approval-comments article { display: grid; grid-template-columns: 116px 84px minmax(0, 1fr); gap: 10px; padding: 7px 0; color: #475467; font-size: 11px; }
.reimbursement-approval-comments article + article { border-top: 1px dashed #e1e6ed; }
.reimbursement-approval-comments time { color: #98a2b3; }
.reimbursement-approval-comments p { margin: 0; line-height: 1.55; }
.reimbursement-ai-review { width: min(1480px, calc(100% - 36px)); margin: -1px auto 92px; padding: 15px 18px; border: 1px solid #cfe2f7; border-radius: 7px; background: #f5faff; }
.reimbursement-ai-review header { display: flex; align-items: center; gap: 8px; }
.reimbursement-ai-review header > svg { width: 16px; height: 16px; color: #2f8df3; }
.reimbursement-ai-review header strong { color: #30465f; font-size: 13px; }
.reimbursement-ai-review header .tag { margin-left: auto; }
.reimbursement-ai-review p { margin: 9px 0 0; color: #56687d; font-size: 12px; line-height: 1.7; }
.reimbursement-detail-actions { position: fixed; right: 0; bottom: 0; left: 0; z-index: 15; min-height: 62px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 22px; border-top: 1px solid #dfe5ec; background: rgba(255, 255, 255, .97); box-shadow: 0 -2px 8px rgba(28, 45, 66, .04); backdrop-filter: blur(8px); }
.reimbursement-detail-page.is-readonly .reimbursement-detail-fields input:not([readonly]),
.reimbursement-detail-page.is-readonly .reimbursement-detail-fields select,
.reimbursement-detail-page.is-readonly .reimbursement-expense-row input,
.reimbursement-detail-page.is-readonly .reimbursement-expense-row select,
.reimbursement-detail-page.is-readonly .reimbursement-long-fields textarea { pointer-events: none; color: #526173; background: #f7f9fb; }

@media (max-width: 1180px) {
  .reimbursement-detail-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 独立登录页 */
.login-body { min-width: 320px; min-height: 100%; overflow: auto; color: #172338; background: #f5f9fd; }
.login-shell { position: relative; min-height: 100vh; overflow: hidden; background:
  linear-gradient(rgba(89, 143, 200, .055) 1px, transparent 1px),
  linear-gradient(90deg, rgba(89, 143, 200, .055) 1px, transparent 1px),
  radial-gradient(circle at 8% 10%, rgba(97, 170, 251, .25), transparent 31%),
  radial-gradient(circle at 88% 74%, rgba(255, 245, 212, .31), transparent 29%),
  linear-gradient(115deg, #edf6ff 0%, #f8fbfe 58%, #fbfbf6 100%);
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
}
.login-shell::before, .login-shell::after { position: absolute; content: ""; pointer-events: none; border-radius: 50%; filter: blur(10px); }
.login-shell::before { top: 14%; left: 3%; width: 480px; height: 480px; background: radial-gradient(circle, rgba(65, 151, 248, .09), transparent 66%); }
.login-shell::after { right: 6%; bottom: 5%; width: 520px; height: 520px; background: radial-gradient(circle, rgba(255, 233, 168, .1), transparent 66%); }
.login-brand { position: absolute; z-index: 2; top: 34px; left: clamp(30px, 4.4vw, 70px); display: flex; align-items: center; gap: 12px; }
.login-brand-mark { width: 38px; height: 38px; display: block; color: #2b8eef; filter: drop-shadow(0 7px 13px rgba(43, 142, 239, .2)); }
.login-brand-mark svg { width: 100%; height: 100%; stroke-width: initial; }
.login-brand strong { color: #26364a; font-size: 19px; letter-spacing: .02em; }
.login-intro { position: absolute; z-index: 2; top: 44.5%; left: clamp(48px, 16.7vw, 325px); width: min(710px, 52vw); transform: translateY(-50%); }
.login-product-label { width: fit-content; display: flex; align-items: center; gap: 7px; padding: 7px 13px; border: 1px solid #b8d9f8; border-radius: 20px; color: #2187e9; background: rgba(232, 245, 255, .78); font-size: 14px; font-weight: 700; }
.login-product-label svg { width: 17px; height: 17px; }
.login-intro h1 { margin: 26px 0 19px; color: #172338; font-size: clamp(38px, 3.05vw, 58px); line-height: 1.17; letter-spacing: -.025em; }
.login-intro h1 em { color: #278df1; font-style: normal; }
.login-intro > p { max-width: 650px; margin: 0; color: #657993; font-size: 16px; line-height: 2; }
.login-capabilities { display: flex; align-items: center; gap: 26px; margin-top: 30px; color: #66809b; font-size: 13px; }
.login-capabilities span { display: inline-flex; align-items: center; gap: 7px; }
.login-capabilities i { display: inline-flex; color: #318fe9; font-style: normal; }
.login-capabilities svg { width: 17px; height: 17px; }
.login-card { position: absolute; z-index: 3; top: 50%; right: clamp(58px, 15.9vw, 310px); width: 430px; min-height: 486px; padding: 31px 30px 24px; transform: translateY(-50%); border: 1px solid rgba(192, 207, 222, .85); border-radius: 24px; background: rgba(255, 255, 255, .96); box-shadow: 0 28px 75px rgba(60, 88, 118, .17); backdrop-filter: blur(12px); }
.login-card-heading h2 { margin: 0; color: #172338; font-size: 27px; line-height: 1.25; letter-spacing: -.02em; }
.login-card-heading p { margin: 8px 0 0; color: #6d7d92; font-size: 13px; }
.login-tabs { display: grid; grid-template-columns: 1fr 1fr; margin-top: 30px; border-bottom: 1px solid #dce5ee; }
.login-tabs button { position: relative; height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0; border: 0; color: #62738a; background: transparent; font-weight: 700; }
.login-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; content: ""; background: transparent; }
.login-tabs button:hover { color: #2788e5; }
.login-tabs button.active { color: #2388ec; }
.login-tabs button.active::after { background: #2d91f1; }
.login-tabs svg { width: 17px; height: 17px; }
.login-form { margin-top: 26px; }
.login-panel { min-height: 151px; }
.login-field { height: 49px; display: flex; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid #cfdae6; border-radius: 12px; background: #fff; transition: border-color .16s ease, box-shadow .16s ease; }
.login-field:focus-within { border-color: #6aadec; box-shadow: 0 0 0 3px rgba(47, 141, 243, .09); }
.login-field.is-error { border-color: #df6871; box-shadow: 0 0 0 3px rgba(217, 77, 87, .08); }
.login-field-icon { flex: 0 0 auto; display: grid; place-items: center; color: #9aacc1; }
.login-field-icon svg { width: 17px; height: 17px; }
.login-field input { min-width: 0; width: 100%; height: 100%; padding: 0; border: 0; outline: 0; color: #25374b; background: transparent; font-size: 14px; }
.login-field input::placeholder { color: #a9b7c8; }
.login-account-control { position: relative; }
.login-account-toggle { width: 28px; height: 34px; display: grid; flex: 0 0 auto; place-items: center; padding: 0; border: 0; color: #8194a9; background: transparent; }
.login-account-toggle:hover { color: #258ae9; }
.login-account-toggle svg { width: 17px; height: 17px; transition: transform .18s ease; }
.login-account-control.is-open .login-account-toggle svg { transform: rotate(180deg); }
.login-account-suggestions { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; left: 0; display: grid; gap: 3px; max-height: 244px; overflow-y: auto; padding: 6px; border: 1px solid #d5e0ea; border-radius: 10px; background: #fff; box-shadow: 0 14px 30px rgba(31, 56, 84, .15); }
.login-account-suggestions[hidden] { display: none; }
.login-account-suggestions button { width: 100%; min-height: 36px; padding: 0 12px; border: 0; border-radius: 7px; color: #33485f; background: transparent; font-size: 13px; font-weight: 650; text-align: left; }
.login-account-suggestions button:hover, .login-account-suggestions button.active { color: #1d79ce; background: #edf6ff; }
.login-account-suggestions p { margin: 0; padding: 15px 10px; color: #8a98a8; font-size: 11px; text-align: center; }
.login-field-error { min-height: 16px; margin: 3px 4px 1px; color: #d64e59; font-size: 11px; line-height: 15px; }
.login-code-row { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 10px; }
.login-code-button { height: 49px; padding: 0 9px; border: 1px solid #b9d9f8; border-radius: 12px; color: #258ae9; background: #f4f9ff; font-size: 13px; font-weight: 700; white-space: nowrap; }
.login-code-button:hover:not(:disabled) { border-color: #78b6ef; background: #eaf5ff; }
.login-code-button:disabled { color: #7f9dbb; opacity: 1; }
.login-send-status { min-height: 18px; margin: -1px 4px 0; color: #3c8a6c; font-size: 11px; }
.login-mini-spinner { width: 13px; height: 13px; display: inline-block; margin-right: 5px; border: 2px solid #bed9f1; border-top-color: #258ae9; border-radius: 50%; vertical-align: -2px; animation: login-spin .7s linear infinite; }
.login-form-options { height: 26px; display: flex; align-items: center; justify-content: space-between; margin-top: 0; }
.login-remember { display: inline-flex; align-items: center; gap: 7px; color: #64768b; cursor: pointer; font-size: 12px; }
.login-remember input { position: absolute; opacity: 0; pointer-events: none; }
.login-remember span { width: 16px; height: 16px; display: grid; place-items: center; border: 1px solid #cad7e4; border-radius: 3px; background: #fff; }
.login-remember input:checked + span { border-color: #2d91f1; background: #2d91f1; }
.login-remember input:checked + span::after { width: 7px; height: 4px; content: ""; border-bottom: 2px solid #fff; border-left: 2px solid #fff; transform: translateY(-1px) rotate(-45deg); }
.login-forgot, .login-password-toggle { padding: 0; border: 0; color: #258ae9; background: transparent; font-size: 12px; }
.login-password-toggle { width: 28px; height: 34px; display: grid; place-items: center; color: #95a8bc; }
.login-password-toggle:hover { color: #258ae9; }
.login-password-toggle svg { width: 17px; height: 17px; }
.login-submit { width: 100%; height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; padding: 0; border: 0; border-radius: 12px; color: #fff; background: linear-gradient(105deg, #2c94f4 0%, #1476d9 100%); box-shadow: 0 12px 24px rgba(34, 133, 227, .24); font-size: 15px; font-weight: 800; transition: transform .16s ease, box-shadow .16s ease, filter .16s ease; }
.login-submit:hover:not(:disabled) { filter: brightness(1.035); transform: translateY(-1px); box-shadow: 0 15px 28px rgba(34, 133, 227, .3); }
.login-submit:active:not(:disabled) { transform: translateY(0); }
.login-submit:disabled { opacity: 1; }
.login-submit.is-loading { background: linear-gradient(105deg, #4da4f5, #2784de); }
.login-submit.is-loading .login-submit-icon { width: 16px; height: 16px; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; border-radius: 50%; animation: login-spin .7s linear infinite; }
.login-submit.is-loading .login-submit-icon svg { display: none; }
.login-submit.is-success { background: linear-gradient(105deg, #27ad77, #198f63); box-shadow: 0 12px 24px rgba(25, 143, 99, .2); }
.login-submit-icon { display: grid; place-items: center; }
.login-submit-icon svg { width: 17px; height: 17px; }
.login-result-message { min-height: 18px; margin: 7px 0 -2px; color: #75869a; font-size: 11px; text-align: center; }
.login-result-message.success { color: #23885f; }
.login-security { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 12px; color: #72849a; font-size: 11px; }
.login-security svg { width: 15px; height: 15px; }
.login-copyright { position: absolute; z-index: 2; right: 20px; bottom: 21px; left: 20px; color: #94a8bd; font-size: 11px; text-align: center; }
@keyframes login-spin { to { transform: rotate(360deg); } }
@media (max-width: 1600px) {
  .login-intro { left: 7vw; width: 48vw; }
  .login-intro h1 { font-size: 48px; }
  .login-card { right: 4.5vw; }
}
@media (max-width: 1180px) {
  .login-intro { left: 7vw; width: 48vw; }
  .login-intro h1 { font-size: 42px; }
  .login-card { right: 5vw; }
}
@media (max-width: 920px) {
  .login-shell { min-height: 760px; display: grid; place-items: center; padding: 92px 20px 72px; }
  .login-intro { display: none; }
  .login-card { position: relative; top: auto; right: auto; width: min(430px, 100%); transform: none; }
  .login-brand { top: 28px; left: 28px; }
}
@media (max-width: 480px) {
  .login-shell { min-height: 700px; padding-right: 14px; padding-left: 14px; }
  .login-brand { left: 20px; }
  .login-card { min-height: 0; padding: 26px 20px 21px; border-radius: 20px; }
  .login-code-row { grid-template-columns: minmax(0, 1fr) 106px; }
  .login-copyright { bottom: 15px; font-size: 9px; }
}

/* Stage 业务菜单与圈定页面 */
.stage-dashboard-filter { margin-bottom: 14px; }
.stage-dashboard-filter .panel-body { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 15px; }
.stage-periods { display: flex; align-items: center; gap: 4px; }
.stage-periods button { height: 32px; padding: 0 12px; border: 0; border-radius: 5px; color: #66778b; background: transparent; font-size: 11px; }
.stage-periods button:hover { background: #f0f5fa; }
.stage-periods button.active { color: var(--blue-strong); background: var(--blue-soft); font-weight: 700; }
.stage-dashboard-controls { display: flex; align-items: center; gap: 8px; }
.stage-dashboard-controls label { display: flex; align-items: center; gap: 6px; color: #697b8e; font-size: 10px; }
.stage-dashboard-controls input, .stage-dashboard-controls select { height: 32px; padding: 0 9px; border: 1px solid #d7e0e9; border-radius: 5px; color: #3d5064; background: #fff; font-size: 10px; }

/* Stage 一比一看板 */
.stage-dashboard-page { padding: 14px 16px 26px; background: #edf2f7; }
.stage-dashboard-root { width: 100%; color: #263548; font-size: 11px; }
.stage-dashboard-root button, .stage-dashboard-root select, .stage-dashboard-root input { font: inherit; }
.stage-dashboard-toolbar { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; padding: 0 14px; border: 1px solid #dce4ec; border-radius: 8px; background: #fff; box-shadow: 0 5px 18px rgba(27, 51, 78, .05); }
.stage-dashboard-presets { display: flex; align-items: center; gap: 3px; }
.stage-period-group { display: flex; align-items: center; gap: 3px; }
.stage-dashboard-presets button, .stage-employee-types button { height: 31px; padding: 0 11px; border: 0; border-bottom: 2px solid transparent; color: #78899b; background: transparent; cursor: pointer; }
.stage-dashboard-presets button:hover, .stage-employee-types button:hover { color: #2389e8; }
.stage-dashboard-presets button.active, .stage-employee-types button.active { color: #1683ea; border-bottom-color: #1683ea; font-weight: 700; }
.stage-dashboard-range { display: flex; align-items: center; gap: 6px; }
.stage-dashboard-range select, .stage-dashboard-range input, .stage-hr-filter select, .stage-hr-filter input { height: 32px; padding: 0 28px 0 10px; border: 1px solid #d8e0e8; border-radius: 6px; outline: none; color: #34465a; background: #fff; }
.stage-dashboard-range select:focus, .stage-dashboard-range input:focus, .stage-hr-filter select:focus, .stage-hr-filter input:focus { border-color: #6caeea; box-shadow: 0 0 0 3px rgba(35, 137, 232, .08); }
.stage-export-button { height: 32px; display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; padding: 0 10px; border: 0; color: #34465a; background: transparent; cursor: pointer; }
.stage-export-button:hover { color: #1683ea; }
.stage-export-button svg { width: 15px; height: 15px; }
.stage-warning-panel { overflow: hidden; margin-bottom: 12px; border: 1px solid #f4d190; border-radius: 8px; background: linear-gradient(90deg, #fffaf0, #fff); }
.stage-warning-panel > header { height: 43px; display: flex; align-items: center; justify-content: space-between; padding: 0 13px; border-bottom: 1px solid #f5dfb8; font-weight: 750; }
.stage-warning-panel > header > span { display: inline-flex; align-items: center; gap: 8px; }
.stage-warning-panel > header button, .stage-chart-panel > header button { width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; color: #405164; background: transparent; cursor: pointer; }
.stage-warning-panel svg { width: 15px; height: 15px; }
.stage-warning-panel > div { display: grid; gap: 6px; padding: 9px 13px 11px; }
.stage-warning-panel p { display: flex; align-items: center; gap: 8px; margin: 0; color: #46566a; }
.stage-warning-panel p svg { color: #4d6278; }
.stage-finance-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.stage-finance-metric { position: relative; min-height: 108px; overflow: hidden; padding: 17px 16px 13px; border: 1px solid #dce4eb; border-top: 4px solid #8999ab; border-radius: 7px; background: #fff; box-shadow: 0 6px 18px rgba(30, 54, 79, .09); }
.stage-finance-metric::after { position: absolute; right: -28px; bottom: -46px; width: 150px; height: 150px; content: ""; border: 1px solid rgba(97, 122, 148, .18); border-radius: 50%; background: rgba(114, 139, 164, .08); }
.stage-finance-metric > span, .stage-finance-metric > strong, .stage-finance-metric > small { position: relative; z-index: 1; display: block; }
.stage-finance-metric > span { color: #66798d; }
.stage-finance-metric > strong { margin-top: 7px; color: #202d3e; font-size: 25px; line-height: 1; letter-spacing: -.5px; }
.stage-finance-metric > small { display: grid; gap: 3px; margin-top: 10px; font-size: 9px; }
.stage-finance-metric > small b { font-weight: 650; }
.stage-finance-metric.green { border-color: #a9dec0; border-top-color: #24bd66; }
.stage-finance-metric.green::after { border-color: #a9e4c2; background: #e5f8ed; }
.stage-finance-metric.cyan { border-color: #afddef; border-top-color: #14a1db; }
.stage-finance-metric.cyan::after { border-color: #b2e1f2; background: #e7f6fc; }
.stage-finance-metric.red { border-color: #efb8b8; border-top-color: #f14e50; }
.stage-finance-metric.red::after { border-color: #f2c5c5; background: #fdeced; }
.stage-finance-metric.orange { border-color: #edcf98; border-top-color: #f29b12; }
.stage-finance-metric.orange::after { border-color: #f3d7a6; background: #fff5e4; }
.stage-finance-metric.slate { border-color: #c4ced9; border-top-color: #74859a; }
.stage-finance-metric.slate::after { border-color: #cbd4de; background: #eef2f6; }
.stage-finance-metric.blue { border-color: #b9c9f2; border-top-color: #315bd8; }
.stage-finance-metric.blue::after { border-color: #c7d3f5; background: #edf1fd; }
.stage-up { color: #31b64b; }
.stage-down { color: #f34e55; }
.stage-finance-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.stage-chart-panel { min-height: 286px; overflow: hidden; border: 1px solid #dce3ea; border-radius: 8px; background: #fff; box-shadow: 0 5px 16px rgba(31, 55, 81, .07); }
.stage-chart-panel > header { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 12px; border-bottom: 1px solid #e6ebf0; }
.stage-chart-panel h2 { margin: 0; font-size: 12px; }
.stage-chart-panel > header svg { width: 15px; height: 15px; }
.stage-horizontal-chart { position: relative; min-height: 242px; display: grid; align-content: center; gap: 22px; padding: 26px 28px 30px 23px; }
.stage-horizontal-chart::before { position: absolute; top: 28px; right: 30px; bottom: 36px; left: 132px; content: ""; background: repeating-linear-gradient(90deg, #e5e9ee 0, #e5e9ee 1px, transparent 1px, transparent 20%); }
.stage-hbar-row { position: relative; z-index: 1; display: grid; grid-template-columns: 103px minmax(0, 1fr); align-items: center; gap: 10px; }
.stage-hbar-row > span { overflow: hidden; color: #59697b; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.stage-hbar-row > i { height: 13px; display: block; }
.stage-hbar-row > i > b { height: 100%; display: block; min-width: 0; background: #2f8ee9; }
.stage-axis { position: absolute; z-index: 1; right: 23px; bottom: 12px; left: 132px; display: flex; justify-content: space-between; color: #8a97a5; font-size: 9px; }
.stage-horizontal-chart.expense { gap: 9px; }
.stage-horizontal-chart.expense .stage-hbar-row > i { height: 11px; }
.stage-gauge-panel { min-height: 236px; }
.stage-gauge { --gauge: 93; width: 145px; height: 145px; display: grid; place-items: center; margin: 18px auto 0; border-radius: 50%; background: conic-gradient(from 225deg, #58be2e calc(var(--gauge) * 2.7deg), #dfe5eb 0 270deg, transparent 0); clip-path: polygon(0 0, 100% 0, 100% 82%, 0 82%); }
.stage-gauge::before { width: 112px; height: 112px; content: ""; border-radius: 50%; background: #fff; }
.stage-gauge > div { position: absolute; z-index: 1; display: grid; gap: 5px; text-align: center; }
.stage-gauge strong { font-size: 24px; }
.stage-gauge span { color: #8793a0; font-size: 9px; }
.stage-gauge-panel > p { margin: -8px 0 0; color: #8a96a4; text-align: center; font-size: 9px; }
.stage-wide-chart { grid-column: 1 / -1; min-height: 260px; }
.stage-chart-legend { display: flex; gap: 12px; color: #6d7c8d; font-size: 9px; }
.stage-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.stage-chart-legend i { width: 9px; height: 9px; border-radius: 2px; background: #2f8ee9; }
.stage-chart-legend i.budget { background: #8bd3c7; }
.stage-grouped-bars { height: 205px; display: flex; align-items: flex-end; justify-content: space-evenly; gap: 18px; padding: 18px 28px 28px; background: repeating-linear-gradient(0deg, #fff 0, #fff 40px, #edf1f5 41px); }
.stage-grouped-bars > div { height: 100%; min-width: 80px; display: flex; align-items: flex-end; justify-content: center; gap: 5px; position: relative; }
.stage-grouped-bars i, .stage-grouped-bars b { width: 22px; display: block; border-radius: 3px 3px 0 0; background: #2f8ee9; }
.stage-grouped-bars b { background: #8bd3c7; }
.stage-grouped-bars span { position: absolute; bottom: -19px; color: #758597; font-size: 9px; white-space: nowrap; }
.stage-subject-panel { margin-top: 12px; overflow: hidden; border: 1px solid #dce3ea; border-radius: 8px; background: #fff; box-shadow: 0 5px 16px rgba(31, 55, 81, .06); }
.stage-subject-panel > header { min-height: 45px; display: flex; align-items: center; gap: 18px; padding: 0 13px; border-bottom: 1px solid #e5eaf0; }
.stage-subject-panel h2 { margin: 0; font-size: 12px; }
.stage-subject-panel select { height: 28px; padding: 0 25px 0 8px; border: 1px solid #d8e0e8; border-radius: 5px; color: #4d5f73; background: #fff; }
.stage-subject-table-wrap { overflow: auto; }
.stage-subject-table-wrap table { width: 100%; min-width: 760px; border-collapse: collapse; }
.stage-subject-table-wrap th, .stage-subject-table-wrap td { height: 38px; padding: 0 12px; border-bottom: 1px solid #edf0f3; text-align: right; white-space: nowrap; }
.stage-subject-table-wrap th { color: #57687b; background: #f7f9fb; font-weight: 700; }
.stage-subject-table-wrap th:first-child, .stage-subject-table-wrap td:first-child { text-align: left; }
.stage-subject-table-wrap tbody tr:hover { background: #f7fbff; }
.stage-subject-expand { width: 16px; height: 16px; display: inline-grid; place-items: center; margin-right: 6px; border: 1px solid #cbd5df; border-radius: 3px; color: #5d7085; }
.stage-dashboard-source { padding: 11px 2px 0; color: #8491a0; font-size: 9px; text-align: right; }

.stage-workorder-toolbar { justify-content: flex-start; }
.stage-period-divider { width: 1px; height: 22px; margin: 0 4px; background: #e1e7ed; }
.stage-module-shell { overflow: hidden; border: 1px solid #dce3ea; border-radius: 8px; background: #fff; }
.stage-module-title { height: 45px; display: flex; align-items: center; justify-content: space-between; padding: 0 13px; border-bottom: 1px solid #e4e9ef; font-weight: 750; }
.stage-module-title > span { display: inline-flex; align-items: center; gap: 8px; }
.stage-module-title b { min-width: 20px; height: 18px; display: inline-grid; place-items: center; border: 1px solid #d7e0e9; border-radius: 5px; color: #738296; background: #f6f8fa; font-size: 9px; }
.stage-module-title svg { width: 15px; height: 15px; }
.stage-workorder-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 14px; }
.stage-module-card { position: relative; min-height: 344px; border-top: 1px solid #cfd8e2; background: #fff; }
.stage-module-card > header { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 12px; border-bottom: 1px solid #e4e9ef; }
.stage-module-card > header > div { display: flex; align-items: center; gap: 8px; }
.stage-module-card > header svg { width: 15px; height: 15px; }
.stage-module-card h2 { margin: 0; font-size: 12px; }
.stage-module-card header em { padding: 2px 5px; border: 1px solid #75d45b; color: #48b82b; background: #f6fff3; font-size: 8px; font-style: normal; }
.stage-module-card header small { margin-left: 20px; padding: 3px 8px; color: #8a97a5; background: #f1f3f5; font-size: 8px; }
.stage-card-tools { color: #94a2b1; }
.stage-card-tools .active { color: #1786ea; border-bottom: 2px solid #1786ea; }
.stage-workorder-kpis { display: grid; grid-template-columns: repeat(5, 1fr); padding: 21px 9px 7px; }
.stage-workorder-kpis > div { display: grid; gap: 7px; text-align: center; }
.stage-workorder-kpis strong { color: #278be9; font-size: 19px; font-weight: 550; }
.stage-workorder-kpis strong.green { color: #46b722; }
.stage-workorder-kpis strong.dark { color: #263548; }
.stage-workorder-kpis span { color: #7d8b9b; }
.stage-module-card > footer { position: absolute; right: 0; bottom: 0; left: 0; padding: 8px 12px; border-top: 1px solid #eef1f4; color: #8190a1; background: #fbfcfd; font-size: 8px; }
.stage-no-chart { min-height: 242px; display: grid; place-items: center; align-content: center; gap: 12px; color: #7f8c9b; text-align: center; }
.stage-no-chart > svg { width: 24px; height: 24px; color: #c5ced7; }
.stage-no-chart strong { color: #536476; font-size: 12px; }
.stage-no-chart p { max-width: 280px; margin: 0; line-height: 1.65; }
.stage-team-card { min-height: 520px; }
.stage-team-table-wrap { padding: 12px; }
.stage-team-table-wrap table { width: 100%; border-collapse: collapse; }
.stage-team-table-wrap th, .stage-team-table-wrap td { height: 36px; padding: 0 10px; text-align: right; }
.stage-team-table-wrap th { color: #65778b; background: #f5f7f9; }
.stage-team-table-wrap th:first-child, .stage-team-table-wrap td:first-child, .stage-team-table-wrap th:nth-child(2), .stage-team-table-wrap td:nth-child(2) { text-align: left; }
.stage-view-all { display: flex; align-items: center; gap: 5px; margin: 0 auto 36px; padding: 6px 10px; border: 0; color: #1683ea; background: transparent; cursor: pointer; }
.stage-view-all svg { width: 13px; height: 13px; }

.stage-hr-filter { display: grid; grid-template-columns: 1.15fr .95fr 1.05fr .9fr 1fr; gap: 10px; padding: 12px; border: 1px solid #d8e1ea; border-radius: 10px; background: #fff; box-shadow: 0 7px 20px rgba(31, 55, 81, .05); }
.stage-hr-filter > label { min-width: 0; display: grid; align-content: start; gap: 6px; }
.stage-hr-filter > label > span { display: inline-flex; align-items: center; gap: 5px; color: #4f6073; font-weight: 650; }
.stage-hr-filter > label > span svg { width: 14px; height: 14px; }
.stage-hr-filter > label > span b { color: #1c82e5; }
.stage-hr-filter select { width: 100%; }
.stage-hr-date > div { display: flex; align-items: center; gap: 5px; }
.stage-hr-date input { min-width: 0; width: 100%; padding: 0 7px; }
.stage-hr-date i { color: #8b98a5; font-style: normal; }
.stage-employee-types { height: 32px; display: flex; align-items: center; gap: 3px; }
.stage-employee-types button { flex: 1; padding: 0 6px; }
.stage-hr-empty { min-height: 510px; display: grid; place-items: center; align-content: start; gap: 12px; padding-top: 85px; color: #7f8c9a; text-align: center; }
.stage-hr-empty > svg { width: 44px; height: 44px; color: #c8d1db; }
.stage-hr-empty strong { margin-top: 12px; color: #202d3d; font-size: 20px; }
.stage-hr-empty p { margin: 0; }
.stage-hr-content { margin-top: 12px; }
.stage-grouped-bars.compact { height: 200px; }
.stage-donut-summary { min-height: 240px; display: flex; align-items: center; justify-content: center; gap: 44px; }
.stage-donut-ring { width: 142px; height: 142px; border-radius: 50%; background: conic-gradient(#50bb7a 0 66%, #e8a13a 66% 90%, #df5a60 90%); -webkit-mask: radial-gradient(circle at center, transparent 0 48%, #000 49%); mask: radial-gradient(circle at center, transparent 0 48%, #000 49%); }
.stage-donut-summary ul { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.stage-donut-summary li { min-width: 130px; display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 8px; color: #66778a; }
.stage-donut-summary li i { width: 8px; height: 8px; border-radius: 50%; }
.stage-donut-summary li i.green { background: #50bb7a; }
.stage-donut-summary li i.orange { background: #e8a13a; }
.stage-donut-summary li i.red { background: #df5a60; }
.stage-donut-summary li b { color: #263548; }

@media (max-width: 1280px) {
  .stage-hr-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .stage-dashboard-toolbar { align-items: flex-start; flex-direction: column; padding: 10px 12px; }
  .stage-dashboard-range { width: 100%; flex-wrap: wrap; }
  .stage-finance-chart-grid, .stage-workorder-grid { grid-template-columns: 1fr; }
  .stage-finance-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stage-wide-chart { grid-column: auto; }
  .stage-hr-filter { grid-template-columns: 1fr 1fr; }
}

.stage-business-page { background: #f2f5f9; }
.stage-business-page .page { padding: 16px 18px 24px; }
.stage-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.stage-page-heading h1 { margin: 0; color: #25384d; font-size: 18px; }
.stage-page-heading p { margin: 4px 0 0; color: #8290a0; font-size: 10px; }
.stage-page-heading-actions { display: flex; gap: 8px; }
.stage-filter-panel, .stage-table-panel, .stage-knowledge-hero { border: 1px solid #e0e6ee; border-radius: 7px; background: #fff; box-shadow: 0 1px 2px rgba(28, 48, 73, .03); }
.stage-filter-panel { margin-bottom: 12px; padding: 14px 16px 12px; }
.stage-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 12px 18px; }
.stage-filter-field { min-width: 0; display: grid; grid-template-columns: 68px minmax(0, 1fr); align-items: center; gap: 8px; }
.stage-filter-field.wide { grid-column: span 2; }
.stage-filter-field label { color: #3f4f61; font-size: 11px; text-align: right; white-space: nowrap; }
.stage-filter-field input, .stage-filter-field select { min-width: 0; width: 100%; height: 34px; padding: 0 10px; border: 1px solid #d9e0e8; border-radius: 5px; outline: 0; color: #405164; background: #fff; font-size: 10px; }
.stage-filter-field input:focus, .stage-filter-field select:focus { border-color: #7bb5ed; box-shadow: 0 0 0 3px rgba(47, 141, 243, .08); }
.stage-filter-actions { display: flex; align-items: center; gap: 8px; margin-top: 13px; padding-left: 76px; }
.stage-more-filter[hidden] { display: none; }
.stage-more-button { display: inline-flex; align-items: center; gap: 3px; height: 32px; padding: 0 8px; border: 0; color: #5e6f82; background: transparent; font-size: 10px; }
.stage-more-button svg { width: 14px; height: 14px; transition: transform .2s ease; }
.stage-more-button[aria-expanded="true"] svg { transform: rotate(180deg); }
.stage-status-tabs { min-height: 46px; display: flex; align-items: flex-end; gap: 25px; padding: 0 16px; border-bottom: 1px solid #e2e7ed; }
.stage-status-tab { position: relative; height: 45px; display: flex; align-items: center; gap: 6px; padding: 0; border: 0; color: #48596b; background: transparent; font-size: 11px; font-weight: 600; }
.stage-status-tab b { min-width: 20px; height: 18px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 9px; color: #fff; background: #ff5b3b; font-size: 8px; }
.stage-status-tab.active { color: var(--blue-strong); }
.stage-status-tab.active::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; content: ""; background: var(--blue); }
.stage-toolbar { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 16px; }
.stage-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.stage-selected-count { min-width: 64px; color: #738296; font-size: 10px; }
.stage-summary-line { margin: 0 16px 10px; padding: 8px 11px; border-radius: 4px; color: #58718c; background: #f1f6fc; font-size: 10px; }
.stage-summary-line strong { color: var(--blue-strong); }
.stage-table-wrap { width: 100%; overflow: auto; border-top: 1px solid #edf0f4; }
.stage-data-table { width: 100%; min-width: 1160px; border-collapse: collapse; color: #46576a; font-size: 10px; }
.stage-data-table th { height: 42px; padding: 0 11px; border-right: 1px solid #e8ecf1; border-bottom: 1px solid #dde3ea; color: #34465a; background: #f7f8fa; text-align: left; white-space: nowrap; }
.stage-data-table td { height: 48px; padding: 7px 11px; border-right: 1px solid #edf0f4; border-bottom: 1px solid #edf0f4; white-space: nowrap; }
.stage-data-table tbody tr:hover { background: #f8fbff; }
.stage-data-table tbody tr.is-selected { background: #edf6ff; }
.stage-data-table input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--blue); }
.stage-inline-actions { display: flex; align-items: center; gap: 9px; }
.stage-inline-actions button { padding: 0; border: 0; color: var(--blue-strong); background: transparent; font-size: 10px; }
.stage-empty-state { padding: 48px 20px; color: #8795a5; text-align: center; font-size: 11px; }
.stage-pagination { min-height: 52px; display: flex; align-items: center; justify-content: flex-end; gap: 7px; padding: 9px 16px; border-top: 1px solid #edf0f4; color: #758599; font-size: 11px; }
.stage-pagination-total { margin-right: 4px; color: #5f7185; }
.stage-page-size { height: 28px; display: inline-flex; align-items: center; margin-right: 3px; padding: 0 9px; border: 1px solid #dce3eb; border-radius: 4px; color: #526579; background: #fff; }
.stage-pagination button { width: 30px; height: 30px; display: inline-grid; place-items: center; padding: 0; border: 1px solid #dce3eb; border-radius: 4px; color: #5d6f82; background: #fff; cursor: pointer; }
.stage-pagination button:hover:not(:disabled) { color: var(--blue-strong); border-color: #9ec9f2; background: #f4f9ff; }
.stage-pagination button.active { color: #fff; border-color: var(--blue); background: var(--blue); }
.stage-pagination button:disabled { color: #b8c2cc; background: #f7f9fb; cursor: not-allowed; }
.stage-pagination button svg { width: 14px; height: 14px; }
.stage-pagination-ellipsis { width: 22px; color: #9aa8b6; text-align: center; }
.stage-page-size-select { height: 30px; padding: 0 24px 0 9px; border: 1px solid #dce3eb; border-radius: 4px; color: #5d6f82; background: #fff; font-size: 10px; }
.stage-page-info { color: #65778b; white-space: nowrap; }
.stage-page-jump { display: inline-flex; align-items: center; gap: 5px; margin-left: 4px; white-space: nowrap; }
.stage-page-jump input { width: 54px; height: 30px; padding: 0 6px; border: 1px solid #dce3eb; border-radius: 4px; color: #4e6175; text-align: center; }
.stage-pagination .stage-page-jump-button { width: auto; padding: 0 10px; }

.stage-knowledge-tree { align-self: start; overflow: hidden; }
.stage-knowledge-tree > header { display: grid; gap: 3px; padding: 15px 16px; border-bottom: 1px solid #edf0f4; }
.stage-knowledge-tree > header strong { color: #34465a; font-size: 13px; }
.stage-knowledge-tree > header small { color: #8a98a9; font-size: 10px; }
.stage-knowledge-tree > button { width: 100%; min-height: 34px; display: flex; align-items: center; justify-content: space-between; padding: 0 15px; border: 0; color: #596b7e; background: #fff; text-align: left; cursor: pointer; }
.stage-knowledge-tree > button:hover, .stage-knowledge-tree > button.active { color: #197acb; background: #eef7ff; }
.stage-knowledge-tree > button b { color: inherit; font-size: 10px; }
.stage-upload-button { position: relative; display: inline-flex; align-items: center; cursor: pointer; }
.stage-upload-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.stage-data-table td small { color: #8796a7; line-height: 1.5; }

.assistant-rich-compact-tools { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 8px; padding: 8px; border: 0; background: transparent; box-shadow: none; }
.assistant-rich-compact-tools > button { min-width: 0; display: grid; grid-template-columns: 24px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 8px; padding: 10px; border: 1px solid #dce6ef; border-radius: 8px; color: #42576c; background: #fff; text-align: left; cursor: pointer; }
.assistant-rich-compact-tools > button:hover { border-color: #8fc2ed; background: #f4f9ff; }
.assistant-rich-compact-tools > button > svg { grid-row: 1 / 3; width: 18px; height: 18px; align-self: center; color: #2383dd; }
.assistant-rich-compact-tools > button strong { font-size: 11px; }
.assistant-rich-compact-tools > button small { color: #8796a7; font-size: 9px; }
.assistant-rich-reimbursement-input-mode { padding: 9px 10px; border-color: #dce7f1; background: #fbfdff; box-shadow: none; }
.assistant-rich-reimbursement-input-mode > header { min-height: 24px; margin-bottom: 7px; padding: 0; border: 0; background: transparent; }
.assistant-rich-reimbursement-input-mode > header strong { color: #40566c; font-size: 10px; }
.assistant-rich-reimbursement-input-mode > header small { margin-left: auto; color: #8a98a7; font-size: 8px; }
.assistant-reimbursement-input-mode-options { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 7px; }
.assistant-reimbursement-input-mode-options button { min-width: 0; border-radius: 8px; cursor: pointer; }
.assistant-reimbursement-free-mode { min-height: 48px; display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid #bad8f1; color: #286fa9; background: #eef7ff; text-align: left; }
.assistant-reimbursement-free-mode:hover, .assistant-reimbursement-free-mode.selected { border-color: #68aae2; background: #e6f3ff; box-shadow: inset 0 0 0 1px rgba(47, 141, 243, .08); }
.assistant-reimbursement-free-mode > svg { width: 18px; height: 18px; color: #2383dd; }
.assistant-reimbursement-free-mode span { min-width: 0; display: grid; gap: 2px; }
.assistant-reimbursement-free-mode strong { color: #256da8; font-size: 10px; }
.assistant-reimbursement-free-mode small { color: #718ba2; font-size: 8px; }
.assistant-reimbursement-structured-mode { min-width: 82px; min-height: 34px; align-self: center; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 0 9px; border: 1px solid #dde6ee; color: #718194; background: #fff; }
.assistant-reimbursement-structured-mode:hover, .assistant-reimbursement-structured-mode.selected { border-color: #aac9e3; color: #3979ad; background: #f5faff; }
.assistant-reimbursement-structured-mode > svg { width: 13px; height: 13px; }
.assistant-reimbursement-structured-mode strong { font-size: 9px; font-weight: 600; }
.assistant-reimbursement-resource-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.assistant-reimbursement-resource-actions button { min-height: 28px; display: inline-flex; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid #d8e4ee; border-radius: 6px; color: #526f88; background: #fff; font-size: 9px; }
.assistant-reimbursement-resource-actions button:hover { border-color: #8ebde6; color: #2578bb; background: #f4f9ff; }
.assistant-reimbursement-resource-actions svg { width: 13px; height: 13px; }
.assistant-rich-reimbursement-supplement > header { align-items: center; }
.assistant-rich-reimbursement-supplement > header .text-button { margin-left: auto; padding: 0 2px; color: #5f7890; font-size: 8px; font-weight: 500; }
.assistant-linked-document-list { display: grid; gap: 7px; margin: 8px 0; }
.assistant-linked-module-list { display: flex; gap: 6px; margin: 8px 0; }
.assistant-linked-module-list button { min-width: 62px; height: 28px; padding: 0 11px; border: 1px solid #d7e3ed; border-radius: 6px; color: #536a80; background: #fff; font-size: 9px; }
.assistant-linked-module-list button:hover, .assistant-linked-module-list button.selected { border-color: #7bb8eb; color: #1f78c4; background: #eef7ff; }
.assistant-linked-search { height: 32px; display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: center; gap: 3px; padding: 0 7px; border: 1px solid #d8e3ed; border-radius: 6px; background: #fff; }
.assistant-linked-search[hidden] { display: none; }
.assistant-linked-search svg { width: 14px; height: 14px; color: #7c90a3; }
.assistant-linked-search input { width: 100%; height: 30px; padding: 0; border: 0; outline: 0; color: #3f566c; background: transparent; font-size: 9px; }
.assistant-linked-document-hint { margin: 7px 0 0; color: #8291a1; font-size: 9px; }
.assistant-linked-document-list label { display: flex; align-items: flex-start; gap: 9px; padding: 9px; border: 1px solid #e1e8ef; border-radius: 7px; cursor: pointer; }
.assistant-linked-document-list label:has(input:checked) { border-color: #77b6ec; background: #f1f8ff; }
.assistant-linked-document-list input { margin-top: 2px; accent-color: #2383dd; }
.assistant-linked-document-list span { min-width: 0; display: grid; gap: 3px; }
.assistant-linked-document-list strong { color: #40556a; font-size: 10px; }
.assistant-linked-document-list small { color: #8090a1; font-size: 9px; line-height: 1.45; }
.assistant-linked-selection-summary { margin: 3px 0 7px; color: #75879a; font-size: 9px; }
.assistant-linked-selection-summary strong { color: #247bc1; }
.assistant-linked-document-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.assistant-linked-document-actions .primary-button { min-width: 88px; }
.assistant-precheck-list { display: grid; gap: 7px; margin-top: 10px; }
.assistant-precheck-list article { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 8px; padding: 8px; border-radius: 7px; background: #fff8ed; }
.assistant-precheck-list article > b { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #a75a00; background: #ffe3b8; font-size: 9px; }
.assistant-precheck-list article span { display: grid; gap: 3px; }
.assistant-precheck-list article strong { color: #6b4a22; font-size: 10px; }
.assistant-precheck-list article small { color: #806b55; font-size: 9px; line-height: 1.5; }

.stage-knowledge-hero { display: grid; grid-template-columns: 1.1fr repeat(3, minmax(150px, .6fr)); gap: 0; margin-bottom: 12px; overflow: hidden; }
.stage-knowledge-intro { padding: 20px; background: linear-gradient(110deg, #f2f8ff, #fff); }
.stage-knowledge-intro h2 { margin: 0 0 7px; font-size: 16px; }
.stage-knowledge-intro p { margin: 0; color: #738499; font-size: 10px; line-height: 1.7; }
.stage-knowledge-metric { display: grid; align-content: center; gap: 7px; padding: 18px; border-left: 1px solid #edf0f4; }
.stage-knowledge-metric span { color: #8290a1; font-size: 10px; }
.stage-knowledge-metric strong { font-size: 23px; }
.stage-knowledge-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; }
.knowledge-library-layout { align-items: start; }
.knowledge-library-layout .stage-knowledge-tree { max-height: calc(100vh - 76px); overflow: auto; }
.knowledge-library-layout .stage-knowledge-tree > div { padding: 8px; }
.knowledge-library-layout .stage-knowledge-tree > div > button { width: 100%; min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 10px; border: 0; border-radius: 5px; color: #596b7e; background: transparent; font-size: 10px; text-align: left; cursor: pointer; }
.knowledge-library-layout .stage-knowledge-tree > div > button:hover, .knowledge-library-layout .stage-knowledge-tree > div > button.active { color: #197acb; background: #eef7ff; }
.knowledge-library-layout .stage-knowledge-tree > div > button span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-library-layout .stage-knowledge-tree > div > button b { color: inherit; font-size: 9px; font-weight: 500; }
.knowledge-library-panel { min-width: 0; overflow: hidden; }
.knowledge-library-toolbar { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #edf0f4; }
.knowledge-library-search { min-width: 260px; max-width: 620px; height: 36px; display: flex; flex: 1; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid #dce3eb; border-radius: 6px; background: #f8fafc; }
.knowledge-library-search:focus-within { border-color: #79b8ee; background: #fff; box-shadow: 0 0 0 3px rgba(47,141,243,.08); }
.knowledge-library-search svg { width: 15px; height: 15px; color: #8291a2; }
.knowledge-library-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: #405164; background: transparent; font-size: 10px; }
.knowledge-upload-pending-button { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.knowledge-upload-pending-button svg { width: 15px; height: 15px; }
.knowledge-upload-pending-button b { min-width: 19px; height: 18px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 9px; color: #fff; background: rgba(255,255,255,.24); font-size: 8px; }
.knowledge-library-summary { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 14px; color: #7a899a; font-size: 10px; }
.knowledge-library-summary strong { color: #2c5f91; }
.knowledge-library-table { min-width: 2100px; }
.knowledge-library-table th { position: relative; padding-right: 31px; }
.knowledge-library-table th.selection-cell, .knowledge-library-table th:last-child { padding-right: 11px; }
.knowledge-library-table td:nth-child(2) { min-width: 330px; white-space: normal; }
.knowledge-document-name { display: block; max-width: 310px; overflow: hidden; color: #31465c; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-library-pagination #knowledgePageNumbers { display: inline-flex; gap: 7px; }
.knowledge-native-upload { min-height: 108px; display: grid; place-items: center; align-content: center; gap: 5px; border: 1px dashed #9cc9ef; border-radius: 8px; color: #537393; background: #f6fbff; cursor: pointer; text-align: center; }
.knowledge-native-upload svg { width: 26px; height: 26px; color: #2f8df3; }
.knowledge-native-upload small { color: #8495a6; font-size: 10px; }
.knowledge-native-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.knowledge-selected-files { margin-top: 10px; padding: 9px 11px; border-radius: 6px; color: #61758a; background: #f5f7fa; font-size: 10px; }
.knowledge-pending-section { margin-top: 16px; border: 1px solid #e1e7ed; border-radius: 8px; overflow: hidden; }
.knowledge-pending-section > header { min-height: 42px; display: flex; align-items: center; justify-content: space-between; padding: 0 13px; border-bottom: 1px solid #e8edf2; background: #f8fafc; }
.knowledge-pending-section > header span { color: #e57800; }
.knowledge-pending-section article { min-height: 48px; display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 7px 13px; border-bottom: 1px solid #edf0f4; }
.knowledge-pending-section article:last-child { border-bottom: 0; }
.knowledge-pending-section article > svg { width: 17px; height: 17px; color: #6c9dc8; }
.knowledge-pending-section article div { min-width: 0; }
.knowledge-pending-section article strong, .knowledge-pending-section article small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-pending-section article strong { color: #3e5268; font-size: 10px; }
.knowledge-pending-section article small { margin-top: 3px; color: #8a98a8; font-size: 9px; }

/* Keep expanded reimbursement details inside the visible workspace instead of
   inheriting the full width of the horizontally scrollable reimbursement table. */
body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-detail-row > td {
  box-shadow: none;
}
body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-detail {
  position: sticky;
  left: 10px;
  box-sizing: border-box;
  width: calc(100vw - 20px);
  max-width: calc(100vw - 20px);
}
body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(300px, 1.18fr);
  gap: 10px;
  padding: 11px 12px 12px;
}
body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-grid article {
  padding: 10px;
}
body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-facts {
  column-gap: 18px;
  row-gap: 8px;
}
@media (max-width: 1320px) {
  body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-grid article:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 820px) {
  body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-grid {
    grid-template-columns: 1fr;
  }
  body[data-module-runtime="reimbursement-workorder"] .reimbursement-inline-grid article:last-child {
    grid-column: auto;
  }
}
.stage-category-list { padding: 10px; border: 1px solid #e0e6ee; border-radius: 7px; background: #fff; }
.stage-category-list h3 { margin: 4px 7px 10px; font-size: 12px; }
.stage-category-list button { width: 100%; min-height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 9px; border: 0; border-radius: 5px; color: #5d6f82; background: transparent; font-size: 10px; text-align: left; }
.stage-category-list button:hover, .stage-category-list button.active { color: var(--blue-strong); background: var(--blue-soft); }

@media (max-width: 1280px) {
  .stage-filter-grid { grid-template-columns: repeat(3, minmax(170px, 1fr)); }
  .stage-knowledge-hero { grid-template-columns: 1fr repeat(3, minmax(130px, .45fr)); }
}
