/* Product-page composition generated for the V1.1 research prototype. */

#app { min-height: 100dvh; }
.ui-icon { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.75; fill: none; stroke-linecap: round; stroke-linejoin: round; }
button { border: 0; }
h1, h2, h3, p, figure, dl, dd { margin: 0; }

/* Components emitted by the dependency-free Element-aligned renderer. */
.el-input,
.el-select,
.el-textarea {
  width: 100%;
  min-height: var(--control-height);
  padding: 5px 11px;
  border: 1px solid var(--el-border-color);
  border-radius: var(--radius-compact);
  outline: 0;
  color: var(--el-text-color-primary);
  background: var(--el-bg-color);
  transition: border-color var(--motion-base), box-shadow var(--motion-base), background var(--motion-base);
}

/* Native hash links keep the primary mobile navigation usable in file:// mode. */
.mobile-bottom-nav > a {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 52px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3px 4px;
  gap: 2px;
  border-radius: 6px;
  color: var(--el-text-color-secondary);
  background: transparent;
  text-decoration: none;
}
.mobile-bottom-nav > a span { font-size: 11px; }
.mobile-bottom-nav > a.is-active { color: var(--el-color-primary); font-weight: 600; }
.mobile-bottom-nav > a.is-active::after { content: ""; position: absolute; top: 1px; left: 50%; width: 18px; height: 2px; border-radius: 99px; background: var(--el-color-primary); transform: translateX(-50%); }
.mobile-bottom-nav > a em { position: absolute; top: 1px; left: calc(50% + 8px); min-width: 17px; height: 17px; border: 2px solid #fff; border-radius: 99px; color: #fff; font-size: 9px; font-style: normal; line-height: 13px; background: var(--el-color-danger); }
.mobile-bottom-nav > a:nth-child(3) { transform: translateY(-10px); }
.mobile-bottom-nav > a:nth-child(3) > .ui-icon { box-sizing: content-box; width: 26px; height: 26px; padding: 9px; border: 4px solid #fff; border-radius: 50%; color: #fff; background: var(--el-color-primary); box-shadow: 0 6px 16px rgb(37 99 235 / 26%); }
.mobile-bottom-nav > a:nth-child(3) > span { margin-top: -2px; }
.mobile-domain-entry { color: var(--el-text-color-primary); text-decoration: none; }
.mobile-quick-grid > a { display: flex; min-height: 78px; flex-direction: column; align-items: center; justify-content: center; padding: 9px; gap: 6px; border: 1px solid var(--el-border-color-light); border-radius: 10px; color: var(--el-text-color-regular); background: #fff; text-decoration: none; }
.mobile-quick-grid > a .ui-icon { width: 23px; height: 23px; color: var(--el-color-primary); }
.mobile-task-list > a { display: grid; grid-template-columns: 7px minmax(0,1fr) auto; align-items: center; min-height: 58px; padding: 8px 4px; gap: 9px; border-bottom: 1px solid var(--el-border-color-lighter); color: var(--el-text-color-primary); background: transparent; text-align: left; text-decoration: none; }
.mobile-task-list > a:last-child { border-bottom: 0; }

/* Mobile business hubs keep management domains separate from task forms. */
.mobile-domain-intro { margin-bottom: 10px; }
.mobile-domain-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 14px 12px; }
.mobile-domain-metrics article { min-width: 0; padding: 12px 8px; border: 1px solid var(--el-border-color-lighter); border-radius: 10px; background: var(--el-bg-color); box-shadow: var(--shadow-xs); text-align: center; }
.mobile-domain-metrics span { display: block; color: var(--el-text-color-secondary); font-size: 12px; line-height: 18px; }
.mobile-domain-metrics b { display: block; margin-top: 4px; color: var(--el-text-color-primary); font-size: 17px; line-height: 24px; font-variant-numeric: tabular-nums; }
.mobile-domain-list,.mobile-safety-sources { display: grid; gap: 8px; }
.mobile-domain-list > :where(a,button),.mobile-safety-sources > :where(a,button) { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; min-height: 64px; gap: 10px; width: 100%; padding: 10px 12px; border: 1px solid var(--el-border-color-lighter); border-radius: 10px; background: var(--el-bg-color); color: var(--el-text-color-primary); text-align: left; text-decoration: none; cursor: pointer; }
.mobile-safety-sources > button { grid-template-columns: 40px minmax(0, 1fr) auto 18px; }
.mobile-domain-list > :where(a,button):hover,.mobile-safety-sources > :where(a,button):hover { border-color: var(--el-color-primary-light-5); background: var(--el-color-primary-light-9); }
.mobile-domain-list > :where(a,button) > span,.mobile-safety-sources > :where(a,button) > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--el-color-primary-light-9); color: var(--el-color-primary); }
.mobile-domain-list div,.mobile-safety-sources div { min-width: 0; }
.mobile-domain-list b,.mobile-safety-sources b { display: block; font-size: 15px; line-height: 22px; }
.mobile-domain-list small,.mobile-safety-sources small { display: block; margin-top: 2px; color: var(--el-text-color-secondary); font-size: 12px; line-height: 18px; white-space: normal; }
.mobile-safety-sources em { min-width: 24px; color: var(--el-color-primary); font-style: normal; font-weight: 700; text-align: right; }
.mobile-domain-dashboard { display: grid; gap: 12px; min-width: 0; }
.mobile-domain-dashboard .mobile-section { min-width: 0; box-shadow: 0 1px 3px rgb(15 23 42 / 5%); }
.mobile-domain-overview > header { margin-bottom: 12px; }
.mobile-domain-overview > header button { min-height: 36px; padding-inline: 4px; }
.mobile-domain-kpis { display: grid; gap: 0; }
.mobile-domain-kpis.is-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.mobile-domain-kpis.is-four { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.mobile-domain-kpis article { min-width: 0; padding: 8px 6px; border-right: 1px solid var(--el-border-color-lighter); text-align: center; }
.mobile-domain-kpis.is-three article:last-child { border-right: 0; }
.mobile-domain-kpis.is-four article { display: grid; grid-template-columns: 36px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; min-height: 70px; padding: 10px; border: 0; border-radius: 10px; background: var(--el-color-primary-light-9); text-align: left; }
.mobile-domain-kpis.is-four article > i { display: grid; grid-row: 1/3; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--el-color-primary-light-8); color: var(--el-color-primary); }
.mobile-domain-kpis.is-four article > i .ui-icon { width: 17px; height: 17px; }
.mobile-domain-kpis.is-four article.is-danger > i { background: var(--el-color-danger-light-9); color: var(--el-color-danger); }
.mobile-domain-kpis article span { display: block; min-width: 0; color: var(--el-text-color-secondary); font-size: 12px; line-height: 18px; }
.mobile-domain-kpis article b { display: block; color: var(--el-text-color-primary); font-size: 24px; line-height: 30px; font-variant-numeric: tabular-nums; }
.mobile-domain-kpis article b small { margin-left: 2px; font-size: 12px; font-weight: 600; }
.mobile-domain-kpis article.is-danger b { color: var(--el-color-danger); }
.mobile-domain-progress-compare { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; margin-top: 12px; gap: 8px; }
.mobile-domain-progress-compare i { overflow: hidden; height: 8px; border-radius: 99px; background: var(--el-fill-color); }
.mobile-domain-progress-compare i em { display: block; height: 100%; border-radius: inherit; background: var(--el-color-primary); }
.mobile-domain-progress-compare span { color: var(--el-color-primary); font-size: 12px; font-weight: 700; }
.mobile-domain-progress-compare small { grid-column: 1/-1; color: var(--el-text-color-secondary); font-size: 11px; text-align: right; }
.mobile-domain-overview-links { display: grid; margin-top: 10px; border-top: 1px solid var(--el-border-color-lighter); }
.mobile-domain-overview-links > button { display: flex; align-items: center; justify-content: space-between; min-width: 0; min-height: 48px; padding: 8px 2px; border-bottom: 1px solid var(--el-border-color-lighter); color: var(--el-text-color-primary); background: transparent; text-align: left; }
.mobile-domain-overview-links > button:last-child { border-bottom: 0; }
.mobile-domain-overview-links > button > span { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; min-width: 0; gap: 8px; }
.mobile-domain-overview-links > button .ui-icon { color: var(--el-color-primary); }
.mobile-domain-overview-links > button b { overflow: hidden; font-size: 13px; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.mobile-domain-overview-links > button em { color: var(--el-color-primary); font-style: normal; font-weight: 700; }
.mobile-domain-overview-links > button.is-warning { color: #b45309; }
.mobile-domain-overview-links > button.is-warning .ui-icon { color: var(--el-color-warning); }
.mobile-domain-functions > header { margin-bottom: 10px; }
.mobile-domain-function-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.mobile-domain-function-grid > :where(a,button) { display: grid; grid-template-columns: 36px minmax(0,1fr) 14px; align-items: center; min-width: 0; min-height: 82px; padding: 9px; gap: 7px; border: 1px solid var(--el-border-color-lighter); border-radius: 10px; color: var(--el-text-color-primary); background: var(--el-bg-color); text-align: left; text-decoration: none; cursor: pointer; }
.mobile-domain-function-grid > :where(a,button):hover { border-color: var(--el-color-primary-light-5); background: var(--el-color-primary-light-9); }
.mobile-domain-function-grid > :where(a,button) > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: var(--el-color-primary); background: var(--el-color-primary-light-9); }
.mobile-domain-function-grid > :where(a,button) > span .ui-icon { width: 19px; height: 19px; }
.mobile-domain-function-grid > :where(a,button) > .ui-icon { width: 14px; height: 14px; color: var(--el-text-color-secondary); }
.mobile-domain-function-grid div { min-width: 0; }
.mobile-domain-function-grid b,.mobile-domain-function-grid small { display: block; min-width: 0; }
.mobile-domain-function-grid b { font-size: 13px; line-height: 19px; white-space: normal; overflow-wrap: anywhere; }
.mobile-domain-function-grid small { margin-top: 2px; color: var(--el-text-color-secondary); font-size: 10px; line-height: 15px; white-space: normal; }
.mobile-safety-risk { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--el-border-color-lighter); }
.mobile-safety-risk > b { font-size: 13px; }
.mobile-safety-risk > i { display: block; overflow: hidden; height: 8px; margin-top: 8px; border-radius: 99px; background: linear-gradient(90deg,#fb923c 0 11%,#60a5fa 11% 70%,#dbe2ea 70%); }
.mobile-safety-risk > div { display: flex; justify-content: space-between; margin-top: 7px; color: var(--el-text-color-secondary); font-size: 11px; }
.mobile-safety-risk span::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; background: #60a5fa; }
.mobile-safety-risk span.is-danger::before { background: var(--el-color-danger); }
.mobile-safety-risk span.is-warning::before { background: var(--el-color-warning); }
@media (max-width: 370px) {
  .mobile-domain-function-grid { gap: 6px; }
  .mobile-domain-function-grid > :where(a,button) { grid-template-columns: 32px minmax(0,1fr) 12px; min-height: 78px; padding: 7px; gap: 5px; }
  .mobile-domain-function-grid > :where(a,button) > span { width: 32px; height: 32px; }
  .mobile-domain-function-grid b { font-size: 12px; }
  .mobile-domain-function-grid small { font-size: 9px; line-height: 13px; }
}
.mobile-candidate-thumb { position: relative; overflow: hidden; width: 100%; height: 116px; margin: 8px 0 10px; border-radius: 8px; background: var(--el-fill-color-light); }
.mobile-candidate-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mobile-candidate-thumb span { position: absolute; right: 8px; bottom: 8px; padding: 2px 7px; border-radius: 6px; background: rgba(0,0,0,.68); color: #fff; font-size: 12px; font-weight: 700; }
.mobile-primary-block { width: 100%; min-height: 44px; border: 1px solid var(--el-color-primary); border-radius: 8px; background: var(--el-color-primary); color: #fff; font-weight: 600; cursor: pointer; }
.el-select { appearance: auto; }
.el-textarea { min-height: 96px; resize: vertical; }
.el-input:hover, .el-select:hover, .el-textarea:hover { border-color: var(--el-border-color-darker); }
.el-input:focus, .el-select:focus, .el-textarea:focus { border-color: var(--el-color-primary); box-shadow: var(--focus-ring); }
.el-input:disabled, .el-select:disabled, .el-textarea:disabled { color: var(--el-text-color-secondary); background: var(--el-fill-color-light); }
.required { margin-right: 3px; color: var(--el-color-danger); }
.query-form { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)) auto; align-items: end; gap: 12px 16px; }
.query-actions { display: flex; justify-content: flex-end; gap: 8px; }
.query-advanced { display: block; min-height: 30px; margin: 10px 0 -4px auto; padding: 4px 8px; color: var(--el-color-primary); background: transparent; }
.el-table-wrap { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid var(--el-border-color-light); border-radius: var(--radius-base); }
.el-table-wrap .el-table { min-width: max-content; border: 0; border-radius: 0; table-layout: fixed; }
.el-table-wrap th, .el-table-wrap td { height: 44px; padding: 8px 12px; overflow: hidden; border-right: 1px solid var(--el-border-color-lighter); border-bottom: 1px solid var(--el-border-color-lighter); vertical-align: middle; text-overflow: ellipsis; white-space: nowrap; }
.el-table-wrap th { position: sticky; top: 0; z-index: 1; color: var(--el-text-color-regular); font-weight: 600; text-align: left; background: #f5f7fa; }
.el-table-wrap tr:last-child td { border-bottom: 0; }
.el-table-wrap th:last-child, .el-table-wrap td:last-child { border-right: 0; }
.el-table-wrap tbody tr:hover { background: var(--el-fill-color-lighter); }
.el-table-wrap:focus-visible { outline: 2px solid var(--el-color-primary); outline-offset: 2px; }
.el-table-wrap.has-sticky-first .is-sticky-first { position: sticky; left: 0; z-index: 3; background: #fff; box-shadow: 1px 0 0 var(--el-border-color-lighter); }
.el-table-wrap.has-sticky-last .is-sticky-last { position: sticky; right: 0; z-index: 3; background: #fff; box-shadow: -1px 0 0 var(--el-border-color-lighter); }
.el-table-wrap.has-sticky-first th.is-sticky-first,.el-table-wrap.has-sticky-last th.is-sticky-last { z-index: 4; background: #f5f7fa; }
.el-form-item__label { display:flex; align-items:center; min-height:20px; }
.el-form-item__label-text { display:inline-flex; align-items:baseline; white-space:normal; }
.el-pager__item.is-active { color: #fff; border-color: var(--el-color-primary); background: var(--el-color-primary); }
.el-tag > i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.metric-label { color: var(--el-text-color-secondary); }
.metric-value { color: var(--el-text-color-primary); font-size: 26px; font-weight: 700; line-height: 34px; font-variant-numeric: tabular-nums; }
.metric-meta { color: var(--el-text-color-secondary); font-size: 12px; }
.metric-card { position: relative; overflow: hidden; }
.metric-card::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--el-color-primary); }
.metric-card.tone-success::after { background: var(--el-color-success); }
.metric-card.tone-warning::after { background: var(--el-color-warning); }
.metric-card.tone-danger::after { background: var(--el-color-danger); }
.metric-card[role="link"] { cursor: pointer; transition: border-color var(--motion-base), box-shadow var(--motion-base), transform var(--motion-fast); }
.metric-card[role="link"]:hover { border-color: var(--el-color-primary-light-5); box-shadow: var(--shadow-hover); transform: translateY(-1px); }

.el-overlay { padding: 32px; opacity: 0; transition: opacity var(--motion-base); }
.el-overlay.is-visible { opacity: 1; }
.el-overlay.is-leaving { opacity: 0; }
.el-overlay[data-layer="drawer"] { justify-content: flex-end; padding: 0; }
.el-dialog, .el-drawer { display: flex; flex-direction: column; width: min(var(--layer-width, 680px), calc(100vw - 40px)); max-height: min(86dvh, 920px); overflow: hidden; }
.el-drawer { width: min(var(--layer-width, 720px), 92vw); max-height: 100dvh; height: 100dvh; border-radius: 0; }
.el-layer__header { display: flex; align-items: flex-start; justify-content: space-between; min-height: 64px; padding: 14px 20px; gap: 16px; border-bottom: 1px solid var(--el-border-color-lighter); }
.el-layer__header h2 { color: var(--el-text-color-primary); font-size: 18px; font-weight: 650; }
.el-layer__header p { margin-top: 3px; color: var(--el-text-color-secondary); font-size: 12px; }
.el-layer__close { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: 0 0 auto; padding: 0; border-radius: var(--radius-compact); color: var(--el-text-color-secondary); background: transparent; }
.el-layer__close:hover { color: var(--el-text-color-primary); background: var(--el-fill-color); }
.el-layer__body { flex: 1 1 auto; min-width: 0; min-height: 0; padding: 20px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.el-layer__body form,.el-layer__body section,.el-layer__body article,.el-layer__body label,.el-layer__body div { min-width: 0; }
.el-layer__body input,.el-layer__body select,.el-layer__body textarea { box-sizing: border-box; max-width: 100%; }
.el-layer__footer { display: flex; align-items: center; justify-content: flex-end; min-height: 60px; padding: 12px 20px; gap: 8px; border-top: 1px solid var(--el-border-color-lighter); background: var(--el-fill-color-extra-light); }
.el-layer__footer .el-button { flex: 0 0 auto; }
.el-message-box__content { display: grid; grid-template-columns: 28px 1fr; align-items: start; padding: 4px 0; gap: 12px; }
.el-message-box__content > .ui-icon { width: 26px; height: 26px; color: var(--el-color-warning); }
.el-notification button { border-radius: 4px; background: transparent; }
.el-empty { min-height: 180px; }
.el-progress { display: grid; grid-template-columns: minmax(0, 1fr) 42px; align-items: center; gap: 8px; }
.el-progress__track { height: 6px; overflow: hidden; border-radius: 99px; background: var(--el-fill-color-dark); }
.el-progress__track i { display: block; height: 100%; border-radius: inherit; background: var(--el-color-primary); }
.el-progress__track i.tone-success { background: var(--el-color-success); }
.el-progress__track i.tone-warning { background: var(--el-color-warning); }
.el-progress__track i.tone-danger { background: var(--el-color-danger); }
.el-progress > span { color: var(--el-text-color-secondary); font-size: 12px; text-align: right; }

/* Three-surface shared context and switches. */
.terminal-switch { display: inline-flex; align-items: center; padding: 3px; gap: 2px; border: 1px solid var(--el-border-color-light); border-radius: 8px; background: var(--el-fill-color-light); }
.terminal-switch button { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 9px; gap: 6px; border-radius: 5px; color: var(--el-text-color-secondary); background: transparent; }
.terminal-switch button.is-active { color: var(--el-color-primary-dark-2); font-weight: 600; background: #fff; box-shadow: 0 1px 3px rgb(16 24 40 / 10%); }
.context-select { display: flex; align-items: center; min-width: 260px; height: 40px; padding: 3px 5px 3px 10px; gap: 8px; border: 1px solid var(--el-border-color-light); border-radius: var(--radius-base); background: #fff; }
.context-select > span { flex: 0 0 auto; color: var(--el-text-color-secondary); font-size: 12px; }
.context-select select { min-width: 0; height: 30px; flex: 1 1 auto; border: 0; outline: 0; color: var(--el-text-color-primary); font-weight: 600; background: transparent; }

/* Web shell emitted by renderers.js. */
.web-brand { display: flex; align-items: center; height: var(--web-header-height); padding: 0 14px; gap: 10px; border-bottom: 1px solid rgb(255 255 255 / 10%); cursor: pointer; }
.brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 8px; color: #fff; font-weight: 700; letter-spacing: -.03em; background: var(--el-color-primary); }
.web-brand strong { display: block; color: #fff; font-size: 14px; line-height: 19px; }
.web-brand small { display: block; color: var(--color-shell-muted); font-size: 10px; letter-spacing: .06em; }
.web-nav-scroll { flex: 1 1 auto; min-height: 0; padding: 10px 8px 18px; overflow-y: auto; scrollbar-color: rgb(255 255 255 / 18%) transparent; scrollbar-width: thin; }
.nav-group + .nav-group { margin-top: 5px; }
.nav-group-title { display: grid; grid-template-columns: 18px 1fr 16px; align-items: center; width: 100%; min-height: 40px; padding: 8px 10px; gap: 9px; border-radius: 6px; color: #c7d4e3; text-align: left; background: transparent; }
.nav-group-title:hover { color: #fff; background: rgb(255 255 255 / 6%); }
.nav-group-title--direct { position: relative; grid-template-columns: 18px 1fr; }
.nav-group-title--direct.is-active { color: #fff; font-weight: 600; background: #173d6f; }
.nav-group-title--direct.is-active::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 0; width: 3px; border-radius: 2px; background: #60a5fa; }
.nav-group-title .ui-icon:last-child { transition: transform var(--motion-base); }
.nav-group.is-open .nav-group-title .ui-icon:last-child { transform: rotate(180deg); }
.nav-group-items { display: none; padding: 2px 0 5px 27px; }
.nav-group.is-open .nav-group-items { display: grid; }
.nav-item { position: relative; display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 34px; padding: 6px 8px 6px 11px; gap: 8px; border-radius: 5px; color: #9fb0c5; text-align: left; background: transparent; }
.nav-item small { font-size: 10px; opacity: .7; }
.nav-item:hover { color: #fff; background: rgb(255 255 255 / 6%); }
.nav-item.is-active { color: #fff; font-weight: 600; background: #173d6f; }
.nav-item.is-active::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 0; width: 3px; border-radius: 2px; background: #60a5fa; }
.nav-group-items--sectioned { padding-left: 0; }
.nav-subgroup { width: 100%; }
.nav-subgroup summary { display: flex; align-items: center; justify-content: space-between; min-height: 30px; padding: 4px 12px 4px 29px; color: #8da3bd; font-size: 12px; cursor: pointer; list-style: none; }
.nav-subgroup summary::-webkit-details-marker { display: none; }
.nav-subgroup summary:hover { color: #fff; background: rgb(255 255 255 / 5%); }
.nav-subgroup summary .ui-icon { width: 14px; height: 14px; transition: transform .15s ease; }
.nav-subgroup[open] summary .ui-icon { transform: rotate(90deg); }
.nav-subgroup-items { padding-left: 27px; }
.web-nav-footer { display: grid; grid-template-columns: 1fr 1fr; padding: 10px 8px; gap: 6px; border-top: 1px solid rgb(255 255 255 / 10%); }
.web-nav-footer button { display: flex; flex-direction: column; align-items: center; min-height: 50px; padding: 7px 4px; gap: 3px; border-radius: 6px; color: #aebdd0; font-size: 11px; background: transparent; }
.web-nav-footer button:hover { color: #fff; background: rgb(255 255 255 / 7%); }
.web-header-left, .web-header-right { display: flex; align-items: center; min-width: 0; gap: 10px; }
.web-header-left { flex: 1 1 auto; }
.web-header-right { flex: 0 0 auto; }
.sidebar-collapse, .header-icon-button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border-radius: 6px; color: var(--el-text-color-regular); background: transparent; }
.sidebar-collapse:hover, .header-icon-button:hover { color: var(--el-color-primary); background: var(--el-color-primary-light-9); }
.header-icon-button em { position: absolute; top: 0; right: -2px; min-width: 15px; height: 15px; padding: 0 3px; border: 2px solid #fff; border-radius: 99px; color: #fff; font-size: 9px; line-height: 11px; background: var(--el-color-danger); }
.account-button { display: grid; grid-template-columns: 32px minmax(0, 1fr) 16px; align-items: center; min-width: 150px; height: 40px; padding: 3px 8px 3px 4px; gap: 8px; border-radius: 8px; text-align: left; background: transparent; }
.account-button:hover { background: var(--el-fill-color-light); }
.account-avatar { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; color: #fff; font-weight: 700; background: var(--el-color-primary); }
.account-button b, .account-button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-button b { color: var(--el-text-color-primary); font-size: 13px; }
.account-button small { color: var(--el-text-color-secondary); font-size: 11px; }
.page-body { display: grid; align-content: start; min-width: 0; gap: 16px; }
.page-header { margin-bottom: 16px; }
.page-header > div:first-child { min-width: 0; }
.breadcrumbs { display: flex; align-items: center; min-height: 20px; margin-bottom: 6px; gap: 6px; color: var(--el-text-color-secondary); font-size: 12px; }
.breadcrumbs i { color: var(--el-text-color-placeholder); font-style: normal; }
.breadcrumbs b { color: var(--el-text-color-regular); }
.page-header h1 { display: flex; align-items: center; gap: 8px; color: var(--el-text-color-primary); font-size: 22px; line-height: 30px; }
.page-header h1 small { padding: 1px 6px; border: 1px solid var(--el-border-color); border-radius: 4px; color: var(--el-text-color-secondary); font-size: 11px; font-weight: 500; }
.page-header p { max-width: 820px; margin-top: 4px; color: var(--el-text-color-secondary); }
.page-header-actions { display: flex; align-items: center; flex: 0 0 auto; gap: 8px; }
.content-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 40px; gap: 16px; }
.content-toolbar > div { display: flex; align-items: center; gap: 8px; }
.content-toolbar > div:last-child button, .row-actions button { min-height: 28px; padding: 3px 7px; color: var(--el-color-primary); border-radius: 4px; background: transparent; }
.content-toolbar > div:last-child button { display: inline-flex; align-items: center; gap: 5px; color: var(--el-text-color-regular); }
.content-toolbar button:hover, .row-actions button:hover { color: var(--el-color-primary-dark-2); background: var(--el-color-primary-light-9); }
.row-actions { display: flex; align-items: center; gap: 2px; white-space: nowrap; }
.content-card { overflow: hidden; }
.content-card > header { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 11px 16px; gap: 12px; border-bottom: 1px solid var(--el-border-color-lighter); }
.content-card > header h2 { color: var(--el-text-color-primary); font-size: 16px; }
.content-card > header p { margin-top: 2px; color: var(--el-text-color-secondary); font-size: 12px; }
.content-card > :not(header) { margin: 16px; }
.content-card > .el-table-wrap { width: calc(100% - 32px); }
.content-card > .el-pagination { margin: 0 16px 10px; }
.two-column-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr); gap: 16px; }
.two-column-layout .span-2 { grid-row: span 2; }
.metric-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.metric-grid.compact { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.workflow-strip { display: grid; grid-template-columns: minmax(190px, .75fr) minmax(500px, 2.2fr) auto; align-items: center; padding: 12px 14px; gap: 16px; border: 1px solid #c9dafa; border-radius: 8px; background: #f5f9ff; }
.workflow-strip > div:first-child strong { color: #183b6b; }
.workflow-strip > div:first-child p { margin-top: 3px; color: #58708e; font-size: 11px; }
.workflow-strip > button { min-height: 32px; padding: 5px 10px; border: 1px solid var(--el-color-primary-light-7); border-radius: 5px; color: var(--el-color-primary-dark-2); background: #fff; }
.workflow-strip__steps { display: flex; align-items: center; min-width: 0; overflow-x: auto; }
.workflow-strip__steps button { position: relative; display: flex; align-items: center; min-width: 0; flex: 1 0 112px; padding: 4px 12px 4px 0; gap: 6px; color: var(--el-text-color-secondary); background: transparent; }
.workflow-strip__steps button:not(:last-child)::after { content: ""; position: absolute; right: 3px; width: 12px; height: 1px; background: var(--el-border-color-dark); }
.workflow-strip__steps i { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex: 0 0 auto; border: 1px solid var(--el-border-color-dark); border-radius: 50%; font-style: normal; background: #fff; }
.workflow-strip__steps button.is-current { color: var(--el-color-primary-dark-2); font-weight: 600; }
.workflow-strip__steps button.is-current i { color: #fff; border-color: var(--el-color-primary); background: var(--el-color-primary); }

/* Web specialized pages. */
.flow-progress-list, .risk-list { display: grid; gap: 8px; }
.flow-progress-list button { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(140px, .8fr); align-items: center; min-height: 44px; padding: 8px 10px; gap: 12px; border-radius: 6px; text-align: left; background: var(--el-fill-color-extra-light); }
.flow-progress-list button:hover { background: var(--el-color-primary-light-9); }
.flow-progress-list button > span { display: flex; align-items: center; gap: 8px; }
.risk-list button { display: grid; grid-template-columns: 8px minmax(0, 1fr) 28px; align-items: center; min-height: 52px; padding: 8px 10px; gap: 10px; border: 1px solid var(--el-border-color-lighter); border-radius: 6px; text-align: left; background: #fff; }
.risk-list small { display: block; color: var(--el-text-color-secondary); }
.risk-list em { font-style: normal; font-weight: 700; text-align: center; }
.risk-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--el-color-info); }
.risk-dot.danger { background: var(--el-color-danger); }.risk-dot.warning { background: var(--el-color-warning); }
.portfolio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.project-health-card { padding: 16px; border: 1px solid var(--el-border-color-light); border-radius: 8px; background: #fff; box-shadow: var(--shadow-card); cursor: pointer; }
.project-health-card:hover { border-color: var(--el-color-primary-light-5); box-shadow: var(--shadow-hover); }
.project-health-card > header { display: flex; align-items: flex-start; justify-content: space-between; }
.project-health-card > header span { display: flex; align-items: center; gap: 8px; }
.project-health-card > header > b { color: var(--el-color-primary); font-size: 30px; }
.project-health-card h3 { margin-top: 14px; font-size: 17px; }
.project-health-card > p { margin: 4px 0 14px; color: var(--el-text-color-secondary); }
.project-health-card > div { display: grid; gap: 7px; }
.process-overview { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: center; padding: 14px 16px; gap: 24px; border: 1px solid var(--el-border-color-light); border-radius: 8px; background: #fff; }
.process-steps { display: flex; align-items: center; }
.process-steps span { position: relative; display: flex; align-items: center; min-width: 0; flex: 1 1 0; gap: 7px; color: var(--el-text-color-secondary); }
.process-steps span:not(:last-child)::after { content: ""; height: 1px; flex: 1 1 auto; margin-right: 8px; background: var(--el-border-color-dark); }
.process-steps i { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex: 0 0 auto; border: 1px solid var(--el-border-color-dark); border-radius: 50%; font-style: normal; background: #fff; }
.process-steps .is-done i, .process-steps .is-active i { color: #fff; border-color: var(--el-color-primary); background: var(--el-color-primary); }
.process-steps .is-active { color: var(--el-color-primary-dark-2); font-weight: 600; }
.process-overview aside { padding: 10px 12px; border-left: 3px solid var(--el-color-warning); border-radius: 5px; color: #75430b; background: var(--el-color-warning-light-9); }
.process-overview aside p { margin-top: 3px; font-size: 12px; }
.quality-closure-board { overflow: hidden; border: 1px solid #b9d8ff; border-radius: 8px; background: linear-gradient(180deg,#fff,#f5f9ff); }
.quality-closure-board > header { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid #dce9f8; }
.quality-closure-board > header span { color: var(--el-color-primary); font-size: 12px; font-weight: 700; }
.quality-closure-board > header h2 { margin-top: 4px; font-size: 18px; }
.quality-closure-board > header aside { max-width: 390px; padding-left: 16px; border-left: 3px solid var(--el-color-primary); }
.quality-closure-board > header aside b,.quality-closure-board > header aside small { display: block; }
.quality-closure-board > header aside small { margin-top: 4px; color: var(--el-text-color-secondary); }
.quality-closure-board > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 16px 18px; }
.quality-closure-board article { position: relative; display: flex; align-items: flex-start; min-width: 0; gap: 10px; }
.quality-closure-board article:not(:last-child)::after { content:""; position: absolute; top: 15px; right: 10px; left: 42px; height: 2px; background: #d5e1ef; }
.quality-closure-board article i { position: relative; z-index: 1; display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 2px solid #c8d8eb; border-radius: 50%; color: #60758d; font-style: normal; background: #fff; }
.quality-closure-board article.is-active i,.quality-closure-board article.is-complete i { border-color: var(--el-color-primary); color: #fff; background: var(--el-color-primary); }
.quality-closure-board article span { position: relative; z-index: 1; min-width: 0; padding-right: 10px; background: #f9fbff; }
.quality-closure-board article b,.quality-closure-board article strong,.quality-closure-board article small { display: block; }
.quality-closure-board article b { font-size: 13px; }
.quality-closure-board article strong { margin: 5px 0 2px; color: #173d69; font-size: 15px; }
.quality-closure-board article small { color: var(--el-text-color-secondary); line-height: 1.45; }
.quality-object-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1.4fr auto 1fr; align-items: center; padding: 14px 18px; gap: 12px; border: 1px solid #cfe0f4; border-radius: 8px; background: #f7faff; }
.quality-object-chain div { min-width: 0; }
.quality-object-chain span,.quality-object-chain b { display: block; }
.quality-object-chain span { color: var(--el-text-color-secondary); font-size: 12px; }
.quality-object-chain b { margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quality-object-chain i { color: var(--el-color-primary); font-style: normal; }
.quality-evidence-list { display: grid; margin-top: 12px; gap: 8px; }
.quality-evidence-list li { display: flex; align-items: center; padding: 9px 10px; gap: 8px; border: 1px solid var(--el-border-color-lighter); border-radius: 5px; }
.quality-evidence-list li span { flex: 1; }
.quality-evidence-list li b { color: var(--el-color-success); font-size: 12px; }
.mobile-quality-summary { display: grid; grid-template-columns: repeat(3,1fr); margin: 12px; gap: 8px; }
.mobile-quality-summary div { padding: 13px 8px; border: 1px solid #dce8f5; border-radius: 9px; text-align: center; background: #fff; }
.mobile-quality-summary b,.mobile-quality-summary span { display: block; }
.mobile-quality-summary b { color: var(--el-color-primary); font-size: 22px; }
.mobile-quality-summary span { margin-top: 3px; color: var(--el-text-color-secondary); font-size: 12px; }
.document-compare { display: grid; grid-template-columns: minmax(340px, .85fr) minmax(500px, 1.45fr); min-height: 610px; overflow: hidden; border: 1px solid var(--el-border-color-light); border-radius: 8px; background: #fff; }
.document-preview { min-width: 0; padding: 16px; border-right: 1px solid var(--el-border-color-light); background: #f0f3f7; }
.document-preview > header, .ai-field-panel > header { display: flex; align-items: center; justify-content: space-between; min-height: 36px; gap: 12px; }
.document-preview > header span, .ai-field-panel > header span { color: var(--el-text-color-secondary); font-size: 12px; }
.paper-preview { min-height: 520px; padding: 48px 42px; margin-top: 10px; color: #374151; background: #fff; box-shadow: 0 5px 20px rgb(16 24 40 / 10%); }
.paper-preview h3 { margin-bottom: 28px; font-family: serif; font-size: 25px; text-align: center; }
.paper-preview p, .paper-preview mark { display: block; margin: 16px 0; line-height: 1.8; }
.paper-preview mark { padding: 7px; background: #fff1b8; }
.ai-field-panel { display: flex; flex-direction: column; min-width: 0; }
.ai-field-panel > header { padding: 14px 16px; border-bottom: 1px solid var(--el-border-color-lighter); }
.ai-field-panel > header > div span { display: block; margin-top: 2px; }
.ai-field-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.ai-field-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 14px 16px; gap: 16px; border-bottom: 1px solid var(--el-border-color-lighter); }
.ai-field-list article.is-low-confidence { border-left: 3px solid var(--el-color-warning); background: var(--el-color-warning-light-9); }
.ai-field-list article > div:first-child span, .ai-field-list article > div:first-child small { display: block; color: var(--el-text-color-secondary); }
.ai-field-list article > div:first-child strong { display: block; margin: 3px 0; }
.ai-field-list article > div:last-child { display: flex; align-items: center; gap: 4px; }
.ai-field-list article button { min-height: 28px; padding: 3px 7px; border-radius: 4px; color: var(--el-color-primary); background: transparent; }
.ai-field-list article button:hover { background: var(--el-color-primary-light-9); }
.ai-field-panel > footer { display: flex; justify-content: flex-end; padding: 12px 16px; gap: 8px; border-top: 1px solid var(--el-border-color-light); }
.mapping-summary, .adapter-strip { display: flex; align-items: center; flex-wrap: wrap; padding: 10px 14px; gap: 20px; border: 1px solid var(--el-border-color-light); border-radius: 7px; background: #fff; }
.mapping-summary span, .adapter-strip span { margin-right: auto; color: var(--el-text-color-secondary); }
.adapter-strip button { min-height: 30px; padding: 4px 9px; border-radius: 5px; color: #a55404; background: var(--el-color-warning-light-9); }
.line-chart { min-height: 270px; padding: 8px; }
.line-chart svg { width: 100%; min-height: 235px; }
.line-chart .grid path { stroke: #e5eaf1; stroke-width: 1; }
.line-chart polyline { fill: none; stroke-width: 3; }
.line-chart .plan { stroke: #94a3b8; }.line-chart .actual { stroke: var(--el-color-primary); }.line-chart .forecast { stroke: var(--el-color-warning); stroke-dasharray: 6 5; }
.line-chart text { fill: var(--el-text-color-secondary); font-size: 11px; }
.chart-legend { display: flex; justify-content: center; gap: 16px; color: var(--el-text-color-secondary); font-size: 12px; }
.chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.chart-legend i { width: 14px; height: 3px; background: var(--el-color-primary); }
.chart-legend i.plan { background: #94a3b8; }.chart-legend i.forecast { background: var(--el-color-warning); }
.decision-card { padding: 16px; border: 1px solid #c9dafa; border-radius: 8px; background: #f6f9ff; }
.decision-card header { display: flex; align-items: center; justify-content: space-between; }
.decision-card header span:last-child { color: var(--el-text-color-secondary); font-size: 11px; }
.decision-card h3 { margin-top: 18px; font-size: 18px; }
.decision-card p { margin: 8px 0 18px; color: var(--el-text-color-regular); }
.decision-card > div { display: flex; gap: 8px; }
.decision-card button { min-height: 32px; padding: 5px 10px; border-radius: 5px; color: var(--el-color-primary); background: #fff; }
.decision-card button:last-child { color: #fff; background: var(--el-color-primary); }

.ai-workbench { display: flex; flex-direction: column; min-height: calc(100dvh - 150px); overflow: hidden; border: 1px solid var(--el-border-color-light); border-radius: 10px; background: #fff; }
.ai-workbench > header { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--el-border-color-lighter); }
.ai-workbench > header > div { display: flex; align-items: center; gap: 12px; }
.ai-workbench > header p { color: var(--el-text-color-secondary); }
.ai-orbit { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; color: #fff; background: var(--el-color-primary); }
.ai-orbit .ui-icon { width: 23px; height: 23px; }
.ai-quick-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 14px 18px; gap: 10px; border-bottom: 1px solid var(--el-border-color-lighter); background: var(--el-fill-color-extra-light); }
.ai-quick-metrics button { display: grid; padding: 12px; gap: 3px; border: 1px solid var(--el-border-color-light); border-radius: 7px; text-align: left; background: #fff; }
.ai-quick-metrics button:hover { border-color: var(--el-color-primary-light-5); }
.ai-quick-metrics strong { font-size: 22px; }
.ai-quick-metrics small { color: var(--el-text-color-secondary); }
.ai-empty-state { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; min-height: 340px; padding: 40px 20px; text-align: center; }
.ai-empty-state > div:first-child { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 18px; color: var(--el-color-primary); background: var(--el-color-primary-light-9); }
.ai-empty-state > div:first-child .ui-icon { width: 28px; height: 28px; }
.ai-empty-state h3 { margin-top: 16px; font-size: 20px; }
.ai-empty-state > p { max-width: 600px; margin-top: 5px; color: var(--el-text-color-secondary); }
.ai-suggestions { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 20px; gap: 8px; }
.ai-suggestions button { min-height: 34px; padding: 5px 12px; border: 1px solid var(--el-border-color); border-radius: 99px; color: var(--el-color-primary); background: #fff; }
.ai-composer { width: min(780px, calc(100% - 36px)); padding: 10px 12px; margin: 0 auto 18px; border: 1px solid var(--el-border-color-dark); border-radius: 10px; background: #fff; box-shadow: 0 6px 22px rgb(16 24 40 / 8%); }
.ai-composer textarea { width: 100%; padding: 4px; resize: none; border: 0; outline: 0; }
.ai-composer > div { display: flex; align-items: center; justify-content: space-between; }
.ai-composer > div > span { color: var(--el-text-color-secondary); font-size: 11px; }

/* Login. */
.login-shell { display: grid; grid-template-columns: minmax(540px, 1.15fr) minmax(440px, .85fr); min-height: 100dvh; background: #fff; }
.login-brand-panel { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; padding: 44px clamp(40px, 5vw, 80px); overflow: hidden; color: #fff; background: #0b1f3a; }
.login-brand-panel::before { content: ""; position: absolute; top: -14%; right: -8%; width: 560px; height: 560px; border: 1px solid rgb(96 165 250 / 18%); border-radius: 50%; box-shadow: 0 0 0 90px rgb(37 99 235 / 5%), 0 0 0 180px rgb(56 189 248 / 3%); }
.login-brand { position: relative; display: flex; align-items: center; gap: 12px; }
.login-brand > span { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 9px; font-weight: 700; background: var(--el-color-primary); }
.login-brand strong, .login-brand small { display: block; }
.login-brand small { margin-top: 2px; color: #91a4bd; font-size: 10px; letter-spacing: .09em; }
.login-message { position: relative; max-width: 720px; }
.login-message > span { display: inline-flex; padding: 4px 9px; border: 1px solid rgb(96 165 250 / 35%); border-radius: 99px; color: #93c5fd; font-size: 12px; background: rgb(37 99 235 / 10%); }
.login-message h1 { margin-top: 18px; font-size: clamp(36px, 4.2vw, 60px); font-weight: 650; line-height: 1.16; letter-spacing: -.035em; }
.login-message p { max-width: 650px; margin-top: 20px; color: #b9c8da; font-size: 16px; line-height: 1.8; }
.login-capabilities { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 620px; gap: 10px; }
.login-capabilities span { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; gap: 9px; border: 1px solid rgb(255 255 255 / 10%); border-radius: 7px; color: #dce8f5; background: rgb(255 255 255 / 4%); }
.login-brand-panel > small { color: #8296ae; }
.login-panel { display: flex; align-items: center; justify-content: center; padding: 48px; }
.login-card { width: min(440px, 100%); padding: 30px; border: 1px solid var(--el-border-color-light); border-radius: 12px; background: #fff; box-shadow: 0 22px 54px rgb(16 24 40 / 11%); }
.login-card > header { display: flex; align-items: center; margin-bottom: 26px; gap: 12px; }
.login-mark { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; color: #fff; font-weight: 700; background: var(--el-color-primary); }
.login-card > header h2 { font-size: 24px; }.login-card > header p { color: var(--el-text-color-secondary); }
.login-card form { display: grid; gap: 16px; }
.login-card form > .el-button { width: 100%; height: 40px; margin-top: 4px; }
.login-remember { display: flex; align-items: center; gap: 7px; color: var(--el-text-color-regular); }
.login-demo { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--el-border-color-lighter); }
.login-demo > span { color: var(--el-text-color-secondary); font-size: 12px; }
.login-demo > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 8px; gap: 8px; }
.login-demo button { display: flex; flex-direction: column; align-items: center; min-height: 62px; padding: 8px; gap: 4px; border: 1px solid var(--el-border-color-light); border-radius: 7px; background: var(--el-fill-color-extra-light); }
.login-demo button:hover { color: var(--el-color-primary); border-color: var(--el-color-primary-light-5); background: var(--el-color-primary-light-9); }
.login-card > footer { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; color: var(--el-text-color-secondary); font-size: 11px; }
.login-card > footer button { color: var(--el-color-primary); background: transparent; }

/* Dialog/drawer business content. */
.record-form { display: grid; gap: 16px; }.form-two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.drawer-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--el-border-color-light); border-radius: 7px; }
.drawer-detail-list > div { display: grid; grid-template-columns: 110px 1fr; min-height: 46px; border-right: 1px solid var(--el-border-color-lighter); border-bottom: 1px solid var(--el-border-color-lighter); }
.drawer-detail-list dt, .drawer-detail-list dd { padding: 11px; }
.drawer-detail-list dt { color: var(--el-text-color-secondary); background: var(--el-fill-color-light); }
.drawer-detail-list dd { color: var(--el-text-color-primary); }
.drawer-trace { margin-top: 22px; }.drawer-trace h3 { margin-bottom: 12px; }
.event-confirm-layout { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(330px, 1.2fr); gap: 20px; }
.event-confirm-layout figure { overflow: hidden; border: 1px solid var(--el-border-color-light); border-radius: 8px; background: #0d1f32; }
.event-confirm-layout figure img { width: 100%; min-height: 320px; object-fit: cover; }
.event-confirm-layout figcaption { padding: 9px 11px; color: #dce8f5; font-size: 12px; }
.event-confirm-layout form { display: grid; align-content: start; gap: 15px; }
.rule-callout, .mobile-rule-callout { padding: 10px 12px; border-left: 3px solid var(--el-color-warning); border-radius: 5px; color: #75430b; background: var(--el-color-warning-light-9); }
.rule-callout p, .mobile-rule-callout p { margin-top: 3px; }
.demo-tools { display: grid; gap: 24px; }.demo-tools section > p { margin: 3px 0 12px; color: var(--el-text-color-secondary); }
.demo-project-list { display: grid; gap: 8px; }.demo-project-list > button { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 9px 11px; border: 1px solid var(--el-border-color-light); border-radius: 7px; text-align: left; background: #fff; }
.demo-project-list > button.is-active { border-color: var(--el-color-primary); background: var(--el-color-primary-light-9); }.demo-project-list small { display: block; color: var(--el-text-color-secondary); }
.demo-role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.demo-role-grid button { display: grid; justify-items: start; min-height: 96px; padding: 11px; gap: 3px; border: 1px solid var(--el-border-color-light); border-radius: 7px; text-align: left; background: #fff; }
.demo-role-grid button.is-active { color: var(--el-color-primary-dark-2); border-color: var(--el-color-primary); background: var(--el-color-primary-light-9); }
.demo-role-grid button span { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 6px; color: var(--el-color-primary); background: var(--el-color-primary-light-9); }
.demo-role-grid small { color: var(--el-text-color-secondary); }
.demo-tools > aside { display: flex; align-items: center; padding: 10px 12px; gap: 8px; border-radius: 6px; color: #1e4d82; background: var(--el-color-primary-light-9); }
.artifact-summary { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 18px; gap: 10px; }
.artifact-summary > div { padding: 11px 12px; border: 1px solid var(--el-border-color-light); border-radius: 6px; }.artifact-summary span,.artifact-summary strong{display:block}.artifact-summary span{color:var(--el-text-color-secondary);font-size:12px}
.artifact-formats { display: grid; gap: 8px; }.artifact-format { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; min-height: 62px; padding: 10px 12px; gap: 10px; border: 1px solid var(--el-border-color-light); border-radius: 7px; cursor: pointer; }.artifact-format:has(input:checked){border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.artifact-format small{display:block;color:var(--el-text-color-secondary)}.artifact-format em{color:var(--el-color-primary);font-style:normal}
.artifact-result{text-align:center}.artifact-result__icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;color:var(--el-color-success);background:var(--el-color-success-light-9)}.artifact-result__icon .ui-icon{width:28px;height:28px}.artifact-result>strong{display:block;margin-top:12px;font-size:18px}.artifact-result>p{margin-top:4px;color:var(--el-text-color-secondary)}.artifact-result dl{display:grid;margin-top:18px;text-align:left;border:1px solid var(--el-border-color-light);border-radius:7px}.artifact-result dl>div{display:grid;grid-template-columns:100px 1fr;padding:8px 10px;border-bottom:1px solid var(--el-border-color-lighter)}.artifact-result dl>div:last-child{border-bottom:0}.artifact-result dt{color:var(--el-text-color-secondary)}
.file-task-list{display:grid;gap:8px}.file-task-list article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;min-height:64px;padding:9px 10px;gap:10px;border:1px solid var(--el-border-color-light);border-radius:7px}.file-task-list strong,.file-task-list small{display:block}.file-task-list small{margin-top:2px;color:var(--el-text-color-secondary)}.file-format{display:inline-flex;align-items:center;justify-content:center;width:44px;height:36px;border-radius:6px;color:var(--el-color-primary);font-size:11px;font-weight:700;background:var(--el-color-primary-light-9)}
.ai-answer-card > header { display:flex;align-items:center;justify-content:space-between }.ai-answer-card > header span:last-child{color:var(--el-text-color-secondary)}.ai-answer-card h2{margin:16px 0 18px;font-size:22px}.ai-answer-card section{padding:14px 0;border-top:1px solid var(--el-border-color-lighter)}.ai-answer-card section h3{font-size:15px}.ai-answer-card section p,.ai-answer-card section ul{margin:6px 0 0;color:var(--el-text-color-regular);line-height:1.75}.ai-answer-card section ul{padding-left:20px}
.review-matrix > p{color:var(--el-text-color-secondary)}.review-matrix__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;gap:8px}.review-matrix__groups article{display:grid;grid-template-columns:70px 1fr auto;align-items:center;padding:10px;border:1px solid var(--el-border-color-light);border-radius:6px}.review-matrix__groups b{color:var(--el-color-primary)}.review-matrix__groups em{font-style:normal;color:var(--el-text-color-secondary)}.review-matrix h3{margin:22px 0 10px}.review-matrix__flows{display:grid;gap:7px}.review-matrix__flows button{display:grid;padding:10px 12px;border:1px solid var(--el-border-color-light);border-radius:6px;text-align:left;background:#fff}.review-matrix__flows button:hover{border-color:var(--el-color-primary-light-5);background:var(--el-color-primary-light-9)}.review-matrix__flows small{margin-top:3px;color:var(--el-text-color-secondary)}

/* Flow review center. */
.flow-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.flow-index-grid article { display: flex; flex-direction: column; min-height: 250px; padding: 16px; border: 1px solid var(--el-border-color-light); border-radius: 9px; background: #fff; box-shadow: var(--shadow-card); }
.flow-index-grid article > header { display: flex; align-items: center; justify-content: space-between; }.flow-index-grid article > header > b{font-size:20px;color:var(--el-color-primary)}
.flow-index-grid h2{margin-top:18px;font-size:18px}.flow-index-grid p{min-height:44px;margin:6px 0 16px;color:var(--el-text-color-secondary)}.flow-index-grid article>div{display:flex;justify-content:space-between;margin-top:14px;color:var(--el-text-color-secondary);font-size:12px}.flow-index-grid article>button{min-height:34px;margin-top:auto;border-radius:5px;color:#fff;background:var(--el-color-primary)}
.flow-runner { overflow: hidden; border: 1px solid var(--el-border-color-light); border-radius: 9px; background: #fff; }
.flow-runner > header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px;gap:20px;border-bottom:1px solid var(--el-border-color-lighter)}.flow-runner > header h2{margin-top:8px;font-size:21px}.flow-runner > header p{margin-top:3px;color:var(--el-text-color-secondary)}.flow-runner > header > div:last-child{display:grid;gap:4px}.flow-runner > header select{min-width:210px;height:34px;border:1px solid var(--el-border-color);border-radius:5px;background:#fff}
.flow-runner-steps{display:flex;padding:14px 18px;overflow-x:auto;border-bottom:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-extra-light)}.flow-runner-steps button{position:relative;display:flex;align-items:center;min-width:160px;padding:4px 22px 4px 0;gap:8px;text-align:left;background:transparent}.flow-runner-steps button:not(:last-child)::after{content:"";position:absolute;right:5px;width:18px;height:1px;background:var(--el-border-color-dark)}.flow-runner-steps i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto;border:1px solid var(--el-border-color-dark);border-radius:50%;font-style:normal;background:#fff}.flow-runner-steps span{display:grid}.flow-runner-steps small{color:var(--el-text-color-secondary)}.flow-runner-steps .is-current i,.flow-runner-steps .is-done i{color:#fff;border-color:var(--el-color-primary);background:var(--el-color-primary)}.flow-runner-steps .is-current{color:var(--el-color-primary);font-weight:600}
.flow-runner-work{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:0}.flow-runner-work>section,.flow-runner-work>aside{padding:18px}.flow-runner-work>aside{border-left:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-extra-light)}.flow-current{display:grid;grid-template-columns:64px 1fr;align-items:center;padding:14px;margin-top:10px;gap:14px;border:1px solid #c9dafa;border-radius:7px;background:#f5f9ff}.flow-current>span{display:inline-flex;align-items:center;justify-content:center;height:44px;border-radius:7px;color:#fff;font-weight:700;background:var(--el-color-primary)}.flow-current p{margin-top:3px;color:var(--el-text-color-secondary)}.flow-runner-work dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px;border:1px solid var(--el-border-color-lighter);border-radius:7px}.flow-runner-work dl div{padding:10px;border-right:1px solid var(--el-border-color-lighter)}.flow-runner-work dl div:last-child{border-right:0}.flow-runner-work dt{color:var(--el-text-color-secondary);font-size:11px}.flow-runner-work dd{margin-top:5px}.flow-runner-actions{display:flex;justify-content:flex-end;margin-top:16px;gap:8px}.flow-failure-list{display:grid;margin-top:16px;gap:7px}.flow-failure-list span{display:flex;align-items:flex-start;padding:7px 8px;gap:7px;border-radius:5px;color:#75430b;background:var(--el-color-warning-light-9)}

/* Mobile surface bridging and page patterns. */
.mobile-stage { position: relative; padding-top: 70px; }
.mobile-stage-tools { position: fixed; top: 14px; left: 50%; z-index: 3; display: flex; align-items: center; padding: 5px; gap: 6px; border: 1px solid var(--el-border-color-light); border-radius: 9px; background: rgb(255 255 255 / 96%); box-shadow: var(--shadow-card); transform: translateX(-50%); }
.mobile-stage-tools > button { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 8px; gap: 5px; border-radius: 5px; color: var(--el-text-color-regular); background: var(--el-fill-color-light); }
.phone-frame { position: relative; width: min(100%, 414px); min-width: 320px; height: min(868px, calc(100dvh - 94px)); overflow: hidden; border: 10px solid #18202a; border-radius: 40px; background: var(--el-bg-color-page); box-shadow: 0 22px 50px rgb(16 24 40 / 22%); }
.phone-status { display: grid; grid-template-columns:1fr 80px 1fr; align-items:center; height:28px; padding:0 16px; color:#0f172a; font-size:11px; font-weight:650; background:#fff; }
.phone-status > span:last-child{text-align:right}.phone-status i{align-self:start;width:80px;height:22px;border-radius:0 0 16px 16px;background:#0a0e14}
.phone-frame .mobile-app { min-height:0; height:calc(100% - 28px); max-height:none; }
.mobile-header { position: sticky; top: 0; z-index: var(--z-sticky); display: grid; grid-template-columns:44px minmax(0,1fr) 62px; align-items:center; min-height:54px; padding:0 5px; border-bottom:1px solid var(--el-border-color-lighter); background:rgb(255 255 255 / 97%); }
.mobile-header > button { display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:7px;background:transparent }.mobile-header > button:active{background:var(--el-fill-color)}.mobile-header > div{text-align:center;overflow:hidden}.mobile-header strong,.mobile-header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header strong{font-size:16px}.mobile-header small{color:var(--el-text-color-secondary);font-size:10px}.mobile-back.is-hidden{visibility:hidden}
.mobile-header>.mobile-context-switch{width:auto;height:32px;padding:0 8px;gap:2px;border:1px solid var(--el-border-color-light);border-radius:16px;color:var(--el-text-color-regular);background:var(--el-fill-color-light);font-size:12px;font-weight:600}.mobile-header>.mobile-context-switch svg{width:14px;height:14px}
.mobile-contained-layer{position:absolute;z-index:40;inset:0;display:flex;align-items:flex-end;overflow:hidden;background:rgb(15 23 42 / 48%)}
.mobile-bottom-nav button { position: relative; display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:52px;padding:3px 4px;gap:2px;border-radius:6px;color:var(--el-text-color-secondary);background:transparent }.mobile-bottom-nav button span{font-size:11px}.mobile-bottom-nav button.is-active{color:var(--el-color-primary);font-weight:600}.mobile-bottom-nav button.is-active::after{content:"";position:absolute;top:1px;left:50%;width:18px;height:2px;border-radius:99px;background:var(--el-color-primary);transform:translateX(-50%)}.mobile-bottom-nav button em{position:absolute;top:1px;left:calc(50% + 8px);min-width:17px;height:17px;border:2px solid #fff;border-radius:99px;color:#fff;font-size:9px;font-style:normal;line-height:13px;background:var(--el-color-danger)}
.mobile-content { position: relative; }
.mobile-content .el-form-item { gap:5px }.mobile-content .el-form-item__label{font-size:13px}.mobile-content .el-input,.mobile-content .el-select{min-height:44px;padding:8px 10px;font-size:16px}.mobile-content .el-textarea{min-height:104px;font-size:16px}
.mobile-section { padding:14px;border:1px solid var(--el-border-color-light);border-radius:12px;background:#fff;box-shadow:var(--shadow-card) }.mobile-section > header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mobile-section > header h3{font-size:16px}.mobile-section > header button{min-height:32px;color:var(--el-color-primary);background:transparent}
.mobile-project-card{display:grid;grid-template-columns:minmax(0,1fr);padding:16px;border-radius:14px;color:#fff;background:#143866}.mobile-project-card>div:first-child>span{color:#bfdbfe;font-size:12px}.mobile-content .mobile-project-card h2{margin-top:4px;color:#fff;font-size:20px}.mobile-project-card p{margin-top:4px;color:#c7d9ec}.mobile-project-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border-top:1px solid rgb(255 255 255 / 14%)}.mobile-project-metrics span{display:grid;padding:12px 7px 0;color:#bdd0e5;font-size:11px;text-align:center}.mobile-project-metrics b{color:#fff;font-size:21px}
.mobile-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;gap:8px}.mobile-quick-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:78px;padding:9px;gap:6px;border:1px solid var(--el-border-color-light);border-radius:10px;color:var(--el-text-color-regular);background:#fff}.mobile-quick-grid button .ui-icon{width:23px;height:23px;color:var(--el-color-primary)}.mobile-quick-grid span{font-size:12px}
.mobile-task-list{display:grid;gap:6px}.mobile-task-list>button{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;min-height:58px;padding:8px 4px;gap:9px;border-bottom:1px solid var(--el-border-color-lighter);text-align:left;background:transparent}.mobile-task-list>button:last-child{border-bottom:0}.mobile-task-list i{width:7px;height:7px;border-radius:50%;background:var(--el-color-primary)}.mobile-task-list i.tone-danger{background:var(--el-color-danger)}.mobile-task-list i.tone-warning{background:var(--el-color-warning)}.mobile-task-list b,.mobile-task-list small{display:block}.mobile-task-list small{margin-top:2px;color:var(--el-text-color-secondary);font-size:11px}
.mobile-readiness-list{display:grid;gap:6px}.mobile-readiness-list>article{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;min-height:58px;padding:8px 4px;gap:9px;border-bottom:1px solid var(--el-border-color-lighter)}.mobile-readiness-list>article:last-child{border-bottom:0}.mobile-readiness-list i{width:7px;height:7px;border-radius:50%;background:var(--el-color-primary)}.mobile-readiness-list i.tone-success{background:var(--el-color-success)}.mobile-readiness-list i.tone-warning{background:var(--el-color-warning)}.mobile-readiness-list b,.mobile-readiness-list small{display:block}.mobile-readiness-list small{margin-top:2px;color:var(--el-text-color-secondary);font-size:11px}
.mobile-form-card,.mobile-page-intro,.mobile-approval-head,.mobile-ai-result,.mobile-profile-card{padding:14px;border:1px solid var(--el-border-color-light);border-radius:12px;background:#fff;box-shadow:var(--shadow-card)}.mobile-form-card>h2{font-size:19px}.mobile-form-card>p{margin-top:4px;color:var(--el-text-color-secondary)}.mobile-form-card form{display:grid;margin-top:16px;gap:14px}.mobile-form-card>header{display:flex;align-items:flex-start;justify-content:space-between}.mobile-form-card>header span{color:var(--el-text-color-secondary);font-size:12px}.mobile-form-card>header h2{margin-top:2px;font-size:18px}.mobile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-form-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:650}
.mobile-project-list{display:grid;margin-top:14px;gap:8px}.mobile-project-list button{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:9px 10px;gap:9px;border:1px solid var(--el-border-color-light);border-radius:8px;text-align:left;background:#fff}.mobile-project-list button.is-active{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.mobile-project-list b,.mobile-project-list small{display:block}.mobile-project-list small{margin-top:2px;color:var(--el-text-color-secondary);font-size:11px}
.mobile-filter-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:10px;border-bottom:1px solid var(--el-border-color-light)}.mobile-filter-tabs button{position:relative;min-height:42px;color:var(--el-text-color-secondary);background:transparent}.mobile-filter-tabs button.is-active{color:var(--el-color-primary);font-weight:650}.mobile-filter-tabs button.is-active::after{content:"";position:absolute;right:10px;bottom:0;left:10px;height:2px;background:var(--el-color-primary)}
.mobile-obligation-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-obligation-tabs button{padding-inline:2px;font-size:12px}
.mobile-card-list{display:grid;gap:10px}.mobile-card-list>article{padding:13px;border:1px solid var(--el-border-color-light);border-radius:10px;background:#fff}.mobile-card-list article>header{display:flex;align-items:center;justify-content:space-between}.mobile-card-list time{color:var(--el-text-color-secondary);font-size:11px}.mobile-card-list h3{margin-top:10px;font-size:16px}.mobile-card-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px;gap:7px 12px}.mobile-card-list dl div{min-width:0}.mobile-card-list dt{color:var(--el-text-color-secondary);font-size:11px}.mobile-card-list dd{overflow-wrap:anywhere}.mobile-card-list article>button{width:100%;min-height:40px;margin-top:12px;border-radius:6px;color:var(--el-color-primary);background:var(--el-color-primary-light-9)}
.mobile-network-state{display:grid;grid-template-columns:36px 1fr;padding:10px 12px;margin-bottom:10px;gap:9px;border:1px solid #f3d6a1;border-radius:8px;color:#8b4a07;background:var(--el-color-warning-light-9)}.mobile-network-state>span{display:inline-flex;align-items:center;justify-content:center}.mobile-network-state b,.mobile-network-state small{display:block}.mobile-network-state small{font-size:11px}
.mobile-queue-list{display:grid}.mobile-queue-list article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;min-height:70px;padding:8px 0;gap:8px;border-bottom:1px solid var(--el-border-color-lighter)}.mobile-queue-list article:last-child{border-bottom:0}.mobile-queue-list article>span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.mobile-queue-list b,.mobile-queue-list small{display:block}.mobile-queue-list small{color:var(--el-text-color-secondary);font-size:11px}.mobile-queue-list button{min-height:36px;padding:4px 8px;border-radius:5px;color:var(--el-color-primary);background:var(--el-color-primary-light-9)}
.mobile-error-card{padding:11px;border:1px solid #f5baba;border-radius:8px;color:#991b1b;background:var(--el-color-danger-light-9)}.mobile-error-card p{margin:4px 0 8px}.mobile-error-card button{min-height:34px;padding:4px 8px;margin-right:5px;border-radius:5px;color:#991b1b;background:#fff}
.mobile-upload{display:block}.mobile-upload input{position:absolute;width:1px;height:1px;opacity:0}.mobile-upload>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:94px;padding:10px;border:1px dashed var(--el-border-color-darker);border-radius:9px;color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.mobile-upload b{margin-top:4px;color:var(--el-text-color-primary)}.mobile-upload small{color:var(--el-text-color-secondary)}
.mobile-evidence-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mobile-evidence-strip>div{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--el-border-color-light);border-radius:8px}.mobile-evidence-strip img{width:100%;height:100%;object-fit:cover}.mobile-evidence-strip button{position:absolute;top:3px;right:3px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#fff;background:rgb(15 23 42 / 70%)}.mobile-upload-placeholder{display:flex;align-items:center;justify-content:center;color:var(--el-color-primary);border-style:dashed!important;background:var(--el-color-primary-light-9)}
.mobile-sticky-actions{position:sticky;right:-14px;bottom:calc(var(--mobile-bottom-nav-height) + var(--safe-bottom));left:-14px;z-index:7;display:flex;padding:10px 0 0;gap:8px;background:linear-gradient(to top,var(--el-bg-color-page) 78%,transparent)}.mobile-sticky-actions .el-button{flex:1 1 0;height:44px}.mobile-sticky-actions.three .el-button{padding-inline:8px}
.mobile-app.is-drilldown .mobile-sticky-actions{bottom:0;padding-bottom:calc(10px + var(--safe-bottom));border-top:1px solid var(--el-border-color-light);background:rgba(255,255,255,.98)}
.mobile-capture-hero{overflow:hidden;border-radius:12px;background:#0d1f32}.capture-photo{position:relative;aspect-ratio:4/3}.capture-photo>img{width:100%;height:100%;object-fit:cover}.ai-box{position:absolute;border:2px solid #38bdf8;box-shadow:0 0 0 999px rgb(3 15 29 / 18%)}.ai-box span{position:absolute;bottom:100%;left:-2px;padding:3px 6px;color:#fff;font-size:11px;background:#0284c7}.capture-meta{display:flex;justify-content:space-between;padding:8px 10px;color:#dce8f5;font-size:10px}.capture-meta span{display:inline-flex;align-items:center;gap:3px}.capture-meta .ui-icon{width:13px;height:13px}
.mobile-ai-candidate{display:grid;grid-template-columns:repeat(2,1fr);margin-top:12px;gap:7px}.mobile-ai-candidate>div{padding:9px;border-radius:7px;background:var(--el-fill-color-light)}.mobile-ai-candidate span,.mobile-ai-candidate b{display:block}.mobile-ai-candidate span{color:var(--el-text-color-secondary);font-size:11px}.mobile-ai-boundary{margin-top:10px;padding:9px;border-left:3px solid var(--el-color-primary);color:#1e4d82;background:var(--el-color-primary-light-9)}
.mobile-source-compare{position:relative;overflow:hidden;border-radius:9px}.mobile-source-compare img{width:100%;max-height:250px;object-fit:cover}.mobile-source-compare button{position:absolute;right:8px;bottom:8px;min-height:34px;padding:4px 8px;border-radius:5px;color:#fff;background:rgb(15 23 42 / 76%)}.mobile-link-button,.mobile-source-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin-top:12px;gap:6px;border-radius:6px;color:var(--el-color-primary);background:var(--el-color-primary-light-9)}
.mobile-material-summary{display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:10px;overflow:hidden;border:1px solid var(--el-border-color-light);border-radius:10px;background:#fff}.mobile-material-summary>div{padding:10px;border-right:1px solid var(--el-border-color-lighter);border-bottom:1px solid var(--el-border-color-lighter)}.mobile-material-summary span,.mobile-material-summary b{display:block}.mobile-material-summary span{color:var(--el-text-color-secondary);font-size:10px}.mobile-material-photo{position:relative;overflow:hidden;margin-top:12px;border-radius:8px}.mobile-material-photo img{width:100%;height:170px;object-fit:cover}.mobile-material-photo span{position:absolute;right:0;bottom:0;left:0;padding:7px 9px;color:#fff;font-size:11px;background:linear-gradient(transparent,rgb(15 23 42 / 82%))}
.mobile-approval-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.mobile-approval-head h2{margin-top:6px;font-size:20px}.mobile-approval-head p{margin-top:3px;color:var(--el-text-color-secondary)}.mobile-approval-head>span{padding:5px 7px;border-radius:5px;color:#a55404;font-size:11px;background:var(--el-color-warning-light-9)}.mobile-detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px}.mobile-detail-list div{padding:8px;border-radius:6px;background:var(--el-fill-color-light)}.mobile-detail-list dt{color:var(--el-text-color-secondary);font-size:10px}.mobile-approval-note{margin-top:10px;padding:10px;border-left:3px solid var(--el-color-primary);border-radius:5px;background:var(--el-color-primary-light-9)}.mobile-approval-note p{margin-top:3px;color:#1e4d82}
.mobile-ai-home{text-align:center}.mobile-ai-mark{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin-top:18px;border-radius:18px;color:#fff;background:var(--el-color-primary)}.mobile-ai-mark .ui-icon{width:27px;height:27px}.mobile-ai-home h2{margin-top:12px;font-size:22px}.mobile-ai-home>p{margin:4px 12px 18px;color:var(--el-text-color-secondary)}.mobile-ai-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mobile-ai-metrics button{display:grid;justify-items:center;min-height:70px;padding:9px;border:1px solid var(--el-border-color-light);border-radius:9px;background:#fff}.mobile-ai-metrics b{font-size:22px}.mobile-ai-metrics span{color:var(--el-text-color-secondary);font-size:11px}.mobile-ai-suggestions{display:grid;margin-top:12px;gap:7px}.mobile-ai-suggestions button{min-height:44px;padding:8px 10px;border-radius:8px;color:var(--el-color-primary);text-align:left;background:var(--el-color-primary-light-9)}.mobile-ai-composer{position:sticky;right:-14px;bottom:calc(var(--mobile-bottom-nav-height) + var(--safe-bottom));left:-14px;display:grid;grid-template-columns:1fr 44px;padding:10px 0 0;gap:7px;background:linear-gradient(to top,var(--el-bg-color-page) 82%,transparent)}.mobile-ai-composer textarea{min-height:48px;padding:9px;border:1px solid var(--el-border-color);border-radius:9px;resize:none}.mobile-ai-composer button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:9px;color:#fff;background:var(--el-color-primary)}
.mobile-ai-result>header{display:flex;align-items:center;justify-content:space-between}.mobile-ai-result>header span{display:grid;gap:4px}.mobile-ai-result>header small{color:var(--el-text-color-secondary)}.mobile-ai-result>header>b{color:var(--el-color-primary)}.mobile-ai-result>h2{margin:14px 0;font-size:20px}.ai-result-section{padding:11px 0;border-top:1px solid var(--el-border-color-lighter)}.ai-result-section h3{font-size:14px}.ai-result-section p{margin-top:4px;color:var(--el-text-color-regular)}.mobile-ai-diff{display:grid;grid-template-columns:75px 1fr;margin-top:12px;overflow:hidden;border:1px solid var(--el-border-color-light);border-radius:7px}.mobile-ai-diff span,.mobile-ai-diff b{padding:8px;border-bottom:1px solid var(--el-border-color-lighter)}.mobile-ai-diff span{color:var(--el-text-color-secondary);background:var(--el-fill-color-light)}
.mobile-profile-card{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:10px}.mobile-profile-card img{width:56px;height:56px;border-radius:50%;object-fit:cover}.mobile-profile-card h2{font-size:19px}.mobile-profile-card p{color:var(--el-text-color-secondary);font-size:11px}.mobile-profile-card button{min-height:34px;padding:4px 8px;border-radius:5px;color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.mobile-settings-list{padding:0;overflow:hidden}.mobile-settings-list>button{display:grid;grid-template-columns:30px 1fr 18px;align-items:center;width:100%;min-height:62px;padding:8px 12px;gap:8px;border-bottom:1px solid var(--el-border-color-lighter);text-align:left;background:#fff}.mobile-settings-list>button:last-child{border-bottom:0}.mobile-settings-list>button>.ui-icon:first-child{color:var(--el-color-primary)}.mobile-settings-list b,.mobile-settings-list small{display:block}.mobile-settings-list small{color:var(--el-text-color-secondary);font-size:11px}
.mobile-context-card+.mobile-context-card{margin-top:12px}.mobile-role-list{display:grid;margin-top:14px;gap:8px}.mobile-role-list button{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:9px 10px;border:1px solid var(--el-border-color-light);border-radius:8px;background:#fff}.mobile-role-list button.is-active{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.mobile-role-list button>span:first-child{display:flex;align-items:center;gap:8px}.mobile-role-list .ui-icon{width:18px;color:var(--el-color-primary)}
.mobile-message-summary{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#174b85,#236fb0)}.mobile-message-summary b,.mobile-message-summary span{display:block}.mobile-message-summary b{font-size:18px}.mobile-message-summary span{margin-top:3px;font-size:11px;opacity:.85}.mobile-message-tabs{display:flex;margin:12px 0 10px;padding:3px;border-radius:9px;background:var(--el-fill-color)}.mobile-message-tabs button{flex:1;min-height:36px;border-radius:7px;color:var(--el-text-color-secondary);font-size:12px;background:transparent}.mobile-message-tabs button.is-active{color:var(--el-color-primary);font-weight:650;background:#fff;box-shadow:0 1px 4px rgb(16 24 40 / 10%)}.mobile-message-list{display:grid;gap:9px}.mobile-message-list>a{display:grid;grid-template-columns:38px minmax(0,1fr);padding:12px;gap:10px;border:1px solid var(--el-border-color-light);border-radius:10px;color:inherit;text-decoration:none;background:#fff}.mobile-message-list>a.is-unread{border-left:3px solid var(--el-color-primary)}.mobile-message-list>a>span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.mobile-message-list>a.is-danger>span{color:var(--el-color-danger);background:var(--el-color-danger-light-9)}.mobile-message-list>a.is-warning>span{color:#a55404;background:var(--el-color-warning-light-9)}.mobile-message-list>a.is-success>span{color:var(--el-color-success);background:var(--el-color-success-light-9)}.mobile-message-list header{display:flex;justify-content:space-between;gap:8px}.mobile-message-list header b{font-size:14px}.mobile-message-list time,.mobile-message-list small{color:var(--el-text-color-secondary);font-size:10px}.mobile-message-list p{margin:4px 0;color:var(--el-text-color-regular);font-size:12px;line-height:1.55}
.mobile-page-intro{margin-bottom:10px}.mobile-page-intro>span{color:var(--el-color-primary);font-weight:700}.mobile-page-intro h2{margin-top:4px;font-size:20px}.mobile-page-intro p{margin-top:4px;color:var(--el-text-color-secondary)}

/* Large-screen renderer bridge. */
.screen-header { grid-template-columns: minmax(300px, .9fr) minmax(540px, 1.5fr) minmax(300px, .9fr); }
.screen-brand{display:flex;align-items:center;gap:10px}.screen-brand>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #3978ad;border-radius:7px;color:var(--screen-cyan);font-weight:700;background:#0d2b48}.screen-brand strong,.screen-brand small{display:block}.screen-brand small{color:var(--screen-text-muted);font-size:10px}
.screen-header>nav{display:flex;justify-content:center;min-width:0;overflow:hidden}.screen-header>nav button{min-height:34px;padding:5px 8px;color:var(--screen-text-muted);border-bottom:2px solid transparent;background:transparent;white-space:nowrap}.screen-header>nav button:hover,.screen-header>nav button.is-active{color:#fff;border-color:var(--screen-cyan)}
.screen-context{display:flex;align-items:center;justify-content:flex-end;gap:9px}.screen-context .context-select{min-width:205px;height:36px;border-color:var(--screen-border);background:var(--screen-surface)}.screen-context .context-select span,.screen-context select{color:var(--screen-text-regular)}.screen-context time{font-size:12px;color:var(--screen-text-regular);white-space:nowrap}.screen-context>button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:5px;color:var(--screen-cyan);background:var(--screen-surface)}
.screen-content { grid-template-rows:auto auto minmax(0,1fr); overflow:hidden; }
.screen-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.screen-title>div:first-child>span{color:var(--screen-cyan);font-weight:700}.screen-title h1{margin-top:2px;font-size:clamp(22px,1.7vw,30px)}.screen-title p{margin-top:2px;color:var(--screen-text-muted)}.screen-title>div:last-child{display:grid;justify-items:end;gap:4px}.screen-title small{color:var(--screen-text-muted)}
.screen-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.screen-metrics article{position:relative;min-height:84px;padding:12px;overflow:hidden;border:1px solid var(--screen-border-soft);border-radius:7px;background:#0c2744;cursor:pointer}.screen-metrics span,.screen-metrics strong,.screen-metrics small{display:block}.screen-metrics span{color:var(--screen-text-regular);font-size:11px}.screen-metrics strong{margin-top:4px;color:#fff;font-size:clamp(20px,1.6vw,28px)}.screen-metrics small{color:var(--screen-text-muted);font-size:10px}.screen-metrics article>i{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--screen-blue)}.screen-metrics .tone-success>i{background:var(--screen-success)}.screen-metrics .tone-warning>i{background:var(--screen-warning)}.screen-metrics .tone-danger>i{background:var(--screen-danger)}.screen-metrics .tone-cyan>i{background:var(--screen-cyan)}
.screen-grid{grid-template-columns:minmax(520px,1.35fr) minmax(380px,1fr);grid-template-rows:repeat(2,minmax(0,1fr));min-height:0;overflow:hidden}.screen-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 13px;border-bottom:1px solid var(--screen-border-soft);background:rgb(16 43 73 / 58%)}.screen-panel>header h2{font-size:15px}.screen-panel>header p{margin-top:2px;color:var(--screen-text-muted);font-size:10px}.screen-panel>header button{min-height:30px;padding:4px 7px;border-radius:4px;color:var(--screen-cyan);background:#103456}.screen-panel:not(:has(>header)){padding:12px}
.screen-line-chart{position:relative;flex:1 1 auto;min-height:0;padding:8px 14px}.screen-line-chart svg{width:100%;height:calc(100% - 28px);min-height:0}.screen-line-chart .grid path{stroke:rgb(91 154 209 / 18%);stroke-width:1}.screen-line-chart .area{fill:url(#screenArea)}.screen-line-chart .main-line{fill:none;stroke:var(--screen-cyan);stroke-width:3}.screen-line-chart .compare-line{fill:none;stroke:var(--screen-warning);stroke-width:2;stroke-dasharray:6 5}.chart-axis{display:flex;justify-content:space-between;color:var(--screen-text-muted);font-size:10px}.screen-legend{position:absolute;top:10px;right:14px;display:flex;gap:12px;color:var(--screen-text-regular);font-size:10px}.screen-legend span{display:flex;align-items:center;gap:5px}.screen-legend i{width:12px;height:2px;background:var(--screen-cyan)}.screen-legend span:last-child i{background:var(--screen-warning)}
.risk-heatmap{display:grid;grid-template-columns:1fr;align-content:start;padding:12px;gap:4px}.heatmap-head,.risk-heatmap>button{display:grid;grid-template-columns:minmax(120px,1.5fr) repeat(5,minmax(46px,.6fr));align-items:center;min-height:37px;gap:4px}.heatmap-head{color:var(--screen-text-muted);font-size:10px;text-align:center}.heatmap-head span:first-child{text-align:left}.risk-heatmap>button{padding:3px;border-bottom:1px solid var(--screen-border-soft);color:var(--screen-text-regular);text-align:left;background:transparent}.risk-heatmap>button:hover{background:rgb(56 189 248 / 6%)}.risk-heatmap>button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-heatmap i,.heatmap-legend i{display:inline-flex;align-items:center;justify-content:center;min-height:26px;border-radius:3px;color:#fff;font-size:9px;font-style:normal;background:#185a7d}.risk-heatmap .level-0,.heatmap-legend .level-0{background:#166534}.risk-heatmap .level-1,.heatmap-legend .level-1{background:#15803d}.risk-heatmap .level-2,.heatmap-legend .level-2{background:#a16207}.risk-heatmap .level-3,.heatmap-legend .level-3{background:#c2410c}.risk-heatmap .level-4,.heatmap-legend .level-4{background:#be123c}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;padding:0 12px 10px;gap:4px;color:var(--screen-text-muted);font-size:10px}.heatmap-legend i{width:18px;min-height:8px}
.project-map{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);flex:1 1 auto;min-height:0;padding:12px;gap:12px}.project-map>img{width:100%;height:100%;min-height:0;border-radius:6px;object-fit:cover;filter:saturate(.8) brightness(.72)}.project-map{position:relative}.map-overlay{position:absolute;top:12px;bottom:12px;left:12px;width:calc(65% - 12px)}.map-overlay span{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid rgb(255 255 255 / 80%);border-radius:50%;color:#fff;font-weight:700;background:var(--screen-success);box-shadow:0 3px 10px rgb(0 0 0 / 40%)}.map-overlay .risk-medium{background:var(--screen-warning)}.map-overlay .risk-high{background:var(--screen-danger)}.project-map aside{padding:12px;border:1px solid var(--screen-border-soft);border-radius:6px;background:rgb(16 43 73 / 72%)}.project-map aside p{margin:4px 0 12px;color:var(--screen-text-muted)}.project-map ul{display:grid;padding:0;margin:0;gap:8px;list-style:none}.project-map li{display:grid;grid-template-columns:8px 1fr;align-items:start;gap:7px;color:var(--screen-text-regular)}.project-map li i{width:7px;height:7px;margin-top:6px;border-radius:50%;background:var(--screen-success)}.project-map li i.risk-medium{background:var(--screen-warning)}.project-map li i.risk-high{background:var(--screen-danger)}
.screen-ranking-list{display:grid;padding:12px;gap:7px}.screen-ranking-list article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;min-height:49px;padding:7px 8px;gap:9px;border:1px solid var(--screen-border-soft);border-radius:5px;background:rgb(16 43 73 / 45%)}.screen-ranking-list article>span:first-child{color:var(--screen-cyan);font-weight:700}.screen-ranking-list b,.screen-ranking-list small{display:block}.screen-ranking-list small{color:var(--screen-text-muted);font-size:10px}.screen-ai-callout{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;padding:11px 12px;margin:auto 12px 12px;gap:9px;border:1px solid #23658e;border-radius:6px;background:#0b3552}.screen-ai-callout>span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:7px;color:var(--screen-cyan);background:#124566}.screen-ai-callout p{color:var(--screen-text-muted);font-size:10px}.screen-ai-callout button{min-height:30px;padding:4px 7px;border-radius:4px;color:var(--screen-cyan);background:#103456}
.screen-footer{position:relative;z-index:1;display:flex;align-items:center;min-height:38px;padding:5px 20px;gap:24px;border-top:1px solid var(--screen-border-soft);color:var(--screen-text-muted);font-size:10px;background:rgb(6 20 38 / 96%)}.screen-footer .terminal-switch{margin-left:auto;border-color:var(--screen-border);background:var(--screen-surface)}.screen-footer .terminal-switch button{color:var(--screen-text-muted)}.screen-footer .terminal-switch button.is-active{color:#fff;background:#103456}

.standalone-result{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:40px}.standalone-result>a{position:absolute;margin-top:260px}
.column-setting-list{padding:14px;border:1px solid var(--el-border-color-light);border-radius:7px;line-height:2;background:var(--el-fill-color-extra-light)}

@media (max-width: 1439px) {
  .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .metric-grid.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .query-form { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .workflow-strip { grid-template-columns: 190px minmax(420px, 1fr); }.workflow-strip > button { grid-column: 2; justify-self:end; }
  .screen-header{grid-template-columns:270px minmax(500px,1fr) 300px}.screen-header>nav button{padding-inline:5px;font-size:11px}.screen-context .context-select{display:none}
}

@media (max-width: 1199px) {
  .web-brand>div,.nav-group-title span,.nav-group-title .ui-icon:last-child,.nav-item,.web-nav-footer span{display:none}.web-brand{justify-content:center;padding:0}.nav-group-title{display:flex;justify-content:center;padding:8px}.nav-group-items{display:none!important}.web-nav-footer{grid-template-columns:1fr}.web-nav-footer button{min-height:40px}.web-header-right .account-button{min-width:42px;grid-template-columns:32px;padding:4px}.account-button>span:nth-child(2),.account-button>.ui-icon{display:none}.two-column-layout{grid-template-columns:1fr}.two-column-layout .span-2{grid-row:auto}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.flow-index-grid{grid-template-columns:repeat(2,1fr)}.document-compare{grid-template-columns:1fr}.document-preview{border-right:0;border-bottom:1px solid var(--el-border-color-light)}
}

@media (max-width: 767px) {
  .login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-panel{min-height:100dvh;padding:20px}.login-card{padding:22px;border:0;box-shadow:none}.login-demo>div{grid-template-columns:1fr}.login-demo button{flex-direction:row;justify-content:center;min-height:46px}.form-two-columns,.drawer-detail-list,.event-confirm-layout,.review-matrix__groups{grid-template-columns:1fr}.el-overlay{padding:12px}.el-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.el-drawer{width:100vw}.demo-role-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 430px) {
  .mobile-stage{padding:0}.mobile-stage-tools{display:none}.phone-frame{width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none}.phone-status{height:24px}.phone-frame .mobile-app{height:calc(100% - 24px)}
}

@media (max-width: 374px) {
  .mobile-form-grid,.mobile-card-list dl,.mobile-detail-list{grid-template-columns:1fr}.mobile-quick-grid{grid-template-columns:repeat(2,1fr)}.mobile-project-metrics{grid-template-columns:repeat(3,1fr)}
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media print {
  .mobile-stage-tools,.screen-footer,.review-layer{display:none!important}
}
body.is-layer-open {
  overflow: hidden;
}

/* V1.1 business-domain information architecture and denser enterprise canvas. */
.web-content {
  max-width: none;
  padding: 14px 16px 18px;
  margin: 0;
  background: #eef2f7;
}
.web-content > .page-header {
  padding: 12px 14px;
  border: 1px solid #d9e1eb;
  border-radius: 8px;
  background: #fff;
}
.web-content .page-body { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 12px; }
.web-content .content-card,
.web-content .query-panel,
.web-content .workflow-strip { border-color: #d8e0ea; box-shadow: 0 1px 2px rgb(15 23 42 / 4%); }
.web-content .two-column-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.web-content .detail-layout { grid-template-columns: minmax(0, 1.55fr) minmax(360px, .75fr); gap: 12px; }
.web-content .metric-grid,
.web-content .metric-grid.compact { gap: 12px; }
.web-content .metric-card { min-height: 96px; padding: 13px; box-shadow: none; }
.nav-group-title { min-height: 38px; }
.nav-group-items .nav-item { min-height: 34px; }
.domain-ai-bar { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; min-height: 62px; padding: 10px 12px; gap: 10px; border: 1px solid #b8d5f3; border-radius: 8px; background: linear-gradient(90deg, #eff7ff, #f8fbff); }
.domain-ai-bar > span { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 9px; color: #fff; background: var(--el-color-primary); }
.domain-ai-bar b { color: var(--el-text-color-primary); }.domain-ai-bar p { margin-top: 2px; color: var(--el-text-color-secondary); font-size: 12px; }
.domain-ai-bar button { min-height: 34px; padding: 5px 10px; border: 1px solid var(--el-color-primary-light-5); border-radius: 6px; color: var(--el-color-primary); background: #fff; }

/* Mobile workbench: management domains first, field actions second. */
.mobile-domain-section > header > div p,
.mobile-section > header > div p { margin-top: 2px; color: var(--el-text-color-secondary); font-size: 11px; }
.mobile-domain-section { padding-inline: 10px; }
.mobile-domain-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 4px 0 2px; gap: 16px 5px; }
.mobile-domain-entry {
  --mobile-app-color: #2563eb;
  --mobile-app-bg: #eaf2ff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  min-height: 72px;
  padding: 0 2px;
  gap: 7px;
  border: 0;
  text-align: center;
  background: transparent;
}
.mobile-domain-entry > span { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; color: var(--mobile-app-color); background: var(--mobile-app-bg); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 65%); transition: transform .16s ease, box-shadow .16s ease; }
.mobile-domain-entry > span .ui-icon { width: 23px; height: 23px; }
.mobile-domain-entry > b { display: block; max-width: 100%; overflow: hidden; color: var(--el-text-color-primary); font-size: 12px; font-weight: 600; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.mobile-domain-entry:active > span { transform: scale(.94); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 45%); }
.mobile-domain-entry--safety { --mobile-app-color:#dc2626; --mobile-app-bg:#fff0ee; }
.mobile-domain-entry--material { --mobile-app-color:#0f766e; --mobile-app-bg:#e6f7f5; }
.mobile-domain-entry--quality { --mobile-app-color:#16a34a; --mobile-app-bg:#ebf8ef; }
.mobile-domain-entry--cost { --mobile-app-color:#7c3aed; --mobile-app-bg:#f2edff; }
.mobile-domain-entry--funds { --mobile-app-color:#0891b2; --mobile-app-bg:#e8f8fb; }
.mobile-domain-entry--subcontract { --mobile-app-color:#c06a08; --mobile-app-bg:#fff4df; }
.mobile-domain-entry--personnel { --mobile-app-color:#4f46e5; --mobile-app-bg:#eeefff; }
.mobile-domain-entry--equipment { --mobile-app-color:#475569; --mobile-app-bg:#eef2f6; }
.mobile-domain-entry--document { --mobile-app-color:#0284c7; --mobile-app-bg:#e8f5fc; }
.mobile-domain-entry--project { --mobile-app-color:#1d4ed8; --mobile-app-bg:#eaf0ff; }
.mobile-empty-inline { min-height: 80px; padding: 22px 16px; color: var(--el-text-color-secondary); text-align: center; }

/* Leadership-approved command-center structure: left business rail, center site, right AI Q&A. */
.screen-command-shell .screen-header { min-height: 64px; }
.screen-command {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(620px, 1.72fr) minmax(300px, .9fr);
  flex: 1 1 auto;
  min-height: 0;
  padding: 12px 16px;
  gap: 12px;
  overflow: hidden;
}
.screen-command__left,
.screen-command__center,
.screen-command__right { display: grid; min-width: 0; min-height: 0; gap: 10px; }
.screen-command__left { grid-template-rows: minmax(0, 1.45fr) minmax(180px, .55fr); }
.screen-command__center { grid-template-rows: auto auto minmax(0, 1fr) auto; }
.screen-command__right { grid-template-rows: minmax(0, 1.45fr) minmax(170px, .55fr); }
.screen-domain-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 9px; gap: 7px; }
.screen-domain-list button { display: grid; grid-template-columns: 30px minmax(0, 1fr); grid-template-rows: auto auto auto; min-height: 82px; padding: 9px; gap: 1px 7px; border: 1px solid var(--screen-border-soft); border-radius: 6px; color: var(--screen-text); text-align: left; background: rgb(16 43 73 / 55%); }
.screen-domain-list button > span { grid-row: 1 / 4; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: var(--screen-cyan); border-radius: 5px; background: #123e62; }
.screen-domain-list strong { color: #fff; font-size: 18px; font-variant-numeric: tabular-nums; }
.screen-domain-list small { color: var(--screen-text-muted); font-size: 9px; }
.screen-project-rank > div { display: grid; padding: 8px; gap: 5px; }
.screen-project-rank > div button { display: grid; grid-template-columns: 24px minmax(0, 1fr) 38px; align-items: center; min-height: 34px; padding: 5px 7px; gap: 6px; color: var(--screen-text-regular); text-align: left; border-bottom: 1px solid var(--screen-border-soft); }
.screen-project-rank button span { color: var(--screen-text-muted); }
.screen-project-rank button b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.screen-project-rank button i { font-style: normal; font-weight: 700; text-align: right; }
.screen-project-rank .is-success { color: var(--screen-success); }.screen-project-rank .is-warning { color: var(--screen-warning); }.screen-project-rank .is-danger { color: var(--screen-danger); }
.screen-center-title { display: flex; align-items: flex-end; justify-content: space-between; min-height: 54px; gap: 12px; }
.screen-center-title span { color: var(--screen-cyan); font-size: 11px; }.screen-center-title h1 { margin: 1px 0; font-size: clamp(20px, 1.6vw, 28px); }.screen-center-title p,.screen-center-title small { color: var(--screen-text-muted); font-size: 10px; }
.screen-command__center .screen-metrics { gap: 7px; }.screen-command__center .screen-metrics article { min-height: 72px; padding: 9px; }.screen-command__center .screen-metrics strong { font-size: clamp(18px, 1.4vw, 24px); }
.screen-site-stage { min-height: 0; }.screen-site-canvas { position: relative; width: 100%; height: 100%; min-height: 0; overflow: hidden; }.screen-site-canvas > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) brightness(.68) contrast(1.08); }
.screen-site-canvas::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgb(3 15 28 / 86%)); pointer-events: none; }
.screen-site-overlay { position: absolute; inset: 0; z-index: 2; }.site-point { position: absolute; display: inline-flex; align-items: center; padding: 4px 7px; gap: 5px; border: 1px solid currentColor; border-radius: 4px; color: var(--screen-cyan); background: rgb(4 22 39 / 88%); font-size: 10px; }.site-point i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }.site-point.is-warning { color: var(--screen-warning); }.site-point.is-danger { color: var(--screen-danger); }.site-point.is-success { color: var(--screen-success); }
.screen-site-caption { position: absolute; right: 14px; bottom: 12px; left: 14px; z-index: 3; display: flex; align-items: flex-end; justify-content: space-between; }.screen-site-caption b { font-size: 17px; }.screen-site-caption span { color: var(--screen-text-regular); font-size: 10px; }
.screen-center-bottom { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }.screen-center-bottom article { padding: 8px 9px; border: 1px solid var(--screen-border-soft); border-radius: 5px; background: var(--screen-surface); }.screen-center-bottom span,.screen-center-bottom b { display: block; }.screen-center-bottom span { color: var(--screen-text-muted); font-size: 9px; }.screen-center-bottom b { margin: 2px 0; font-size: 17px; }.screen-center-bottom article > i { display: block; height: 3px; overflow: hidden; border-radius: 4px; background: rgb(127 155 182 / 20%); }.screen-center-bottom em { display: block; height: 100%; background: var(--screen-cyan); }
.screen-ai-online { display: inline-flex; align-items: center; gap: 5px; color: var(--screen-success); font-size: 10px; }.screen-ai-online i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.screen-ai-dialog { display: grid; align-content: start; flex: 1 1 auto; min-height: 0; padding: 12px; gap: 9px; overflow: auto; }.screen-ai-dialog article { max-width: 92%; }.screen-ai-dialog .is-user { justify-self: end; }.screen-ai-dialog article > span { color: var(--screen-text-muted); font-size: 9px; }.screen-ai-dialog p { margin-top: 3px; padding: 9px 10px; border: 1px solid var(--screen-border-soft); border-radius: 7px; color: var(--screen-text-regular); background: #0e2c4a; }.screen-ai-dialog .is-user p { color: #fff; border-color: #286c99; background: #145076; }.screen-ai-dialog footer { display: flex; flex-wrap: wrap; margin-top: 6px; gap: 5px; }.screen-ai-dialog footer button,.screen-ai-suggestions button { min-height: 28px; padding: 4px 7px; border: 1px solid var(--screen-border); border-radius: 4px; color: var(--screen-cyan); background: #103456; }
.screen-ai-suggestions { display: flex; flex-wrap: wrap; padding: 0 12px 9px; gap: 5px; }.screen-ai-composer { display: grid; grid-template-columns: minmax(0, 1fr) 34px; padding: 9px 12px 12px; gap: 6px; border-top: 1px solid var(--screen-border-soft); }.screen-ai-composer input { min-width: 0; height: 34px; padding: 0 9px; color: #fff; border: 1px solid var(--screen-border); border-radius: 5px; background: #071d31; }.screen-ai-composer button { display: inline-flex; align-items: center; justify-content: center; color: #fff; border-radius: 5px; background: #1677b8; }
.screen-action-panel > div { display: grid; padding: 8px; gap: 6px; }.screen-action-panel > div > button { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; min-height: 54px; padding: 8px; gap: 8px; color: var(--screen-text); text-align: left; border: 1px solid var(--screen-border-soft); border-radius: 5px; background: rgb(16 43 73 / 55%); }.screen-action-panel button > i { width: 7px; height: 7px; border-radius: 50%; background: var(--screen-warning); }.screen-action-panel button > i.is-danger { background: var(--screen-danger); }.screen-action-panel b,.screen-action-panel small { display: block; }.screen-action-panel small { color: var(--screen-text-muted); font-size: 9px; }.screen-action-panel em { color: var(--screen-cyan); font-style: normal; }

@media (max-width: 1439px) {
  .screen-command { grid-template-columns: 250px minmax(560px, 1fr) 286px; padding: 9px 11px; gap: 9px; }
  .screen-domain-list { gap: 5px; padding: 6px; }.screen-domain-list button { min-height: 68px; padding: 6px; }.screen-domain-list strong { font-size: 15px; }
  .screen-command__left,.screen-command__center,.screen-command__right { gap: 7px; }
  .screen-ai-dialog { padding: 8px; }.screen-ai-dialog p { padding: 7px; font-size: 11px; }
}

@media (max-height: 800px) {
  .screen-command-shell .screen-header { min-height: 56px; }
  .screen-command { padding-block: 7px; }
  .screen-center-title { min-height: 43px; }.screen-center-title p { display: none; }
  .screen-command__center .screen-metrics article { min-height: 58px; padding-block: 6px; }
  .screen-domain-list button { min-height: 60px; }
  .screen-ai-suggestions { display: none; }
}

/* Persistent operation feedback for B-end business actions. */
.b2b-action-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid #b7dfca;
  border-left: 3px solid #16a06a;
  border-radius: 4px;
  background: #f2fbf7;
  color: #315746;
}

.b2b-action-result div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.b2b-action-result b { color: #153e2d; white-space: nowrap; }
.b2b-action-result span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b2b-action-result small { color: #5e746a; white-space: nowrap; }
.b2b-action-result>button { min-width:32px; min-height:32px; margin-left:auto; border:0; color:#476456; background:transparent; cursor:pointer; }
.b2b-filter-summary{display:flex;align-items:center;gap:12px;margin:-4px 0 12px;padding:8px 12px;border:1px solid #c6e2ff;border-radius:4px;color:#334155;background:#ecf5ff;font-size:13px}.b2b-filter-summary b{margin-left:auto;color:#1f66d1}.b2b-filter-summary button{min-height:28px;padding:0 8px;border:0;color:#1f66d1;background:transparent;cursor:pointer}
.b2b-column-presets{display:grid;gap:10px}.b2b-column-presets>button{display:grid;gap:5px;padding:14px;border:1px solid var(--el-border-color);border-radius:6px;color:var(--el-text-color-regular);background:#fff;text-align:left;cursor:pointer}.b2b-column-presets>button.is-active{border-color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.b2b-column-presets b{color:var(--el-text-color-primary)}.b2b-column-presets span{font-size:12px;line-height:1.6}
.density-compact .el-table-wrap th,.density-compact .el-table-wrap td{height:36px;padding-top:5px;padding-bottom:5px}

@media (max-width: 720px) {
  .b2b-action-result { align-items: flex-start; margin: 8px 12px; }
  .b2b-action-result div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .b2b-action-result span { white-space: normal; }
  .b2b-action-result small { display: none; }
}

/* W01 role workbench: business actions first; W70 remains the unified AI workbench. */
.business-workbench{display:grid;gap:14px;color:#172033}.business-workbench__hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid #d8e2eb;border-left:4px solid #167f9c;background:#fff}.business-workbench__hero span{color:#087e9a;font-size:12px;font-weight:650}.business-workbench__hero h2{margin:5px 0 4px;font-size:24px}.business-workbench__hero p{margin:0;color:#718095;font-size:12px}.business-workbench__hero>div:last-child{display:flex;gap:8px}.business-workbench__hero button,.workbench-card button{cursor:pointer;font:inherit}.business-workbench__hero button{min-height:36px;padding:0 14px;border:1px solid #c8d5e1;background:#fff;color:#33465f}.business-workbench__hero button.is-primary{border-color:#0c829f;background:#0c829f;color:#fff}.business-workbench__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dbe4ee;background:#fff}.business-workbench__metrics article{display:grid;gap:4px;padding:16px 18px}.business-workbench__metrics article+article{border-left:1px solid #e2e8f0}.business-workbench__metrics span{color:#69778b;font-size:12px}.business-workbench__metrics b{font-size:26px;letter-spacing:-.04em}.business-workbench__metrics small{color:#929eae;font-size:11px}.business-workbench__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px}.business-workbench__grid>main,.business-workbench__grid>aside{display:grid;align-content:start;gap:14px}.workbench-card{border:1px solid #dbe4ee;background:#fff}.workbench-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e5ebf1}.workbench-card h3{margin:0;font-size:15px}.workbench-card header p{margin:3px 0 0;color:#8591a1;font-size:11px}.workbench-card>header>button{border:0;background:transparent;color:#087e9a;font-size:12px}.workbench-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.workbench-quick-actions>button{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:66px;padding:10px;border:0;background:#fff;text-align:left}.workbench-quick-actions>button:hover{background:#f3f9fb}.workbench-quick-actions>button>span{display:grid;width:38px;height:38px;place-items:center;background:#eaf5f8;color:#087e9a}.workbench-quick-actions b,.workbench-quick-actions small{display:block}.workbench-quick-actions b{font-size:13px}.workbench-quick-actions small{margin-top:3px;color:#8491a3;font-size:10px}.workbench-task-list>button{display:grid;width:100%;grid-template-columns:4px minmax(0,1fr) auto 82px;align-items:center;gap:10px;min-height:58px;padding:8px 16px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left}.workbench-task-list>button:hover{background:#f7fbfd}.workbench-task-list>button>i{width:4px;height:30px;background:#cf9030}.workbench-task-list b,.workbench-task-list small{display:block}.workbench-task-list b{font-size:12px}.workbench-task-list small{margin-top:3px;color:#8a96a6;font-size:10px}.workbench-task-list em{padding:3px 6px;background:#fff6e8;color:#8b641f;font-size:10px;font-style:normal}.workbench-task-list time{color:#68778a;font-size:10px;text-align:right}.workbench-focus{display:grid;padding:8px}.workbench-focus>button{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px;padding:10px 8px;border:0;background:#fff;text-align:left}.workbench-focus>button:hover{background:#f7f9fc}.workbench-focus i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#0c87a5}.workbench-focus i.is-danger{background:#cc4d4d}.workbench-focus i.is-warning{background:#cf9030}.workbench-focus b,.workbench-focus small{display:block}.workbench-focus b{font-size:12px}.workbench-focus small{margin-top:3px;color:#8692a3;font-size:10px;line-height:1.45}.workbench-ai-entry{padding-bottom:14px}.workbench-ai-entry>header{justify-content:flex-start}.workbench-ai-entry>header>span{display:grid;width:36px;height:36px;place-items:center;background:#e9f5f8;color:#087e9a}.workbench-ai-entry>button{width:calc(100% - 28px);min-height:38px;margin:14px 14px 8px;border:1px solid #0b849f;background:#0b849f;color:#fff}.workbench-ai-entry>small{display:block;padding:0 14px;color:#8a96a6;font-size:10px;line-height:1.45}.web-ai-hub { display: grid; grid-template-columns: 238px minmax(520px, 1fr) 306px; min-height: calc(100dvh - 212px); overflow: hidden; border: 1px solid #d7e0ea; border-radius: 9px; background: #fff; }
.web-ai-hub { display: grid; grid-template-columns: 238px minmax(520px, 1fr) 306px; min-height: calc(100dvh - 212px); overflow: hidden; border: 1px solid #d7e0ea; border-radius: 9px; background: #fff; }
.web-ai-hub__tools,.web-ai-hub__context { min-width: 0; background: #f7f9fc; }
.web-ai-hub__tools { display: flex; flex-direction: column; border-right: 1px solid #dfe6ef; }
.web-ai-hub__tools > header { display: grid; grid-template-columns: 38px 1fr; align-items: center; padding: 16px; gap: 9px; border-bottom: 1px solid #e2e8f0; }.web-ai-hub__tools > header > span { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 9px; color: #fff; background: var(--el-color-primary); }.web-ai-hub__tools header b,.web-ai-hub__tools header p { display: block; }.web-ai-hub__tools header p { margin-top: 2px; color: var(--el-text-color-secondary); font-size: 11px; }
.web-ai-hub__tools nav { display: grid; padding: 10px; gap: 5px; }.web-ai-hub__tools nav button { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; min-height: 58px; padding: 8px 10px; gap: 8px; border: 1px solid transparent; border-radius: 7px; color: var(--el-text-color-regular); text-align: left; }.web-ai-hub__tools nav button:hover,.web-ai-hub__tools nav button.is-active { color: var(--el-color-primary); border-color: #bfd8f4; background: #eaf4ff; }.web-ai-hub__tools nav .ui-icon { width: 22px; height: 22px; }.web-ai-hub__tools nav b,.web-ai-hub__tools nav small { display: block; }.web-ai-hub__tools nav small { margin-top: 2px; color: var(--el-text-color-secondary); font-size: 10px; }
.web-ai-hub__tools > footer { display: grid; padding: 14px 16px; margin-top: auto; gap: 3px; border-top: 1px solid #e2e8f0; }.web-ai-hub__tools > footer span { color: var(--el-text-color-primary); }.web-ai-hub__tools > footer small { color: var(--el-text-color-secondary); }
.web-ai-hub__main { display: flex; flex-direction: column; min-width: 0; padding: 22px clamp(22px, 3vw, 48px); background: #fff; }.web-ai-hub__main > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.web-ai-hub__main > header span { color: var(--el-color-primary); font-weight: 650; }.web-ai-hub__main > header h2 { margin-top: 4px; font-size: 28px; }.web-ai-hub__main > header p { margin-top: 5px; color: var(--el-text-color-secondary); }.web-ai-hub__main > header em { display: inline-flex; align-items: center; padding: 5px 8px; gap: 5px; border-radius: 5px; color: #147a48; background: #ecf8f2; font-size: 11px; font-style: normal; white-space: nowrap; }
.web-ai-question { margin-top: 22px; overflow: hidden; border: 1px solid #9fc6ed; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgb(37 99 235 / 8%); }.web-ai-question textarea { display: block; width: 100%; min-height: 86px; padding: 14px 16px 8px; border: 0; outline: 0; resize: none; }.web-ai-question > div { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px 10px 16px; }.web-ai-question > div span { color: var(--el-text-color-secondary); font-size: 11px; }.web-ai-question button { display: inline-flex; align-items: center; min-height: 36px; padding: 5px 14px; gap: 6px; border-radius: 6px; color: #fff; background: var(--el-color-primary); }
.web-ai-prompts { display: flex; flex-wrap: wrap; margin-top: 10px; gap: 7px; }.web-ai-prompts button { min-height: 32px; padding: 4px 9px; border: 1px solid #d8e3ef; border-radius: 6px; color: var(--el-text-color-regular); background: #f8fafc; }.web-ai-prompts button:hover { color: var(--el-color-primary); border-color: #9fc6ed; background: #eef6ff; }
.web-ai-answer { margin-top: 18px; border: 1px solid #dce4ed; border-radius: 9px; background: #fbfcfe; }.web-ai-answer > header { display: flex; align-items: center; justify-content: space-between; padding: 13px 15px; border-bottom: 1px solid #e4eaf1; }.web-ai-answer header span,.web-ai-answer header b { display: block; }.web-ai-answer header span { color: var(--el-color-primary); font-size: 11px; }.web-ai-answer__body { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr); padding: 16px; gap: 18px; }.web-ai-answer__body h3 { font-size: 14px; }.web-ai-answer__body p { margin-top: 7px; line-height: 1.75; }.web-ai-evidence { display: flex; flex-wrap: wrap; margin-top: 12px; gap: 6px; }.web-ai-evidence button { min-height: 30px; padding: 4px 8px; border-radius: 5px; color: var(--el-color-primary); background: #edf6ff; }
.web-ai-bars { display: grid; margin-top: 9px; gap: 10px; }.web-ai-bars span { display: grid; grid-template-columns: 70px minmax(0, 1fr) 38px; align-items: center; gap: 7px; font-size: 11px; }.web-ai-bars i { height: 6px; overflow: hidden; border-radius: 5px; background: #e5ebf2; }.web-ai-bars em { display: block; height: 100%; border-radius: inherit; background: var(--el-color-primary); }.web-ai-bars strong { text-align: right; }
.web-ai-answer > footer { display: flex; align-items: center; justify-content: space-between; padding: 10px 15px; border-top: 1px solid #e4eaf1; }.web-ai-answer > footer > span { color: var(--el-text-color-secondary); font-size: 11px; }.web-ai-answer > footer div { display: flex; gap: 6px; }.web-ai-answer > footer button { min-height: 32px; padding: 4px 9px; border: 1px solid #b8d3ee; border-radius: 5px; color: var(--el-color-primary); background: #fff; }
.web-ai-hub__context { display: grid; align-content: start; border-left: 1px solid #dfe6ef; }.web-ai-hub__context > section { padding: 14px; border-bottom: 1px solid #e1e7ef; }.web-ai-hub__context section > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }.web-ai-hub__context section > header h3 { font-size: 14px; }.web-ai-hub__context section > header button { color: var(--el-color-primary); font-size: 11px; }.web-ai-hub__context dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid #dfe6ef; border-radius: 7px; }.web-ai-hub__context dl div { padding: 9px; border-right: 1px solid #e5eaf0; border-bottom: 1px solid #e5eaf0; }.web-ai-hub__context dt { color: var(--el-text-color-secondary); font-size: 10px; }.web-ai-hub__context dd { margin-top: 3px; font-size: 20px; font-weight: 650; }
.web-ai-focus,.web-ai-files { display: grid; gap: 7px; }.web-ai-focus button { display: grid; grid-template-columns: 7px minmax(0, 1fr); align-items: center; min-height: 54px; padding: 8px; gap: 8px; border: 1px solid #e0e6ee; border-radius: 6px; text-align: left; background: #fff; }.web-ai-focus i { width: 7px; height: 7px; border-radius: 50%; background: var(--el-color-primary); }.web-ai-focus i.is-danger { background: var(--el-color-danger); }.web-ai-focus i.is-warning { background: var(--el-color-warning); }.web-ai-focus b,.web-ai-focus small,.web-ai-files b,.web-ai-files small { display: block; }.web-ai-focus small,.web-ai-files small { margin-top: 2px; color: var(--el-text-color-secondary); font-size: 10px; }.web-ai-files button { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: center; min-height: 48px; padding: 7px; gap: 8px; text-align: left; border-radius: 6px; background: #fff; }

/* Mobile primary tabs match the established project product: workbench, work orders, AI, messages, profile. */
.mobile-bottom-nav > button:nth-child(3) { position: relative; transform: translateY(-10px); }
.mobile-bottom-nav > button:nth-child(3) > .ui-icon { width: 26px; height: 26px; padding: 9px; box-sizing: content-box; border: 4px solid #fff; border-radius: 50%; color: #fff; background: var(--el-color-primary); box-shadow: 0 6px 16px rgb(37 99 235 / 26%); }
.mobile-bottom-nav > button:nth-child(3) > span { margin-top: -2px; }

/* Large screen: intelligence is the permanent center; business remains on both side rails. */
.screen-command { grid-template-columns: minmax(270px, .76fr) minmax(560px, 1.62fr) minmax(360px, .92fr); }
.screen-command__left { grid-column: 1; grid-row: 1; }
.screen-intelligence-stage { grid-column: 2; grid-row: 1; grid-template-rows: minmax(0, 1.5fr) minmax(160px, .5fr); }
.screen-business-rail { grid-column: 3; grid-row: 1; grid-template-rows: auto auto minmax(0, 1fr) auto; }
.screen-intelligence-stage .screen-ai-panel { min-height: 0; border-color: #23658e; background: linear-gradient(180deg, rgb(10 37 63 / 98%), rgb(7 28 49 / 98%)); }
.screen-intelligence-stage .screen-ai-dialog { padding: 18px; gap: 14px; }.screen-intelligence-stage .screen-ai-dialog p { padding: 12px 14px; font-size: 13px; line-height: 1.65; }.screen-intelligence-stage .screen-analysis-card { max-width: 100%; }.screen-intelligence-stage .screen-analysis-card p { border-color: #245f89; background: #0a3656; }
.screen-business-rail .screen-center-title { min-height: 48px; }.screen-business-rail .screen-center-title p { display: none; }.screen-business-rail .screen-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }.screen-business-rail .screen-metrics article { min-height: 64px; }.screen-business-rail .screen-metrics article:last-child { grid-column: 1 / -1; }.screen-business-rail .screen-site-stage { min-height: 210px; }.screen-business-rail .screen-center-bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 1439px) {
  .web-ai-hub { grid-template-columns: 210px minmax(480px, 1fr) 270px; }.web-ai-hub__main { padding: 18px 22px; }.web-ai-answer__body { grid-template-columns: 1fr; }
  .screen-command { grid-template-columns: 250px minmax(520px, 1fr) 330px; }
}

@media (max-height: 800px) {
  .screen-intelligence-stage { grid-template-rows: minmax(0, 1fr) 145px; }.screen-intelligence-stage .screen-ai-dialog { padding: 10px; gap: 8px; }.screen-intelligence-stage .screen-ai-dialog p { padding: 8px 10px; font-size: 11px; }.screen-business-rail .screen-site-stage { min-height: 160px; }
}

@media (max-height: 900px) {
  .screen-ranking-list {
    padding: 6px;
    gap: 4px;
  }

  .screen-ranking-list article {
    min-height: 36px;
    padding: 3px 6px;
    gap: 6px;
  }

  .screen-ai-callout {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    padding: 6px 8px;
    margin: auto 6px 6px;
    gap: 6px;
  }

  .screen-ai-callout > span {
    width: 28px;
    height: 28px;
  }

  .project-map {
    padding: 8px;
    gap: 8px;
  }

  .map-overlay {
    top: 8px;
    bottom: 8px;
    left: 8px;
  }

  .project-map aside {
    padding: 8px;
  }

  .project-map aside p {
    margin: 2px 0 6px;
  }

  .project-map ul {
    gap: 5px;
  }
}

@media (max-height: 800px) {
  .screen-title p,
  .screen-ai-callout p {
    display: none;
  }

  .screen-metrics article {
    min-height: 70px;
    padding: 8px 10px;
  }

  .screen-panel > header {
    min-height: 38px;
    padding: 6px 10px;
  }

  .risk-heatmap {
    padding: 6px 8px;
    gap: 2px;
  }

  .heatmap-head,
  .risk-heatmap > button {
    min-height: 31px;
  }

  .heatmap-legend {
    padding: 0 8px 5px;
  }
}
.closeout-journey{margin:0 0 16px;padding:18px 20px;background:linear-gradient(135deg,#f7faff,#fff);border:1px solid #dce6f4;border-radius:12px}.closeout-journey header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.closeout-journey header div{display:flex;flex-direction:column;gap:4px}.closeout-journey header span{font-size:12px;color:#55708f}.closeout-journey header b{font-size:16px;color:#17324d}.closeout-journey header small{color:#6b7f94}.closeout-journey ol{display:flex;align-items:center;gap:10px;margin:0;padding:0;list-style:none}.closeout-journey li{display:flex;align-items:center;gap:8px;flex:1;color:#7b8b9c}.closeout-journey li:not(:last-child):after{content:'';height:1px;background:#cfdae7;flex:1}.closeout-journey li i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e7edf5;color:#60758d;font-style:normal;font-weight:700}.closeout-journey li button,.closeout-journey li span{border:0;background:none;padding:0;color:inherit;white-space:nowrap}.closeout-journey li.is-current{color:#1769e0;font-weight:700}.closeout-journey li.is-current i,.closeout-journey li.is-done i{background:#1769e0;color:#fff}.closeout-actions{display:flex;justify-content:flex-end;gap:10px;margin:16px 0}.closeout-actions button{min-height:38px;padding:0 16px;border:1px solid #cbd8e7;border-radius:6px;background:#fff;color:#29445f;cursor:pointer}.closeout-actions button.is-primary{border-color:#1769e0;background:#1769e0;color:#fff}.closeout-actions button:disabled{cursor:not-allowed;opacity:.55}.health-journey ol{gap:6px}.health-journey li{font-size:12px}@media(max-width:1100px){.closeout-journey header{align-items:flex-start;flex-direction:column}.closeout-journey ol{align-items:flex-start;flex-direction:column}.closeout-journey li:not(:last-child):after{display:none}}
